Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | References |
2 | ========== | |
3 | ||
4 | <:#AAA:A> | |
5 | <:#BBB:B> | |
6 | <:#CCC:C> | |
7 | <:#DDD:D> | |
8 | <:#EEE:E> | |
9 | <:#FFF:F> | |
10 | <:#GGG:G> | |
11 | <:#HHH:H> | |
12 | <:#III:I> | |
13 | <:#JJJ:J> | |
14 | <:#KKK:K> | |
15 | <:#LLL:L> | |
16 | <:#MMM:M> | |
17 | <:#NNN:N> | |
18 | <:#OOO:O> | |
19 | <:#PPP:P> | |
20 | <:#QQQ:Q> | |
21 | <:#RRR:R> | |
22 | <:#SSS:S> | |
23 | <:#TTT:T> | |
24 | <:#UUU:U> | |
25 | <:#VVV:V> | |
26 | <:#WWW:W> | |
27 | <:#XXX:X> | |
28 | <:#YYY:Y> | |
29 | <:#ZZZ:Z> | |
30 | ||
31 | == <!Anchor(AAA)>A == | |
32 | ||
33 | * <!Anchor(AcarEtAl06)> | |
34 | http://www.umut-acar.org/publications/pldi2006.pdf[An Experimental Analysis of Self-Adjusting Computation] | |
35 | Umut Acar, Guy Blelloch, Matthias Blume, and Kanat Tangwongsan. | |
36 | <:#PLDI:> 2006. | |
37 | ||
38 | * <!Anchor(Appel92)> | |
39 | http://us.cambridge.org/titles/catalogue.asp?isbn=0521416957[Compiling with Continuations] | |
40 | (http://www.addall.com/New/submitNew.cgi?query=0-521-41695-7&type=ISBN&location=10000&state=&dispCurr=USD[addall]). | |
41 | ISBN 0521416957. | |
42 | Andrew W. Appel. | |
43 | Cambridge University Press, 1992. | |
44 | ||
45 | * <!Anchor(Appel93)> | |
46 | http://www.cs.princeton.edu/research/techreps/TR-364-92[A Critique of Standard ML]. | |
47 | Andrew W. Appel. | |
48 | <:#JFP:> 1993. | |
49 | ||
50 | * <!Anchor(Appel98)> | |
51 | http://us.cambridge.org/titles/catalogue.asp?isbn=0521582741[Modern Compiler Implementation in ML] | |
52 | (http://www.addall.com/New/submitNew.cgi?query=0-521-58274-1&type=ISBN&location=10000&state=&dispCurr=USD[addall]). | |
53 | ISBN 0521582741 | |
54 | Andrew W. Appel. | |
55 | Cambridge University Press, 1998. | |
56 | ||
57 | * <!Anchor(AppelJim97)> | |
58 | http://ncstrl.cs.princeton.edu/expand.php?id=TR-556-97[Shrinking Lambda Expressions in Linear Time] | |
59 | Andrew Appel and Trevor Jim. | |
60 | <:#JFP:> 1997. | |
61 | ||
62 | * <!Anchor(AppelEtAl94)> | |
63 | http://www.smlnj.org/doc/ML-Lex/manual.html[A lexical analyzer generator for Standard ML. Version 1.6.0] | |
64 | Andrew W. Appel, James S. Mattson, and David R. Tarditi. 1994 | |
65 | ||
66 | == <!Anchor(BBB)>B == | |
67 | ||
68 | * <!Anchor(BaudinetMacQueen85)> | |
69 | http://www.classes.cs.uchicago.edu/archive/2011/spring/22620-1/papers/macqueen-baudinet85.pdf[Tree Pattern Matching for ML]. | |
70 | Marianne Baudinet, David MacQueen. 1985. | |
71 | + | |
72 | ____ | |
73 | Describes the match compiler used in an early version of | |
74 | <:SMLNJ:SML/NJ>. | |
75 | ____ | |
76 | ||
77 | * <!Anchor(BentonEtAl98)> | |
78 | http://research.microsoft.com/en-us/um/people/nick/icfp98.pdf[Compiling Standard ML to Java Bytecodes]. | |
79 | Nick Benton, Andrew Kennedy, and George Russell. | |
80 | <:#ICFP:> 1998. | |
81 | ||
82 | * <!Anchor(BentonKennedy99)> | |
83 | http://research.microsoft.com/en-us/um/people/nick/SMLJavaInterop.pdf[Interlanguage Working Without Tears: Blending SML with Java]. | |
84 | Nick Benton and Andrew Kennedy. | |
85 | <:#ICFP:> 1999. | |
86 | ||
87 | * <!Anchor(BentonKennedy01)> | |
88 | http://research.microsoft.com/en-us/um/people/akenn/sml/ExceptionalSyntax.pdf[Exceptional Syntax]. | |
89 | Nick Benton and Andrew Kennedy. | |
90 | <:#JFP:> 2001. | |
91 | ||
92 | * <!Anchor(BentonEtAl04)> | |
93 | http://research.microsoft.com/en-us/um/people/nick/p53-Benton.pdf[Adventures in Interoperability: The SML.NET Experience]. | |
94 | Nick Benton, Andrew Kennedy, and Claudio Russo. | |
95 | <:#PPDP:> 2004. | |
96 | ||
97 | * <!Anchor(BentonEtAl04_2)> | |
98 | http://research.microsoft.com/en-us/um/people/nick/shrinking.pdf[Shrinking Reductions in SML.NET]. | |
99 | Nick Benton, Andrew Kennedy, Sam Lindley and Claudio Russo. | |
100 | <:#IFL:> 2004. | |
101 | + | |
102 | ____ | |
103 | Describes a linear-time implementation of an | |
104 | <!Cite(AppelJim97,Appel-Jim shrinker)>, using a mutable IL, and shows | |
105 | that it yields nice speedups in SML.NET's compile times. There are | |
106 | also benchmarks showing that SML.NET when compiled by MLton runs | |
107 | roughly five times faster than when compiled by SML/NJ. | |
108 | ____ | |
109 | ||
110 | * <!Anchor(Benton05)> | |
111 | http://research.microsoft.com/en-us/um/people/nick/benton03.pdf[Embedded Interpreters]. | |
112 | Nick Benton. | |
113 | <:#JFP:> 2005. | |
114 | ||
115 | * <!Anchor(Berry91)> | |
116 | http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-148/ECS-LFCS-91-148.pdf[The Edinburgh SML Library]. | |
117 | Dave Berry. | |
118 | University of Edinburgh Technical Report ECS-LFCS-91-148, 1991. | |
119 | ||
120 | * <!Anchor(BerryEtAl93)> | |
121 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.36.7958&rep=rep1&type=ps[A semantics for ML concurrency primitives]. | |
122 | Dave Berry, Robin Milner, and David N. Turner. | |
123 | <:#POPL:> 1992. | |
124 | ||
125 | * <!Anchor(Berry93)> | |
126 | http://journals.cambridge.org/abstract_S0956796800000873[Lessons From the Design of a Standard ML Library]. | |
127 | Dave Berry. | |
128 | <:#JFP:> 1993. | |
129 | ||
130 | * <!Anchor(Bertelsen98)> | |
131 | http://www.petermb.dk/sml2jvm.ps.gz[Compiling SML to Java Bytecode]. | |
132 | Peter Bertelsen. | |
133 | Master's Thesis, 1998. | |
134 | ||
135 | * <!Anchor(Berthomieu00)> | |
136 | http://homepages.laas.fr/bernard/oo/ooml.html[OO Programming styles in ML]. | |
137 | Bernard Berthomieu. | |
138 | LAAS Report #2000111, 2000. | |
139 | ||
140 | * <!Anchor(Blume01)> | |
141 | http://people.cs.uchicago.edu/~blume/papers/nlffi-entcs.pdf[No-Longer-Foreign: Teaching an ML compiler to speak C "natively"]. | |
142 | Matthias Blume. | |
143 | <:#BABEL:> 2001. | |
144 | ||
145 | * <!Anchor(Blume01_02)> | |
146 | http://people.cs.uchicago.edu/~blume/pgraph/proposal.pdf[Portable library descriptions for Standard ML]. | |
147 | Matthias Blume. 2001. | |
148 | ||
149 | * <!Anchor(Boehm03)> | |
150 | http://www.hpl.hp.com/techreports/2002/HPL-2002-335.html[Destructors, Finalizers, and Synchronization]. | |
151 | Hans Boehm. | |
152 | <:#POPL:> 2003. | |
153 | + | |
154 | ____ | |
155 | Discusses a number of issues in the design of finalizers. Many of the | |
156 | design choices are consistent with <:MLtonFinalizable:>. | |
157 | ____ | |
158 | ||
159 | == <!Anchor(CCC)>C == | |
160 | ||
161 | * <!Anchor(CejtinEtAl00)> | |
162 | http://www.cs.purdue.edu/homes/suresh/papers/icfp99.ps.gz[Flow-directed Closure Conversion for Typed Languages]. | |
163 | Henry Cejtin, Suresh Jagannathan, and Stephen Weeks. | |
164 | <:#ESOP:> 2000. | |
165 | + | |
166 | ____ | |
167 | Describes MLton's closure-conversion algorithm, which translates from | |
168 | its simply-typed higher-order intermediate language to its | |
169 | simply-typed first-order intermediate language. | |
170 | ____ | |
171 | ||
172 | * <!Anchor(ChengBlelloch01)> | |
173 | http://www.cs.cmu.edu/afs/cs/project/pscico/pscico/papers/gc01/pldi-final.pdf[A Parallel, Real-Time Garbage Collector]. | |
174 | Perry Cheng and Guy E. Blelloch. | |
175 | <:#PLDI:> 2001. | |
176 | ||
177 | * <!Anchor(Claessen00)> | |
178 | http://users.eecs.northwestern.edu/~robby/courses/395-495-2009-fall/quick.pdf[QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs]. | |
179 | Koen Claessen and John Hughes. | |
180 | <:#ICFP:> 2000. | |
181 | ||
182 | * <!Anchor(Clinger98)> | |
183 | http://www.cesura17.net/~will/Professional/Research/Papers/tail.pdf[Proper Tail Recursion and Space Efficiency]. | |
184 | William D. Clinger. | |
185 | <:#PLDI:> 1998. | |
186 | ||
187 | * <!Anchor(CooperMorrisett90)> | |
188 | http://www.eecs.harvard.edu/~greg/papers/jgmorris-mlthreads.ps[Adding Threads to Standard ML]. | |
189 | Eric C. Cooper and J. Gregory Morrisett. | |
190 | CMU Technical Report CMU-CS-90-186, 1990. | |
191 | ||
192 | * <!Anchor(CouttsEtAl07)> | |
193 | http://metagraph.org/papers/stream_fusion.pdf[Stream Fusion: From Lists to Streams to Nothing at All]. | |
194 | Duncan Coutts, Roman Leshchinskiy, and Don Stewart. | |
195 | Submitted for publication. April 2007. | |
196 | ||
197 | == <!Anchor(DDD)>D == | |
198 | ||
199 | * <!Anchor(DamasMilner82)> | |
200 | http://groups.csail.mit.edu/pag/6.883/readings/p207-damas.pdf[Principal Type-Schemes for Functional Programs]. | |
201 | Luis Damas and Robin Milner. | |
202 | <:#POPL:> 1982. | |
203 | ||
204 | * <!Anchor(Danvy98)> | |
205 | http://www.brics.dk/RS/98/12[Functional Unparsing]. | |
206 | Olivier Danvy. | |
207 | BRICS Technical Report RS 98-12, 1998. | |
208 | ||
209 | * <!Anchor(Deboer05)> | |
210 | http://alleystoughton.us/eXene/dusty-thesis.pdf[Exhancements to eXene]. | |
211 | Dustin B. deBoer. | |
212 | Master of Science Thesis, 2005. | |
213 | + | |
214 | ____ | |
215 | Describes ways to improve widget concurrency, handling of input focus, | |
216 | X resources and selections. | |
217 | ____ | |
218 | ||
219 | * <!Anchor(DoligezLeroy93)> | |
220 | http://cristal.inria.fr/~doligez/publications/doligez-leroy-popl-1993.pdf[A Concurrent, Generational Garbage Collector for a Multithreaded Implementation of ML]. | |
221 | Damien Doligez and Xavier Leroy. | |
222 | <:#POPL:> 1993. | |
223 | ||
224 | * <!Anchor(Dreyer07)> | |
225 | http://www.mpi-sws.org/~dreyer/papers/mtc/main-long.pdf[Modular Type Classes]. | |
226 | Derek Dreyer, Robert Harper, Manuel M.T. Chakravarty, Gabriele Keller. | |
227 | University of Chicago Technical Report TR-2007-02, 2006. | |
228 | ||
229 | * <!Anchor(DreyerBlume07)> | |
230 | http://www.mpi-sws.org/~dreyer/papers/infmod/main-long.pdf[Principal Type Schemes for Modular Programs]. | |
231 | Derek Dreyer and Matthias Blume. | |
232 | <:#ESOP:> 2007. | |
233 | ||
234 | * <!Anchor(Dubois95)> | |
235 | ftp://ftp.inria.fr/INRIA/Projects/cristal/Francois.Rouaix/generics.dvi.Z[Extensional Polymorphism]. | |
236 | Catherin Dubois, Francois Rouaix, and Pierre Weis. | |
237 | <:#POPL:> 1995. | |
238 | + | |
239 | ____ | |
240 | An extension of ML that allows the definition of ad-hoc polymorphic | |
241 | functions by inspecting the type of their argument. | |
242 | ____ | |
243 | ||
244 | == <!Anchor(EEE)>E == | |
245 | ||
246 | * <!Anchor(Elsman03)> | |
247 | http://www.elsman.com/tldi03.pdf[Garbage Collection Safety for Region-based Memory Management]. | |
248 | Martin Elsman. | |
249 | <:#TLDI:> 2003. | |
250 | ||
251 | * <!Anchor(Elsman04)> | |
252 | http://www.elsman.com/ITU-TR-2004-43.pdf[Type-Specialized Serialization with Sharing]. | |
253 | Martin Elsman. University of Copenhagen. IT University Technical | |
254 | Report TR-2004-43, 2004. | |
255 | ||
256 | == <!Anchor(FFF)>F == | |
257 | ||
258 | * <!Anchor(FelleisenFreidman98)> | |
259 | http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=4787[The Little MLer] | |
260 | (http://www3.addall.com/New/submitNew.cgi?query=026256114X&type=ISBN[addall]). | |
261 | ISBN 026256114X. | |
262 | Matthias Felleisen and Dan Freidman. | |
263 | The MIT Press, 1998. | |
264 | ||
265 | * <!Anchor(FlattFindler04)> | |
266 | http://www.cs.utah.edu/plt/kill-safe/[Kill-Safe Synchronization Abstractions]. | |
267 | Matthew Flatt and Robert Bruce Findler. | |
268 | <:#PLDI:> 2004. | |
269 | ||
270 | * <!Anchor(FluetWeeks01)> | |
271 | http://www.cs.rit.edu/~mtf/research/contification[Contification Using Dominators]. | |
272 | Matthew Fluet and Stephen Weeks. | |
273 | <:#ICFP:> 2001. | |
274 | + | |
275 | ____ | |
276 | Describes contification, a generalization of tail-recursion | |
277 | elimination that is an optimization operating on MLton's static single | |
278 | assignment (SSA) intermediate language. | |
279 | ____ | |
280 | ||
281 | * <!Anchor(FluetPucella06)> | |
282 | http://www.cs.rit.edu/~mtf/research/phantom-subtyping/jfp06/jfp06.pdf[Phantom Types and Subtyping]. | |
283 | Matthew Fluet and Riccardo Pucella. | |
284 | <:#JFP:> 2006. | |
285 | ||
286 | * <!Anchor(Furuse01)> | |
287 | http://jfla.inria.fr/2001/actes/07-furuse.ps[Generic Polymorphism in ML]. | |
288 | J{empty}. Furuse. | |
289 | <:#JFLA:> 2001. | |
290 | + | |
291 | ____ | |
292 | The formalism behind G'CAML, which has an approach to ad-hoc | |
293 | polymorphism based on <!Cite(Dubois95)>, the differences being in how | |
294 | type checking works an an improved compilation approach for typecase | |
295 | that does the matching at compile time, not run time. | |
296 | ____ | |
297 | ||
298 | == <!Anchor(GGG)>G == | |
299 | ||
300 | * <!Anchor(GansnerReppy93)> | |
301 | http://alleystoughton.us/eXene/1993-trends.pdf[A Multi-Threaded Higher-order User Interface Toolkit]. | |
302 | Emden R. Gansner and John H. Reppy. | |
303 | User Interface Software, 1993. | |
304 | ||
305 | * <!Anchor(GansnerReppy04)> | |
306 | http://www.cambridge.org/gb/academic/subjects/computer-science/programming-languages-and-applied-logic/standard-ml-basis-library[The Standard ML Basis Library]. | |
307 | (http://www3.addall.com/New/submitNew.cgi?query=9780521794787&type=ISBN[addall]) | |
308 | ISBN 9780521794787. | |
309 | Emden R. Gansner and John H. Reppy. | |
310 | Cambridge University Press, 2004. | |
311 | + | |
312 | ____ | |
313 | An introduction and overview of the <:BasisLibrary:Basis Library>, | |
314 | followed by a detailed description of each module. The module | |
315 | descriptions are also available | |
316 | http://www.standardml.org/Basis[online]. | |
317 | ____ | |
318 | ||
319 | * <!Anchor(GrossmanEtAl02)> | |
320 | http://www.cs.umd.edu/projects/cyclone/papers/cyclone-regions.pdf[Region-based Memory Management in Cyclone]. | |
321 | Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling | |
322 | Wang, and James Cheney. | |
323 | <:#PLDI:> 2002. | |
324 | ||
325 | == <!Anchor(HHH)>H == | |
326 | ||
327 | * <!Anchor(HallenbergEtAl02)> | |
328 | http://www.itu.dk/people/tofte/publ/pldi2002.pdf[Combining Region Inference and Garbage Collection]. | |
329 | Niels Hallenberg, Martin Elsman, and Mads Tofte. | |
330 | <:#PLDI:> 2002. | |
331 | ||
332 | * <!Anchor(HansenRichel99)> | |
333 | http://www.it.dtu.dk/introSML[Introduction to Programming Using SML] | |
334 | (http://www3.addall.com/New/submitNew.cgi?query=0201398206&type=ISBN[addall]). | |
335 | ISBN 0201398206. | |
336 | Michael R. Hansen, Hans Rischel. | |
337 | Addison-Wesley, 1999. | |
338 | ||
339 | * <!Anchor(Harper11)> | |
340 | http://www.cs.cmu.edu/~rwh/smlbook/book.pdf[Programming in Standard ML]. | |
341 | Robert Harper. | |
342 | ||
343 | * <!Anchor(HarperEtAl93)> | |
344 | http://www.cs.cmu.edu/~rwh/papers/callcc/jfp.pdf[Typing First-Class Continuations in ML]. | |
345 | Robert Harper, Bruce F. Duba, and David MacQueen. | |
346 | <:#JFP:> 1993. | |
347 | ||
348 | * <!Anchor(HarperMitchell92)> | |
349 | http://www.cs.cmu.edu/~rwh/papers/xml/toplas93.pdf[On the Type Structure of Standard ML]. | |
350 | Robert Harper and John C. Mitchell. | |
351 | <:#TOPLAS:> 1992. | |
352 | ||
353 | * <!Anchor(HauserBenson04)> | |
354 | http://doi.ieeecomputersociety.org/10.1109/CSD.2004.1309122[On the Practicality and Desirability of Highly-concurrent, Mostly-functional Programming]. | |
355 | Carl H. Hauser and David B. Benson. | |
356 | <:#ACSD:> 2004. | |
357 | + | |
358 | ____ | |
359 | Describes the use of <:ConcurrentML: Concurrent ML> in implementing | |
360 | the Ped text editor. Argues that using large numbers of threads and | |
361 | message passing style is a practical and effective way of | |
362 | modularizing a program. | |
363 | ____ | |
364 | ||
365 | * <!Anchor(HeckmanWilhelm97)> | |
366 | http://rw4.cs.uni-sb.de/~heckmann/abstracts/neuform.html[A Functional Description of TeX's Formula Layout]. | |
367 | Reinhold Heckmann and Reinhard Wilhelm. | |
368 | <:#JFP:> 1997. | |
369 | ||
370 | * <!Anchor(HicksEtAl03)> | |
371 | http://wwwold.cs.umd.edu/Library/TRs/CS-TR-4514/CS-TR-4514.pdf[Safe and Flexible Memory Management in Cyclone]. | |
372 | Mike Hicks, Greg Morrisett, Dan Grossman, and Trevor Jim. | |
373 | University of Maryland Technical Report CS-TR-4514, 2003. | |
374 | ||
375 | * <!Anchor(Hurd04)> | |
376 | http://www.gilith.com/research/talks/tphols2004.pdf[Compiling HOL4 to Native Code]. | |
377 | Joe Hurd. | |
378 | <:#TPHOLs:> 2004. | |
379 | + | |
380 | ____ | |
381 | Describes a port of HOL from Moscow ML to MLton, the difficulties | |
382 | encountered in compiling large programs, and the speedups achieved | |
383 | (roughly 10x). | |
384 | ____ | |
385 | ||
386 | == <!Anchor(III)>I == | |
387 | ||
388 | {empty} | |
389 | ||
390 | == <!Anchor(JJJ)>J == | |
391 | ||
392 | * <!Anchor(Jones99)> | |
393 | http://www.cs.kent.ac.uk/people/staff/rej/gcbook[Garbage Collection: Algorithms for Automatic Memory Management] | |
394 | (http://www3.addall.com/New/submitNew.cgi?query=0471941484&type=ISBN[addall]). | |
395 | ISBN 0471941484. | |
396 | Richard Jones. | |
397 | John Wiley & Sons, 1999. | |
398 | ||
399 | == <!Anchor(KKK)>K == | |
400 | ||
401 | * <!Anchor(Kahrs93)> | |
402 | http://kar.kent.ac.uk/21122/[Mistakes and Ambiguities in the Definition of Standard ML]. | |
403 | Stefan Kahrs. | |
404 | University of Edinburgh Technical Report ECS-LFCS-93-257, 1993. | |
405 | + | |
406 | ____ | |
407 | Describes a number of problems with the | |
408 | <!Cite(MilnerEtAl90,1990 Definition)>, many of which were fixed in the | |
409 | <!Cite(MilnerEtAl97,1997 Definition)>. | |
410 | ||
411 | Also see the http://www.cs.kent.ac.uk/~smk/errors-new.ps.Z[addenda] | |
412 | published in 1996. | |
413 | ____ | |
414 | ||
415 | * <!Anchor(Karvonen07)> | |
416 | http://dl.acm.org/citation.cfm?doid=1292535.1292547[Generics for the Working ML'er]. | |
417 | Vesa Karvonen. | |
418 | <:#ML:> 2007. http://research.microsoft.com/~crusso/ml2007/slides/ml08rp-karvonen-slides.pdf[Slides] from the presentation are also available. | |
419 | ||
420 | * <!Anchor(Kennedy04)> | |
421 | http://research.microsoft.com/~akenn/fun/picklercombinators.pdf[Pickler Combinators]. | |
422 | Andrew Kennedy. | |
423 | <:#JFP:> 2004. | |
424 | ||
425 | * <!Anchor(KoserEtAl03)> | |
426 | http://www.litech.org/~vaughan/pdf/dpcool2003.pdf[sml2java: A Source To Source Translator]. | |
427 | Justin Koser, Haakon Larsen, Jeffrey A. Vaughan. | |
428 | <:#DPCOOL:> 2003. | |
429 | ||
430 | == <!Anchor(LLL)>L == | |
431 | ||
432 | * <!Anchor(Lang99)> | |
433 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.7130&rep=rep1&type=ps[Faster Algorithms for Finding Minimal Consistent DFAs]. | |
434 | Kevin Lang. 1999. | |
435 | ||
436 | * <!Anchor(LarsenNiss04)> | |
437 | http://usenix.org/publications/library/proceedings/usenix04/tech/freenix/full_papers/larsen/larsen.pdf[mGTK: An SML binding of Gtk+]. | |
438 | Ken Larsen and Henning Niss. | |
439 | USENIX Annual Technical Conference, 2004. | |
440 | ||
441 | * <!Anchor(Leibig13)> | |
442 | http://www.cs.rit.edu/~bal6053/msproject/[An LLVM Back-end for MLton]. | |
443 | Brian Leibig. | |
444 | MS Project Report, 2013. | |
445 | + | |
446 | ____ | |
447 | Describes MLton's <:LLVMCodegen:>. | |
448 | ____ | |
449 | ||
450 | * <!Anchor(Leroy90)> | |
451 | http://pauillac.inria.fr/~xleroy/bibrefs/Leroy-ZINC.html[The ZINC Experiment: an Economical Implementation of the ML Language]. | |
452 | Xavier Leroy. | |
453 | Technical report 117, INRIA, 1990. | |
454 | + | |
455 | ____ | |
456 | A detailed explanation of the design and implementation of a bytecode | |
457 | compiler and interpreter for ML with a machine model aimed at | |
458 | efficient implementation. | |
459 | ____ | |
460 | ||
461 | * <!Anchor(Leroy93)> | |
462 | http://pauillac.inria.fr/~xleroy/bibrefs/Leroy-poly-par-nom.html[Polymorphism by Name for References and Continuations]. | |
463 | Xavier Leroy. | |
464 | <:#POPL:> 1993. | |
465 | ||
466 | * <!Anchor(LeungGeorge99)> | |
467 | http://www.cs.nyu.edu/leunga/my-papers/annotations.ps[MLRISC Annotations]. | |
468 | Allen Leung and Lal George. 1999. | |
469 | ||
470 | == <!Anchor(MMM)>M == | |
471 | ||
472 | * <!Anchor(MarlowEtAl01)> | |
473 | http://community.haskell.org/~simonmar/papers/async.pdf[Asynchronous Exceptions in Haskell]. | |
474 | Simon Marlow, Simon Peyton Jones, Andy Moran and John Reppy. | |
475 | <:#PLDI:> 2001. | |
476 | + | |
477 | ____ | |
478 | An asynchronous exception is a signal that one thread can send to | |
479 | another, and is useful for the receiving thread to treat as an | |
480 | exception so that it can clean up locks or other state relevant to its | |
481 | current context. | |
482 | ____ | |
483 | ||
484 | * <!Anchor(MacQueenEtAl84)> | |
485 | http://homepages.inf.ed.ac.uk/gdp/publications/Ideal_model.pdf[An Ideal Model for Recursive Polymorphic Types]. | |
486 | David MacQueen, Gordon Plotkin, Ravi Sethi. | |
487 | <:#POPL:> 1984. | |
488 | ||
489 | * <!Anchor(Matthews91)> | |
490 | http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-174[A Distributed Concurrent Implementation of Standard ML]. | |
491 | David Matthews. | |
492 | University of Edinburgh Technical Report ECS-LFCS-91-174, 1991. | |
493 | ||
494 | * <!Anchor(Matthews95)> | |
495 | http://www.lfcs.inf.ed.ac.uk/reports/95/ECS-LFCS-95-335[Papers on Poly/ML]. | |
496 | David C. J. Matthews. | |
497 | University of Edinburgh Technical Report ECS-LFCS-95-335, 1995. | |
498 | ||
499 | * http://www.lfcs.inf.ed.ac.uk/reports/97/ECS-LFCS-97-375[That About Wraps it Up: Using FIX to Handle Errors Without Exceptions, and Other Programming Tricks]. | |
500 | Bruce J. McAdam. | |
501 | University of Edinburgh Technical Report ECS-LFCS-97-375, 1997. | |
502 | ||
503 | * <!Anchor(MeierNorgaard93)> | |
504 | A Just-In-Time Backend for Moscow ML 2.00 in SML. | |
505 | Bjarke Meier, Kristian Nørgaard. | |
506 | Masters Thesis, 2003. | |
507 | + | |
508 | ____ | |
509 | A just-in-time compiler using GNU Lightning, showing a speedup of up | |
510 | to four times over Moscow ML's usual bytecode interpreter. | |
511 | ||
512 | The full report is only available in | |
513 | http://www.itu.dk/stud/speciale/bmkn/fundanemt/download/report[Danish]. | |
514 | ____ | |
515 | ||
516 | * <!Anchor(Milner78)> | |
517 | http://courses.engr.illinois.edu/cs421/sp2013/project/milner-polymorphism.pdf[A Theory of Type Polymorphism in Programming]. | |
518 | Robin Milner. | |
519 | Journal of Computer and System Sciences, 1978. | |
520 | ||
521 | * <!Anchor(Milner82)> | |
522 | http://homepages.inf.ed.ac.uk/dts/fps/papers/evolved.dvi.gz[How ML Evolved]. | |
523 | Robin Milner. | |
524 | Polymorphism--The ML/LCF/Hope Newsletter, 1983. | |
525 | ||
526 | * <!Anchor(MilnerTofte91)> | |
527 | http://www.itu.dk/people/tofte/publ/1990sml/1990sml.html[Commentary on Standard ML] | |
528 | (http://www3.addall.com/New/submitNew.cgi?query=0262631377&type=ISBN[addall]) | |
529 | ISBN 0262631377. | |
530 | Robin Milner and Mads Tofte. | |
531 | The MIT Press, 1991. | |
532 | + | |
533 | ____ | |
534 | Introduces and explains the notation and approach used in | |
535 | <!Cite(MilnerEtAl90,The Definition of Standard ML)>. | |
536 | ____ | |
537 | ||
538 | * <!Anchor(MilnerEtAl90)> | |
539 | http://www.itu.dk/people/tofte/publ/1990sml/1990sml.html[The Definition of Standard ML]. | |
540 | (http://www3.addall.com/New/submitNew.cgi?query=0262631326&type=ISBN[addall]) | |
541 | ISBN 0262631326. | |
542 | Robin Milner, Mads Tofte, and Robert Harper. | |
543 | The MIT Press, 1990. | |
544 | + | |
545 | ____ | |
546 | Superseded by <!Cite(MilnerEtAl97,The Definition of Standard ML (Revised))>. | |
547 | Accompanied by the <!Cite(MilnerTofte91,Commentary on Standard ML)>. | |
548 | ____ | |
549 | ||
550 | * <!Anchor(MilnerEtAl97)> | |
551 | http://mitpress.mit.edu/books/definition-standard-ml[The Definition of Standard ML (Revised)]. | |
552 | (http://www3.addall.com/New/submitNew.cgi?query=0262631814&type=ISBN[addall]) | |
553 | ISBN 0262631814. | |
554 | Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. | |
555 | The MIT Press, 1997. | |
556 | + | |
557 | ____ | |
558 | A terse and formal specification of Standard ML's syntax and | |
559 | semantics. Supersedes <!Cite(MilnerEtAl90,The Definition of Standard ML)>. | |
560 | ____ | |
561 | ||
562 | * <!Anchor(ML2000)> | |
563 | http://flint.cs.yale.edu/flint/publications/ml2000.html[Principles and a Preliminary Design for ML2000]. | |
564 | The ML2000 working group, 1999. | |
565 | ||
566 | * <!Anchor(Morentsen99)> | |
567 | http://daimi.au.dk/CPnets/workshop99/papers/Mortensen.pdf[Automatic Code Generation from Coloured Petri Nets for an Access Control System]. | |
568 | Kjeld H. Mortensen. | |
569 | Workshop on Practical Use of Coloured Petri Nets and Design/CPN, 1999. | |
570 | ||
571 | * <!Anchor(MorrisettTolmach93)> | |
572 | http://web.cecs.pdx.edu/~apt/ppopp93.ps[Procs and Locks: a Portable Multiprocessing Platform for Standard ML of New Jersey]. | |
573 | J{empty}. Gregory Morrisett and Andrew Tolmach. | |
574 | <:#PPoPP:> 1993. | |
575 | ||
576 | * <!Anchor(Murphy06)> | |
577 | http://www.cs.cmu.edu/~tom7/papers/grid-ml06.pdf[ML Grid Programming with ConCert]. | |
578 | Tom Murphy VII. | |
579 | <:#ML:> 2006. | |
580 | ||
581 | == <!Anchor(NNN)>N == | |
582 | ||
583 | * <!Anchor(Neumann99)> | |
584 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.9485&rep=rep1&type=ps[fxp - Processing Structured Documents in SML]. | |
585 | Andreas Neumann. | |
586 | Scottish Functional Programming Workshop, 1999. | |
587 | + | |
588 | ____ | |
589 | Describes http://atseidl2.informatik.tu-muenchen.de/~berlea/Fxp[fxp], | |
590 | an XML parser implemented in Standard ML. | |
591 | ____ | |
592 | ||
593 | * <!Anchor(Neumann99Thesis)> | |
594 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.8108&rep=rep1&type=ps[Parsing and Querying XML Documents in SML]. | |
595 | Andreas Neumann. | |
596 | Doctoral Thesis, 1999. | |
597 | ||
598 | * <!Anchor(NguyenOhori06)> | |
599 | http://www.pllab.riec.tohoku.ac.jp/~ohori/research/NguyenOhoriPPDP06.pdf[Compiling ML Polymorphism with Explicit Layout Bitmap]. | |
600 | Huu-Duc Nguyen and Atsushi Ohori. | |
601 | <:#PPDP:> 2006. | |
602 | ||
603 | == <!Anchor(OOO)>O == | |
604 | ||
605 | * <!Anchor(Okasaki99)> | |
606 | http://www.cambridge.org/gb/academic/subjects/computer-science/programming-languages-and-applied-logic/purely-functional-data-structures[Purely Functional Data Structures]. | |
607 | ISBN 9780521663502. | |
608 | Chris Okasaki. | |
609 | Cambridge University Press, 1999. | |
610 | ||
611 | * <!Anchor(Ohori89)> | |
612 | http://www.pllab.riec.tohoku.ac.jp/~ohori/research/fpca89.pdf[A Simple Semantics for ML Polymorphism]. | |
613 | Atsushi Ohori. | |
614 | <:#FPCA:> 1989. | |
615 | ||
616 | * <!Anchor(Ohori95)> | |
617 | http://www.pllab.riec.tohoku.ac.jp/~ohori/research/toplas95.pdf[A Polymorphic Record Calculus and Its Compilation]. | |
618 | Atsushi Ohori. | |
619 | <:#TOPLAS:> 1995. | |
620 | ||
621 | * <!Anchor(OhoriTakamizawa97)> | |
622 | http://www.pllab.riec.tohoku.ac.jp/~ohori/research/jlsc97.pdf[An Unboxed Operational Semantics for ML Polymorphism]. | |
623 | Atsushi Ohori and Tomonobu Takamizawa. | |
624 | <:#LASC:> 1997. | |
625 | ||
626 | * <!Anchor(Ohori99)> | |
627 | http://www.pllab.riec.tohoku.ac.jp/~ohori/research/ic98.pdf[Type-Directed Specialization of Polymorphism]. | |
628 | Atsushi Ohori. | |
629 | <:#IC:> 1999. | |
630 | ||
631 | * <!Anchor(OwensEtAl09)> | |
632 | http://www.mpi-sws.org/~turon/re-deriv.pdf[Regular-expression derivatives reexamined]. | |
633 | Scott Owens, John Reppy, and Aaron Turon. | |
634 | <:#JFP:> 2009. | |
635 | ||
636 | == <!Anchor(PPP)>P == | |
637 | ||
638 | * <!Anchor(Paulson96)> | |
639 | http://www.cambridge.org/co/academic/subjects/computer-science/programming-languages-and-applied-logic/ml-working-programmer-2nd-edition[ML For the Working Programmer] | |
640 | (http://www3.addall.com/New/submitNew.cgi?query=052156543X&type=ISBN[addall]) | |
641 | ISBN 052156543X. | |
642 | Larry C. Paulson. | |
643 | Cambridge University Press, 1996. | |
644 | ||
645 | * <!Anchor(PetterssonEtAl02)> | |
646 | http://user.it.uu.se/~kostis/Papers/flops02_22.ps.gz[The HiPE/x86 Erlang Compiler: System Description and Performance Evaluation]. | |
647 | Mikael Pettersson, Konstantinos Sagonas, and Erik Johansson. | |
648 | <:#FLOPS:> 2002. | |
649 | + | |
650 | ____ | |
651 | Describes a native x86 Erlang compiler and a comparison of many | |
652 | different native x86 compilers (including MLton) and their register | |
653 | usage and call stack implementations. | |
654 | ____ | |
655 | ||
656 | * <!Anchor(Price09)> | |
657 | http://rogerprice.org/#UG[User's Guide to ML-Lex and ML-Yacc] | |
658 | Roger Price. 2009. | |
659 | ||
660 | * <!Anchor(Pucella98)> | |
661 | http://arxiv.org/abs/cs.PL/0405080[Reactive Programming in Standard ML]. | |
662 | Riccardo R. Puccella. 1998. | |
663 | <:#ICCL:> 1998. | |
664 | ||
665 | == <!Anchor(QQQ)>Q == | |
666 | ||
667 | {empty} | |
668 | ||
669 | == <!Anchor(RRR)>R == | |
670 | ||
671 | * <!Anchor(Ramsey90)> | |
672 | https://www.cs.princeton.edu/research/techreps/TR-262-90[Concurrent Programming in ML]. | |
673 | Norman Ramsey. | |
674 | Princeton University Technical Report CS-TR-262-90, 1990. | |
675 | ||
676 | * <!Anchor(Ramsey11)> | |
677 | http://www.cs.tufts.edu/~nr/pubs/embedj-abstract.html[Embedding an Interpreted Language Using Higher-Order Functions and Types]. | |
678 | Norman Ramsey. | |
679 | <:#JFP:> 2011. | |
680 | ||
681 | * <!Anchor(RamseyFisherGovereau05)> | |
682 | http://www.cs.tufts.edu/~nr/pubs/els-abstract.html[An Expressive Language of Signatures]. | |
683 | Norman Ramsey, Kathleen Fisher, and Paul Govereau. | |
684 | <:#ICFP:> 2005. | |
685 | ||
686 | * <!Anchor(RedwineRamsey04)> | |
687 | http://www.cs.tufts.edu/~nr/pubs/widen-abstract.html[Widening Integer Arithmetic]. | |
688 | Kevin Redwine and Norman Ramsey. | |
689 | <:#CC:> 2004. | |
690 | + | |
691 | ____ | |
692 | Describes a method to implement numeric types and operations (like | |
693 | `Int31` or `Word17`) for sizes smaller than that provided by the | |
694 | processor. | |
695 | ____ | |
696 | ||
697 | * <!Anchor(Reppy88)> | |
698 | Synchronous Operations as First-Class Values. | |
699 | John Reppy. | |
700 | <:#PLDI:> 1988. | |
701 | ||
702 | * <!Anchor(Reppy07)> | |
703 | http://www.cambridge.org/co/academic/subjects/computer-science/distributed-networked-and-mobile-computing/concurrent-programming-ml[Concurrent Programming in ML] | |
704 | (http://www3.addall.com/New/submitNew.cgi?query=9780521714723&type=ISBN[addall]). | |
705 | ISBN 9780521714723. | |
706 | John Reppy. | |
707 | Cambridge University Press, 2007. | |
708 | + | |
709 | ____ | |
710 | Describes <:ConcurrentML:>. | |
711 | ____ | |
712 | ||
713 | * <!Anchor(Reynolds98)> | |
714 | https://users-cs.au.dk/hosc/local/HOSC-11-4-pp355-361.pdf[Definitional Interpreters Revisited]. | |
715 | John C. Reynolds. | |
716 | <:#HOSC:> 1998. | |
717 | ||
718 | * <!Anchor(Reynolds98_2)> | |
719 | https://users-cs.au.dk/hosc/local/HOSC-11-4-pp363-397.pdf[Definitional Interpreters for Higher-Order Programming Languages] | |
720 | John C. Reynolds. | |
721 | <:#HOSC:> 1998. | |
722 | ||
723 | * <!Anchor(Rossberg01)> | |
724 | http://www.mpi-sws.org/~rossberg/papers/Rossberg%20-%20Defects%20in%20the%20Revised%20Definition%20of%20Standard%20ML%20%5B2007-01-22%20Update%5D.pdf[Defects in the Revised Definition of Standard ML]. | |
725 | Andreas Rossberg. 2001. | |
726 | ||
727 | == <!Anchor(SSS)>S == | |
728 | ||
729 | * <!Anchor(Sansom91)> | |
730 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.1020&rep=rep1&type=ps[Dual-Mode Garbage Collection]. | |
731 | Patrick M. Sansom. | |
732 | Workshop on the Parallel Implementation of Functional Languages, 1991. | |
733 | ||
734 | * <!Anchor(ScottRamsey00)> | |
735 | http://www.cs.tufts.edu/~nr/pubs/match-abstract.html[When Do Match-Compilation Heuristics Matter]. | |
736 | Kevin Scott and Norman Ramsey. | |
737 | University of Virginia Technical Report CS-2000-13, 2000. | |
738 | + | |
739 | ____ | |
740 | Modified SML/NJ to experimentally compare a number of | |
741 | match-compilation heuristics and showed that choice of heuristic | |
742 | usually does not significantly affect code size or run time. | |
743 | ____ | |
744 | ||
745 | * <!Anchor(Sestoft96)> | |
746 | http://www.itu.dk/~sestoft/papers/match.ps.gz[ML Pattern Match Compilation and Partial Evaluation]. | |
747 | Peter Sestoft. | |
748 | Partial Evaluation, 1996. | |
749 | + | |
750 | ____ | |
751 | Describes the derivation of the match compiler used in | |
752 | <:MoscowML:Moscow ML>. | |
753 | ____ | |
754 | ||
755 | * <!Anchor(ShaoAppel94)> | |
756 | http://flint.cs.yale.edu/flint/publications/closure.html[Space-Efficient Closure Representations]. | |
757 | Zhong Shao and Andrew W. Appel. | |
758 | <:#LFP:> 1994. | |
759 | ||
760 | * <!Anchor(Shipman02)> | |
761 | <!Attachment(References,Shipman02.pdf,Unix System Programming with Standard ML)>. | |
762 | Anthony L. Shipman. | |
763 | 2002. | |
764 | + | |
765 | ____ | |
766 | Includes a description of the <:Swerve:> HTTP server written in SML. | |
767 | ____ | |
768 | ||
769 | * <!Anchor(Signoles03)> | |
770 | Calcul Statique des Applications de Modules Parametres. | |
771 | Julien Signoles. | |
772 | <:#JFLA:> 2003. | |
773 | + | |
774 | ____ | |
775 | Describes a http://caml.inria.fr/cgi-bin/hump.en.cgi?contrib=382[defunctorizer] | |
776 | for OCaml, and compares it to existing defunctorizers, including MLton. | |
777 | ____ | |
778 | ||
779 | * <!Anchor(SittampalamEtAl04)> | |
780 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.1349&rep=rep1&type=ps[Incremental Execution of Transformation Specifications]. | |
781 | Ganesh Sittampalam, Oege de Moor, and Ken Friis Larsen. | |
782 | <:#POPL:> 2004. | |
783 | + | |
784 | ____ | |
785 | Mentions a port from Moscow ML to MLton of | |
786 | http://www.itu.dk/research/muddy/[MuDDY], an SML wrapper around the | |
787 | http://sourceforge.net/projects/buddy[BuDDY] BDD package. | |
788 | ____ | |
789 | ||
790 | * <!Anchor(SwaseyEtAl06)> | |
791 | http://www.cs.cmu.edu/~tom7/papers/smlsc2-ml06.pdf[A Separate Compilation Extension to Standard ML]. | |
792 | David Swasey, Tom Murphy VII, Karl Crary and Robert Harper. | |
793 | <:#ML:> 2006. | |
794 | ||
795 | == <!Anchor(TTT)>T == | |
796 | ||
797 | * <!Anchor(TarditiAppel00)> | |
798 | http://www.smlnj.org/doc/ML-Yacc/index.html[ML-Yacc User's Manual. Version 2.4] | |
799 | David R. Tarditi and Andrew W. Appel. 2000. | |
800 | ||
801 | * <!Anchor(TarditiEtAl90)> | |
802 | http://research.microsoft.com/pubs/68738/loplas-sml2c.ps[No Assembly Required: Compiling Standard ML to C]. | |
803 | David Tarditi, Peter Lee, and Anurag Acharya. 1990. | |
804 | ||
805 | * <!Anchor(ThorupTofte94)> | |
806 | http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.5372&rep=rep1&type=ps[Object-oriented programming and Standard ML]. | |
807 | Lars Thorup and Mads Tofte. | |
808 | <:#ML:>, 1994. | |
809 | ||
810 | * <!Anchor(Tofte90)> | |
811 | Type Inference for Polymorphic References. | |
812 | Mads Tofte. | |
813 | <:#IC:> 1990. | |
814 | ||
815 | * <!Anchor(Tofte96)> | |
816 | http://www.itu.dk/courses/FDP/E2004/Tofte-1996-Essentials_of_SML_Modules.pdf[Essentials of Standard ML Modules]. | |
817 | Mads Tofte. | |
818 | ||
819 | * <!Anchor(Tofte09)> | |
820 | http://www.itu.dk/people/tofte/publ/tips.pdf[Tips for Computer Scientists on Standard ML (Revised)]. | |
821 | Mads Tofte. | |
822 | ||
823 | * <!Anchor(TolmachAppel95)> | |
824 | http://web.cecs.pdx.edu/~apt/jfp95.ps[A Debugger for Standard ML]. | |
825 | Andrew Tolmach and Andrew W. Appel. | |
826 | <:#JFP:> 1995. | |
827 | ||
828 | * <!Anchor(Tolmach97)> | |
829 | http://web.cecs.pdx.edu/~apt/tic97.ps[Combining Closure Conversion with Closure Analysis using Algebraic Types]. | |
830 | Andrew Tolmach. | |
831 | <:#TIC:> 1997. | |
832 | + | |
833 | ____ | |
834 | Describes a closure-conversion algorithm for a monomorphic IL. The | |
835 | algorithm uses a unification-based flow analysis followed by | |
836 | defunctionalization and is similar to the approach used in MLton | |
837 | (<!Cite(CejtinEtAl00)>). | |
838 | ____ | |
839 | ||
840 | * <!Anchor(TolmachOliva98)> | |
841 | http://web.cecs.pdx.edu/~apt/jfp98.ps[From ML to Ada: Strongly-typed Language Interoperability via Source Translation]. | |
842 | Andrew Tolmach and Dino Oliva. | |
843 | <:#JFP:> 1998. | |
844 | + | |
845 | ____ | |
846 | Describes a compiler for RML, a core SML-like language. The compiler | |
847 | is similar in structure to MLton, using monomorphisation, | |
848 | defunctionalization, and optimization on a first-order IL. | |
849 | ____ | |
850 | ||
851 | == <!Anchor(UUU)>U == | |
852 | ||
853 | * <!Anchor(Ullman98)> | |
854 | http://www-db.stanford.edu/~ullman/emlp.html[Elements of ML Programming] | |
855 | (http://www3.addall.com/New/submitNew.cgi?query=0137903871&type=ISBN[addall]). | |
856 | ISBN 0137903871. | |
857 | Jeffrey D. Ullman. | |
858 | Prentice-Hall, 1998. | |
859 | ||
860 | == <!Anchor(VVV)>V == | |
861 | ||
862 | {empty} | |
863 | ||
864 | == <!Anchor(WWW)>W == | |
865 | ||
866 | * <!Anchor(Wand84)> | |
867 | http://portal.acm.org/citation.cfm?id=800527[A Types-as-Sets Semantics for Milner-Style Polymorphism]. | |
868 | Mitchell Wand. | |
869 | <:#POPL:> 1984. | |
870 | ||
871 | * <!Anchor(Wang01)> | |
872 | http://ncstrl.cs.princeton.edu/expand.php?id=TR-640-01[Managing Memory with Types]. | |
873 | Daniel C. Wang. | |
874 | PhD Thesis. | |
875 | + | |
876 | ____ | |
877 | Chapter 6 describes an implementation of a type-preserving garbage | |
878 | collector for MLton. | |
879 | ____ | |
880 | ||
881 | * <!Anchor(WangAppel01)> | |
882 | http://www.cs.princeton.edu/~appel/papers/typegc.pdf[Type-Preserving Garbage Collectors]. | |
883 | Daniel C. Wang and Andrew W. Appel. | |
884 | <:#POPL:> 2001. | |
885 | + | |
886 | ____ | |
887 | Shows how to modify MLton to generate a strongly-typed garbage | |
888 | collector as part of a program. | |
889 | ____ | |
890 | ||
891 | * <!Anchor(WangMurphy02)> | |
892 | http://www.cs.cmu.edu/~tom7/papers/wang-murphy-recursion.pdf[Programming With Recursion Schemes]. | |
893 | Daniel C. Wang and Tom Murphy VII. | |
894 | + | |
895 | ____ | |
896 | Describes a programming technique for data abstraction, along with | |
897 | benchmarks of MLton and other SML compilers. | |
898 | ____ | |
899 | ||
900 | * <!Anchor(Weeks06)> | |
901 | <!Attachment(References,060916-mlton.pdf,Whole-Program Compilation in MLton)>. | |
902 | Stephen Weeks. | |
903 | <:#ML:> 2006. | |
904 | ||
905 | * <!Anchor(Wright95)> | |
906 | http://homepages.inf.ed.ac.uk/dts/fps/papers/wright.ps.gz[Simple Imperative Polymorphism]. | |
907 | Andrew Wright. | |
908 | <:#LASC:>, 8(4):343-355, 1995. | |
909 | + | |
910 | ____ | |
911 | The origin of the <:ValueRestriction:>. | |
912 | ____ | |
913 | ||
914 | == <!Anchor(XXX)>X == | |
915 | ||
916 | {empty} | |
917 | ||
918 | == <!Anchor(YYY)>Y == | |
919 | ||
920 | * <!Anchor(Yang98)> | |
921 | http://cs.nyu.edu/zheyang/papers/YangZ\--ICFP98.html[Encoding Types in ML-like Languages]. | |
922 | Zhe Yang. | |
923 | <:#ICFP:> 1998. | |
924 | ||
925 | == <!Anchor(ZZZ)>Z == | |
926 | ||
927 | * <!Anchor(ZiarekEtAl06)> | |
928 | http://www.cs.purdue.edu/homes/lziarek/icfp06.pdf[Stabilizers: A Modular Checkpointing Abstraction for Concurrent Functional Programs]. | |
929 | Lukasz Ziarek, Philip Schatz, and Suresh Jagannathan. | |
930 | <:#ICFP:> 2006. | |
931 | ||
932 | * <!Anchor(ZiarekEtAl08)> | |
933 | http://www.cse.buffalo.edu/~lziarek/hosc.pdf[Flattening tuples in an SSA intermediate representation]. | |
934 | Lukasz Ziarek, Stephen Weeks, and Suresh Jagannathan. | |
935 | <:#HOSC:> 2008. | |
936 | ||
937 | ||
938 | == Abbreviations == | |
939 | ||
940 | * <!Anchor(ACSD)> ACSD = International Conference on Application of Concurrency to System Design | |
941 | * <!Anchor(BABEL)> BABEL = Workshop on multi-language infrastructure and interoperability | |
942 | * <!Anchor(CC)> CC = International Conference on Compiler Construction | |
943 | * <!Anchor(DPCOOL)> DPCOOL = Workshop on Declarative Programming in the Context of OO Languages | |
944 | * <!Anchor(ESOP)> ESOP = European Symposium on Programming | |
945 | * <!Anchor(FLOPS)> FLOPS = Symposium on Functional and Logic Programming | |
946 | * <!Anchor(FPCA)> FPCA = Conference on Functional Programming Languages and Computer Architecture | |
947 | * <!Anchor(HOSC)> HOSC = Higher-Order and Symbolic Computation | |
948 | * <!Anchor(IC)> IC = Information and Computation | |
949 | * <!Anchor(ICCL)> ICCL = IEEE International Conference on Computer Languages | |
950 | * <!Anchor(ICFP)> ICFP = International Conference on Functional Programming | |
951 | * <!Anchor(IFL)> IFL = International Workshop on Implementation and Application of Functional Languages | |
952 | * <!Anchor(IVME)> IVME = Workshop on Interpreters, Virtual Machines and Emulators | |
953 | * <!Anchor(JFLA)> JFLA = Journees Francophones des Langages Applicatifs | |
954 | * <!Anchor(JFP)> JFP = Journal of Functional Programming | |
955 | * <!Anchor(LASC)> LASC = Lisp and Symbolic Computation | |
956 | * <!Anchor(LFP)> LFP = Lisp and Functional Programming | |
957 | * <!Anchor(ML)> ML = Workshop on ML | |
958 | * <!Anchor(PLDI)> PLDI = Conference on Programming Language Design and Implementation | |
959 | * <!Anchor(POPL)> POPL = Symposium on Principles of Programming Languages | |
960 | * <!Anchor(PPDP)> PPDP = International Conference on Principles and Practice of Declarative Programming | |
961 | * <!Anchor(PPoPP)> PPoPP = Principles and Practice of Parallel Programming | |
962 | * <!Anchor(TCS)> TCS = IFIP International Conference on Theoretical Computer Science | |
963 | * <!Anchor(TIC)> TIC = Types in Compilation | |
964 | * <!Anchor(TLDI)> TLDI = Workshop on Types in Language Design and Implementation | |
965 | * <!Anchor(TOPLAS)> TOPLAS = Transactions on Programming Languages and Systems | |
966 | * <!Anchor(TPHOLs)> TPHOLs = International Conference on Theorem Proving in Higher Order Logics |