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
> > >
>

Reply via email to