(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 dmbarb...@gmail.com writes:
Full beta-reduction is certainly not strict
What, precisely, do you
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
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
On 12/28/11 10:23 AM, Jon Fairbairn wrote:
Thiago Negrievoh...@gmail.com 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
wren ng thornton w...@freegeek.org writes:
On 12/28/11 10:23 AM, Jon Fairbairn wrote:
Thiago Negrievoh...@gmail.com 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
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
- 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 Yves
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
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 evoh...@gmail.com 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
2011/12/28 Jon Fairbairn jon.fairba...@cl.cam.ac.uk:
* 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
Thiago Negri evoh...@gmail.com writes:
2011/12/28 Jon Fairbairn jon.fairba...@cl.cam.ac.uk:
* 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
2011/12/25 Tom Murphy amin...@gmail.com
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
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
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
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 shouldn't be
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 to, and
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 mur...@sonology.netwrote:
On Sat, Dec 24, 2011 at
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 as
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 admit, I'm a
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
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)
- ...whose
On Sat, Dec 24, 2011 at 2:31 AM, Albert Y. C. Lai tre...@vex.net 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.
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
On Sat, Dec 24, 2011 at 10:49 PM, Dan Doel dan.d...@gmail.com wrote:
On Sat, Dec 24, 2011 at 2:31 AM, Albert Y. C. Lai tre...@vex.net 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
On Sun, Dec 25, 2011 at 12:14 AM, Eugene Kirpichov ekirpic...@gmail.com wrote:
On Sat, Dec 24, 2011 at 10:49 PM, Dan Doel dan.d...@gmail.com 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
Thanks, this makes sense.
On Sun, Dec 25, 2011 at 10:03 AM, Dan Doel dan.d...@gmail.com wrote:
On Sun, Dec 25, 2011 at 12:14 AM, Eugene Kirpichov ekirpic...@gmail.com
wrote:
On Sat, Dec 24, 2011 at 10:49 PM, Dan Doel dan.d...@gmail.com wrote:
I think it's good to be clear on all these
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 ago
See that's typically the speech that scares people away from Haskell...
--
The ⊥ is a lie.
2011/12/24 Albert Y. C. Lai tre...@vex.net
Most individuals of the Haskell community have long been maintaining a
cognitive dissonance; some cases turn into plain hypocrisy. You might
excuse it for
31 matches
Mail list logo