Commit Graph

13 Commits (main)

Author SHA1 Message Date
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
Mike Gerwitz eab47783ab [DEV-7086] .gitignore (a.out, perf.data): Ignore 2020-03-31 15:17:49 -04:00
Mike Gerwitz 290cf1b6e6 doc: Copied developer-related macros from Liza
This includes, notably, the Developer Notes feature.  I did not copy any
SRCUI stuff since this project uses literate documentation, but I'll add it
if it seems like it will be useful.  Barely any of the project is written
literately right now.

* .gitignore: `{=>/}config.*'.
* configure.ac (SET_DEVNOTES): New variable.
  (AC_CONFIG_FILES): Add `doc/config.texi'.
* doc/.gitignore (config.texi): Ignore (generated).
* doc/Makefile.am (tame_TEXINFOS): Add `macros.texi' and `config.texi'.
* doc/config.texi.in: New file.
* doc/macros.texi: New file containing some macros from `doc/tame.texi' and
  some from Liza's `doc/macros.texi'.
* doc/tame.texi: Adjust position of header comment.  Include `config.texi'
    and `macros.texi'.  Add devnotice to header.  Strip out macros.
  (menu): Add `Concept Index' and conditional `Developer Notes Index'.
  (Concept Index, Developer Notes Index): New nodes (latter conditional).
2019-01-30 13:44:24 -05:00
Mike Gerwitz 98494edee5 core build
This is the start of a working build for core.

* .gitignore: Ignore generated files from configuration and build.
* build.xml: Copy from rater repo.  This is the last remaining ant-based
    dependency and can be gotten rid of; see comments.
* configure.ac: New file.
* rater/build-aux, rater/src: New symlinks.
2018-11-08 11:15:12 -05:00
Mike Gerwitz cf57857ce5 bin/: Server/client build scripts
These scripts allow the TAME compiler stack to be invoked naturally, rather
than requiring the use of a Makefile today.  This will not only allow users
to more easily invoke the compiler, but will also allow us to invoke TAME
naturally from Makefile and remove the klugery that has existed for so
long.

This users a server/client architecture in order to mitigate the startup
cost of the JVM.  More documentation will follow.

Note that there are a bunch of symlinks in rater/---this is a transition
step to allow the build to continue working as it did before, which relies
on a directory structure that exists outside of this repository.  This will
be cleaned up in the future.

* .gitignore (bin/dslc): Add ignore for generated file.
* bin/dslc.in: New script to encapsulate Java invocation.
* bin/tame: New script (client).
* bin/tamed: New script (server).
* configure.ac (JAVA_OPTS, DSLC_CLASSPATH, AUTOGENERATED): New variables for
  dslc.in.  Output bin/dslc.
* rater/README.md: Note that this symlink mess is temporary.
* rater/c1map: New symlink for dslc assumptions.
* rater/c1map.xsl: Likewise.
* rater/calc.xsd: Likewise.
* rater/compile.xsl: Likewise.
* rater/compiler: Likewise.
* rater/dot.xsl: Likewise.
* rater/include: Likewise.
* rater/link.xsl: Likewise.
* rater/standalone.xsl: Likewise.
* rater/summary.xsl: Likewise.
* rater/tame: Likewise (warning: circular symlink).
* src/current/src/com/lovullo/dslc/DslCompiler.java (_DslCompiler)[compile]:
  Output `DONE' lines.
2018-10-08 23:25:02 -04:00
Mike Gerwitz 47f0f4039b progtest: Initial working console runner 2018-02-19 15:21:14 -05:00
Mike Gerwitz 12cfc2e7ff /src/{init=>conf}.xsl .gitignore 2016-08-23 12:16:27 -04:00
Mike Gerwitz 1475c12adc Add generated VERSION
This is useful for shell scripts and the like (e.g. Autoconf macros).

* .gitignore (/VERSION): Added
* VERSION.in: Added
* configure.ac: Process VERSION
2016-08-23 11:33:51 -04:00
Mike Gerwitz ebb88b9345 conf.xsl.in -> src/init.xsl.in
The thrush reference was also removed, as TAME does not currently make
use of it.

* .gitignore: Update path accordingly.
* configure.ac: Update path accordingly.
* src/init.xsl.in: Moved from conf.xsl.in.
2016-08-23 11:26:47 -04:00
Mike Gerwitz 183fed3ae1 .gitignore /doc/*.fns 2016-08-23 11:07:16 -04:00
Mike Gerwitz 911a3cac8d Ignore /hoxsl
Common place for library.

* .gitignore: Add /hoxsl
2016-07-05 09:45:38 -04:00
Mike Gerwitz 55cfeac10a conf.xsl generation during build
Exposes build configuration to XSL templates.
2015-07-10 12:46:39 -04:00
Mike Gerwitz 43e4a555e9 Initial repository setup 2015-04-14 05:35:36 -04:00