This commit is contained in:
Miloslav Ciz 2024-08-27 17:09:58 +02:00
parent 2c518b91ca
commit 3816e78230
19 changed files with 1805 additions and 1802 deletions

View file

@ -1,6 +1,8 @@
# Comun
Comun is a [beautiful](beauty.md), greatly [minimalist](minimalism.md) [programming language](programming_language.md) made by [drummyfish](drummyfish.md) in 2022, based on his ideals of good, [selfless](selflessness.md) [technology](technology.md) known as *[less retarded software](lrs.md)* (LRS), of which it is now considered the official programming language, though still a greatly work in progress one. In the future it should gradually replace [C](c.md) as the preferred LRS language, however let's keep in mind the language is still highly experimental and work in progress, it may yet change more or less. The language has been inspired mainly by [Forth](forth.md) but also [C](c.md), [brainfuck](brainfuck.md) and other ones. Though already usable, it is still in development; currently there is a [suckless](suckless.md) implementation of comun in [C](c.md) as well as a basic [self hosted](self_hosting.md) one which should gradually replace the C version. There is also a number of supplemental materials such as a specification, tutorial and some example programs. The project repository is currently at https://codeberg.org/drummyfish/comun. The aim now is to make a [self hosted](self_hosting.md) implementation, i.e. write comun in comun.
{ UPDATE: I am currently thinking about reworking comun a bit, maybe drop the whole bytecode and build it more with the incremental style of Forth. I will probably need a lot more time to think it through, please be patient :-) ~drummyfish }
Comun is a [beautiful](beauty.md), experimental [minimalist](minimalism.md) [programming language](programming_language.md) made by [drummyfish](drummyfish.md) in 2022, based on his ideals of good, [selfless](selflessness.md) [technology](technology.md) known as *[less retarded software](lrs.md)* (LRS) -- it is still a very much work in progress and may potentially change a lot. It was planned that in the [future](future.md) it should gradually replace [C](c.md) as the preferred LRS language, however it's very soon for this still. The language has been inspired mainly by [Forth](forth.md) but also [C](c.md), [brainfuck](brainfuck.md) and other ones. Though already usable, it is still in development; currently there is a [suckless](suckless.md) implementation of comun in [C](c.md) as well as a basic [self hosted](self_hosting.md) one which can [bootstrap](bootstrap.md) itself and should gradually replace the C version. There is also a number of supplemental materials such as a specification, tutorial and some example programs. The project repository is currently at https://codeberg.org/drummyfish/comun. The aim now is to make a [self hosted](self_hosting.md) implementation, i.e. write comun in comun.
**How minimal is comun?** The specification fits on one sheet of A4 paper (using both sides) and the minimal self hosted compiler without preprocessor and fancy features has some 2400 [lines of code](loc.md), a lot of which are documenting comments (the whole self hosted codebase that also includes a more "feature rich" compiler, optimizer, interpreter etc. still has fewer than 5000 lines).