[Haskell-cafe] Materials on Compiling Functional Languages.

Jonne Ransijn yoyoyonny at gmail.com
Thu Mar 10 14:17:48 UTC 2016


@Matthew: Gil already provided a link for that, which appears to be the
first result on Google aswell:
http://research.microsoft.com/en-us/um/people/simonpj/Papers/pj-lester-book/
@Max: Haskell compilation is not really my area, but if a Lisp compiler
seems too easy (And I have to say, it _is_ quite easy, and shouldn't take
more than a couple of hours of coding), I would recommend starting by
looking into the Haskell Core to find out what Haskell boils down to. From
there you might be able to figure out how Haskell actually gets turned into
iterative code. The links Gil provided really help with this aswell.

This stackoverflow page contains some useful links and a compact
explaination of the Haskell Core, and is a great introduction to the
Haskell core. (Although it might be focused more around optimalization than
it is about the core itself):
  http://stackoverflow.com/questions/6121146/reading-ghc-core

Explaination from haskell.org:
  https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CoreSynType

PDF (As found on the above page):
  https://downloads.haskell.org/~ghc/6.12.2/docs/core.pdf

Sorry if these links are not helping. I am still trying to figure out the
Haskell Core myself.

On Thu, Mar 10, 2016 at 2:28 PM, Matthew Pickering <
matthewtpickering at gmail.com> wrote:

> Try to find "Implementing Functional Languages: A Tutorial" by Simon
> Peyton-Jones and David Lester.
>
> On Thu, Mar 10, 2016 at 12:42 PM, Maksymilian Owsianny
> <maksymilian.owsianny at gmail.com> wrote:
> > @Jonne
> >
> > Maybe I should have been a little more precise. I'm specifically
> > interested in a compilation step, that is turning a AST of some
> > functional language say untyped lambda calculus into a sequence of
> > imperative instructions.
> >
> > And I'm looking for a somewhat structured materials on the subject.
> >
> > If I were to give an analogy it would be how you would teach someone
> > about sorting algorithms. You would start with simple solutions that
> > most people come up on their own, like insert or bubble sort. Then you
> > go on about explaining problems with complexity of that solutions and
> > you present slightly more complex but optimal algorithms like quick or
> > merge sort. Then maybe you would give a proof that n log n is best you
> > can do for comparison based solutions. Then you could ask what could
> > be done if you remove that restriction, and so on...
> >
> > That way I could get a more complete understanding of the field.
> >
> > Where all I was able to fish from google were papers about (to
> > continue the analogy) theoretical complexity of a sorting algorithm on
> > a quantum computer or constant time improvements of a heap sort given
> > architecture with SIMD instruction set.
> >
> > And of course given enough time I would be able to piece all that
> > knowledge together, but I'm hoping someone could spare me that time.
> >
> > @Gil
> >
> > Thanks for suggestions, I was able to locate previously these series
> > by Stephan Diehl and they are truly quality material, the only problem
> > is that the first one deals with compiling an imperative language. So
> > it is of great use as practical solution to llvm generation but
> > doesn't really answers any of my theoretical questions about
> > functional language compilation. The second one on the other hand
> > deals with haskell so that's a bit of a jump already but also is still
> > a work in progress and crucially doesn't yet have the chapters
> > regarding compilation. As for others most of them are new to me so
> > I guess I'll have to take a deeper look.
> >
> > Ultimately I wasn't really expecting to get all that knowledge on
> > a silver platter. I guess I'll have to dig into all that literature
> > until I'll come out enlightened, so really anything useful you can
> > throw at me I'll be grateful for.
> >
> > Thanks,
> > Max.
> >
> >
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160310/4750b4f7/attachment.html>


More information about the Haskell-Cafe mailing list