Time for a big ol' respond to all message here:

Nim has [multiple 
dispatch](https://nim-lang.org/docs/manual.html#methods-multiminusmethods). It 
also is capable on embedded with the stdlib through the use of `--gc:arc`. 
There is a REPL named `inim` on nimble.

My view is mostly if you like embracing magic, and do not hate yourself, learn 
Nim. It allows you to get very performant code in a very readable syntax, you 
can easily interface with the backends which means you can use it anywhere, be 
it web, native, or embedded. It's a very flexible language which allows you to 
use it in the way you prefer, from case-insensitvity to the [Method Call 
Syntax](https://nim-lang.org/docs/manual.html#procedures-method-call-syntax). 
You get benefits the benefits of C/C++(portabillity, and the speed), without 
the crust of those languages (pointer usage, preprocessor macros, and the 
unreadable templates). Versus Rust, you get to dodge the borrow checking, which 
can be tedious as all hell, you also can go to any platform with a C compiler 
not being limited by llvm's platforms.

Feel like I need to mention this possible here aswell: 
    
    
    var indexedOne: array[1..300, bool]
    assert 0 notin indexedOne.low..indexedOne.high
    
    type YourEnum = enum
      red, green, blue
    var enumIndexed: array[YourEnum, bool]
    assert enumIndexed[red] == false
    
    
    Run

Reply via email to