An example of it in action: https://streamable.com/2mxktc
Source code: https://github.com/beef331/potato
An example of it in action: https://streamable.com/2mxktc
Source code: https://github.com/beef331/potato
Small hacking game: https://streamable.com/q840oc
Source: https://github.com/beef331/keyboardwarrior/blob/master/scree...
If anyone is interested in what a terminot does: https://streamable.com/t5kz2y
type
Cat = object # these are just 'struct' in a different skin
Dog = object
proc greet(c: Cat): string = "Meow"
proc greet(d: Dog): string = "Bark"
assert Dog().greet() == "Bark"
assert Cat().greet() == "Meow"- Tooling is not great. The language server has a tendency to silently crash on occasion, and it's no rust-analyzer to begin with. A tooling rewrite has been delayed behind proper incremental compilation, which has been delayed behind ARC/ORC...
- Interfaces ("concepts") are experimental and there are two differing implementations.
- It lacks proper sum types and structural pattern matching in the core language. There are a number of quite good macro-based libraries that provide for this, however: fusion/matching, andreaferretti/patty, beef331/fungus, alaviss/union...
- Optional types are not the standard: the stdlib will throw exceptions. This is more so a personal preference than anything.
But that's about it. I do like Nim quite a lot.
We've talked about this before! You know it has sum types, just not the variation you want.
Google wants my apartment lease to let me distribute free games, so I just won't support their platform.
This is not about security, it's about control.