Nim Best Practices
Idiomatic Nim: the partial case/underscore-insensitive identifier rule, the module export system, choosing proc/func/template/macro/iterator/method, ARC/ORC value semantics, exception-based error handling with the raises...
Idiomatic Nim: the partial case/underscore-insensitive identifier rule, the module export system, choosing proc/func/template/macro/iterator/method, ARC/ORC value semantics, exception-based error handling with the raises...
The canonical, exhaustive catalogue of Nim semantics that cause confident-but-wrong LLM-generated code: partial case/underscore-insensitive identifiers, the Nim 1.x-to-2.0 ARC/ORC memory-management default change, ref-vs...
Verified guidance on Nim threading primitives (std/typedthreads, std/locks, channels), ARC/ORC's shared-heap thread model, taskpools/weave versus the deprecated std/threadpool, and the critical, non-interoperable split b...
Verified guidance on Nim's C FFI (importc/exportc/header/emit), cstring lifetime and GC-safety pitfalls, c2nim binding generation, and compiling Nim to the C++ (importcpp), JavaScript (importjs), and Objective-C (importo...
Nim ecosystem overview for AI coding agents: what Nim is, the Nim 1.x to 2.0 memory-management default change (ORC), toolchain installation via choosenim, nimble vs atlas package management, and the compiler invocation m...
Verified reference for Nim's compile-time metaprogramming system: hygienic templates and their call-by-name semantics, AST-level macros with NimNode and quote do:, generic constraints and the current stability status of ...
Verified guidance on Nim's std/unittest module (check vs require, suites, setup/teardown), nimble test conventions, when testament's compiler-oriented test runner is and is not appropriate for application code, and the h...