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
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
http://sprylang.se/
#compilers #programming #language
sprylang.se
Spry Language
The Spry Programming language homepage
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
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
janet-lang.org
The Janet Programming Language
Janet is a functional and imperative programming language. It runs on Windows, Linux, macOS, FreeBSD and *nix.
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
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
https://danilafe.com/blog/00_compiler_intro/
#tutorial #compilers #translation #fprog #haskell
Danilafe
Compiling a Functional Language Using C++, Part 0 - Intro
In this first post of a larger series, we embark on a journey of developing a compiler for a lazily evaluated functional language.
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
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
An interesting project with the crazy goal of building a computer and a complete software stack from scratch. The author shows every step in daily Twitch streams and uploads screencasts to YouTube.
https://github.com/pervognsen/bitwise
#hardware #osdev #compilers #system #programming
https://github.com/pervognsen/bitwise
#hardware #osdev #compilers #system #programming
GitHub
GitHub - pervognsen/bitwise: Bitwise is an educational project where we create the software/hardware stack for a computer from…
Bitwise is an educational project where we create the software/hardware stack for a computer from scratch. - pervognsen/bitwise
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
https://github.com/ShivamSarodia/ShivyC
#compilers #c #python
GitHub
GitHub - ShivamSarodia/ShivyC: C compiler created in Python.
C compiler created in Python. Contribute to ShivamSarodia/ShivyC development by creating an account on GitHub.
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
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
GitHub
rochus-keller - Overview
see http://rochus-keller.ch. rochus-keller has 69 repositories available. Follow their code on GitHub.
In his finished series of posts Max Bernstein shows how to write a Lisp interpreter in OCaml. He also has an ongoing series on compiling Lisp to x86 machine code.
#plt #lisp #compilers #ocaml
#plt #lisp #compilers #ocaml
Max Bernstein
Writing a Lisp, Part 0: Fundamentals
So you want to write a Lisp interpreter. I did too, and then I wanted to write about it, so here we are with this post series.