
"Simon" == Simon Marlow
writes:
>> Yes, I see. Would it be possible to have a standard strict list, >> i.e. something equivalent of >> >> data SList a = SNil | SCons !a SList >> >> (which could be a member of the same class as the normal lists, >> and have the usual functions (length, ++, isPrefixOf...) >> overloaded)? Simon> Yes, it would be possible, but we can't do it without making Simon> sweeping changes to standard libraries and deviating from Simon> Haskell 98 quite a bit. It's something to bear in mind Simon> should the topic of Haskell 2 come up, though. If there are significant changes to be made anyway, wouldn't it be the best thing to generalize lists to a type class of which lists are an instance of? The nice list comprehension syntax could then be used also for other data structures, and combinators like map, filter, scanl applied to arrays, trees etc. Analogously to the Num class, one could have a function like *toList*, and one would expect from a program to establish: toList . combinator_in_X_a = combinator_in_[a] . toList Cheers -- Christoph