Koen Claessen <[EMAIL PROTECTED]> writes: [...]
> ... (\x -> f x 2 3) ... > > This seems rather ugly, since the order of arguments in a > function plays a crucial role. For example, the map function > takes the list as its second argument, since it is so much > more common to partially apply map with the function rather > than the list. For sure the order of arguments play a crucial role in MLs. I don't know many other syntax: - merd http://merd.net/choices_syntax.html#function_calls f(1, 2, ) is (f 1 2) f(, 2, 3) is (\x -> f x 2 3) - OCaml's labels http://caml.inria.fr/ocaml/htmlman/manual006.html f ~y:2 ~z:3 is (\x -> f x 2 3) - Pop-11 http://www.cs.bham.ac.uk/research/poplog/primer/node96.html f(% 2, 3 %) is (\x -> f x 2 3) I'm interested in other syntaxes... > For 2-argument functions, the sections notation might help: > > (1 `f`) -- === (f 1) === (\y -> f 1 y) > (`f` 2) -- === (\x -> f x 2) I never thought of this :) Of course it also works with more than 2-argument functions when you want to partially apply only the 2 second argument: (`f` 2) 1 3 > In a distant past, Erik Meijer and I experimented with > introducing the syntax: > > (f 1 2 _) > (f 1 _ 3) > (f _ 2 3) > > But it became all very clumsy. do you have more info on this? _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
