Mirror of http://offog.org/git/tock.git . Tock (translator from occam to C from Kent) is a Haskell-based compiler for occam and related languages.
Go to file
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
backends Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
checks Changed TestHarness to support Rain test files as well as occam 2008-05-17 13:13:52 +00:00
common Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
config Do away with the pkgconfig file in favour of another generated module. 2008-05-07 13:06:27 +00:00
data Fix some broken Haddock. 2008-05-25 18:49:15 +00:00
docextra Fix the page size in the Tock logo. 2008-05-14 23:22:50 +00:00
flow Merged Alternative and AlternativeCond into a single Alternative item that always has a pre-condition 2008-04-03 14:52:37 +00:00
frontends Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
pass Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
pregen Make GenNavAST generate instances of a "Polyplate" class. 2008-05-10 16:27:46 +00:00
support Changed the Rain TLP interface to use lists for output streams as I'd originally intended 2008-05-21 00:20:29 +00:00
testcases Fixed the Rain lists testcase to adhere to the new type unification scheme 2008-05-20 21:56:25 +00:00
transformations Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
AUTHORS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
cgtests.mk Add a "run" target to build and run the cgtests. 2008-04-08 15:17:40 +00:00
ChangeLog Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
compile-cgtests Added rules for getting and making the cgtests to the new Automake make system 2007-10-09 00:44:41 +00:00
configure.ac Fixed a conflict in configure.ac, adding the GLIB_ flags to the C flags 2008-05-18 11:39:51 +00:00
COPYING Add licensing information. 2007-08-18 20:42:11 +00:00
COPYING.LIB Add licensing information. 2007-08-18 20:42:11 +00:00
LANGUAGE Implement short-form PLACE, and fix PLACE IN WORKSPACE/VECSPACE. 2008-03-17 18:47:54 +00:00
Main.hs Added a backend that prints out the AST as source (rather than dumping the raw AST) 2008-05-17 22:20:38 +00:00
Makefile.am Added a missing line in the Makefile for UnifyType 2008-05-17 16:55:04 +00:00
NEWS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
README Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
SYNTAX Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00
TestMain.hs Added a Rain test file for the type checker 2008-05-17 13:17:12 +00:00
TODO Give tock its own repo -- i.e. remove everything else and move tock up 2007-07-16 21:48:55 +00:00