Age | Commit message (Collapse) | Author | Files | Lines |
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@179 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
and the other producers
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@171 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
that are overloaded
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@161 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
functions could not deal
with synonym types properly.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@157 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
otherwise
the compiler would not be able to compile itself.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@156 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
that are imported
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@149 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
function worked like
follows: In a first phase bind type variables to their instantiation for all producers. In the
second phase apply the substitution. This didn't work for consumers that are fused with multiple
producers, e.g:
cons :: (a->b) (b->c) a -> c
prod1 :: Int -> Int
prod2 :: d->e
During producer-wise binding a and b were first bound to Int and Int. _Then_ b and c were bound
to d and e (b was overwritten)
Solution:
Apply the one substitution for each producer
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@144 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@126 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@115 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
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
|
|
bugfix
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@111 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@108 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
(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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@90 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
trans.icl: improving sjaaks changes that yielded revision 1.17
parse.icl: bugfix: The following program led into "could not determine the type of this record"
module t5
:: R1 = { f :: Int }
:: R2 = { f :: Int }
:: R3 = { g :: R1 }
g x = { x & g.R1.f = 1 }
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@80 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@79 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
Check Error [case_bug.icl,18,f]:"_" illegal combination of patterns
f t = case t of {(a,2) -> 1; _ | False -> 2; (a,b) -> 3;};
- typesupport.icl: small typo
- trans.icl: small optimisation
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@75 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
not whether an argument of a constructor is in normal form
case [a] of { [b]->(b,b) }
transformed to
let b=a in (b,b)
now it transfroms to
(a,a)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@71 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
before
case x of { 1->1; _ -> case C of { A -> 2 }}
transformed to
case x of { 1->1; _ -> neverMatchingCase }
now it transforms to
case x of { 1->1;}
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@68 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
transform and convertcases phases
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@62 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
- 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
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@60 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@58 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@57 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@48 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@46 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@44 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@43 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@37 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@35 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@16 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|
|
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
|