| Age | Commit message (Collapse) | Author | Files | Lines | 
|---|
|  | which will vanish when cases are implemented in the back end)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@191 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@190 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@189 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@188 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@187 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@186 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@185 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@184 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@183 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@182 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@181 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@180 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@179 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@178 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | #! 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 | 
|  | also STE_Macro. This showed up after a list comprehenshion that matched on
STE_Imported was transformed into a function with that pattern
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@176 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@175 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@174 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@173 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@172 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 | 
|  | :: T :== Int
f = { T | f1 = blub }
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@170 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@169 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@168 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@167 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@166 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | "PA_BUG" for the same purpose. MW removes his macro _untertaenig_ in favour
of Sjaaks version
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@165 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | Peter's bug removed
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@164 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@163 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | 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 | 
|  | that are overloaded
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@161 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | 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 | 
|  | with our without layout rule, but not with both)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@159 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@158 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 | 
|  | compiled with Clean 1.3 and Clean 2.0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@155 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | postparse.icl: Propagation continues with dynamic expression
                      instead of halting
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@154 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@153 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@152 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@151 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | module t
/*2.0
from m import :: T(C1)
0.2*/
//1.3
from m import T, C1
//3.1
will be transformed into
module t
/***/
from m import :: T(C1)
/***/
/*1.3
from m import T, C1
3.1*/
before scanning. In this way we achieve that the upper source can be
compiled with the 2.0 compiler as well as with the 1.3 compiler
The comments _must_ begin the line (no leading whitespaces are allowed).
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@150 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 | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@148 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@147 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@146 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | 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 | 
|  | 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@143 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d | 
|  | #! (a, b) = f
was originally translated into
 #! _x = f
 #! a = _x.0
 #! b = _x.1
which is wrong. Now a an b are in a lazy context
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@142 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d |