EHCTo Ghc Core
Eifl
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