Amalgamating Nim programs

This page summarizes the projects mentioned and recommended in the original post on dev.to

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.
workos.com
featured
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
  • cil

    C Intermediate Language

  • It is certainly possible to adjust the Nim's C backend to output C files that can be combined into a single one and compiled, but this requires certain effort. So I didn't go this route and started searching for a program that can amalgamate separate C files by itself, and found one - C Intermediate Language.

  • cil

    C Intermediate Language (by goblint)

  • # Install OCaml on Arch $ sudo pacman -Sy ocaml # Clone the repo $ git clone https://github.com/goblint/cil && cd cil # Create a local opam environment ("switch"). This will take a while $ opam switch create . # Add local opam environment to the current shell # This command is specific to the fish shell. For others, you might need to modify it $ eval (opam env) # Configure the compilation, the prefix is the _opam directory # in CWD (because we use `opam switch`) # For POSIX-shells replace () with `` $ ./configure --prefix=(opam config var prefix) # Build CIL $ make # This make install fails for me, but it's needed for commands below $ make install # To fix the error in the previous step we need to remove the logwrites dir $ rm -r _opam/lib/goblint-cli/logwrites/ # Finally install it into currentdir/_opam/bin/ $ make install # Add it to our PATH (your directory will of course be different) $ set PATH /home/dian/Stuff/cil/_opam/bin $PATH

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

    WorkOS logo
  • 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).

  • Now we're almost ready to use it for Nim programs! There's one thing left - we need to patch nimbase.h (it's a file that provides some generic defines for different compilers on different platforms). You can usually find nimbase.h in your_nim_dist/lib/nimbase.h.

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

  • The nim website and the downloads are insecure

    1 project | /r/nim | 11 Dec 2023
  • NIR: Nim Intermediate Representation

    1 project | /r/hackernews | 2 Oct 2023
  • Ask HN: How long does it take to find a job?

    1 project | news.ycombinator.com | 9 Aug 2023
  • Nim lang version 2 released

    1 project | news.ycombinator.com | 1 Aug 2023
  • Nim for Python Programmers

    1 project | news.ycombinator.com | 11 Jul 2023