There's also been discussion around doing this specifically for keyword arguments, which if I remember has generally had pretty good reception. It would make the following pattern much more friendly:
f(x; parameter_arg::Nullable{Int}=Nullable{Int}()) = ... f(x; parameter_arg = 1) (since the 1 would be auto-converted to Nullable{Int}(1)) -Jacob On Thu, Apr 21, 2016 at 9:20 AM, Milan Bouchet-Valat <nalimi...@club.fr> wrote: > Le jeudi 21 avril 2016 à 11:00 -0400, Yichao Yu a écrit : > > On Thu, Apr 21, 2016 at 10:55 AM, Stefan Karpinski wrote: > > > > > > This is probably more of a julia-dev topic, but my gut reaction is > that the > > > combination of multiple dispatch and implicit conversion would be > chaos. > > > Following method calls can be tricky enough (much easier with Gallium, > > > however) with just dispatch in the mix. With implicit conversion too, > it > > > seems like it would be nearly impossible to know what might or might > not be > > > called. I think it would be too easy to accidentally invoke a method > that > > > wasn't intended. > > I think the proposal was to add an automatic conversion on top of the > > dispatch. so > > > > f(a::Integer as Int) = ... will be effectively translated to > > f(_a::Integer) = (a = convert(Int, _a)::Int; ...) > For reference, this recently came up in a PR regarding 'as': > https://github.com/JuliaLang/julia/pull/15818#issuecomment-207922230 > > > Regards > > > > > On Thu, Apr 21, 2016 at 9:05 AM, Didier Verna > > > wrote: > > > > > > > > > > > > > > > > This is just an idea from the top of my head, probably wild and > maybe > > > > silly. I haven't given it any serious thought. > > > > > > > > Given the existence of the general promotion system (which I like a > lot, > > > > along with other things in Julia, such as the functor capabilities), > I'm > > > > wondering about automatic specialization. > > > > > > > > What I mean is this: suppose you have a type Foo which can be > converted > > > > to an Int. Suppose as well that you have a function bar that only > works > > > > on Ints. You cannot currently call bar with a Foo, but since Foo is > > > > convertible to an Int, it could make sense that bar() suddenly > becomes > > > > an applicable method, with implicit conversion... > > > > > > > > -- > > > > ELS'16 registration open! http://www.european-lisp-symposium.org > > > > > > > > Lisp, Jazz, Aïkido: http://www.didierverna.info > > > >