ASH HAFEZ wrote:
> 
> Hi Andy,
> 
> I think you may have misunderstood the error message i was referring to
> 
> here's a screen dump...
> 
> Prelude>
> Prelude>
> Prelude> f' [1..3] where f' ~[x] = [x]
> [
> Program error: {v1889 [1,2] ++ takeWhile (flip (Ord_class.Ord_v1797
> (Make.Ord instEq_v32 primCmpInteger (Ord_class.Ord_v1796 (Make.Ord
> instEq_v32 primCmpInteger (Ord_class.Ord_v1796 (Make.Ord instEq_v32
> primCmpInteger (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger

> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class.Ord_v1796 (Make.Ord instEq_v32 primCmpInteger
> (Ord_class{Interrupted!}
> 

Thanks for the output. I still stand by my original comments,
though. From the semantic of Haskell, and given your definition
of f', I believe 

        f' [1..3] 

is not valid, and should give an error at runtime. 
Perhaps I'm misunderstanding you. 

What are you trying to do with ~[x] ? 
What do you expect f' [1..3] to do?

Andy

Reply via email to