[Haskell-cafe] A Mascot

MigMit miguelimo38 at yandex.ru
Wed Nov 16 11:05:16 CET 2011


Maybe it's just me, but I've thought that being non-strict just means that it's possible for a function to produce some value even if it's argument doesn't; in other words, that it's possible to have "f (_|_) ≠ (_|_)". If there was no such thing as (_|_), what would non-strictness mean?

On 16 Nov 2011, at 13:46, Bas van Dijk wrote:

> On 16 November 2011 05:18, John Meacham <john at repetae.net> wrote:
>> Not nearly enough
>> attention is paid to the other striking feature, the laziness. The
>> 'bottom' symbol _|_ should feature prominently. The two most defining
>> features of haskell are that it is purely functional and _|_ inhabits
>> every type. The combination of which is very powerful.
> 
> Is ⊥ the right symbol to express the non-strict evaluation of the
> language? Is it true that non-strict evaluation requires that ⊥
> inhabits every type? In other words: why can't there exist a
> non-strict total language (probably having some form of coinductive
> types)?
> 
> Cheers,
> 
> Bas
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe




More information about the Haskell-Cafe mailing list