Nim

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

  • FYI, on the front page, https://nim-lang.org, in large type you have this:

    > Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula.

  • bu

    B)asic|But-For U)tility Code/Programs (in Nim & Often Unix/POSIX/Linux Context)

  • I think Nim is great for small CLIs. Some examples are over at: https://github.com/c-blake/bu . To quantify "small", using tools themselves in bu/ (and Zsh *):

        wc -l --total=never **.nim|cols 1|cstats ms q.05 q.95

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • book

    The Rust Programming Language

  • It's the same reason everything digital and downloadable isn't free: there's a cost to create it and there's a value to it.

    For a language developer to charge for a book about that language, I think that's a completely valid way to make some money off of their work.

    Even the Rust book, "The Rust Programming Language" is available freely online [0], but also as a print and ebook for sale via NoStarchPress [1].

    [0] https://doc.rust-lang.org/book/

    [1] https://nostarch.com/rust-programming-language-2nd-edition

  • INim

    Interactive Nim Shell / REPL / Playground

  • - `nim secret`[0]: code is interpreted with Nim's vm, it is limited to compile-time (e.g. no C/C++).

    - `nlvm r`[1]: nlvm backend supports JIT compilation and repl-like interface was added in latest release.

    - `inim`[2]: supports all nim code, but it's not really a true repl. It adds code to a file and recompiles it (you can see the source file with `ctrl+x`). I'd recommend to use it with clang compiler, because it's a bit faster than gcc in my experience. It's the best option right now. And I use it almost daily.

    First two options have rudimentary input system. But you can get command history and left-right navigation by wrapping them with rlwrap (should be preinstalled on most *nixes): `rlwrap nim secret`, `rlwrap nlvm r`.

    There are plans to support incremental compilation for the next Nim release (it is currently broken). That would improve inim and other repls experience significantly.

    [0]: https://nim-lang.org/docs/manual.html#restrictions-on-compil...

    [1]: https://forum.nim-lang.org/t/10697

    [2]: https://github.com/inim-repl/INim

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts