From: Elias Gabriel Amaral da Silva <tolkiendili@gmail.com>
To: Florian Weimer <fw@deneb.enyo.de>
Cc: Dario Teixeira <darioteixeira@yahoo.com>, caml-list@inria.fr
Subject: Re: [Caml-list] Purity and lazyness
Date: Fri, 7 Jan 2011 21:26:56 -0300 [thread overview]
Message-ID: <AANLkTinEcZcudWMjWH6C9+PR9m1mahD8+ynqfmPNw+GV@mail.gmail.com> (raw)
In-Reply-To: <87vd20plpv.fsf@mid.deneb.enyo.de>
2011/1/7 Florian Weimer <fw@deneb.enyo.de>:
> * Dario Teixeira:
>
>> So, my question is whether there is something I'm missing and in fact "purity
>> <=> lazyness", or I am reading too much from those Haskeller presentations,
>> because they never meant to say anything beyond "lazyness => purity", and
>> freely mixing the two was just a casual oversight.
>
> As specified, Haskell is not a pure language because every pattern
> match can have side effects. The Haskell community is split between
> those who think that this is a good thing, and those that consider it
> problematic. (Obviously, there is a large pure subset, much more
> useful than Erlang's pure subset and covering almost the whole
> language; you just avoid lazy I/O and use unsafePerformIO only for
> correcting the type of functions imported through FFI.)
Wait, a pattern match can have side effects? Can you provide some
example code? (do you mean, pattern match failure / exceptions / run
time errors?)
I'm new to Haskell, but in my understanding, it is said that Haskell
is pure because the whole Haskell code is just specification of
(types, .. and) values, and this specification is enjoy referential
transparency.
One defines "main" to hold a certain value, which describe the
computations that will performed at run time; but main is defined
using compositions that preserve referential transparency (a >>= b has
value a that depends only on a and b; and in general, f a b .. has a
value that depends only on f, a, b, ..; I know no exception for this)
next prev parent reply other threads:[~2011-01-08 0:27 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-07 15:35 Dario Teixeira
2011-01-07 16:07 ` Damien Doligez
2011-01-07 16:38 ` David Rajchenbach-Teller
2011-01-07 18:16 ` Holger Weiß
2011-01-07 20:22 ` Eray Ozkural
2011-01-07 20:29 ` orbitz
2011-01-07 20:30 ` Joel Reymont
2011-01-07 20:33 ` Eray Ozkural
2011-01-08 9:44 ` Jesper Louis Andersen
2011-01-07 17:21 ` Alain Frisch
2011-01-07 17:46 ` Christophe Raffalli
2011-01-07 18:11 ` Holger Weiß
2011-01-07 18:52 ` Brian Hurt
2011-01-07 19:32 ` Petter Urkedal
2011-01-07 20:25 ` Eray Ozkural
2011-01-09 16:11 ` Jon Harrop
2011-01-10 6:27 ` Eray Ozkural
2011-01-07 19:17 ` Florian Weimer
[not found] ` <AANLkTikxCSQ+0XkOmSVDb3EWq_2oQ0pac3bDgc7f7jq+@mail.gmail.com>
2011-01-07 20:52 ` bluestorm
2011-01-09 16:15 ` Jon Harrop
2011-01-08 0:26 ` Elias Gabriel Amaral da Silva [this message]
2011-01-08 9:28 ` Christophe Raffalli
2011-01-08 22:47 ` Florian Weimer
2011-01-09 10:00 ` Petter Urkedal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTinEcZcudWMjWH6C9+PR9m1mahD8+ynqfmPNw+GV@mail.gmail.com \
--to=tolkiendili@gmail.com \
--cc=caml-list@inria.fr \
--cc=darioteixeira@yahoo.com \
--cc=fw@deneb.enyo.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox