INim
nim-chronos
Our great sponsors
INim | nim-chronos | |
---|---|---|
4 | 4 | |
624 | 339 | |
0.6% | 2.1% | |
2.8 | 8.7 | |
6 months ago | 6 days ago | |
Nim | Nim | |
MIT License | Apache License 2.0 |
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...
- Could Nim be a complete replacement for Python?
- Nim Version 1.6 Released
nim-chronos
-
Nim v2.0 Released
It should probably be redone with mummy (multi-threaded) and chronos (async single-threaded):
Ones that have not been mentioned so far:
nlvm is an unofficial LLVM backend: https://github.com/arnetheduck/nlvm
npeg lets you write PEGs inline in almost normal PEG notation: https://github.com/zevv/npeg
futhark provides for much more automatic C interop: https://github.com/PMunch/futhark
nimpy allows calling Python code from Nim and vice versa: https://github.com/yglukhov/nimpy
questionable provides a lot of syntax sugar surrounding Option/Result types: https://github.com/codex-storage/questionable
ratel is a framework for embedded programming: https://github.com/PMunch/ratel
cps allows arbitrary procedure rewriting to continuation passing style: https://github.com/nim-works/cps
chronos is an alternative async/await backend: https://github.com/status-im/nim-chronos
zero-functional fixes some inefficiencies when chaining list operations: https://github.com/zero-functional/zero-functional
owlkettle is a declarative macro-oriented library for GTK: https://github.com/can-lehmann/owlkettle
A longer list can be found at https://github.com/ringabout/awesome-nim.
- Nim 2.0.0 RC2
-
Looking for more example of nim's coroutines
don't forget your fourth option: chronos
What are some alternatives?
karax - Karax. Single page applications for Nim.
cps - Continuation-Passing Style for Nim 🔗
awesome-nim - A curated list of awesome Nim frameworks, libraries, software and resources.
nlvm - LLVM-based compiler for the Nim language
vscode-nim
napi-nim - Write NodeJS native extensions in Nim
moe - A command line based editor inspired by Vim. Written in Nim.
nimbus-eth1 - Nimbus: an Ethereum Execution Client for Resource-Restricted Devices
packages - List of packages for Nimble
RFCs - A repository for your Nim proposals.
nodejs - Alternative StdLib for Nim for NodeJS/JavaScript targets, hijacks NodeJS StdLib for Nim
norm - A Nim ORM for SQLite and Postgres