Programming Language Technology for Niche Platforms
This is a collection of software packages that I created with niche platform application development in mind. The collection consists of Erda, Illusyn, Konffaa, and Magnolisp. The software revisions as documented here are compatible with each other, and also match the discussion in my dissertation “Programming Language Technology for Niche Platforms.”
Installation
Racket version 6.3 or higher is required to run the software. The software has been tested with version 6.5 only.
raco pkg install https://www.ii.uib.no/~tero/pltnp/magnolisp.tgz
raco pkg install https://www.ii.uib.no/~tero/pltnp/erda.tgz
raco pkg install https://www.ii.uib.no/~tero/pltnp/konffaa.tgz
The above commands should install the software libraries, any associated command-line tools, and an offline copy of HTML documentation.
raco pkg install https://www.ii.uib.no/~tero/pltnp/illusyn.tgz
Source Code
License
The software is for the most part licensed under the MIT license, but see the individual packages’ documentation for more details about licensing.
Contents
Magnolisp is a little general-purpose programming language that is implemented as a Racket-based language such that it exports information about its programs for further compilation into C++ source code.
Erda is a family of experimental little general-purpose programming languages that have unorthodox implicit, declaratively implemented error handling behavior.
Illusyn is a Racket library for declarative definition of more-abstract-than-usual syntax trees for program transformations, such that there can be “illusionary” abstract data types complete with a “representation.”
Konffaa is a lightweight configuration manager aiming to work with different build managers and scripts by generating build information in different languages.
Illusyn is currently only available as part of the Magnolisp language implementation. Magnolisp makes extensive use of the Illusyn library, and can therefore be regarded as a sample application for Illusyn. With Magnolisp installed, it is possible to use the Illusyn library from other applications as well, without having to install a separate copy.