Adam Sampson
2c4ccfbf39
Update all the copyright notices.
...
I've checked these all against the Darcs history using a script
(check-copyright, in my misccode collection). Anything Neil or I did as
part of our PhDs is copyright University of Kent; more recent work
belongs to us, as appropriate.
2011-07-21 11:38:13 +00:00
Neil Brown
c0e2e9c401
Improved the commenting on the flow algorithm stuff and fixed a bug in the implicit mobility
2009-08-19 17:00:12 +00:00
Neil Brown
728fa5f328
Fixed up the implicit mobility to work with oak (but needs some more work to make sure normal mobility still functions)
2009-05-27 18:01:03 +00:00
Neil Brown
0efe1c856b
Fixed various things in the implicit mobility
2009-05-22 21:58:10 +00:00
Neil Brown
f625019aec
Added bits to the implicit mobility to stop things being used in parallel being moved
2009-05-22 17:23:05 +00:00
Neil Brown
589a6380fb
Fixed a couple of problems with the implicit mobility system
2009-05-19 12:58:49 +00:00
Neil Brown
d98c5079ca
Cleaned up all the warnings in Tock's code (most unused modules, or unused functions)
2009-05-19 09:05:38 +00:00
Neil Brown
853a52cc00
Finished the name change from Polyplate to Alloy
...
Most of this was a find-and-replace, PolyplateM -> AlloyA. But I also fixed some of the opsets and removed types that were no longer needed, and so on.
2009-05-11 15:22:58 +00:00
Neil Brown
44eabe4baa
Reworked Polyplate to have a simpler way of expressing opsets, and also simplified PolyplateM and PolyplateMRoute
2009-05-06 11:32:19 +00:00
Neil Brown
fcacdd3235
Turned csCurrentFile into a monad transformer variable, and added csCompilationHash to help in uniquifying names between files
2009-04-19 19:36:38 +00:00
Neil Brown
d29b5b67cf
Got the tests compiling again after the changes to the AST for extended rendezvous
2009-04-19 17:34:36 +00:00
Neil Brown
3a5565471f
Added support for extended rendezvous throughout the compiler
2009-04-19 16:26:37 +00:00
Neil Brown
71fe50a0cc
Made it so that if a RECORD is top-level, its copy PROC is too
2009-04-18 21:33:14 +00:00
Neil Brown
31322aa5f2
Fixed some of the test failures in PassTest
2009-04-18 19:11:57 +00:00
Neil Brown
57ffc7bfa4
Split out a chunk of CompState into a CompOpts type for things that can be set on the command-line
2009-04-17 21:10:14 +00:00
Neil Brown
4ecf7c9298
Removed csAdditionalArgs in favour of using a StateT on the only pass that used it
2009-04-17 17:40:53 +00:00
Neil Brown
ff9cabd80b
Changed csParProcs to be a map that indicates whether the process is a wrapper for FORK or PAR
2009-04-16 10:25:02 +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
f2c4ada01b
Removed PolyplateSpine in favour of using PolyplateM (and the State monad) everywhere
2009-04-13 20:37:14 +00:00
Neil Brown
e409b15b58
Merged latest patches from trunk into Polyplate
2009-04-13 16: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
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
b6b4188b7c
More Polyplate merging in SimplifyAbbrevs
2009-02-11 13:30:54 +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
4672675ba8
Removed the GenericUtils module, now that everything uses Polyplate instead
2009-01-12 18:03:41 +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
ccb6c7aa1d
Fixed the types in various test modules to work with Polyplate
2008-12-14 19:18:00 +00:00
Neil Brown
a0c58ae836
Adjusted all the remaining modules in the transformations directory to work with the new Pass system
2008-12-14 18:30:02 +00:00
Neil Brown
890e7ea9a6
Fixed many of the modules to use the new Polyplate-based Traversal system
2008-12-02 18:06:10 +00:00
Neil Brown
ddbec737f2
Got all the tests compiling again after recent changes
...
For some reason, the usage check tests are now very slow to run (perhaps because of all the operator definitions added to each one?), which needs further investigation.
2009-04-10 19:29:40 +00:00
Neil Brown
794e9ba8df
Made sure that dereferenced mobile arrays are pulled up
2009-04-09 17:06:07 +00:00
Neil Brown
229f2197af
Turned findMeta into a member of a FindMeta type-class
2009-04-09 11:13:37 +00:00
Neil Brown
009cf8cc8b
Added a helper function like functionOperator, but that only gives back a Just result if the operator is a non-overridden version
2009-04-08 15:15:47 +00:00
Neil Brown
adf046a30e
Fixed the implicit mobility module (it was only broken for Rain anyway)
2009-04-08 12:15:11 +00:00
Neil Brown
1e21895276
Stopped abbreviations of arrays of records being pulled up
2009-04-08 12:13:23 +00:00
Neil Brown
dc64b5e664
Fixed the filename munging in the generated copy_ procs for records
2009-04-08 12:13:07 +00:00
Neil Brown
3fd373e4ac
Stopped calls to the user-defined operators being pulled up
2009-04-07 16:12:03 +00:00
Neil Brown
a3ec0aab7f
Stopped the built-in operators from being transformed into PROCs
2009-04-07 16:11:18 +00:00
Neil Brown
ca3c982a7e
Fixed transformConstr to work with the new helper functions
2009-04-07 16:10:42 +00:00
Neil Brown
8a35da4be4
Fixed the removeAfter pass to work on function calls to the AFTER operator
2009-04-07 16:09:12 +00:00
Neil Brown
85790012b0
Allowed removeNesting to pull up functions (the only ones affected will be the built-in operators)
2009-04-07 16:07:46 +00:00
Neil Brown
8635039542
Stopped removeFreeNames from considering external things to be free names
2009-04-07 16:07:21 +00:00
Neil Brown
e457d82f0c
Changed FUNCTIONs and PROCs to have optional bodies, and put all the externals into the AST (without bodies)
...
This may seem like an odd change, but it simplifies the logic a lot. I kept having problems with passes not operating on externals (e.g. functions-to-procs, adding array sizes, constant folding in array dimensions) and adding a special case every time to also process the externals was getting silly.
Putting the externals in the AST therefore made sense, but I didn't want to just add dummy bodies as this would cause them to throw up errors (e.g. in the type-checking for functions). So I turned the bodies into a Maybe type, and that has worked out well.
I also stopped storing the formals in csExternals (since they are now in csNames, and the tree), which streamlined that nicely, and stopped me having to keep them up to date.
2009-04-04 14:56:35 +00:00
Neil Brown
d6ad0ba202
Made the name of record-copying PROCs different for each file that generates them, to avoid clashes at link time
2009-04-03 10:25:55 +00:00
Neil Brown
dbc1b461a4
Made makeNonce use the munged meta-tag, to stop wrapper PROCs from different files having name clashes at link-time
2009-04-02 20:02:11 +00:00
Neil Brown
70789661f1
Got pragma-declared FUNCTIONS to be turned into PROCs and handled properly
2009-04-02 18:13:51 +00:00