Hacker News new | ask | show | jobs
by perfunctory 2699 days ago
This seems to be straight from Haskell. `class` here doesn't mean what it means in oop languages.
1 comments

Yeah, 'class' in Bon defines a typeclass. While I plan on adding x.norm() as syntactic sugar for norm(x), typeclasses in general are a bit more flexible. For example, while you can use it for polymorphic operator overloading [0], you can also overload a function by changing the types of multiple parameters [1] (as in multiple dispatch).

[0] https://github.com/FBMachine/bon/blob/master/examples/equali...

[1] https://github.com/FBMachine/bon/blob/master/examples/multip...

You should look into UFCS from dlang, maybe that can give you some inspiration.

https://dlang.org/spec/function.html#pseudo-member