News for hackers. Stuff that matters.
Re:What I Want from a Type System (2016) by etbebl on Monday July 01, 2019 @08:40PM (#20331103)
> Some (more obscure) languages unify this, i.e. f(x) is the same as x.f(). I don't think there's a "wrong way around", the difference is a technicality.

Matlab! Which uses a pretty wild form of dynamic dispatch when the (more common) f(x) form is used:

> When MATLAB® invokes an ordinary method that has an argument list, it uses the following criteria to determine which method to call

> The class of the leftmost argument whose class is not specified as inferior to any other argument's class is chosen as the dominant class and its method is invoked.

> If this class does not define the called method, then a function with that name that is on the MATLAB path is invoked.

> If no such function exists, MATLAB issues an error indicating that the dominant class does not define the named method.

Also, it doesn't care at all if you pass in an array or a scalar (everything's an array). Methods must be written to handle a "this" of any size - even empty.

What an odd language.

There are no comments on this comment yet.