4 ms·
Nim (the original one, not Nimony) compiles to C, so making basic types work differently from C would involve major performance costs.
by xigoi 11mo ago
Nim (the original one, not Nimony) compiles to C, so making basic types work differently from C would involve major performance costs.
- School-Cotton 11mo ago> making basic types work differently from C would involve major performance costs. Not if you compile with optimizations on. This C code: int wrapping_add_ints(int x, int y) { return (int)((unsigned)x + (unsigned)y); } Compiles to this x86-64 assembly (with clang -O2): wrapping_add_ints: lea eax, [rdi + rsi] ret Which, for those who aren't familiar with x86 assembly, is just the normal instruction for adding two numbers with wrapping semantics.
- ratmice 11mo agoPresumably unsigned want to return errors too? Edit: I guess they could get rid of a few numbers... Anyhow it isn't a philosophy that is going to get me to consider nimony for anything.