EHCTo Ghc Core

Eifl

Christof Douma and Rodrigo Baptista

Assignment description

The goal of this assignment is to implement code generation for the EH compiler to GHC Core language.

One problem we encountered is the lack of information available in the EHC Core language. To generate Ghc Core code we need the types of bindings and use explicit type arguments. The translation of the full blown EH language to the core must be changed to include the Type information of variable bindings in let, case and lambda expressions and in function applications. To help the process of this change, we created a EHToCode page.

Planning

week date Activity
13-19 sep   Read - Andrew Tolmach. An External Representation for the GHC Core Language(Draft for GHC5.02)
20-26 sep Thu 23 sep The first meeting at the ST Lab - we have installed the necessary tools to work at the ST and started to do a Data type for GHC Core Language.
27sep - 03oct Tue 28 sep Presentation of the paper that we read about GHC Core Language and explanation of our implementation problems related with the interconnection with the GHC Code generator and the EHC.
  Wed 29 sep Working at the ST Lab - we could finally understand how makefiles work together.
  Thu 30 sep Working at the ST Lab - working in the same purpose and find out some doubts to report in the class.
04-10 oct Wed 5 oct Working at the ST Lab - Applications,Abstractions and Pretty printer created for very simple examples.
11-17 oct Wed 13 oct Working at the ST Lab - we have changed the source Abstract Syntax Tree of the translation.
  Fri 15 oct Working at the ST Lab - we have started to include the Type information
  Sat 16 oct Read The Pattern-matching Compiler Algorithm from Simon Peyton Jones. The Implementation of Functional Programming Languages
18-24 oct Wed 20 oct Working at the ST Lab - added some Type information in the Let Bindings
  Thu 21 oct Working at the ST Lab - added Case Expressions and planning the presentation
25-31 oct Wed 27 oct Working at the ST Lab - added Type information in Lamba Abstractions and made it almost compilable in GHC
  Fri 28 oct Working at the ST Lab - made case expressions out of let! ,added structured data definitions to Let and fixed some version mistakes.

Repository

We have our repository URL available https://svn.cs.uu.nl:12443/repos/EHC/branches/GHC-Core/

Related Literature

  • Andrew Tolmach. An External Representation for the GHC Core Language (Draft for GHC5.02). http://www.haskell.org/ghc/documentation.html, 2001.
  • Simon Peyton Jones. Compiling Haskell by program transformation: a report from the trenches. European Symposium On Programming pp. 18-44, 1996.
  • Simon L. Peyton-Jones. Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine. Journal of Functional Programming 2(2) pp. 127-202, 1992. Department of Computer Science, University of Glasgow.
  • RodrigoBaptista - 04 Oct 2004