Most individuals of the Haskell community have long been maintaining a
cognitive dissonance; some cases turn into plain hypocrisy. You might
excuse it for its ancient and prominent origin: Richard Bird and/or
Philip Wadler themselves wrote like "it is too lazy", "make it more
strict" 13 years a
See that's typically the speech that scares people away from Haskell...
--
The ⊥ is a lie.
2011/12/24 Albert Y. C. Lai
> Most individuals of the Haskell community have long been maintaining a
> cognitive dissonance; some cases turn into plain hypocrisy. You might
> excuse it for its ancient an
On 24/12/11 17:54, Yves Parès wrote:
> See that's typically the speech that scares people away from Haskell...
>
>
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
Wait what?
I find it
On 24 Dec 2011, at 11:31, Albert Y. C. Lai wrote:
> So, on IRC in #haskell, from the same person, speaking on the same topic in
> the same context, in the same interval of 3 minutes (the first two sentences
> in the same minute):
>
> 1. a function f is strict if f ⊥ = ⊥
> 2. ⊥ represents any c
On Dec 24, 2011, at 6:22 PM, Tony Morris wrote:
> Wait what?
>
> I find it intriguing, helpful, provocative and potentially helpful toward the
> common goal of helping others. I am interested in further commentary. I'm not
> scared and you shouldn't be either.
Asking honest questions is immin
On 24/12/11 18:41, Gregory Crosswhite wrote:
> On Dec 24, 2011, at 6:22 PM, Tony Morris wrote:
>
>> Wait what?
>>
>> I find it intriguing, helpful, provocative and potentially helpful toward
>> the common goal of helping others. I am interested in further commentary.
>> I'm not scared and you sho
On Sat, Dec 24, 2011 at 08:54:43AM +0100, Yves Parès wrote:
>See that's typically the speech that scares people away from Haskell...
>--
>The ⥠is a lie.
>
>2011/12/24 Albert Y. C. Lai <[1]tre...@vex.net>
>
>> [ snip. ]
I find this sort of discussion is precisely what draws me t
I applaud the pedantry, but I must admit that the tone of the original
email is unusually harsh for the Haskell community, even though not so
harsh as to really make me (for example) scared.
On Sat, Dec 24, 2011 at 12:47 PM, Murray Campbell wrote:
> On Sat, Dec 24, 2011 at 08:54:43AM +0100, Yves
On Dec 24, 2011, at 6:47 PM, Murray Campbell wrote:
> It's too late to avoid success at all costs but please don't banish our
> precious pedantry!
>
> Scare on!
Please don't misunderstand, I have absolutely no problems at all with people
arguing voraciously and pedantically over ideas, as long
> 1. a function f is strict if f ⊥ = ⊥
> 2. ⊥ represents any computation which does not terminate, i.e. an
> exception or an infinite loop
> 3. "strict" describes the denotational semantics
>
> People, could you please make up your mind already? It has been more
> than 13 years.
I have to admi
I wonder how the arrival of an anonymous anecdote on IRC was the
smoking gun needed to justify calling out the Haskell community on its
cognitive dissonance. Surely you would need some statistical evidence,
a public display from a very prominent member, or some officially
endorsed stance to convinc
I'm gonna clarify my point a little ^^.
In fact pedantry was involved. The way Albert started his original post was
pedantic.
The scaring effect was mostly caused by such discourse showing two things:
- Haskellers make use of obscure terms and distinctions (e.g. "denotational
semantics")
- ...whos
On Sat, Dec 24, 2011 at 2:31 AM, Albert Y. C. Lai wrote:
> 1. a function f is strict if f ⊥ = ⊥
> 2. ⊥ represents any computation which does not terminate, i.e. an exception
> or an infinite loop
> 3. "strict" describes the denotational semantics
All three of these statements are true. The only
"I have not written this complaint until now because I have been waiting
for unmistakable evidence, a smoking gun, a red hand so caught that you
cannot explain away,"
It's not a murder trial! The number-one nice thing about the Haskell
community is that they _thoroughly_ listen to people. I th
On Sat, Dec 24, 2011 at 10:49 PM, Dan Doel wrote:
> On Sat, Dec 24, 2011 at 2:31 AM, Albert Y. C. Lai wrote:
> > 1. a function f is strict if f ⊥ = ⊥
> > 2. ⊥ represents any computation which does not terminate, i.e. an
> exception
> > or an infinite loop
> > 3. "strict" describes the denotatio
On Sun, Dec 25, 2011 at 12:14 AM, Eugene Kirpichov wrote:
> On Sat, Dec 24, 2011 at 10:49 PM, Dan Doel wrote:
>> I think it's good to be clear on all these specifics, and people could
>> do with a better recognition of the difference between (non-)strict
>> and (lazy)eager (hint: you can have an
Thanks, this makes sense.
On Sun, Dec 25, 2011 at 10:03 AM, Dan Doel wrote:
> On Sun, Dec 25, 2011 at 12:14 AM, Eugene Kirpichov
> wrote:
> > On Sat, Dec 24, 2011 at 10:49 PM, Dan Doel wrote:
> >> I think it's good to be clear on all these specifics, and people could
> >> do with a better reco
2011/12/25 Tom Murphy
> On the other hand:
> I'd _strongly_ argue against "making up our minds" about definitions
> within the Haskell community. Most of these concepts aren't
> Haskell-specific.
> An example of something to avoid is our definitions of "concurrency"
> and "parallel
There are two flavours of MonadState, Control.Monad.State.Lazy and
Control.Monad.State.Strict. There are two flavours of ByteString,
Data.ByteString.Lazy and Data.Bytestring (whose doc says "strict").
There are two flavours of I/O libraries, lazy and strict. There are
advices of the form: "the
When I explain to people what strict/lazy/eager mean, I often say something
like :
- Adjectives eager and lazy apply *only* to a global evaluation method: *
eager* is C evaluation style and *lazy* is that of Haskell.
- Adjective strict can be applied *both* to a global evaluation method and
a spec
> - Adjective strict can be applied *both* to a global evaluation method
and a specific function: if applied to an eval method then it's a synonym
of "strict"
I of course meant a synonym of *"eager"*. Sorry.
I admit this definition might be a little liberal, but it helps understand.
2011/12/28
I got a glimpse of understanding of what you are talking about after
reading the wiki [1].
Still difficult to reason about the difference between lazy and
non-strict without taking a look at the text.
I hope somebody will make an effort to better explain the differences
and persist it in the wiki
I did read other wiki pages, and I guess I finally got it.
Anyone who still feel lost, take a look at them [1,2,3,4].
If the HaskellWiki is right, then the Wikipedia article for evaluation
strategies [5] is a bit misleading, as it classifies optimistic
evaluation under "nondeterministic strategies
Thiago Negri writes:
> Lazy evaluation is one implementation of non-strict semantics, where
> the arguments are evaluated only when they are needed.
I would say this:
* non-strict semantics require that no argument is evaluated
unless needed.
* lazy evaluation is an implementation of non-str
2011/12/28 Jon Fairbairn :
> * non-strict semantics require that no argument is evaluated
> unless needed.
That's not the case on optimistic evaluation.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/hask
Thiago Negri writes:
> 2011/12/28 Jon Fairbairn :
>> * non-strict semantics require that no argument is evaluated
>> unless needed.
>
> That's not the case on optimistic evaluation.
Oops, yes. I should have said something like “non-strict
semantics require that evaluation should terminate if t
On 12/28/11 6:47 AM, Thiago Negri wrote:
I got a glimpse of understanding of what you are talking about after
reading the wiki [1].
Still difficult to reason about the difference between lazy and
non-strict without taking a look at the text.
One way to keep them distinct is to recall that "laz
On 12/28/11 10:23 AM, Jon Fairbairn wrote:
Thiago Negri writes:
Lazy evaluation is one implementation of non-strict semantics, where
the arguments are evaluated only when they are needed.
I would say this:
* non-strict semantics require that no argument is evaluated
unless needed.
I'm
wren ng thornton writes:
> On 12/28/11 10:23 AM, Jon Fairbairn wrote:
>> Thiago Negri writes:
>>
>>> Lazy evaluation is one implementation of non-strict semantics, where
>>> the arguments are evaluated only when they are needed.
>>
>> I would say this:
>>
>> * non-strict semantics require that n
Full beta-reduction is certainly not strict but also doesn't guarantee
terminate even where it is possible (i.e. it might indefinitely unfold a
value without making progress). I don't think there is much you can say
about non-strictness and termination.
Regards,
Dave
On Mon, Jan 9, 2012 at 3:01
(I’m somewhat dismayed that the error in my preliminary remark
has overshadowed the point of my original message — which was
about the distinction between lazy and non-strict. However…)
David Barbour writes:
> Full beta-reduction is certainly not strict
What, precisely, do you mean by “full beta
31 matches
Mail list logo