The Thue Programming Language
This is Cat's Eye Technologies' distribution of Thue, an esoteric programming language designed by John Colagioia. Thue is a non-deterministic string-rewriting language, based on a formalism called a semi-Thue system, but also including some programming-oriented features, like input and output.
The specification can be found in the file
thue.txt in the
John's implementation of the language, in C, is in the file
thue.c in the
src directory, and can, for all intents and purposes, be considered the
src directory, there are also two other implementation of Thue:
thue.py, in Python, written by Frédéric van der Plancke
thue.rb, in Ruby, written by Chris Pressey
There is an assortment of example Thue programs in the
eg directory. The
credits for these are as follows:
add_bin.t: Frédéric van der Plancke
edgcase?.t: Chris Pressey
- all others: John Colagioia
More information on Thue can be found on the esolangs.org wiki entry for Thue.
All files in this distribution are "essentially in the public domain".
John's original license text can be found in
doc/license.txt. (In it,
the phrase "this file" referred to the archive in which all the Thue files
were distributed.) He placed the files he wrote (implementation, spec, and
examples) basically into the public domain, with the proviso that he be
contacted by anyone who wanted to do "anything interesting" with the files,
including modifying them.
Unfortunately, the email address he left for this purpose, with the claim that it would be kept current, is no longer active. Thus, one can probably reasonably assume that he is no longer interested in what happens to his Thue sources, and that they are unconditionally in the public domain; however, I am not a lawyer, etc. etc.
Frédéric's implementation, and example source, are much less questionably in the public domain; his only proviso is that he be given credit for what he wrote (and not be given credit for any changes or additions that he did not write.) Actually, as I understand it (but again, I am not a lawyer etc etc), putting something into the public domain does not take away one's moral rights to proper credit, so this isn't very much (if at all) different from just being in the public domain.
I, Chris Pressey, hereby place my implementation in Ruby, my example Thue
eg, and the contents of this README, into the public domain,
under the Creative Commons CC0 1.0 Public Domain Dedication.
The following example files were taken from the esolangs.org wiki, and are thus also under the CC0 1.0 Public Domain Dedication:
git clone https://git.catseye.tc/Thue/
- Add truth-machine example. catseye 11 years ago
- Convert CRLFs to LFs. catseye 11 years ago
- Update README. catseye 11 years ago
- Add 3 Thue programs to test edge cases, and fix thue.py's `raise`s. catseye 11 years ago
- Add public-domain implementation of Thue in Ruby. catseye 11 years ago
- Add README, and take executable permissions off most everything. Cat's Eye Technologies 11 years ago
- Added tag rel_1_5_2010_1218 for changeset 935f97d5bb1d Cat's Eye Technologies 11 years ago
- Import of Thue distribution version 1.5 revision 2010.1218 sources. Cat's Eye Technologies 11 years ago
- Added tag rel_1_4_2004_0301 for changeset 3f3acd9208c4 Cat's Eye Technologies 11 years ago
- Initial import of the Thue distribution, version 1.4 revision 2004.0301. Cat's Eye Technologies 11 years ago