(Also, I just discovered that it now targets WASM. Maybe I should give it another go!)
(Also, I just discovered that it now targets WASM. Maybe I should give it another go!)
[1] https://tour.dlang.org/tour/en/gems/uniform-function-call-sy...
https://learn.adacore.com/courses/intro-to-ada/chapters/obje...
I mean, Lobster has classes, or at least something that it calls classes:
https://aardappel.github.io/lobster/language_reference.html#...
So you couldn't write `f(a, b, c)` as `a.f(b, c)`, because `f` as a free function couldn't exist to begin with. Either it would already be `a.f`, or `f` would be a method of the current class or a static method imported via `import static`, in which case using the `a.f` syntax could deceive readers about what class `f` is a member of.
That's what I'm going for with this language, for uniformity and discoverability. If you want to add a new method that takes type `A` as its first argument, you should add it as an extension method on type `A`.
(also, to be clear, I'm not the one who downvoted you)