0 | |
The Thue Programming Language
|
1 | |
=============================
|
2 | |
|
3 | |
This is Cat's Eye Technologies' distribution of **Thue**, an esoteric
|
4 | |
programming language designed by John Colagioia. Thue is a non-deterministic
|
5 | |
string-rewriting language, based on a formalism called a *semi-Thue system*,
|
6 | |
but also including some programming-oriented features, like input and output.
|
7 | |
|
8 | |
The specification can be found in the file `thue.txt` in the `doc` directory.
|
9 | |
|
10 | |
John's implementation of the language, in C, is in the file `thue.c` in the
|
11 | |
`src` directory, and can, for all intents and purposes, be considered the
|
12 | |
reference implementation.
|
13 | |
|
14 | |
In the `src` directory, there are also two other implementation of Thue:
|
15 | |
|
16 | |
* `thue.py`, in Python, written by Frédéric van der Plancke
|
17 | |
* `thue.rb`, in Ruby, written by Chris Pressey
|
18 | |
|
19 | |
There is an assortment of example Thue programs in the `eg` directory; all
|
20 | |
were written by John, except for `add_bin.t`, which was written by Frédéric,
|
21 | |
and the `edgcase?.t` ones, which were written by Chris.
|
22 | |
|
23 | |
More information on Thue can be found on the esolangs.org wiki
|
24 | |
[entry for Thue](http://esolangs.org/wiki/Thue).
|
25 | |
|
26 | |
License
|
27 | |
-------
|
28 | |
|
29 | |
All files in this distribution are "essentially in the public domain".
|
30 | |
|
31 | |
John's original license text can be found in `doc/license.txt`. (In it,
|
32 | |
the phrase "this file" referred to the archive in which all the Thue files
|
33 | |
were distributed.) He placed the files he wrote (implementation, spec, and
|
34 | |
examples) basically into the public domain, with the proviso that he be
|
35 | |
contacted by anyone who wanted to do "anything interesting" with the files,
|
36 | |
including modifying them.
|
37 | |
|
38 | |
Unfortunately, the email address he left for this purpose, with the claim
|
39 | |
that it would be kept current, is no longer active. Thus, one can probably
|
40 | |
reasonably assume that he is no longer interested in what happens to his
|
41 | |
Thue sources, and that they are unconditionally in the public domain;
|
42 | |
however, I am not a lawyer, etc. etc.
|
43 | |
|
44 | |
Frédéric's implementation, and example source, are much less questionably in
|
45 | |
the public domain; his only proviso is that he be given credit for what he
|
46 | |
wrote (and not be given credit for any changes or additions that he did not
|
47 | |
write.) Actually, as I understand it (but again, I am not a lawyer etc etc),
|
48 | |
putting something into the public domain does not take away one's moral
|
49 | |
rights to proper credit, so this isn't very much (if at all) different from
|
50 | |
just being in the public domain.
|
51 | |
|
52 | |
I, Chris Pressey, hereby place my implementation in Ruby, my example Thue
|
53 | |
programs in `eg`, and the contents of this README, into the public domain,
|
54 | |
under the Creative Commons [CC0 1.0 Public Domain Dedication][].
|
55 | |
|
56 | |
[CC0 1.0 Public Domain Dedication]: http://creativecommons.org/publicdomain/zero/1.0/
|
|
0 |
The Thue Programming Language
|
|
1 |
=============================
|
|
2 |
|
|
3 |
This is Cat's Eye Technologies' distribution of **Thue**, an esoteric
|
|
4 |
programming language designed by John Colagioia. Thue is a non-deterministic
|
|
5 |
string-rewriting language, based on a formalism called a *semi-Thue system*,
|
|
6 |
but also including some programming-oriented features, like input and output.
|
|
7 |
|
|
8 |
The specification can be found in the file `thue.txt` in the `doc` directory.
|
|
9 |
|
|
10 |
John's implementation of the language, in C, is in the file `thue.c` in the
|
|
11 |
`src` directory, and can, for all intents and purposes, be considered the
|
|
12 |
reference implementation.
|
|
13 |
|
|
14 |
In the `src` directory, there are also two other implementation of Thue:
|
|
15 |
|
|
16 |
* `thue.py`, in Python, written by Frédéric van der Plancke
|
|
17 |
* `thue.rb`, in Ruby, written by Chris Pressey
|
|
18 |
|
|
19 |
There is an assortment of example Thue programs in the `eg` directory; all
|
|
20 |
were written by John, except for `add_bin.t`, which was written by Frédéric,
|
|
21 |
and the `edgcase?.t` ones, which were written by Chris.
|
|
22 |
|
|
23 |
More information on Thue can be found on the esolangs.org wiki
|
|
24 |
[entry for Thue](http://esolangs.org/wiki/Thue).
|
|
25 |
|
|
26 |
License
|
|
27 |
-------
|
|
28 |
|
|
29 |
All files in this distribution are "essentially in the public domain".
|
|
30 |
|
|
31 |
John's original license text can be found in `doc/license.txt`. (In it,
|
|
32 |
the phrase "this file" referred to the archive in which all the Thue files
|
|
33 |
were distributed.) He placed the files he wrote (implementation, spec, and
|
|
34 |
examples) basically into the public domain, with the proviso that he be
|
|
35 |
contacted by anyone who wanted to do "anything interesting" with the files,
|
|
36 |
including modifying them.
|
|
37 |
|
|
38 |
Unfortunately, the email address he left for this purpose, with the claim
|
|
39 |
that it would be kept current, is no longer active. Thus, one can probably
|
|
40 |
reasonably assume that he is no longer interested in what happens to his
|
|
41 |
Thue sources, and that they are unconditionally in the public domain;
|
|
42 |
however, I am not a lawyer, etc. etc.
|
|
43 |
|
|
44 |
Frédéric's implementation, and example source, are much less questionably in
|
|
45 |
the public domain; his only proviso is that he be given credit for what he
|
|
46 |
wrote (and not be given credit for any changes or additions that he did not
|
|
47 |
write.) Actually, as I understand it (but again, I am not a lawyer etc etc),
|
|
48 |
putting something into the public domain does not take away one's moral
|
|
49 |
rights to proper credit, so this isn't very much (if at all) different from
|
|
50 |
just being in the public domain.
|
|
51 |
|
|
52 |
I, Chris Pressey, hereby place my implementation in Ruby, my example Thue
|
|
53 |
programs in `eg`, and the contents of this README, into the public domain,
|
|
54 |
under the Creative Commons [CC0 1.0 Public Domain Dedication][].
|
|
55 |
|
|
56 |
[CC0 1.0 Public Domain Dedication]: http://creativecommons.org/publicdomain/zero/1.0/
|