[Haskell-cafe] Signature for non-empty filter
Bulat Ziganshin
bulat.ziganshin at gmail.com
Wed Feb 6 09:22:14 EST 2008
Hello Henning,
Wednesday, February 6, 2008, 5:09:56 PM, you wrote:
>> > Is Haskell's type system including extensions strong enough for describing
>> > a function, that does not always return a trivial value? E.g.
>> > (filter (\x -> x==1 && x==2))
>>
>> such things may be detected by (too) smart compiler, but in general
>> it's undecidable: filter (if LifeHasMeaning then const True else odd) ;)
> As I said, if the programmer could specify an input on the type level for
> which the output is non-trivial, then this would solve the problem.
it's another question: you can describe trivial values using type
system, but can't prohibit them using it - it's impossible because you
can't check for arbitrary algorithm whether it will be finally stopped
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe
mailing list