INim
nlvm
Our great sponsors
INim | nlvm | |
---|---|---|
4 | 11 | |
625 | 681 | |
0.2% | - | |
2.8 | 6.9 | |
7 months ago | about 2 months ago | |
Nim | Nim | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
INim
-
Nim
- `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
- Could Nim be a complete replacement for Python?
-
Writing a presentation to introduce rustlang to my dev team, and I've got to the "downsides" part.
Go must be terrible to google too! Nim's easy to google though, it's how I got to rust really. I'm actually the maintainer of inim, the nim repl: https://github.com/inim-repl/INim
- Nim Version 1.6 Released
nlvm
- Nlvm: LLVM-based compiler for the Nim language
-
Nim v2.0 Released
That looks interesting. Unfortunately it looks like it hasn't been updated in a while? Is that because it's complete or a lack of interest?
For example, the approach mentioned at the bottom of the README of integrating via nlvm (https://github.com/arnetheduck/nlvm) sounded great but appears to be unpursued.
- Nim and Go programs identified as malware on Windows
- The counter-intuitive rise of Python in scientific computing (2020)
- Is Nim a Transpiler?
-
Nim Version 1.6 Released
Being able to compile to C, C++, ObjC, and JavaScript natively (and LLVM using https://github.com/arnetheduck/nlvm ), along with an excellent FFI (including to and from Python) means you don't need to rewrite dependencies as you can use them directly. Nim is great at glue code - arguably better than Python.
Along with general language characteristics such as being high level and productive like Python, but with intricate "bare metal" control when you want it, really does make it suitable for writing almost everything.
-
Time to raid Area 51
Check out nlvm https://github.com/arnetheduck/nlvm
What are some alternatives?
vscode-nim
godot-nim - Nim bindings for Godot Engine
packages - List of packages for Nimble
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).
nim-chronos - Chronos - An efficient library for asynchronous programming
cmdchallenge
norm - A Nim ORM for SQLite and Postgres
pixie - Full-featured 2d graphics library for Nim.
nimview - A Nim/Webview based helper to create Desktop/Server applications with Nim/C/C++ and HTML/CSS
nimbus-eth2 - Nim implementation of the Ethereum Beacon Chain
mosdepth - fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing
NumPy - The fundamental package for scientific computing with Python.