aboutsummaryrefslogtreecommitdiff
path: root/frontend/transform.icl
AgeCommit message (Collapse)AuthorFilesLines
2001-10-18make source code clean 2.0 compatiblejohnvg1-4/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@865 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-18store macros and local functions in macros in separate {#{#FunDef}},johnvg1-461/+642
remove conversion table, except for macros git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@863 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-10-02removed uniqueness errorssjakie1-11/+14
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@812 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-09-06remove fun_index from FunDefjohnvg1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@746 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-08-31added code for OverloadedListPatternsjohnvg1-40/+38
function expandMacrosInBody returns fi_dynamics instead of fun_info git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@712 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-07-23expand macros with curried macro calls later, to prevent a bug if dcl ↵johnvg1-3/+89
caching is used git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@561 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-06-22boolean for explicit cases (cases that are specified by the programmer)ronny1-1/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@494 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-06-20optimise && and ||johnvg1-20/+41
(new: transform.[id]cl, check.icl, generics.icl) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@489 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-06-08mergeCases in separate moduleronny1-290/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@475 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-31added mechanism to generate a module id for each module. Fixed an indexmartijnv1-5/+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-10changed last field of CollectState into cos_used_dynamics which reflectsmartijnv1-11/+11
better its use. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@422 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-05-10bug fixes:martijnv1-11/+58
- 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-03added preliminary support for cons info by typealimarin1-1/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@382 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-04-201. bugfix concerning dictionaries that contain let expressionsmartinw1-8/+9
2. bugfix for fusion algorithm git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@366 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-27unfold all macros and local functions in macrosjohnvg1-122/+393
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-23fixing several bugsmartinw1-4/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@338 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-12fixes bug in mergeCasesjohnvg1-21/+65
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@324 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2001-03-02making compiler self compilable (this doesn't say anything about themartinw1-7/+10
quality of the generated executable) git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@314 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-23renumber icl function and macro indices when unfoldingjohnvg1-179/+259
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-18moved 3 arguments of expand to ExpandStatejohnvg1-152/+147
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@257 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-10-04-added position information for let bindings for better error messagesmartinw1-24/+44
(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-27optimizations and caching of dcl modules (without trans.icl)clean1-19/+67
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@232 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-09-12small bugfixmartinw1-0/+9
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@210 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-10added position information to case defaults to improve type error messagesmartinw1-26/+47
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@201 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-02comment MW3 removed; minor improvementssjakie1-3/+16
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@197 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-01forgotten te remove debugging statementssjakie1-2/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@194 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-08-01bug fix in merging casessjakie1-46/+97
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@193 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-03removing trace statementmartinw1-1/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@180 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-07-03no messageclean1-1/+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-25/+48
#! 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-16accepting JVG's changesmartinw1-2/+1
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@169 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-16small changes to reduce memory allocationclean1-0/+2
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@167 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-06-14bugfix: the compiler was unable to deal with macros that called a localmartinw1-2/+7
function that had the same name as the macro: ////////// module t5 import t6 Start = f f ///////// definition module t6 f x :== f x where f x = x ///////// caused an abort git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@162 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-31Added just a comment (beginning with "XXX") that indicates a change that has ↵martinw1-0/+1
to be made to solve the following bug: f # x = undef #! y = x | True = 2 = y After checking this will be like f # x = undef | True = 2 = x To really solve this bug we have to invent something new, because aliases like (#! y = x) are _not_ allowed. We could either introduce a dummy identity function: f # x = undef #! y = dummy_id x | True = 2 = y or we could introduce constructs like f # x = undef #! y | True = 2 = y git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@145 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-17accepting changesmartinw1-2/+0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@140 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-16bugfix in transform.icl (line 1306): the reference count in collectVariablesmartijnv1-0/+5
did not recognise a dynamic. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@138 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-05-11bug fix in macrossjakie1-3/+18
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@136 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-04-26changes to make compiler compatible with itselfmartinw1-21/+22
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@126 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-03-24bugfixesmartinw1-2/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@122 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-03-22*** empty log message ***sjakie1-6/+7
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@121 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-03-17 - making array patterns strict (strict lets were not properly handledmartinw1-7/+17
in "convertCasesOfFunctionsIntoPatterns" and "collectVariables") - new switch "SwitchUniquenessBug" in module checksupport - several bugfixes git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@114 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-03-14extended array patterns for muitidimensional arraysmartinw1-5/+2
bugfix git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@111 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-02-21- implemented comparison between redundant definitions in icl and dcl modulesmartinw1-6/+1
(new module: comparedefimp) - implemented array patterns. Further work: arrays are in lazy context (should be strict), currently only one dimensional arrays - optimised memory usage for explicit imports git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@94 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-01-19bug fix (changed syntax tree)sjakie1-20/+31
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@79 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
2000-01-17Bug fixessjakie1-25/+17
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@77 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
1999-12-03completing Sjaak's changes in module trans caused by exchanging the ↵martinw1-1/+0
transform and convertcases phases git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@62 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
1999-12-01Several bug fixes:sjakie1-1/+1
- dictionary arguments added properly - coercion of function types git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@61 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
1999-11-29bug fixsjakie1-2/+3
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@60 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
1999-11-12minor bug fix, some code polishingsjakie1-1/+4
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@45 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
1999-11-05fusion works now. The fusion switch in module typesupport is enabledmartinw1-24/+169
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@35 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d