Hacker News new | ask | show | jobs
by duaneb 4096 days ago
Well, dynamic types are still types. :) It also seems strongly typed through a lack of implicit conversions between types.

I would say this is more like go than anything, though it seems to lack methods (and interfaces) and includes a functional syntax.

You're going to run into issues when attempting to extend polymorphism for built-in functions to user-defined types—imagine trying to figure out how to sort an 'unknown' type without a way to compare them without modifying the method to be explicitly aware of the new type.

1 comments

There does seem to be a method/interface system (Under the "Methods, Protocols, Implementations" header). And it seems to have some sort of dispatch system for tagged structures that can be later modified by the user.
Exactly! This is what the @method / @impl system is for - it's about equivalent to clojure's defprotocol. Future plans include named protocols consisting of multiple methods, and protocol-based matching.