aboutsummaryrefslogtreecommitdiff
path: root/frontend/check.icl
AgeCommit message (Collapse)AuthorFilesLines
2001-05-31added mechanism to generate a module id for each module. Fixed an indexmartijnv1-0/+22
out of range error reported by Peter. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@443 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-11checking the kinds of all function-, instance-, class- and member-typesmartinw1-51/+1
before typecheking (see new module "checkKindCorrectness") git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@424 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-10bug fixes:martijnv1-1/+1
- unused dynamics in where/let clauses do not cause a rule doesn't match error in overloading.icl instead they are ignored - default behaviour changed e.g. f (i :: Int, j :: Int) = abort "Int" f (r :: Real, s :: Real) = abort "Real" f _ = abort "stop" The compiler first matched on the tuple and then did the dynamic pattern matches. But the last match did not call the last (default) alternative if it did not match. - some small changes git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@421 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-08added fields to cons_info and type_infoalimarin1-2/+4
fixed bugs git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@406 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-04satisfying John's pervert and bizarre wishes for better error messagesmartinw1-3/+14
concerning specified instance types, that by far go beyond the standards of Clean 1.3.3 git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@392 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-03added preliminary support for cons info by typealimarin1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@382 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-04-27new error message for "instance c U":martinw1-21/+92
U is unique but instantiates class variable x that is non uniquely used. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@369 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-04-25added support for constructors (for toString like usage),alimarin1-5/+23
fromString is not yet supported some error handling improved parial instances are temporary disabled git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@368 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-04-20pepping up error messagesmartinw1-12/+42
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@364 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-27uniqueness support is added to genericsalimarin1-89/+28
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@345 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-27unfold all macros and local functions in macrosjohnvg1-160/+235
changed Declaration type fixed crash when macro appears only in dcl module added make with caching in 'main' use BoxedIdent in hashtable git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@344 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-26added check for error after 'combineDclAndIclModule' tojohnvg1-3/+4
prevent a compiler crash when an abstract type is not defined in the implementation module git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@341 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-23fixing several bugsmartinw1-269/+142
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@338 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-20Sjaak: fixed inheritance bugs and strictness attributessjakie1-38/+18
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@335 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-15*** empty log message ***martinw1-25/+14
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@333 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-13Generics are added, but are disabled.alimarin1-42/+498
Tested with compiling Object IO and butstrapping. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@329 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-12Ensure that modules that are imported from the main dcl module appearmartinw1-2/+4
in ".depend" instructions in abc files git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@323 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-08Normalizingmartijnv1-11/+29
- type variables - passing a list of directly imported dcl modules by an icl modules git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@321 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-02bugfix: the compiler gave "index out of range" when an instance was declaredmartinw1-2/+4
without the corresponding class being declared git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@317 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-02making compiler self compilable (this doesn't say anything about themartinw1-1/+4
quality of the generated executable) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@314 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-02-23including porting facilitiesmartinw1-183/+5
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@303 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-02-22bugfix: explicit imports of instances did not work in conjunction with dclmartinw1-0/+18
caching git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@300 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-02-19bugfix: a function that made some types in StdArray.dcl more strict hadmartinw1-34/+45
to be delayed until a whole dcl module component has been checked git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@299 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-02-15DynamicTemp added to the compiler. You will be needing a newmartijnv1-2/+12
StdEnv 2.0 in which DynamicTemp is added. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@297 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-02-13delaying "determineTypesOfInstances" and "checkSpecialsOfInstances" aftermartinw1-130/+166
checking of a whole dcl module component --> now cyclic module dependencies should work git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@294 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-01-19bugfixing dcl cashing, expanding synonym types after a whole module componentmartinw1-196/+205
has been checked, refactoring git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@291 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-01-12New algorithm for explicit imports that also works with cyclic module ↵martinw1-260/+918
dependencies git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@286 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-11-01improved code for explicit imports,martinw1-25/+16
moved all switches to syntax module git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@277 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-27moving huge part of code out of check into new module checkFunctionBodiesmartinw1-1966/+11
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@272 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-26bug fix in copying abstract types from dcl module to icl modulejohnvg1-7/+8
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@271 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-26added new error messagesmartinw1-3/+4
"context restriction not allowed for fully polymorph instance" and "context restriction equals instance type" git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@270 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-23renumber icl function and macro indices when unfoldingjohnvg1-14/+49
dcl macros in icl functions and macros removed expanded macros from groups (s.c.components) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@259 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-11added error messagesmartinw1-1/+12
"first argument of infix operator missing" and "second argument of infix operator missing" git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@256 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-04-added position information for let bindings for better error messagesmartinw1-79/+97
(changes are commented with "MW0") git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@248 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-27making compiler self compatiblemartinw1-16/+19
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@237 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-27optimizations and caching of dcl modules (without trans.icl)clean1-203/+501
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@232 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-20improving error messages:martinw1-9/+31
before: _from_to undefined _uselect undefined now: StdEnum not imported StdArray not imported git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@218 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-13added position information for better error messagesmartinw1-14/+23
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@214 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-15improved typing error messages: type variables are printed like "a" insteadmartinw1-8/+8
of "v314", case defaults and guards now also have file position information. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@202 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-10added position information to case defaults to improve type error messagesmartinw1-15/+24
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@201 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-09added position information to case alternatives and changed the typingmartinw1-77/+106
algorihm so that typing error messages can indicate the alternative in which the error occured. Before, these error messages always located the first alternative/function type git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@200 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-01improving error messagesmartinw1-11/+16
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@196 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-14De predefined symbols worden in check.icl aangepast. Hetmartijnv1-0/+3
nieuwe PD_coerce-symbool werd nog niet aangepast. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@192 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-10optimised consequence checking for explicit importsmartinw1-20/+43
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@183 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-03no messageclean1-1/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@179 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-03no messageclean1-4/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@178 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-21solving the problem of strict aliases. Now a strict aliasmartinw1-19/+23
#! x = y will be transformed into #! x = _dummyForStrictAlias y while checking. The new predefined symbol _dummyForStrictAlias has the type of the identity function. This application will be removed in the backend conversion phase. In this case x and y will simply get the same sequence number (see module backendpreprocess). Then the binding can be ignored. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@177 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-16added error message "not a record constructor", e.g. in the following case:martinw1-0/+3
:: T :== Int f = { T | f1 = blub } git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@170 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-16small changes to reduce memory allocationclean1-10/+14
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@167 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-14optimisation: compareDefImp now only compares those definitions that aremartinw1-2/+9
really redundant, but not those which are added automatically by the compiler to the icl module git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@160 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d