Commits

Anonymous committed 8b3d411

Add README, and take executable permissions off everything.

  • Participants
  • Parent commits 2185de7

Comments (0)

Files changed (29)

File README.markdown

+The Wierd Programming Language
+==============================
+
+This is Cat's Eye Technologies' distribution of Wierd, a two-dimensional
+esoteric programming language (a "fungeoid".)  Unlike related languages,
+the symbols in a Wierd program do not determine which instructions are
+executed; instead, any symbols may be used to draw chains of symbols, and
+it is the *bends* in these chains which determine which instructions are
+executed.
+
+History
+-------
+
+Wierd has a long and colourful history of language fuzziness.
+
+Wierd was originally designed by Ben Olmstead, John Colagioia, and Chris
+Pressey, in a three-way email discussion about how Befunge and Brainfuck
+could be combined in an interesting way.
+
+Based on this discussion, John wrote an implementation of Wierd in C
+(`wierd.c` in the `src` directory), and wrote a version of the classic
+"Hello, world!" program in Wierd (`hello.w` in the `eg` directory; see
+also his description of the program in `hellow.txt` in the `doc` directory.)
+
+Then, based largely on this implementation, John wrote a specification for
+the language (`wierdspec.txt` in the `doc` subdirectory.)
+
+Later on, Milo van Handel also wrote an implementation (`wierd-milo.c`
+in `src`) and several example Wierd programs (in `eg` -- they're the ones
+described in `*.doc.txt` in `doc`) for it -- including a Wierd/INTERCAL
+polyglot (`polyglot.i`).
+
+Unfortunately, Milo's interpreter has different semantics from John's
+interpreter -- from what I've been able to tell, the two programs implement
+largely incompatible languages.  It may be possible to write programs which
+work the same on both interpreters, but I'm pretty sure none of the included
+example programs do.
+
+Milo's Wierd could reasonably be called "Wierd 2.0", but as far as I know,
+no one does.
+
+Later still, Chris attempted to implement the original Wierd in the
+[yoob][] framework, based on John's spec, but when trying to run `hello.w`
+on it, found that it would only get so far before entering an infinite loop
+(back and forth along the chain.)  This suggests a possible bug in either
+the yoob implementation or in `wierd.c` or in the spec.
+
+Given all this, it is really doubtful that any of these implementations or
+documents can be considered normative.
+
+[yoob]: http://catseye.tc/projects/yoob/
+
+License
+-------
+
+The Wierd distribution's licensing matches the language's fuzziness.
+
+With the exception of Milo's `quine.w`, which is licensed under the GPL
+(no version specified), no license was ever explicitly placed on any of the
+sources, so they are all implicitly copyright by their respective authors.
+
+However, Cat's Eye Technologies has been redistributing these sources in
+the form of this Wierd distribution for years now, with no objections from
+the authors, so I think it's safe to consider them to be freely
+redistributable, unmodified and for non-commercial purposes; however, I am
+not a lawyer, your mileage may vary, caveat emptor, etc. etc.

File doc/add.doc.txt

File contents unchanged.

File doc/cat.doc.txt

File contents unchanged.

File doc/count.doc.txt

File contents unchanged.

File doc/half.doc.txt

File contents unchanged.

File doc/hellow.txt

File contents unchanged.

File doc/loop.doc.txt

File contents unchanged.

File doc/output.doc.txt

File contents unchanged.

File doc/quine.doc.txt

File contents unchanged.

File doc/random.doc.txt

File contents unchanged.

File doc/wierdspec.txt

File contents unchanged.

File eg/add.w

File contents unchanged.

File eg/ascii.w

File contents unchanged.

File eg/asciiadd.w

File contents unchanged.

File eg/cat1.w

File contents unchanged.

File eg/cat2.w

File contents unchanged.

File eg/cat3.w

File contents unchanged.

File eg/cat4.w

File contents unchanged.

File eg/count.w

File contents unchanged.

File eg/half.w

File contents unchanged.

File eg/hello.w

File contents unchanged.

File eg/loop1.w

File contents unchanged.

File eg/loop2.w

File contents unchanged.

File eg/output.w

File contents unchanged.

File eg/polyglot.i

File contents unchanged.

File eg/quine.w

File contents unchanged.

File eg/random.w

File contents unchanged.

File src/wierd-milo.c

File contents unchanged.

File src/wierd.c

File contents unchanged.