Zero Dereference
128 subscribers
3 photos
3 files
372 links
Interesting links related to systems programming, hacking, and science.

Contact: @richiefreedom
Download Telegram
The list of people whose work inspires me has replenished with several names over the past year.

One of them is rxi. I don't know a real name hidden behind these letters, but he or she did enormous number of good things. I already wrote about lite — a very fast and beautiful text editor made in C and Lua, microui — a small footprint portable UI framework and atlas — a program for packing fonts and icons into one texture.

The next program I would like to show you is aq. This is a framework built on the top of other software made by rxi: microui, atlas and fe.

With aq you can create your own audio experiments and toys using a tiny lisp-like language. These toys can have a rich GUI and perform digital signal processing to achieve your goals.

The author provides a drum machine toy as an example.

https://github.com/rxi/aq

#dsp #c #sound #lisp #language #compilers #dsl
Janet is a small programming language with lisp-like syntax. Like Lua it can be easily embedded in system programs.

There is a good web-framework based on Janet — Joy. A small set of libraries is also available, so even GUI applications can be built with Janet.

Janet:
https://janet-lang.org/

Joy:
https://joyframework.com/

#compilers #fprog #lisp #embedded #janet
Camlboot is an attempt to bootstrap the OCaml compiler.

The approach is as follows:
- Compile guile with GCC;
- Run MiniML compiler written in guile;
- Compile OCaml interpreter written in MiniML;
- Run the OCaml interpreter to compile OCaml.

https://github.com/Ekdohibs/camlboot

#plt #fp #ocaml #bootstrap #guile #lisp #gcc
I read once that the best programming language is two programming languages. I don’t remember who this phrase belongs to, but it’s true.

There is always code that needs serious optimization. But there is also a code that is used as glue. This code doesn't need to be very fast. Usually, most of the code in a project is glue code.

There is a family of programming languages that are used in cases where high-performance fragments in C or C++ need to be glued together into a single program. Most often, Lua and Python are used for this. Less often, TCL appears on the scene.

Fortunately, progress does not stand still and new languages appear, made specifically for embedding into other programs.

I recently came across Wren, a simple and fast language with support for traditional class-based OOP. Unlike Lua, which uses a metatable-based approach similar to object prototypes.

Wren was created by Robert Nystrom, the author of Crafting Interpreters. Robert is currently working on the Dart language at Google.

Another great embedded language is fe. It was created by rxi, famous for their minimalist libraries and programs. fe is a small lisp-like language designed specifically to run in resource-constrained environments. One may think that such a small language is of little use. But this is not the case. fe is easily extensible with C code and supports macros. Check out what awesome fantasy console rxi has made. The binary image is only 60 kilobytes!

You may remember that I already wrote about another embeddable Lisp-like programming language called Janet.

#plt #minimalism #embedded #c #lisp