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
I appreciate simple programming languages with almost no syntax like Scheme, Forth, Smalltalk or Red. Looks like there is one more language in this family.

http://sprylang.se/

#compilers #programming #language
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
Kalyn is a functional programming language with a tiny compiler implemented in Haskell and Kalyn itself. Semantically Kalyn is very close to Haskell but syntactically it looks like a typed Lisp.

You can find an overview of the internals by the link below. The source code of the compiler is available on Github.

https://intuitiveexplanations.com/tech/kalyn

#compilers #fprog #haskell #kalyn
A couple of days ago I discovered an interesting tutorial on the development of a functional language compiler using C++, Flex, Bison, and LLVM. The author uses approaches found in the book "Implementing functional languages: a tutorial" by Simon Peyton Jones. Very fascinating reading.

https://danilafe.com/blog/00_compiler_intro/

#tutorial #compilers #translation #fprog #haskell
Two days ago I read about a new programming language - Vale. This project just did first public steps, but already looked interesting.

In some sense Vale brings to mind Rust: it is based on the idea of single ownership and regions. But obviously it differs a lot and does some things the own way.

Vale uses LLVM and therefore targets many platforms.

I hope eventually the project will bring us a worthy alternative to Rust, Zig and Go.

https://vale.dev/

#compilers #languages #system #programming
ShivyC is a simple compiler for a subset of C11 written in Python. It uses an intermediate representation and allocates registers using George and Appel’s iterated register coalescing algorithm.

https://github.com/ShivamSarodia/ShivyC

#compilers #c #python
Rochus Keller is a guy who tends to implement various old programming languages. He has lots of projects on GitHub. All of his projects have three things in common:

1. They use LuaJIT bytecode as a target language
2. They include not only compilers but also full-featured IDEs with debuggers
3. They are written in C++ with Qt.

Rochus has created such development environments for Smalltalk-80, Simula, Som, Algol-60, and Oberon+. The last one is an Oberon-like programming language compatible with Oberon, Oberon II, Oberon 07 and extended by some new features like UTF-8, generics, and FFI.

#plt #smalltalk #oberon #compilers #lua