Nim: Curated Packages

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

  • I don’t have any convincing links, but my sell would be that a yokel like me was able to learn and build things with Nim really quickly. It was something like 4 hours to start getting familiar and seeing results. I was able to make a wordle clone in a few days of very limited spare time.

    The reference I used the most was this:

    https://github.com/nim-lang/Nim/wiki/Nim-for-TypeScript-Prog...

  • enu

    A Logo-like 3D environment, implemented in Nim

  • Less of a global sales pitch for Nim (I'm a shoo-in from Pascal), but I found this today and thought it was neat:

    "Enu lets you build and explore worlds using a familiar block-building interface and a Logo inspired API."

    https://www.youtube.com/watch?v=ECJsq7BeZ8w

    https://github.com/dsrw/enu

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

    RFCs for changes to Rust

  • The Rust Cookbook [0] was meant to be one way of maintaining a curated list of crates though I don't know how much attention it has received since the 2018 edition documentation blitz.

    As for a central batteries-included crate, its been tried a couple of times (e.g. stdx, ergo). Some things that I think would help drive it forward

    - RFC 3243 [1] to allow for a central "front" for these crates without having to actually compile what you don't need or feature flags

    - A compelling reason for people to adopt it. For a lot of existing projects, there isn't much motivation. I see the biggest benefit mostly being for prototyping and new users, so they need to cater to these users. Don't just re-export existing crates but lay things out in a natural, discoverable way. Also consider making things easier by keeping the Rust language knowledge to a minimum for end-users (even avoiding lifetimes where possible), don't overwhelm users with choices that won't matter in these contexts, etc. If the user needs more performance or flexibility, they can scale up to the crates being wrapped

    I'm interested in working in this space but need to wrap up some other projects first. If anyone wants to work on this and is looking for a mentor, feel free to reach out to me.

    [0] https://rust-lang-nursery.github.io/rust-cookbook/intro.html

    [1] https://github.com/rust-lang/rfcs/pull/3243

  • awesome-nim

    A curated list of awesome Nim frameworks, libraries, software and resources.

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

  • lunarender3

    experimental openstreetmap renderer - work in progress

  • I am working on OpenStreetMap renderer in Nim - see https://github.com/severak/lunarender3/ (but work somewhat stalled)

    I needed some language which is:

    - compiled to binaries

    - and really fast

    - has needed libraries (HTTP server, protocol buffers, sqlite and image generation)

    - it's easy to set up

    It was nice experience and Nim simply worked for my needs. People on Nim forum were nice and helped me when I ran into problems. It has nice and usable built-in library and I was really impressed by graphic library pixie - https://github.com/treeform/pixie

    I would use Nim again when I when I will see this application is suited for it (e.g. some command line apps).

  • pixie

    Full-featured 2d graphics library for Nim. (by treeform)

  • I am working on OpenStreetMap renderer in Nim - see https://github.com/severak/lunarender3/ (but work somewhat stalled)

    I needed some language which is:

    - compiled to binaries

    - and really fast

    - has needed libraries (HTTP server, protocol buffers, sqlite and image generation)

    - it's easy to set up

    It was nice experience and Nim simply worked for my needs. People on Nim forum were nice and helped me when I ran into problems. It has nice and usable built-in library and I was really impressed by graphic library pixie - https://github.com/treeform/pixie

    I would use Nim again when I when I will see this application is suited for it (e.g. some command line apps).

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