tame/design/tpl
Mike Gerwitz bd454f7a7c design/tpl: The Tame Programming Language initial concept
There's a lot of change that's likely going to take place with this thing,
but it's a start.  The abstract summarizes the purpose of this---to formally
define TAME in terms of algebra, first-order logic, and [ZFC] set theory.

This came about while working on compiler changes and optimizations, since
it's difficult to ensure correctness (and discover further optimizations)
without being able to formally define the language.  The focus at the moment
is the classification system rewrite, which can be expressed in terms of
first order logic and set theory.

This commit contains essentially a POC with some carefully chosen
mathematical foundations (abstractions of which are subject to change) and a
basic representation of a subset of the classification system for scalars.
2021-05-10 13:46:49 -04:00
..
sec design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
.gitignore design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
.latexmkrc design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
Makefile design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
README.md design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
glossary.tex design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
tpl.sty design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00
tpl.tex design/tpl: The Tame Programming Language initial concept 2021-05-10 13:46:49 -04:00

README.md

The TAME Programming Language: Design and Implementation

This is a living document providing a formal definition of the TAME programming language.

Dependencies

See tpl.sty for the specific LaTeX packages that are needed. If you use a Debian-based system, the following command should be sufficient to install all necessary dependencies:

$ apt install --no-recommends \
    make latexmk \
    texlive-latex-extra texlive-fonts-extra texlive-science

Building

Simply run make. The output is tpl.pdf.