Neil Brown
af1e4b6b7f
Added an EXIT intrinsic that's useful for profiling
2009-05-25 17:08:11 +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
48e50938f7
Got the build system to use specific versions of some packages
...
Eventually we should probably do this for all packages, but we certainly need it for base on GHC 6.10 (this avoids dealing with some other things, such as base being split up), and I needed it for QuickCheck too, since something had installed the latest version.
2009-05-18 22:32:19 +00:00
Neil Brown
3d4f16341f
Made all the needed packages explicit, and added configure tests for all of them
2009-05-18 19:56:21 +00:00
Neil Brown
b70811926a
Fixed some imports that were secretly causing a haskell98 package dependency
2009-05-18 19:55:59 +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
bee000b9c7
Renamed all the Polyplate files to Alloy
2009-05-11 10:47:29 +00:00
Neil Brown
bc917e1442
Added an Applicative-based function to PolyplateM and PolyplateMRoute, which seems to work
2009-05-06 13:02:51 +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
efa5c57fd0
Changed Polyplate to use a different system of ops-sets, that's looking quite nice
2009-05-05 17:48:20 +00:00
Neil Brown
aaa3ffe3f3
Fixed some of the clean rules (again?)
2009-05-05 17:47:59 +00:00
Neil Brown
7f702aaca2
Fixed a few tocktest compilation failures
2009-04-21 12:25:04 +00:00
Neil Brown
f4eea82bb7
Fixed a bug where C. externals were turned into blocking calls, and B. externals were turned into normal external calls
...
This turned out to be the reason for the slowness in parrot_attack.
2009-04-19 23:09:18 +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
d3f4bd587e
Fixed the type-inference to work again with input from timers
2009-04-19 17:35:35 +00:00
Neil Brown
13ce688271
Fixed the parser again for extended rendezvous
2009-04-19 17:29:43 +00:00
Neil Brown
cb4250b1b2
Implemented the SETAFF intrinsic
2009-04-19 17:29:20 +00:00
Neil Brown
b0ea943c72
Fixed the creation of the header define when there are characters such as dashes in the file name
2009-04-19 17:01:35 +00:00
Neil Brown
a48be18109
Fixed the parser on normal ALT guards, after the extended rendezvous change broke it
2009-04-19 17:01:11 +00:00
Neil Brown
838de8a366
Corrected various test failures in the C backend
2009-04-19 15:01:00 +00:00
Neil Brown
46f2fcd669
Allowed VAL and INITIAL abbreviations to define multiple names on one line
...
button.occ in the KRoC sources does this, so I'm guessing it should be legal.
2009-04-19 16:28:14 +00:00
Neil Brown
3a5565471f
Added support for extended rendezvous throughout the compiler
2009-04-19 16:26:37 +00:00
Neil Brown
41cf599ebe
Fixed non-top-level records in the C backend
2009-04-19 13:22:24 +00:00
Neil Brown
40e0399e4c
A whole lot of changes, described in #101 that help with records and separate compilation
...
The scheme may be strange, but a lot of KRoC compiles with it (and I think the cgtests will compile again now too)
2009-04-18 21:35:26 +00:00
Neil Brown
56e9609148
Fixed CHAN TYPE stuff not working properly in ShowCode
2009-04-18 21:34:14 +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
ac7f0dedf8
Stopped lib being stripped from filenames, which helps solve the old occam code that #USEs things that are now modules
2009-04-18 21:32:45 +00:00
Neil Brown
7b41f44788
Fixed a problem with the usage checking when one half had BK and the other half had none
2009-04-18 21:26:57 +00:00
Neil Brown
b3fdb6e2df
Fixed a typo on the newly added testcase
2009-04-18 21:26:15 +00:00
Neil Brown
a05facb7ad
Cleared up a couple of remaining uses of SYB
2009-04-18 21:25:48 +00:00
Neil Brown
48018a0acf
Fixed up some of the backend passes tests (and corrected the pass itself)
2009-04-18 19:48:08 +00:00
Neil Brown
823aa92edc
Corrected some failures in OccamTypesTest
2009-04-18 19:22:13 +00:00
Neil Brown
31322aa5f2
Fixed some of the test failures in PassTest
2009-04-18 19:11:57 +00:00
Neil Brown
d2705eaf0c
Fixed 12 failures in ArrayUsageCheckTest by defining the occam operators
2009-04-18 18:13:40 +00:00
Neil Brown
aa7d6b9b44
Added a function for testing that defines all the occam built-in operators, which helped fix all the failures in OccamPasses
2009-04-18 18:09:20 +00:00
Neil Brown
46b1b29e12
Moved some of the operators stuff out into its own module, and corrected ShowCode to display operators nicely
2009-04-18 21:03:12 +00:00
Neil Brown
79c31ea201
Added a new test based on a failure in sdlraster
2009-04-18 20:42:03 +00:00
Neil Brown
902570f6cd
Fixed inferTypes so that it infers mobile allocations when it should
2009-04-18 20:08:50 +00:00
Neil Brown
f4ed82d8f4
Added back a line to Types that I recently removed, but which turns out to be needed
2009-04-18 20:08:09 +00:00
Neil Brown
307b0f906f
Added some missing bits to ShowCode
2009-04-18 20:07:58 +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
af3be945a4
Moved the dummy occamutl files to match my changes in occbuild
2009-04-17 21:04:49 +00:00
Neil Brown
7dbff25b29
Moved csGlobalSizes to be a StateT on the appropriate backend pass
2009-04-17 19:29:50 +00:00
Neil Brown
4ecc8077ce
Realised that my optimisation for the usage checking had the condition the wrong way round
...
This explains why all the usage tests began to fail...
2009-04-17 19:27:41 +00:00
Neil Brown
026eb737b6
Moved csTypeContext and csOperators to be StateT items in inferTypes, and moved the associated functions too
...
This is part of my plan to trim down what is in CompState
2009-04-17 19:05:42 +00:00
Neil Brown
4c77c06db5
Moved csLocalNames to be solely within the occam parser, trimming CompState a bit
2009-04-17 19:05:01 +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
378ef07893
Adjusted all the other modules to reflect the new change to CSM
2009-04-17 17:40:00 +00:00
Neil Brown
c0e2972717
Rejigged CSM to solve some problems with monad transformers
2009-04-17 17:39:23 +00:00