Samson Abramsky & Guy McCusker (1996):
Linearity, Sharing and State: a fully abstract game semantics for Idealized Algol with active expressions.
Electr. Notes Theor. Comput. Sci 3,
pp. 2–14,
doi:10.1016/S1571-0661(05)80398-6.
Thorsten Altenkirch, James Chapman & Tarmo Uustalu (2015):
Monads need not be endofunctors.
Logical Methods in Computer Science 11(1),
doi:10.2168/LMCS-11(1:3)2015.
Robert Atkey (2009):
Parameterised Notions of Computation.
J. Functional Programming 19(3–4),
pp. 335–376,
doi:10.1145/158511.158524.
Phil Bagwell (2002):
Fast Functional Lists, Hash-Lists, Deques and Variable Length Arrays.
Technical Report.
EPFL.
Available at http://infoscience.epfl.ch/record/52465.
Bernd Braßel, Michael Hanus, Björn Peemöller & Fabian Reck (2011):
KiCS2: A New Compiler from Curry to Haskell.
In: Functional and Constraint Logic Programming - 20th International Workshop, WFLP 2011, Odense, Denmark, July 19th, Proceedings,
Lecture Notes in Computer Science 6816.
Springer,
pp. 1–18,
doi:10.1007/978-3-642-22531-4_1.
Jacques Carette & Oleg Kiselyov (2011):
Multi-stage Programming with Functors and Monads: Eliminating Abstraction Overhead from Generic Code.
Science of Computer Programming 76(5),
pp. 349–375,
doi:10.1016/j.scico.2008.09.008.
Alonzo Church (1940):
A Formulation of the Simple Theory of Types.
Journal of Symbolic Logic 5(2),
pp. 56–68,
doi:10.2307/2267254.
Melvin E. Conway (1963):
Design of a separable transition-diagram compiler.
Commun. ACM 6(7),
pp. 396–408,
doi:10.1145/366663.366704.
Patrick Cousot & Radhia Cousot (1977):
Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints.
In: Fourth ACM Symposium on Principles of Programming Language, Los Angeles.
ACM Press, New York,
pp. 238–252.
Matt Fairtlough & Michael Mendler (1997):
Propositional Lax Logic.
Information and Computation 137(1),
pp. 1–33,
doi:10.1006/inco.1997.2627.
Sebastian Fischer, Oleg Kiselyov & Chung-chieh Shan (2011):
Purely Functional Lazy Nondeterministic Programming.
Journal of Functional Programming 21(4–5),
pp. 413–465,
doi:10.1016/S0049-237X(08)72018-4.
Joseph A. Goguen (1988):
Higher Order Functions Considered Unnecessary for Higher Order Programming.
Technical Report SRI-CSL-88-1.
Computer Science Laboratory, SRI International.
M. Gordon, R. Milner, L. Morris, M. Newey & C. Wadsworth (1978):
A Metalanguage for Interactive Proof in LCF.
In: Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages.
ACM SIGACT-SIGPLAN,
Tucson, Arizona,
pp. 119–130.
Available at http://www-public.tem-tsp.eu/~gibson/Teaching/CSC4504/ReadingMaterial/GordonMMNW78.pdf.
Michael Hanus (2006):
Curry: An Integrated Functional Logic Language (Vers. 0.8.2).
http://www.curry-language.org.
Robert Harper, Furio Honsell & Gordon Plotkin (1993):
A Framework for Defining Logics.
Journal of the ACM 40(1),
pp. 143–184,
doi:10.1145/138027.138060.
Paul Hudak (1996):
Building Domain-Specific Embedded Languages.
ACM Computing Surveys 28(4es),
pp. 196,
doi:10.1145/242224.242477.
J. Hughes (2000):
Generalising monads to arrows.
Science of Computer Programming 37,
pp. 67–111,
doi:10.1016/S0167-6423(99)00023-4.
Neil D. Jones, Carsten K. Gomard & Peter Sestoft (1993):
Partial Evaluation and Automatic Program Generation.
Prentice-Hall,
Englewood Cliffs, NJ.
Neil D. Jones & Flemming Nielson (1995):
Abstract Interpretation: Semantics-Based Tool for Program Analysis.
In: Samson Abramsky, Dov M. Gabbay & Tom S. E. Maibaum: Semantic Modelling,
Handbook of Logic in Computer Science 4.
Clarendon Press, Oxford , UK,
pp. 527–636.
Oleg Kiselyov (2012):
Typed Tagless Final Interpreters.
In: Proceedings of the 2010 International Spring School Conference on Generic and Indexed Programming,
SSGIP'10.
Springer-Verlag,
Berlin, Heidelberg,
pp. 130–174,
doi:10.1007/978-3-642-32202-0_3.
Oleg Kiselyov & Hiromi Ishii (2015):
Freer monads, more extensible effects.
In: Haskell.
ACM,
pp. 94–105,
doi:10.1145/2804302.2804319.
Oleg Kiselyov, Amr Sabry & Cameron Swords (2013):
Extensible effects: an alternative to monad transformers.
In: Haskell.
ACM,
pp. 59–70,
doi:10.1145/2503778.2503791.
Conor McBride & Ross Paterson (2008):
Applicative Programming with Effects.
J. Functional Programming 18(1),
pp. 1–13,
doi:10.1017/S0956796800003658.
Eugenio Moggi & Sonia Fagorzi (2003):
A Monadic Multi-stage Metalanguage.
In: Andrew D. Gordon: Proceedings of FoSSaCS 2003: Foundations of Software Science and Computational Structures, 6th International Conference,
LNCS 2620.
Springer,
pp. 358–374.
Available at http://www.disi.unige.it/person/MoggiE/ftp/fossacs03.pdf.
P. J. Moylan (1992):
The Case against C.
Technical Report TR–EE9240.
Centre for Industrial Control Science, Department of Electrical and Computer Engineering,
University of Newcastle, Australia.
Frank Pfenning & Rowan Davies (2001):
A judgmental reconstruction of modal logic.
Mathematical Structures in Computer Science 11(4),
pp. 511–540,
doi:10.1017/S0960129501003322.
George Pólya (1945):
How to Solve It.
Princeton University Press,
Princeton, NJ.
Michael O. Rabin & Dana Scott (1959):
Finite Automata and Their Decision Problems.
IBM Journal of Research and Development 3,
pp. 114–125,
doi:10.1147/rd.32.0114.
John C. Reynolds (1981):
The Essence of Algol.
In: Jacobus Willem de Bakker & J. C. van Vliet: Algorithmic Languages.
North-Holland,
Amsterdam,
pp. 345–372.
Tiark Rompf & Martin Odersky (2012):
Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs.
Commun. ACM 55(6),
pp. 121–130,
doi:10.1145/2184319.2184345.
Tiark Rompf, Arvind K. Sujeeth, HyoukJoong Lee, Kevin J. Brown, Hassan Chafi, Martin Odersky & Kunle Olukotun (2011):
Building-Blocks for Performance Oriented DSLs.
In: DSL,
pp. 93–117,
doi:10.4204/EPTCS.66.5.
Sam Staton (2013):
Instances of Computational Effects: An Algebraic Perspective.
In: LICS.
IEEE Computer Society,
pp. 519,
doi:10.1109/LICS.2013.58.
Nikhil Swamy, Nataliya Guts, Daan Leijen & Michael Hicks (2011):
Lightweight Monadic Programming in ML.
In: ICFP'11,
pp. 15–27,
doi:10.1145/2034773.2034778.
William W. Tait (1967):
Intensional Interpretations of Functionals of Finite Type I.
Journal of Symbolic Logic 32(2),
pp. 198–212,
doi:10.1007/BF01447860.
Philip Wadler (1994):
Monads and Composable Continuations.
Lisp and Symbolic Computation 7(1),
pp. 39–56,
doi:10.1007/BF01019944.
Mitchell Wand (1982):
Specifications, Models, and Implementations of Data Abstractions.
Theoretical Computer Science 20(1),
pp. 3–32,
doi:10.1016/0304-3975(82)90097-4.
Leo White, Frédéric Bour & Jeremy Yallop (2014):
Modular implicits.
In: Oleg Kiselyov & Jacques Garrigue: ML/OCaml,
EPTCS 198,
pp. 22–63,
doi:10.4204/EPTCS.198.2.
Martin Wirsing (1990):
Algebraic specifications.
In: J. van Leeuwen: Handbook of Theoretical Computer Science B.
Elsevier,
pp. 675–788.