Andrew W. Appel
1992
Compiling with Continuations
Cambridge University Press
Cambridge, England
Andrew W. Appel
1998
SSA is Functional Programming
SIGPLAN notices
33
4
17–20
10.1145/278283.278285
Lars Bergstrom
Matthew Fluet
Matthew Le
John Reppy
Nora Sandler
2014
Practical and Effective Higher-order Optimizations
ICFP '14
ACM
New York, NY
81–93
10.1145/2628136.2628153
Lars Bergstrom
Matthew Fluet
Mike Rainey
John Reppy
Stephen Rosen
Adam Shaw
2013
Data-Only Flattening for Nested Data Parallelism
PPoPP '13
ACM
New York, NY
90–106
10.1145/2442516.2442525
Lars Bergstrom
John Reppy
2009
Arity raising in Manticore
IFL '09
LNCS
Springer-Verlag
New York, NY
90–106
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
361–391
10.1017/S0960129500001535
LLVM Developers
2017
LLVM’s Analysis and Transform Passes
http://llvm.org/docs/Passes.html
LLVM Developers
2017
Performance Tips for Frontend Authors
https://llvm.org/docs/Frontend/PerformanceTips.html#pass-ordering
Stephen Dolan
Servesh Muralidharan
David Gregg
2013
Compiler Support for Lightweight Context Switching
ACM Trans. Archit. Code Optim.
9
4
36:1–36:25
10.1145/2400682.2400695
Rafael Ávila de Espíndola
2012
LLVM Bug 13826 - unreachable prevents tail calls
https://llvm.org/bugs/show_bug.cgi?id=13826
Kavon Farvardin
2015
LLVM Bug 23766 - musttail calls are not allowed to precede unreachable
https://llvm.org/bugs/show_bug.cgi?id=23766
Kavon Farvardin
2017
autotune – discover good LLVM passes
https://github.com/kavon/autotune
Matthew Fluet
Nic Ford
Mike Rainey
John Reppy
Adam Shaw
Yingqi Xiao
2007
Status Report: The Manticore Project
ML '07
ACM
New York, NY
15–24
10.1145/1292535.1292539
Matthew Fluet
Mike Rainey
John Reppy
2008
A Scheduling Framework for General-purpose Parallel Languages
ICFP '08
ACM
New York, NY
241–252
10.1145/1411203.1411239
Matthew Fluet
Mike Rainey
John Reppy
Adam Shaw
2011
Implicitly-threaded Parallelism in Manticore
JFP
20
5–6
537–576
10.1017/S0956796810000201
Lal George
Florent Guillame
John Reppy
1994
A portable and optimizing back end for the SML/NJ compiler
CC '94
LNCS
786
Springer-Verlag
New York, NY
83–97
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
PPDP '99
Springer-Verlag
New York, NY
1–28
10.1007/10704567_1
Reid Kleckner
2014
Proposal: Add a guaranteed tail call marker
http://lists.llvm.org/pipermail/llvm-dev/2014-April/071704.html
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
CGO '04
75–
http://dl.acm.org/citation.cfm?id=977395.977673
Matthew Le
Matthew Fluet
2015
Partial Aborts for Transactions via First-class Continuations
ICFP '15
ACM
New York, NY
230–242
10.1145/2784731.2784736
Brian Andrew Leibig
2013
An LLVM Back-end for MLton
Rochester Institute of Technology
https://www.cs.rit.edu/~mtf/student-resources/20124_leibig_msproject.pdf
David Majnemer
2015
LLVM Bug 23470 - Inefficient lowering of 'musttail' call
https://llvm.org/bugs/show_bug.cgi?id=23470
John Reppy
Claudio Russo
Yingqi Xiao
2009
Parallel Concurrent ML
ICFP '09
ACM
New York, NY
257–268
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
ERLANG '12
ACM
New York, NY
21–32
10.1145/2364489.2364494
David Tarditi
Peter Lee
Anurag Acharya
1992
No Assembly Required: Compiling Standard ML to C
ACM LOPLAS
1
2
161–177
10.1145/151333.151343
GHC Team
2011
Work in Progress on the LLVM Backend: Get rid of Proc Point Splitting
https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/WIP#GetridofProcPointSplitting
David A. Terei
Manuel M.T. Chakravarty
2010
An LLVM Backend for GHC
HASKELL '10
ACM
New York, NY
109–120
10.1145/1863523.1863538
Katsuhiro Ueno
Atsushi Ohori
2014
Compiling SML# with LLVM: a Challenge of Implementing ML on a Common Compiler Infrastructure
Workshop on ML
1–2
https://sites.google.com/site/mlworkshoppe/smlsharp_llvm.pdf