Commit Graph

15 Commits

Author SHA1 Message Date
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
Adam Sampson
19b432796b Fix misleading comment. 2011-07-20 11:04:00 +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
d3f4bd587e Fixed the type-inference to work again with input from timers 2009-04-19 17:35:35 +00:00
Neil Brown
3a5565471f Added support for extended rendezvous throughout the compiler 2009-04-19 16:26:37 +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
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
3b1519e4d3 Fixed problems with passing MOBILE items to operators 2009-04-17 18:40:50 +00:00
Neil Brown
40fc118c31 Fixed an inappropriate use of type equality that was causing problems with operators that return arrays 2009-04-17 18:31:11 +00:00
Neil Brown
0f277365b5 Removed a big piece of commented out old code that was recorded by accident 2009-04-17 18:28:04 +00:00
Neil Brown
032e40f562 Corrected a bug where user-defined types involved with operators were not being resolved properly 2009-04-17 18:19:09 +00:00
Neil Brown
759bc06a53 Fixed the type inference for operators
The previous system followed Jim Moores' description, which turns out to not be how KRoC does it, and different enough that lots of existing occam code was failing.

The new system makes two changes.  First, if there is only one suitable operator, given the types (taking Infer to be a wild-card) then it uses that operator, and can usually settle any remaining Infers.  Second, it uses the type context to narrow down the operators to only those that have a matching return type.  These changes seem enough to compile a lot of the trickier types.
2009-04-17 18:01:17 +00:00
Neil Brown
aaf951fe67 Split up the OccamTypes module into OccamCheckTypes and OccamInferTypes 2009-04-17 14:11:44 +00:00