John A. De Goes j...@n-brain.net writes:
On Aug 15, 2009, at 6:36 AM, Jason Dusek wrote:
2009/08/14 John A. De Goes j...@n-brain.net:
Hmmm, my point (perhaps I wasn't clear), is that different
effects have different commutability properties. In the case
of a file system, you can commute two
On Sunday 16 August 2009, Artem V. Andreev wrote:
John A. De Goes j...@n-brain.net writes:
On Aug 15, 2009, at 6:36 AM, Jason Dusek wrote:
2009/08/14 John A. De Goes j...@n-brain.net:
Hmmm, my point (perhaps I wasn't clear), is that different
effects have different commutability
I forgot about links. In that case, consider:
getUniqueFilesInDirRecursive.
Attacking irrelevant details in an argument is often called a
strawman attack. Such attacks are pointless because they do not
address the real substance of the issue. My example is easily modified
to avoid the
I chose this example specifically because parsing/compiling is not IO-
bound. Many build systems today achieve multi-core scaling by
parallelizing all the phases: parsing, semantic analysis, and
compilation.
Your question is a good one and one we face already in auto-
parallelization of
John A. De Goes j...@n-brain.net writes:
I forgot about links. In that case, consider: getUniqueFilesInDirRecursive.
Attacking irrelevant details in an argument is often called a strawman
attack. Such attacks are
pointless because they do not address the real substance of the issue. My
On Thu, 13 Aug 2009, Heinrich Apfelmus wrote:
Russell O'Connor wrote:
Peter Verswyvelen wrote:
I kind of agree with the DDC authors here; in Haskell as soon as a
function has a side effect, and you want to pass that function to a
pure higher order function, you're stuck, you need to pick
John A. De Goes wrote:
So what, because effect systems might not eliminate *all* boilerplate,
you'd rather use boilerplate 100% of the time? :-)
The thing is that you still need mapM and friends for all those
effects (like non-determinism) that are not baked into the language.
Regards,
Russell O'Connor wrote:
Peter Verswyvelen wrote:
I kind of agree with the DDC authors here; in Haskell as soon as a
function has a side effect, and you want to pass that function to a
pure higher order function, you're stuck, you need to pick the monadic
version of the higher order
Well, in DDC I believe the order is left to right.
But you guys are right, many orders exist.
On the other hand, a language might offer primitives to convert
pure-to-effectfull functions no, in which you indicate the order you
want.
e.g. preOrder map
No?
(anyway Oleg's reply seems to give a
Heinrich Apfelmus wrote:
Actually you need five versions: The pure version, the pre-order
traversal, the post-order traversal, the in-order traversal, and the
reverse in-order traversal. And that is just looking at syntax. If you
care about your semantics you could potentially have more (or
What would preOrder foldr/foldl mean? What about preOrder (reverse . map) and
preOrder (map . reverse) ?
Another option would be for map to take a strategy as a parameter, sort of
like Control.Parallel.Strategies.
Peter Verswyvelen wrote:
Well, in DDC I believe the order is left to right.
On Thu, 13 Aug 2009, rocon...@theorem.ca wrote:
Actually you need five versions: The pure version, the pre-order traversal,
the post-order traversal, the in-order traversal, and the reverse in-order
traversal. And that is just looking at syntax. If you care about your
semantics you could
From: haskell-cafe-boun...@haskell.org
[mailto:haskell-cafe-boun...@haskell.org] On Behalf Of Pavel Perikov
unless you have some insanely
clever refactoring tool ready that can convert pure into monadic
functions and vice versa.
Not trying to attack the idea, just some thoughts:
I
Yes, but HaRe *is* extremely clever :-)
I just wish I could use it, but since it doesn't support many GHC
extensions, I haven't.
On Wed, Aug 12, 2009 at 11:26 AM, Bayley,
Alistairalistair.bay...@invesco.com wrote:
From: haskell-cafe-boun...@haskell.org
[mailto:haskell-cafe-boun...@haskell.org]
On Wed, 12 Aug 2009, Peter Verswyvelen wrote:
I kind of agree with the DDC authors here; in Haskell as soon as a
function has a side effect, and you want to pass that function to a
pure higher order function, you're stuck, you need to pick the monadic
version of the higher order function, if it
15 matches
Mail list logo