tock-mirror/frontends
Adam Sampson 6debf9292f Rework Traversal, and convert all passes to use it.
This changes the Traversal API to the one that I've been working on in
the Polyplate branch, but implemented in terms of Data. The
performance isn't as good as the Polyplate version, but the code is a
lot simpler because it doesn't need all the type constraints (and it
doesn't make GHC struggle).

This also reworks all the passes in Tock to use the new API, including
those that previously used makeGeneric (which I've now removed) or
everywhereM. Most of the passes are simpler because of this, and I
suspect it's fixed a few subtle bugs resulting from missing recursion
in makeGeneric code.

I haven't yet profiled this, but subjectively it seems about the same
as the old Traversal (and thus faster for all the passes that didn't
yet use it).
2008-05-25 20:13:57 +00:00
..
LexOccam.x Added support for array constructors to the occam parser 2008-03-10 22:58:36 +00:00
LexRain.x Changed the list concatenation operator to be ++ in Rain 2008-05-18 10:30:17 +00:00
OccamPasses.hs Renamed ndType to ndSpecType, as per Trac ticket #59 2008-05-21 13:38:51 +00:00
OccamPassesTest.hs Define variables necessary for some of the constant-folding tests. 2008-04-06 13:12:04 +00:00
OccamTypes.hs Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
OccamTypesTest.hs Merged Alternative and AlternativeCond into a single Alternative item that always has a pre-condition 2008-04-03 14:52:37 +00:00
ParseOccam.hs Renamed ndType to ndSpecType, as per Trac ticket #59 2008-05-21 13:38:51 +00:00
ParseRain.hs Renamed ndType to ndSpecType, as per Trac ticket #59 2008-05-21 13:38:51 +00:00
ParseRainTest.hs Merged Alternative and AlternativeCond into a single Alternative item that always has a pre-condition 2008-04-03 14:52:37 +00:00
ParseUtils.hs Added the -fwarn-unused-imports compiler option to warn about unused imports, and then set about pruning and ordering (mostly in my code) the import lists for all the modules 2007-09-27 13:13:46 +00:00
PreprocessOccam.hs Tidied up the type of handleDirective to make it easier to use 2008-03-05 16:05:21 +00:00
PreprocessOccamTest.hs Split include file expansion out into a separate pass. 2008-02-29 15:01:19 +00:00
RainPasses.hs Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
RainPassesTest.hs Changed the parameter type checking to use type unification 2008-05-18 09:43:12 +00:00
RainTypes.hs Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
RainTypesTest.hs Changed the expression types to use type unification, and removed the old test 2008-05-18 10:30:25 +00:00
StructureOccam.hs Split include file expansion out into a separate pass. 2008-02-29 15:01:19 +00:00
StructureOccamTest.hs Split include file expansion out into a separate pass. 2008-02-29 15:01:19 +00:00
TypeUnification.hs Added Meta tags all over the place in the type unification to give better error messages 2008-05-20 18:42:20 +00:00
UnifyType.hs Added Meta tags all over the place in the type unification to give better error messages 2008-05-20 18:42:20 +00:00