Commit Graph

2514 Commits

Author SHA1 Message Date
Neil Brown
d2260e1736 Added a new function to Utils, and made one of the existing functions simpler and more efficient 2009-04-14 12:07:12 +00:00
Neil Brown
1a3df54ee7 Fixed SKIP not being allowed as a guard without a precondition 2009-04-14 11:13:00 +00:00
Neil Brown
71267f12d5 Fixed direction specifiers in the LHS of a RETYPES confusing the parser 2009-04-14 11:12:44 +00:00
Neil Brown
f257100ba8 Added support for the SETPRI intrinsic 2009-04-14 11:05:27 +00:00
Neil Brown
50662fa6f0 Added support for passing preprocessor defines from the command-line 2009-04-14 10:48:26 +00:00
Neil Brown
bf8c87b873 Fixed the type-checking so that user-defined types that are mobile type-check properly 2009-04-13 22:41:07 +00:00
Neil Brown
c2b31d3c78 Fixed the listify function, especially for the C backend, so that the ordering is what we want, regardless of whether it makes sense 2009-04-13 22:40:25 +00:00
Neil Brown
d36503e15d Fixed a couple of problems in the backend with channel bundles 2009-04-13 20:37:21 +00:00
Neil Brown
f2c4ada01b Removed PolyplateSpine in favour of using PolyplateM (and the State monad) everywhere 2009-04-13 20:37:14 +00:00
Neil Brown
04974ae470 Fixed various typing problems involving channel bundles 2009-04-13 19:20:15 +00:00
Neil Brown
e409b15b58 Merged latest patches from trunk into Polyplate 2009-04-13 16:58:07 +00:00
Neil Brown
9069282ca2 Added support to the backend for FORK and FORKING 2009-04-13 14:58:07 +00:00
Neil Brown
c9b4af3d7d Added a pass that works out which FORK statement corresponds to which FORKING block (and adds a FORKING just inside the main PROC) 2009-04-13 14:57:18 +00:00
Neil Brown
d4a119ecf4 Added lexing, parsing and type-checking support for FORKING and FORK 2009-04-13 14:57:03 +00:00
Neil Brown
b21940585d Added a few FORKING-related entries to the AST 2009-04-13 14:56:19 +00:00
Neil Brown
80dac0492b Fixed a bug where specifications were being misinterpreted inside IFs during parsing
I find it surprising this bug had been in there so long.  It was interpreting "INT i" as an expression in an IF, then couldn't resolve i, rather than backing out and correctly parsing the whole line, "INT i:" as a specification.
2009-04-12 16:26:54 +00:00
Neil Brown
8f943c9ac1 Changed freeNamesIn to use PolyplateM rather than PolyplateSpine
This sliced the time on part of tocktest to 5% of the previous time, which rather suggests that I should do away with PolyplateSpine.
2009-04-11 17:53:33 +00:00
Neil Brown
c8b724d2be Merged the latest set of changes from the trunk into the Polyplate branch
I also added the import list to all the Data.Generics imports in the tests (as I did for the other modules recently)
2009-04-10 20:38:29 +00:00
Neil Brown
8f767ff0d4 Made all the imports of Data.Generics have an import list
This makes sure that we catch all leftover instances of using SYB to do generic operations that we should be using Polyplate for instead.  Most modules should only import Data, and possibly Typeable.
2009-04-09 15:36:37 +00:00
Neil Brown
e61a23855a Fixed all the conflicts while merging into the Polyplate branch 2009-04-09 11:01:39 +00:00
Neil Brown
85ed6b8fbe Discovered that I'd googled to some outdated docs, and fixed the last comment change 2009-02-11 16:50:47 +00:00
Neil Brown
399433a18a Added a note to the comments in GenInstances 2009-02-11 16:45:10 +00:00
Neil Brown
ae74752336 Fixed a bug introduced in the Polyplate merging where findDir wasn't working properly 2009-02-11 16:02:56 +00:00
Neil Brown
a3d1e952f4 Corrected my documentation, after trying to actually use it 2009-02-11 14:47:45 +00:00
Neil Brown
b6b4188b7c More Polyplate merging in SimplifyAbbrevs 2009-02-11 13:30:54 +00:00
Neil Brown
0d5299b10f Added some documentation for the Polyplate library 2009-02-11 13:26:11 +00:00
Neil Brown
9294febd6f Converted addDirections to the Polyplate traversals, and fixed inferTypes to work in Polyplate (more merging from trunk) 2009-02-11 12:17:28 +00:00
Neil Brown
a72b01ff02 Merged the latest changes from my usage checking into the polyplate branch 2009-02-10 17:11:24 +00:00
Neil Brown
c69ea8815d Merged in the latest changes from the trunk into the Polyplate branch 2009-02-03 13:14:07 +00:00
Neil Brown
effa8189b1 Disabled the pass that checks for unused variables for now as it runs too slowly 2009-01-28 15:48:31 +00:00
Neil Brown
5a10e94c6a Fixed various conflicts between the Polyplate branch and the latest changes in the trunk 2009-01-28 15:48:08 +00:00
Neil Brown
3950a6360d Twiddled the polyplate cabal file to work with GHC 6.10 2009-01-13 16:13:59 +00:00
Neil Brown
7066aee458 Added a simple Setup file to use to run the Polyplate cabal script 2009-01-13 15:44:15 +00:00
Neil Brown
b4a13ea0d0 Fixed the cabal build file for Polyplate 2009-01-13 15:37:44 +00:00
Neil Brown
83eed621dc Added more documentation to Polyplate and made sure to trim the trees for PolyplateSpine 2009-01-13 15:37:35 +00:00
Neil Brown
a6c4f3ba93 Made some more notes in the Makefile regarding compiler flags 2009-01-13 15:22:35 +00:00
Neil Brown
501778bc65 Added some section dividers to Polyplate's Schemes module 2009-01-12 18:59:50 +00:00
Neil Brown
3b7d530e90 Fixed more of the documentation for the Polyplate module 2009-01-12 18:49:52 +00:00
Neil Brown
0e6fd2993c Added a quick attempt at a cabal file for the polyplate library 2009-01-12 18:07:47 +00:00
Neil Brown
16162d3c60 Fiddled with the documentation for the Route module some more 2009-01-12 18:07:10 +00:00
Neil Brown
4672675ba8 Removed the GenericUtils module, now that everything uses Polyplate instead 2009-01-12 18:03:41 +00:00
Neil Brown
b0a34eb3a8 Improved some of polyplate's documentation, and renamed routeIdentity to identityRoute to avoid confusion with routeId 2009-01-12 17:34:59 +00:00
Neil Brown
d97b50f82a Switched CheckFramework over to use the new Polyplate library 2009-01-12 15:52:49 +00:00
Neil Brown
1d500b46ae Moved the SYB-based route stuff back into FlowUtils, and trimmed down the export list of GenericUtils 2008-12-15 10:36:48 +00:00
Neil Brown
8ea930541f Added routes to Polyplate, making the main class PolyplateMRoute and thus PolyplateM is a derivative of this with the old functionality
Also changed the generation of the instances to generate PolyplateMRoute instances instead of PolyplateM
2008-12-14 22:47:24 +00:00
Neil Brown
b94091a08c Moved all of the Route stuff out into a new polyplate module 2008-12-14 22:47:07 +00:00
Neil Brown
ccb6c7aa1d Fixed the types in various test modules to work with Polyplate 2008-12-14 19:18:00 +00:00
Neil Brown
92035a82a2 Got the test utilities working with the new Pass type synonym 2008-12-14 19:00:19 +00:00
Neil Brown
754bb7f023 Briefly fixed CheckFramework (and Checks) to compile, but not yet switched them over to using the Polyplate traversal mechanisms 2008-12-14 18:59:15 +00:00
Neil Brown
2349474ba6 Fixed the occam modules to work with the new Polyplate type-classes 2008-12-14 18:52:52 +00:00