Jonathan Cast <[EMAIL PROTECTED]> wrote: > On 13 Jan 2008, at 5:49 PM, Achim Schneider wrote: > > > Jonathan Cast <[EMAIL PROTECTED]> wrote: > > > >> On 13 Jan 2008, at 5:27 PM, Achim Schneider wrote: > >>> Answer #2: > >>> > >>> Because you can't write > >>> > >>> f x = case x of > >>> [] -> [1] > >>> -> sort.nub > >> > >> But why not? > >> > > Because arities aren't lifted to the longest argument list. > > I think you lost the point of my question... > I'm glad you are capable of ever so nobly assigning the purest imaginable motives to me. You are a true inspiration. > >> Treating case as syntax sugar for a higher-order > >> function, so that all binding occurrences of lambdas in the > >> unsugared code are associated with lambdas, is a good thing, and > >> offers a natural way of desugaring the above, one case at a time. > >> > > What about > > > > f x = [1] > > f - = sort.nub > > > > ? > > > > You could also do things like > > > > f - x = (foo x).bar > > > > with it. No more rewriting of pointfree code because of added > > arguments... > > So `-' as a pattern means `implicitly apply the RHS to whatever this > pattern matches'? I like it. > Yes. I suppose _> is a better idea, or something else beginning with _, as the rest of the characters could be functions.
-- (c) this sig last receiving data processing entity. Inspect headers for past copyright information. All rights reserved. Unauthorised copying, hiring, renting, public performance and/or broadcasting of this signature prohibited. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe