futhark
awesome-nim
futhark | awesome-nim | |
---|---|---|
8 | 9 | |
341 | 1,037 | |
- | - | |
7.6 | 4.9 | |
9 days ago | 19 days ago | |
Nim | Nim | |
MIT License | Creative Commons Zero v1.0 Universal |
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.
futhark
-
C23: A Slightly Better C
You don't want nimterop, you want futhark (https://github.com/PMunch/futhark).
The C FFI Nim library lineage goes c2nim --> nimterop --> something i forgot --> futhark.
-
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.
-
Why does Nim "wrap" C, rather than allow C code to be pasted directly to .nim files?
Have a look at Futhark . It does what you are requesting.
-
Current Goals for Nim?
I'm not sure if Nimterop was created specifically to make Nim more mainstream. We have quite a couple different C/C++ interop tools, from c2nim in the core distribution to something like Futhark which automatically wraps things based on libclang.
-
Nim -- a modern "glue" language like Python
c2nim is a tool to translate ANSI C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand after the translation process. If you are tired of wrapping C library, you can try futhark which supports "simply import C header files directly into Nim". Similar to futhark, cinterop allows one to interop with C/C++ code without having to create wrappers. nimLUA is a glue code generator to bind Nim and Lua together using Nim's powerful macro. nimpy and nimporter is a bridge between Nim and Python. rnim is a bridge between R and Nim. nimjl is a bridge between Nim and Julia! Last but not least, genny generates a shared library and bindings for many languages such as Python, Node.js, C.
- Automatic wrapping of C headers in Nim
- Futhark: Automatic wrapping of C headers in Nim
awesome-nim
-
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.
-
Hamarosan itt a Nim programozási nyelv 2.0.0-s változata
Hasznos cuccok hozzá: https://github.com/ringabout/awesome-nim
-
Nim 2.0.0 RC2
Ecosystem-wise - a brief subset of Nim packages:
https://github.com/ringabout/awesome-nim
-
Twenty five thousand dollars of funny money
One can, of course, go much further than simply distinct number types: https://github.com/ringabout/awesome-nim#science
(Unchained seems maybe the most featureful of those units packages.)
-
An Intuition for Lisp Syntax
> This is useful for compiler programmers, or maybe also those writing source code analyzers/optimizers, but is that it?
It is also useful for anyone wanting to implement language-level features as simple libraries. Someone else brought up Nim here: it's a great example of what can be done with metaprogramming (and in a non-Lisp language) as it intentionally sticks to a small-but-extendable-core design.
There's macro-based libraries that implement the following, with all the elegance of a compiler feature: traits, interfaces, classes, typeclasses, contracts, Result types, HTML (and other) DSLs, syntax sugar for a variety of things (notably anonymous functions `=>` and Option types `?`), pattern matching (now in the compiler), method cascading, async/await, and more that I'm forgetting.
https://github.com/ringabout/awesome-nim#language-features
-
Nim: Curated Packages
Just under their table of contents, they say that "This list is fairly outdated." and point you to https://github.com/xflywind/awesome-nim - and that repo seems to have recent updates.
-
Nim Community Survey 2021 Results
Thanks for making these, I actually had no idea these existed! I don't "need" them now but seeing these gives me ideas for projects and makes future things easier.
I wish discovery of community libraries was higher, I'm constantly discovering libraries that do amazing things 'hidden' away. I know there's https://nimble.directory/ and https://github.com/xflywind/awesome-nim but most of the time I end up using a search engine for something specific if I think of it.
-
Prologue: A powerful web framework written in Nim
awesome-nim: https://github.com/xflywind/awesome-nim
What are some alternatives?
c2nim - c2nim is a tool to translate Ansi C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand before and after the translation process.
prologue - Powerful and flexible web framework written in Nim
nimporter - Compile Nim Extensions for Python On Import!
nim-chronos - Chronos - An efficient library for asynchronous programming
futhark - :boom::computer::boom: A data-parallel functional programming language
awesome-prologue - Plugins for prologue written in Nim.
nimpy - Nim - Python bridge
prologue-examples - A repository to host examples for Prologue framework written in Nim language.
nimjl - A bridge between Nim-lang and Julia !
nimtraits - Automatic trait implementation for nim types
owlkettle - A declarative user interface framework based on GTK 4
enu - A Logo-like 3D environment, implemented in Nim