denim
cps
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.
denim
-
My Node.js is a bit Rusty
Related: you can write a Node.js module in Nim with Denim: https://github.com/openpeeps/denim
-
Nim v2.0 Released
Somewhat related, you can call Nim code from Node.js/Bun using Denim: https://github.com/openpeeps/denim. It works by creating a Node add-on.
This is great for reusing Nim code in a web app, and possibly for performance critical code.
-
Node vs Flask for Scaling
Something I'm just starting for one of my projects, is to use Node on front-end and back-end (mostly for GraphQL). Then write the majority of the back-end in Nim and compile it to a Node add-on with Denim (https://github.com/openpeeps/denim). Nim can call Python with Nimpy if I ever need to call it.
cps
-
Nim CPS: compile-time continuations
This'll get you closer: https://github.com/nim-works/cps
Sorry, I was in a hurry.
-
D Programming Language
- https://github.com/nim-works/cps
Or a neural network DSL or for a self-contained example, einsum:
-
NIR: Nim Intermediate Representation
There has been a more-or-less working CPS implementation for Nim for a few years now,
https://github.com/nim-works/cps
https://github.com/nim-works/cps/tree/master/docs
Nobody seems to care though, as it has gained no traction at all and it has been mostly ignored by the core team.
-
Nim v2.0 Released
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.
- CPS – Also Known as Continuation-Passing Style – For Nim
-
In Defense of Async: Function Colors Are Rusty
I think the CPS attempt in Nim could do this
https://github.com/nim-works/cps
-
Nim Version 1.6 Released
* Goroutines are probably a lot more easier to use. Work is being done to make Nim even better in that area: https://github.com/nim-works/cps but don't expect it soonish.
* I feel like Go has less 'edge cases', but the Nim compiler is steadily getting more stable, especially consider it's not backed up by a major company!
* Metaprogramming is really powerful, but not beginner friendly. The documentation says use macros when necessary, but personally I don't think that really happens in practice.
The advantages by far outweigh the disadvantages, especially if you are looking for a clean Go alternative(except maaaaaaybeee web application).
-
Looking for more example of nim's coroutines
and the fifth: https://github.com/disruptek/cps
What are some alternatives?
nodejs - Alternative StdLib for Nim for NodeJS/JavaScript targets, hijacks NodeJS StdLib for Nim
nim-chronos - Chronos - An efficient library for asynchronous programming
node-webrtc - node-webrtc is a Node.js Native Addon that provides bindings to WebRTC M87
treesitter-unit - A Neovim plugin to deal with treesitter units
genepi - Automatic generation of N-API wrapper from a C++ library
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.
nim-webui - Use any web browser as GUI, with Nim in the backend and HTML5 in the frontend.
p-map - Map over promises concurrently
gintro - High level GObject-Introspection based GTK3/GTK4 bindings for Nim language
jester - A sinatra-like web framework for Nim.
napi-rs - A framework for building compiled Node.js add-ons in Rust via Node-API
godot-nim - Nim bindings for Godot Engine