Am Montag, den 09.07.2012, 10:20 -0600 schrieb Chris Smith:
> Right, it seems to me that there are basically three reasonable proposals 
> here:
> 
> 1. "\ of" with multiple arguments.  This is consistent with existing
> layout, and seems like a nice generalization of lambda syntax.
> 2. "case of" with a single argument.  This is consistent with existing
> layout, and seems like a nice generalization of sections.
> 3. "\" introducing layout, possibly with changes to layout rules.  A
> much more intrusive change, but it does have a nice efficiency to it.

I strongly favor a solution where lambda-case expressions start with \,
because this can be generalized to proc expressions from arrow syntax
simply by replacing the \ with proc.

Take, for example, the following function definition:

    f (Left  x) = g x
    f (Right y) = h y

Now, let’s make an arrow version of it:

    f = proc e -> case e of
            Left  x -> g -< x
            Right y -> h -< y

It would be great if we could write something like this instead:

    f = proc of
            Left  x -> g -< x
            Right y -> h -< y

This is not just a contrived issue. In my current work on Grapefruit,
I encounter this situation quite often, and I would love to get rid of
the extra overhead I have to deal with now.

Best wishes,
Wolfgang


_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to