Updated in 2022-10.
In the afternoon, I came cross the Nim programming language again on
Lobsters. I first learned some basics of the language in 2015, but had
not touched it since then.
"Nim is a statically typed compiled systems programming language. It
combines successful concepts from mature languages like Python, Ada and
Modula.", according to its website.
Basic features: parametric polymorphism. Advanced features: macros
(including term-rewriting macros), compile-time function execution,
effect system, concepts
An idea popped into my mind: why not solve some coding challenges in
As a niche language, it is not supported on many coding challenge
websites. Fortunately, the Nim compiler generates C code. With a small
amount of work, we can build a self-contained C source file suitable for
Let's take a LeetCode challenge as an example. We write the main
algorithm in Nim and use the emit pragma to write a C wrapper.