> Maybe that's a fair justification for partial-casing? I consider it to be largely orthogonal really. But coming back to `ALL_CAPS` macros. They are this way because C's preprocessor doesn't know anything about C's scoping rules or C's symbol table. ALL_CAPS are an archaic hack, and wrappers shouldn't expose them, they should rename them. **Copying bad design is not good design.**
> Partial-casing is a loss of focus. That's arguing like the feature doesn't exist yet and I need to spend lots of time to implement it. But it already exists... Changing it now would mean more work to me. > It's cool and interesting, but it makes the language less practical, not more. That's just your opinion. That others can and do write `new_nim_node` already surely makes it a practical feature for them. > And it's an easy target for detractors -- an easy excuse to spurn the > language. Sure, but excuses to not consider Nim are numerous anyway, the casing hardly makes a difference: * Not backed by a huge company. * Not version 1 yet. * Duck typing for generics. * Still has `nil`. * Still has forward decls. * Not functional enough, not enough "immutability". * Not "safe" because it inherits C's undefined behaviour by compiling to C. The last one is as logical as saying that "Rusts inherited the memory races from assembler" but it was quite successful in spurning the language, afaict.