Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Nim nim-lang Projects
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
nodejs
Alternative StdLib for Nim for NodeJS/JavaScript targets, hijacks NodeJS StdLib for Nim (by juancarlospaco)
-
nimja
typed and compiled template engine inspired by jinja2, twig and onionhammer/nim-templates for Nim.
-
nimview
A Nim/Webview based helper to create Desktop/Server applications with Nim/C/C++ and HTML/CSS
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Calculating Average Coverage or Read Depth for a Sequence (WES) | /r/bioinformatics | 2023-06-24
- `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...
smth more advanced than getch: https://github.com/johnnovak/illwill https://forum.nim-lang.org/t/6919
Congratulations to everyone involved and the entire Nim community!
Nim has been my language of choice for the past decade and I'm really happy with the new features in Nim 2.0. Some of them are real gamechangers for my projects. For example, default values for objects theoretically allow me to make Norm[1] work with object types along with object instances. And the new overloadable enums is something Karkas [2] wouldn't be possible at all (it's still WIP though).
That is certainly true (and why added a general "embed plot data as bitmap into SVG/PDF" option to https://github.com/Vindaar/ggplotnim that works not only for raster heatmaps). But realistically such plots are often not ideal anyway (too many data points in a plot is often a sign that a different type of plot would be better; typically one that aggregates in some way) and it's just another argument to make the data for plots available as well.
In a word, yes.
In more words: You should be able to use Cosmopolitan libc: https://github.com/Yardanico/cosmonim
If something does not work for you, Yardanico is super duper helpful in all things Nim.
Nim also compiles to Javascript (nim js) and C++ for integration with legacy codebases, but that is probably more to the side of your interests.
Anything with a finite (200 is small even) number of units misses the algebraic structure of the problem mentioned in https://news.ycombinator.com/item?id=36988497 wherein multiplying|dividing two things gives you a (potentially) new unit which implies an open ended "space" of units.
To be concrete (hah!), in C++ a template meta-type with 12 signed integer parameters (6 numerators & 6 denominators for rational exponents of SI base units) might be one way to model it.
Unlike C++ template stuff, Nim macros (like Lisp macros) makes metaprogramming more like procedural programming - just against abstract syntax trees. I think that helps to shield some of this type complexity from users, but the documentation README https://github.com/SciNim/Unchained does better job than I can in an HN comment.
Of course, for unit system conversion, the number of dimensions (6 in SI, 3 in CGS/Gaussian) changes. So, for full generality you need compile-time (if you want static type integration/CT errors) linear algebra over a rational field (at least & conventionally) to project|inverse project. That might be theoretically possible in C++. I would think it very un-fun and unlikely to ever have been done. There's probably a Mathematica package, though.
Project mention: Domainim: A fast and comprehensive tool for organizational network scanning | news.ycombinator.com | 2023-12-28
Nim nim-lang related posts
- Chinchilla Scaling: A Replication Attempt
- Domainim: A fast and comprehensive tool for organizational network scanning
- Nim
- My Node.js is a bit Rusty
- How to detect and even save key presses
- The Origin of Joy Division’s Unknown Pleasures Album Cover Art (2015)
- Excel and Nim
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Apr 2024
Index
What are some of the best open-source nim-lang projects in Nim? This list will help you:
Project | Stars | |
---|---|---|
1 | mosdepth | 652 |
2 | INim | 625 |
3 | moe | 600 |
4 | nimbus-eth1 | 551 |
5 | illwill | 371 |
6 | norm | 366 |
7 | gintro | 289 |
8 | Neel | 220 |
9 | nodejs | 194 |
10 | nimpylib | 182 |
11 | ggplotnim | 175 |
12 | nimja | 168 |
13 | nim-plotly | 168 |
14 | naylib | 154 |
15 | nimview | 149 |
16 | itertools | 131 |
17 | webgui | 130 |
18 | Datamancer | 122 |
19 | cosmonim | 116 |
20 | npainter | 115 |
21 | Unchained | 104 |
22 | nim-webui | 104 |
23 | domainim | 82 |