[clean-list] Re: Clean compiler exited abnormally
Siegfried Gonzi
siegfried.gonzi@kfunigraz.ac.at
Thu, 13 Sep 2001 14:44:46 +0200
"G.W.M. Vissers" wrote:
> Yes, I did make an implementation AND a definition module, and everything
> is imported correctly, I think. I have included the output of
> clm -v bla -o bla below. It seems that the types are all ok, but that the
> compiler either cannot work it's way through the strictness analysis or
> is unable to generate (ABC ?) code:
Try it with strictness information:
But then you may not use the size-function in your function; but you can
pass the size (for the test case only) directly or use it this way:
str1d :: {#t} -> String | ArrayElem, toString t
str1d x = str1d` 0
where
//n = size x
str1d` i
| i == (size x) = ""
= toString x.[i] +++ " " +++ str1d` (inc i)
str2d :: {*{#t}} -> String | ArrayElem, toString t
str2d xx = str2d` 0
where
//n = size xx
str2d` i
| i == (size xx) = ""
= str1d xx.[i] +++ "\n" +++ str2d` (inc i)
Start = str2d {{1,2,3},{3,4,5},{5,6,7}}
Notice: str1d will not accept: *{#} only str2d accepts unique
information!
Please report what will happen now.
S. Gonzi