[Haskell-cafe] Overcome type restrictions?

Kolář Dušan kolar at fit.vutbr.cz
Fri Mar 7 08:14:05 UTC 2014


Well my fault, the example should have been like this:

We have and error of infinite type for
Prelude> :t ((\(h:t) -> h t) [head, last, head, last, head, last])

Of course, head and tail are incompatible on type level...

Dušan


> On Fri, 07 Mar 2014 07:57:09 +0100, Kolář Dušan <kolar at fit.vutbr.cz> wrote:
>
> :
> :
>> But we have an error of infinite type construction for
>>
>> Prelude> :t ((\(h:t) -> h t) [head,tail, head, tail, head, tail])
>>
>> Well I can overcome this by encoding functions into data types and  
>> then performing "conversion" back and forth, nevertheless, is there  
>> any way how to overcome this?
>
> It seems like you need heterogenous collections[0]
>
> Regards,
> Henk-Jan van Tuyl
>
>
> [0] http://www.haskell.org/haskellwiki/Heterogenous_collections
>
>
> -- 
> Folding at home
> What if you could share your unused computer power to help find a  
> cure? In just 5 minutes you can join the world's biggest networked  
> computer and get us closer sooner. Watch the video.
> http://folding.stanford.edu/
>
>
> http://Van.Tuyl.eu/
> http://members.chello.nl/hjgtuyl/tourdemonad.html
> Haskell programming
> --
>





More information about the Haskell-Cafe mailing list