First cut at reviving the External Core tools
authorTim Chevalier <chevalier@alum.wellesley.edu>
Mon, 10 Mar 2008 02:58:21 +0000 (02:58 +0000)
committerTim Chevalier <chevalier@alum.wellesley.edu>
Mon, 10 Mar 2008 02:58:21 +0000 (02:58 +0000)
commit276585028d51a2516a31b91a91a1f4bba5c9f8ba
treee4480d6ebd0fb8a234b3cd70e5c81eaa11477b5e
parente415eeaf6c7771488af24758ca5b9c22c42be3a6
First cut at reviving the External Core tools

I updated the External Core AST to be somewhat closer to reality (where reality is defined by the HEAD), and got all the code to compile under GHC 6.8.1. (That means it works, right?)

Major changes:

- Added a Makefile.

- Core AST:
    - Represented package names and qualified module names.
    - Added type annotation on Case exps.
    - Changed Coerce to Cast.
    - Cleaned up representation of qualified/unqualified names.
    - Fixed up wired-in module names (no more "PrelGHC", etc.)

- Updated parser/interpreter/typechecker/prep for the new AST.

- Typechecker:
    - Used a Reader monad to pass around the global environment and top module name.
    - Added an entry point to check a single expression.

- Prep:
    - Got rid of typeofExp; it's now defined in terms of the typechecker.
12 files changed:
utils/ext-core/Check.hs
utils/ext-core/Core.hs
utils/ext-core/Driver.hs
utils/ext-core/Interp.hs
utils/ext-core/Lex.hs
utils/ext-core/Makefile [new file with mode: 0644]
utils/ext-core/ParseGlue.hs
utils/ext-core/Parser.y
utils/ext-core/Prep.hs
utils/ext-core/Prims.hs
utils/ext-core/Printer.hs
utils/ext-core/README