[Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-16 Thread Artem V. Andreev
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-16 Thread Marcin Kosiba
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-16 Thread John A. De Goes
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-16 Thread John A. De Goes
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-16 Thread Artem V. Andreev
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-14 Thread Henning Thielemann
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

[Haskell-cafe] Re: DDC compiler and effects; better than Haskell? (was Re: unsafeDestructiveAssign?)

2009-08-13 Thread Heinrich Apfelmus
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,

[Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-13 Thread Heinrich Apfelmus
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-13 Thread Peter Verswyvelen
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

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-13 Thread Ben Lippmeier
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

RE: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-13 Thread Sittampalam, Ganesh
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.

Re: [Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-13 Thread roconnor
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

[Haskell-cafe] RE: DDC compiler and effects;better than Haskell?

2009-08-12 Thread Bayley, Alistair
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

Re: [Haskell-cafe] RE: DDC compiler and effects;better than Haskell?

2009-08-12 Thread Peter Verswyvelen
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]

[Haskell-cafe] Re: DDC compiler and effects; better than Haskell?

2009-08-12 Thread roconnor
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