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
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
backends Fixed the sizes for mobile arrays of mobile arrays 2009-04-16 18:42:27 +00:00
checks Changed findAllProcess to be much more efficient 2009-04-16 17:03:27 +00:00
common Fixed the dereference-inference for mobiles 2009-04-17 11:46:00 +00:00
config Made the size of INT in occam be based on the size of void* in C 2009-04-17 14:22:53 +00:00
data Fixed the type inference for operators 2009-04-17 18:01:17 +00:00
docextra Add the Tock hacker's guide to the repository. 2008-11-20 13:41:06 +00:00
flow Merged the latest set of changes from the trunk into the Polyplate branch 2009-04-10 20:38:29 +00:00
frontends Fixed the type inference for operators 2009-04-17 18:01:17 +00:00
pass Removed PolyplateSpine in favour of using PolyplateM (and the State monad) everywhere 2009-04-13 20:37:14 +00:00
polyplate Added a new listifyDepthRoute function that's like listifyDepth, but stores the route too 2009-04-16 17:01:43 +00:00
pregen 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
support Fixed the allocation of mobile arrays of mobile things so that the pointers in the new array are set to 0 2009-04-16 17:19:40 +00:00
testcases Fixed some of the tests, and added another testcase for array passing, based on one of Carl's examples 2009-03-20 12:59:16 +00:00
transformations 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
AUTHORS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
cgtests.mk Changed the names of generated tock files to have ".tock" before the extension 2009-04-02 15:40:39 +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 Made the size of INT in occam be based on the size of void* in C 2009-04-17 14:22:53 +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 channel direction decorators. 2008-06-09 21:35:20 +00:00
Main.hs Fixed a function in AnalyseAsm to not read in the same sizes file twice, and made sure that sizes files are not emitted with their path 2009-04-15 17:17:22 +00:00
Makefile.am Split up the OccamTypes module into OccamCheckTypes and OccamInferTypes 2009-04-17 14:11:44 +00:00
NEWS Changed tock to use autoconf/automake for its build process 2007-10-08 17:02:03 +00:00
occamutl.tock.h Changed the build process to support a directory to put modules and includes in, and added a dummy lib (occamutl) 2009-04-04 12:28:47 +00:00
occamutl.tock.inc Changed the build process to support a directory to put modules and includes in, and added a dummy lib (occamutl) 2009-04-04 12:28:47 +00:00
occamutl.tock.sizes Added a dummy sizes file for the dummy occamutl module 2009-04-14 16:58:26 +00:00
ProcessTags.hs Finally got round to adding a little program to qualify the AST tags in the TAGS file 2009-03-22 15:51:43 +00:00
rangetest.c Fixed rangetest to work again, given the changes to the names of the operators in the support headers 2009-04-08 19:10:08 +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 some testcases related to checking the use of abbreviations 2009-02-08 23:25:30 +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