Commit graph

23 commits

Author SHA1 Message Date
Evan Czaplicki
eb722a20dc Make a type less general 2013-07-22 14:41:55 +02:00
Evan Czaplicki
c140d690fc First draft of cross-module type checking
Currently, all top-level types are imported. No alias resolution
happens so you need to use "import open M" atm.
2013-07-21 22:50:48 +02:00
Evan Czaplicki
1f8b7bbc98 Introduce TypeLibrary alias, a minor cosmetic change 2013-07-21 09:23:01 +02:00
Evan Czaplicki
b1dd1574a8 Begin passing module interfaces when compiling dependencies 2013-07-21 07:14:13 +02:00
Evan Czaplicki
fa11f8e390 get rid of unused imports 2013-07-21 00:15:35 +02:00
Evan Czaplicki
c9a1cc96f6 Minor reformatting and removing unused dependencies 2013-07-20 18:52:43 +02:00
Evan Czaplicki
9592d286bb Start using Data.Graph to work out dependency problems and other minor tweaks
Print out the saved type environment, and get things working with the
program field in MetadataModule.
2013-07-19 18:05:31 +02:00
Evan Czaplicki
e852ae25e3 Add field to MetadataModule for datatypes 2013-07-17 19:24:40 +02:00
Evan Czaplicki
82983a6f24 Update more modules to use the MetadataModule data structure 2013-07-16 21:43:56 +02:00
Evan Czaplicki
ce357b3d0d Switch to reporting errors with [Doc] for prettier layout. 2013-07-16 14:52:50 +02:00
Evan Czaplicki
a5bc960067 Minor cosmetic changes 2013-07-16 00:40:11 +02:00
Evan Czaplicki
93a948cd67 Add back in checks for duplicate and out-of-order definitions. 2013-07-15 01:06:00 +02:00
Evan Czaplicki
cb914d91ff Get all of the Haskell files compiling with the new type checker.
Does not actually work, undefined is used in some places as a
stopgap measure.
2013-07-11 12:48:37 +02:00
evancz
35981eb42f Finish parameterizing the AST and properly check errors in let expressions. 2013-06-14 19:23:58 -07:00
evancz
721ce4f192 Continue reorganizing the code-base.
Remove uses of uniplate, introduces a regression in testing the ordering of Defs in let-expressions.
2013-06-13 22:45:08 -07:00
evancz
f5bdb2ca7e Minor code changes to help allow custom infix precedence and associativity. 2013-06-05 14:22:11 -07:00
evancz
2d1e06b17b Start generating elmi and elmo files to permit sharing of types, values, and infix info between modules. 2013-06-05 00:44:04 -07:00
evancz
ce6467266f Clean up imports in many files. 2013-05-28 06:47:36 -07:00
evancz
5d536d129a Get prelude added in all cases. 2013-04-08 01:48:30 -07:00
evancz
87fa86c7e8 Get type dealiasing working. 2013-04-05 09:55:30 -07:00
evancz
ab62612332 Ensure that --make skips trying to read libraries as files. 2013-04-03 10:27:23 -07:00
evancz
7dbb052b22 Load json representation of types with Template Haskell, so library files are the base truth of type information.
Make minor fixes in libraries, such as adding the Char labrary and fixing the types in the Dict library.
2013-03-16 22:24:18 -07:00
evancz
1822ebc160 Move the compiler down a directory, mostly. 2013-03-16 12:04:05 -07:00
Renamed from compiler/src/Initialize.hs (Browse further)