[Haskell-cafe] Materials on Compiling Functional Languages. (Gil Mizrahi)
kei at lanl.gov
Thu Mar 10 17:04:51 UTC 2016
>> Hi Cafe,
>> I'm looking for materials on compiling functional languages. The
>> materials that I was able to gather from the web were kind of all over
>> the place, so I'm hoping someone could help me out with something more
>> in order for a novice.
>> Starting from something specific and simple so I could have something
>> small and concrete to implement, play and ponder about. And then
>> going forward with more advanced materials about different
>> optimization strategies for eager and lazy languages or what could be
>> achieved when limiting yourself only to a total language, etc.
>> Haskell-Cafe mailing list
>> Haskell-Cafe <at> haskell.org
> Hi Maksymilian,
> Here you'll find a (perhaps not so) short list I've accumulated:
> and here it is in markdown format:
> - [Implementing a JIT Compiled Language with Haskell and
> - [Write You a Haskell](http://dev.stephendiehl.com/fun/index.html)
> - [Theory and Implementation of a Functional Programming
> - [Implementing Functional Programming
> - SPJ
> - [Implementing Functional Langauges: a
> - SPJ
> - [Practical Implementation of a Dependently Typed Functional Programming
> Language | Brady](http://compsoc.dur.ac.uk/~ecb/proofread/thesis.pdf)
> - [STG
> - [Typing Haskell in
> - [Practical type inference for arbitrary-rank types / SPJ et
> - Compiling with Continuations - Appel
> - [PureScript Compiler](https://github.com/purescript/purescript)
> Cheers and good luck,
Nice list Gil.
We've recently implemented a pure FL compiler.
We started with the "stock hardware" paper ([STG Machine] in Gil's
list), but it's somewhat dated (e.g. they're still using a trampoline).
Our main reference was the "fast curry" paper:
Bernie Pope's MiniSTG is a useful learning tool based on that paper:
Our type inferencer currently handles ADTs including unboxed types. I
Then if you get serious [Typing Haskell in Haskell] in Gil's list.
For compiling pattern matching we started with one of the [Implementing
Functional ...] in Gil's list, then found some other references online
(I don't know exactly which--I didn't implement that part).
For a parallel implementation we started with
Then there are subsequent papers that can be found on SPJ's publication
Hope this helps, it helped us!
Applied Computer Science Group CCS-7, Mail Stop B287
Los Alamos National Laboratory
Los Alamos, NM 87545, U.S.A.
More information about the Haskell-Cafe