Andrew W. Appel (1992):
Compiling with Continuations.
Cambridge University Press,
Cambridge, England.
Andrew W. Appel (1998):
SSA is Functional Programming.
SIGPLAN notices 33(4),
pp. 17–20,
doi:10.1145/278283.278285.
Lars Bergstrom, Matthew Fluet, Matthew Le, John Reppy & Nora Sandler (2014):
Practical and Effective Higher-order Optimizations.
In: ICFP '14.
ACM,
New York, NY,
pp. 81–93,
doi:10.1145/2628136.2628153.
Lars Bergstrom, Matthew Fluet, Mike Rainey, John Reppy, Stephen Rosen & Adam Shaw (2013):
Data-Only Flattening for Nested Data Parallelism.
In: PPoPP '13.
ACM,
New York, NY,
pp. 90–106,
doi:10.1145/2442516.2442525.
Lars Bergstrom & John Reppy (2009):
Arity raising in Manticore.
In: IFL '09,
LNCS.
Springer-Verlag,
New York, NY,
pp. 90–106,
doi:10.1007/978-3-642-16478-1_6.
Luca Cardelli (1983):
The Functional Abstract Machine.
Technical Report TR-107.
Bell Laboratories.
Olivier Danvy & Andrzej Filinski (1992):
Representing Control: A study of the CPS transformation.
MSCS 2(4),
pp. 361–391,
doi:10.1017/S0960129500001535.
Stephen Dolan, Servesh Muralidharan & David Gregg (2013):
Compiler Support for Lightweight Context Switching.
ACM Trans. Archit. Code Optim. 9(4),
pp. 36:1–36:25,
doi:10.1145/2400682.2400695.
Matthew Fluet, Nic Ford, Mike Rainey, John Reppy, Adam Shaw & Yingqi Xiao (2007):
Status Report: The Manticore Project.
In: ML '07.
ACM,
New York, NY,
pp. 15–24,
doi:10.1145/1292535.1292539.
Matthew Fluet, Mike Rainey & John Reppy (2008):
A Scheduling Framework for General-purpose Parallel Languages.
In: ICFP '08.
ACM,
New York, NY,
pp. 241–252,
doi:10.1145/1411203.1411239.
Matthew Fluet, Mike Rainey, John Reppy & Adam Shaw (2011):
Implicitly-threaded Parallelism in Manticore.
JFP 20(5–6),
pp. 537–576,
doi:10.1017/S0956796810000201.
Lal George, Florent Guillame & John Reppy (1994):
A portable and optimizing back end for the SML/NJ compiler.
In: CC '94,
LNCS 786.
Springer-Verlag,
New York, NY,
pp. 83–97,
doi:10.1007/3-540-57877-3_6.
Simon Peyton Jones, Norman Ramsey & Fermin Reig (1999):
C–+.1667em–: A Portable Assembly Language that Supports Garbage Collection.
In: PPDP '99.
Springer-Verlag,
New York, NY,
pp. 1–28,
doi:10.1007/10704567_1.
Chris Lattner (2002):
LLVM: An Infrastructure for Multi-Stage Optimization.
C.S. Dept., UIUC,
Urbana, IL.
Chris Lattner & Vikram Adve (2004):
LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation.
In: CGO '04,
pp. 75–.
Available at http://dl.acm.org/citation.cfm?id=977395.977673.
Matthew Le & Matthew Fluet (2015):
Partial Aborts for Transactions via First-class Continuations.
In: ICFP '15.
ACM,
New York, NY,
pp. 230–242,
doi:10.1145/2784731.2784736.
John Reppy, Claudio Russo & Yingqi Xiao (2009):
Parallel Concurrent ML.
In: ICFP '09.
ACM,
New York, NY,
pp. 257–268,
doi:10.1145/1596550.1596588.
John H. Reppy (1990):
Asynchronous signals in Standard ML.
Technical Report TR 90-1144.
Dept. of CS, Cornell University,
Ithaca, NY.
Konstantinos Sagonas, Chris Stavrakakis & Yiannis Tsiouris (2012):
ErLLVM: An LLVM Backend for Erlang.
In: ERLANG '12.
ACM,
New York, NY,
pp. 21–32,
doi:10.1145/2364489.2364494.
David Tarditi, Peter Lee & Anurag Acharya (1992):
No Assembly Required: Compiling Standard ML to C.
ACM LOPLAS 1(2),
pp. 161–177,
doi:10.1145/151333.151343.
David A. Terei & Manuel M.T. Chakravarty (2010):
An LLVM Backend for GHC.
In: HASKELL '10.
ACM,
New York, NY,
pp. 109–120,
doi:10.1145/1863523.1863538.