Finally. Embed

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

    Single file C library for decoding MPEG1 Video and MP2 Audio

  • You can get some IDE support with a simple preprocessor macro[1].

    It's a crutch, but at least you don't need to stuff the shader into multiple "strings" or have string continuations (\) at the end of every line. Plus you get some syntax highlighting from the embedding language. I.e. the shader is highlighted as C code, which for the most part seems to be close enough.

    [1] https://github.com/phoboslab/pl_mpeg/blob/master/pl_mpeg_pla...

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

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

    Include binary files in C/C++

  • Haven't the people making the standards other things to do, like, integrating useful features instead of duplicating incbin.h [0] years after that feature worked?

    https://github.com/graphitemaster/incbin/blob/main/incbin.h

  • pyker

    Python tool to convert files from a directory tree into a C header file.

  • Is very simple and was to helping me on a job. It has limitations, don't be too hard on me :)

    [1] https://github.com/daxliar/pyker

  • nimscripter

    Quick and easy Nim <-> Nimscript interop

  • Checkout Nim! It does much of what you describe and its great. The core language is fairly small (not quite lua simple but probably ML comparable). It compiles fast enough that a Nim repl like `inim` is useable to check features and for basic maths, though it requires a C compiler, but TCC [4] works perfectly. Essentially Nim + tcc is pretty close to your description, IMHO. Though I'm not sure TCC supports non-x86 targets.

    I've never used it but Nim does support some hot reloading as well [3]. It also has a real VM if you want to run user scripts and has a nice library for it [1]. Its not quite Lua flexible but for a generally compiled language its impressive.

    Recently I made a wrapper to embed access to the Nim compilers macros at runtime [2]. It took 3-4 hours probably and still compiles in 10s of seconds despite building in a fair bit of the compiler! It was useful for making a code generator for a serializer format. Though I'm not sure its small enough to live on even beefy m4/m7 microcontrollers. Though I'm tempted to try.

    1: https://github.com/beef331/nimscripter

  • cdecl

    Nim helper for using C Macros (by elcritch)

  • stb

    stb single-file public domain libraries for C/C++

  • That’s not the case, if you take a bit of care. Look at STB for example (https://github.com/nothings/stb) -- I’ve successfully used STB functions on a bunch of different platforms. In both C and C++, even!

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

    Proof of concept userspace filesystem that executes filenames as shell commands and makes the result accessible though reading the file.

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