jsony
npeg
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.
jsony
-
Nim v2.0 Released
Nim's default json library is terrible in performance, but there're much faster drop-in replacements like jsony[1]. I'm not sure that's the main issue for low rank, but it's definitely one of them.
1. https://github.com/treeform/jsony
-
Why I enjoy using the Nim programming language at Reddit.
One of the fastest things I have written in Nim is a JSON parsing library. Why is it fast? Well, it uses Nim’s metaprogramming to parse JSON directly into typed objects without any intermediate representations or any unnecessary memory allocations. This means I can skip parsing JSON into a dictionary representation and then converting from the dictionaries to the real typed objects.
- Setup a Website with Nim
-
Nim vs Python: json serialization performance
The nim stdlib's json(due to how it works) is relatively slow. Jsony Jason are some alternatives that are more performant and speeeedy.
npeg
-
Pratt Parsers: Expression Parsing Made Easy
Ha, nice to see this on HN: this article was pretty helpful to me to understand the concept a few years back when extending my PEG parsing library [1] with a Pratt parser; this mitigates the problem of PEG parsers not allowing left recursion and allows for a much more concise notation of grammars with operator precedence. Thank you Bob:
1. https://github.com/zevv/npeg
-
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.
What are some alternatives?
supersnappy - Dependency-free and performant Nim Snappy implementation.
awesome-nim - A curated list of awesome Nim frameworks, libraries, software and resources.
glfm - Wrapper of GLFM (OpenGL ES and input for iOS and Android) library for Nim.
futhark - Automatic wrapping of C headers in Nim
fungus - Object variants done like other langugaes
torrentinim - A very low memory-footprint, self hosted API-only torrent search engine. Sonarr + Radarr Compatible, native support for Linux, Mac and Windows.
nim_python_json
nlvm - LLVM-based compiler for the Nim language
html2karax - Converts static html to Karax in Nim
mummy - An HTTP and WebSocket server for Nim that returns to the ancient ways of threads.
jester - A sinatra-like web framework for Nim.
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project