Nim Apocrypha, Vol. I

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Synthesis

    Synthesis is a compiletime, procedure-based, low-overhead, no-allocation, state-machine generator optimized for communicating processes and threads (by mratsim)

  • State machines can be metaprogramed: https://github.com/mratsim/Synthesis

    You describe the events, transitions and even interrupts and this compiles to optimized goto statements with no allocation, indirect function calls.

  • with

    with macro for Nim (by zevv)

  • > The `with` syntax is new to me, but it looks useful for dealing with lots of subfields.

    It's not syntax, but rather a third-party macro[0], which it should be noted is inspired by a rather horrible feature of the same name in javascript. Though I guess the devil would be in the details.

    [0] https://github.com/zevv/with

  • 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.

    InfluxDB logo
  • cligen

    Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at

  • At least one[1] of the 5+ variants makes you list which fields the code gets access to which is an alternate, perhaps more keystroke-heavy solution to the problem bothering @simias.

    [1] https://github.com/c-blake/cligen/blob/master/cligen/macUt.n...

  • RFCs

    A repository for your Nim proposals. (by nim-lang)

  • There are compile-time checks to make sure you don't have state with no transition from and it also produce a visual graph of your state and transitions.

    It's been tuned to be used as the core of my high performance multithreading runtime so zero overhead compared to handwritten. It is suitable for any state machine with zero alloc constraint and state machines can be composed (they are just a function).

    I hope in the future to be able to add model checking using Nim Z3 integration so that we can reach Ada/Sparks formal verification prowess: https://github.com/nim-lang/RFCs/issues/222

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Xstate: State machines and statecharts for the modern web

    3 projects | news.ycombinator.com | 27 Mar 2023
  • Hierarchical state machine in Rust with `statig`

    1 project | /r/embedded | 27 Mar 2023
  • Accessing embedded peripherals from state machine

    3 projects | /r/rust | 11 Jan 2023
  • Are We Ready for AI-Generated Code?

    1 project | /r/artificial | 24 Nov 2022
  • What tool do you use to bundle your node typescript for Production?

    1 project | /r/node | 21 Sep 2022