Bryce Clarke, Derek Elkins, Jeremy Gibbons, Fosco Loregiàn, Bartosz Milewski, Emily Pillmore & Mario Román (2020):
Profunctor optics, a categorical update.
CoRR abs/2001.07488.
ArXiv:2001.07488.
Brian Day (1970):
On closed categories of functors.
In: S. MacLane, H. Applegate, M. Barr, B. Day, E. Dubuc, Phreilambud, A. Pultr, R. Street, M. Tierney & S. Swierczkowski: Reports of the Midwest Category Seminar IV.
Springer Berlin Heidelberg,
Berlin, Heidelberg,
pp. 1–38,
doi:10.1007/BFb0079385.
Andy Gill:
mtl: Monad classes, using functional dependencies.
https://hackage.haskell.org/package/mtl.
Accessed: 2019-05-28.
John Hughes (2005):
Programming with Arrows.
In: Proceedings of the 5th International Conference on Advanced Functional Programming,
AFP'04.
Springer-Verlag,
Berlin, Heidelberg,
pp. 73–129,
doi:10.1007/11546382_2.
Bart Jacobs, Chris Heunen & Ichiro Hasuo (2009):
Categorical semantics for arrows.
Journal of Functional Programming 19(3-4),
pp. 403438,
doi:10.1017/S0956796809007308.
Mauro Jaskelioff & Russell O'Connor (2015):
A representation theorem for second-order functionals.
Journal of Functional Programming 25,
pp. e13,
doi:10.1017/S0956796815000088.
Mark P. Jones & Luc Duponcheel (1993):
Composing Monads.
Technical Report.
Edward Kmett:
lens: Lenses, Folds and Traversals.
https://hackage.haskell.org/package/lens.
Accessed: 2019-05-28.
T van Laarhoven:
Where do I get my non-regular types?.
http://twanvl.nl/blog/haskell/non-regular2.
Accessed: 2020-08-08.
Tom Leinster (2003):
Higher Operads, Higher Categories.
ArXiv:math/0305049.
Sheng Liang, Paul Hudak & Mark Jones (1995):
Monad Transformers and Modular Interpreters.
In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages,
POPL '95.
Association for Computing Machinery,
New York, NY, USA,
pp. 333343,
doi:10.1145/199448.199528.
Sam Lindley, Philip Wadler & Jeremy Yallop (2011):
Idioms are Oblivious, Arrows are Meticulous, Monads are Promiscuous.
Electronic Notes in Theoretical Computer Science 229(5),
pp. 97 – 117,
doi:10.1016/j.entcs.2011.02.018.
Proceedings of the Second Workshop on Mathematically Structured Functional Programming (MSFP 2008).
Eugenio Moggi (1991):
Notions of Computation and Monads.
Inf. Comput. 93(1),
pp. 55–92,
doi:10.1016/0890-5401(91)90052-4.
Russell O'Connor:
Grate: A new kind of Optic.
https://r6research.livejournal.com/28050.html.
Accessed: 2019-02-02.
Russell O'Connor:
A Representation Theorem for Second-Order Pro-functionals.
https://r6research.livejournal.com/27858.html.
Accessed: 2019-02-01.
Matthew Pickering, Jeremy Gibbons & Nicolas Wu (2017):
Profunctor Optics: Modular Data Accessors.
The Art, Science, and Engineering of Programming 1(2),
doi:10.22152/programming-journal.org/2017/1/7.
Exequiel Rivas & Mauro Jaskelioff (2017):
Notions of computation as monoids.
Journal of Functional Programming 27,
pp. e21,
doi:10.1017/S0956796817000132.
Mario Román (2020):
Profunctor optics and traversals.
ArXiv abs/2001.08045.
Philip Wadler (1992):
The Essence of Functional Programming.
In: Proceedings of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages,
POPL '92.
ACM,
New York, NY, USA,
pp. 114,
doi:10.1145/143165.143169.