aboutsummaryrefslogtreecommitdiff
path: root/frontend/unitype.icl
diff options
context:
space:
mode:
authormartinw2000-05-31 08:53:00 +0000
committermartinw2000-05-31 08:53:00 +0000
commitb974d5e648b6faeb59dc7bdd8c0469c34ab28896 (patch)
tree8fe303a8825e57890d82e8cf928d77c14d1a20bc /frontend/unitype.icl
parentfixed bugs; partially implemented type dependent functions (diff)
fixed fusion bug: The algorithm that derived the type for the specialised 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
Diffstat (limited to 'frontend/unitype.icl')
0 files changed, 0 insertions, 0 deletions