59 lines
2.5 KiB
Org Mode
59 lines
2.5 KiB
Org Mode
#+TITLE: Undâr Programming Language
|
|
|
|
#+BEGIN_SRC
|
|
[ᚢ ᛫ ᛫ ᛫
|
|
᛫ ᚾ ᛫ ᛫
|
|
᛫ ᛫ ᛞ ᛫
|
|
᛫ ᛫ ᛫ ᚱ]
|
|
#+END_SRC
|
|
|
|
* Philosophy
|
|
|
|
Undâr conforms to permacomputing principles.
|
|
|
|
Permacomputing as defined by the [[https://wiki.xxiivv.com/site/permacomputing.html][xxiivv wiki]]: "permacomputing encourages the maximization of hardware lifespan, minimization of energy usage and focuses on the use of already available computational resources.
|
|
it values maintenance and refactoring of systems to keep them efficient, instead of planned obsolescence, permacomputing practices planned longevity.
|
|
it is about using computation only when it has a strengthening effect on ecosystems."
|
|
|
|
Undâr is designed to ensure that programs will last indefinitly, but it is likely they will only last 'a very long time'.
|
|
|
|
The VM specification is the core of the language. It should be able to fit on a napkin and be able to be implemented in a weekend.
|
|
|
|
This implementation of the VM is written in freestanding C89 to maximize the chance that obscure C compilers will be able to compile it.
|
|
|
|
Once the VM is implemented it can be integrated into a architecutre specific code.
|
|
|
|
Undâr is intended to run on anything with a C compiler. From constrained systems like: retro consoles, microcontrollers to the web using emscripten.
|
|
|
|
* Getting Started
|
|
|
|
**
|
|
|
|
** Build (linux version)
|
|
|
|
#+BEGIN_SRC sh
|
|
git clone https://git.alfrescocavern.com/zongor/undar-lang.git
|
|
cd undar-lang && ./build
|
|
#+END_SRC
|
|
|
|
* Roadmap
|
|
|
|
[[./ROADMAP.org][Compiler, Plex, Immidate mode GUI, Constructive solid geometry, Tunnels, Actor model]]
|
|
|
|
* License
|
|
|
|
[[./LICENSE][GPLv3]]
|
|
|
|
* Inspirations
|
|
|
|
- [[https://plan9.io/][Plan 9]] : 9P, Unified I/O, Tunnels.
|
|
- [[https://en.wikipedia.org/wiki/Lisp_(programming_language)][Lisp]] : REPL, introspection.
|
|
- [[https://fortran-lang.org/][Fortran]] : Array semantics.
|
|
- [[https://en.wikipedia.org/wiki/C_(programming_language)][C]] / [[https://ziglang.org/][Zig]] : Efficentcy, simplicity.
|
|
- [[https://lua.org][Lua]] - Friendly syntax, portable, and minimalism.
|
|
- [[https://www.craftinginterpreters.com/the-lox-language.html][Lox]] - The start of my programming language creation journey.
|
|
- [[https://wiki.xxiivv.com/site/uxn.html][Uxn]] - Major inspiration, espeically around the design for devices.
|
|
- [[http://duskos.org/][Dusk OS]] - A much better system for doing permacomputing.
|
|
- [[https://doc.cat-v.org/inferno/4th_edition/dis_VM_specification][Dis VM]] - Ideas on VM structure
|
|
- Retro Systems - N64, PS1, Mac Classic, Windows 95, Especially Classic MacOS UI esthetics
|