In a previous life I would write Camlp4 extension for fun, and I used the syntax \( ... _ ...) to abstract over an anonymous variables (you could also use \1 \2 \3 etc, and the n-th occurence of _ from left to right was turned into \n, but mixing numbers and _ was disallowed). It solves Scala's problem that, the scope of _ being delimited by the closest parentheses, the notation was not composable -- but arguably enforcing a small scope is a good thing. This is the kind of features that nobody will ever agree on, so it's too hard to get them in a language. Nowadays I write "(fun x ->" instead of "\(", and "x" instead of "_", and it is not that bad. Arthur Charguéraud has been working on an "easy-type-errors" mode with better typing error messages for OCaml. You may be interested in his article http://www.chargueraud.org/research/2015/ocaml_errors/ocaml_errors.pdf although I think this specific case of under-application is not discussed (using too many argument is discussed). I also find the work on SHErrLoc, by Danfeng Zhang, Andrew C. Myers and their collaborators, to be very impressive: http://www.cs.cornell.edu/Projects/SHErrLoc/ On Sat, Nov 21, 2015 at 6:24 PM, Hendrik Boom wrote: > On Fri, Nov 06, 2015 at 01:34:11PM +0100, Gabriel Scherer wrote: > > > > I personally believe that currified constructor syntax would be a better > > choice, and that using non-currified constructors is a historical mistake > > of SML/Caml. But I am also not convinced that efforts to change it today > > are worth the trouble, and prefer to concentrate on improving other parts > > of the OCaml ecosystem. > > Perhaps there should be explicit syntax for currying, such as > f a b _ > instead of > f a b > That would permit currying in other argument positions: > f a _ c > though I suspect _ may be the wrong symbol for the current language, and > I also suspect it's far too late tointroduce it in the current language. > > I have noticed that almost a the situations where the compiler thinks I > mean to curry I actually just left out a parameter by mistake. The type > inferences it makes based on these errors usually occur elsewhere and > are truly mystifying. > > -- hendrik > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >