Cat's Eye Technologies: News
Another blast from the past: RUBE
February 4, 2010: In a move likely to set a dangerous precedent for retrotechnology maintenance, Cat's Eye Technologies today released a new version of the RUBE programming language, the first such update in over twelve years. "Actually 1.3 is exactly the same language as 1.02, but I couldn't stand that meaningless zero anymore," Chris Pressey, a spokesman for the company, stated at a fictional news conference. "At least I finally got around to getting the implementation to compile under something besides Borland C++."
None of Mr. Pressey's livestock were available for comment.
ZOWIE: Memory-Mapped Structured Flow Control
December 29, 2009: Cat's Eye Technologies' last language of the aughts, ZOWIE, goes to press. ZOWIE is a machine-like language, somewhat echoing SMITH in syntax, where flow control is both structured (as in structured programming) and memory-mapped (as in you write to memory to indicate the start, and the end, of each loop.)
Also, I can now say I've worked on a language project for every letter of the Roman alphabet. I'm so happy.
Release of Etcha, a Turtle-Based Language
October 4, 2009: We present the esolang Etcha, a four-instruction BitChanger descendant with a two-dimensional storage model based on turtle graphics. Unlike the turtle in LOGO however, the turtle in Etcha is an integral part of the computation, playing a role similar to the tape head of a Turing machine.
Dieter: Type Qualifiers meet Modules
October 3, 2009: After a long long time incubating, the Dieter programming language is released. Dieter (that's Dieter as in the German masculine given name Dieter, not dieter as in "one who diets") conflates type qualifiers with modules. The article describes how the interaction between these two features produces something that resembles object-oriented programming.
The Pixley Programming Language Arrives
May 1, 2009: We present Pixley, a strict subset of R5RS Scheme. Pixley supports four datatypes (boolean, cons cell, function, and symbol) and a dozen built-in symbols. The Pixley reference interpreter is highly meta-circular, being written in 140 lines of Pixley (or, if you prefer, 140 lines of Scheme.)
Pixley is also (depending on how you count them) my 50th programming language (that I'll admit to!) This puts me squarely in the ballpark of Wouter and Aaron, and suggests that I plan to be personally responsible for a significant fraction of the next 700 programming languages.
Scientific Proof that Cellular Automata are Intelligent!
April 11, 2009: Did you know that slime molds are intelligent because they can solve mazes? Well it's true, because a scientist said it! And now, since Cat's Eye Technologies has designed a pair of cellular automata (called Jaccia and Jacciata) that can solve mazes, we know that cellular automata are intelligent too! Three cheers for science!
The Unlikely Programming Language Unveiled
March 15, 2009: So we have our first new programming language of the year (or the overwhelming majority of it, anyway.) It's called Unlikely and it conflates objects with continuations, exposes its program structures as classes with commensurate inheritance relationships, and to top it all off, makes dependency injection mandatory. Overall a pretty painful experience, we think.
Shelta Revisited
March 8, 2009: Almost a decade after it was first published, the assembly-language version of the Shelta compiler has been translated to NASM. In the process it was improved so that it is both smaller than 512 bytes in size and able to participate in the bootstrap process. Check it out (if you like that sort of thing.)
A List of Unfinished Interesting Esolangs (LoUIE)
January 13, 2009: Wouldn't it be great if I had enough time to pursue every interesting idea for every yet-another-esolang I had? Well, that's simply not possible. They have leaked out into LoUIE, a List of Unfinished Interesting Esolangs, so that other esolang designers may possibly some day take up the torch. (And, considering their recidivist tendencies, probably commit arson with it. Just you watch.)
Nine Projects Moved to Archive
January 11, 2009: We've moved nine of our less exciting projects to an archive area of the website, where they can bit-rot in peace. Their distfiles are still available for download, but their project pages will not be maintained. A good number of these are forks and ports of open-source projects started by others (ErlGTK, ErlGuten, libvesa.)
Let's Have a Warm Hand for Quylthulg
December 6, 2008: Let's have a warm hand for Quylthulg,
the latest atrocity to escape from Cat's Eye Technologies'
labs. Quylthulg is a programming language with but a single
control-flow construct: foreach. In fact, it
does also have a goto, but that can only appear
inside data structures.
Publishing of the 'Kitsilano' Oscillator Circuit
September 6, 2008: After a summer hiatus, production resumes at Cat's Eye Technologies with the publishing of the schematic of and story behind 'Kitsilano', an electronic oscillator circuit based on a pair of NPN transistors and a single capacitor.
Release of the Context Rewriting Language Treacle
April 12, 2008: The Treacle programming language, successor to Arboretuum, has been released. It is based on context rewriting, which generalizes forest-rewriting; names and variables are separate, and patterns may contain holes inside which subpatterns may match at any depth.
Wee Present: The PETulant Cursor
April 1, 2008: Just in time for April Fools, Cat's Eye Technologies presents The PETulant Cursor, a tiny (just 44 bytes!) "display hack" for the Commodore 64. What's it do? Run it and see!
Arboretuum Forest-Rewriting Language Released
March 4, 2008: The Arboretuum programming language has been released. It is based on forest-rewriting, which, as the name suggests, is an extension of tree-rewriting in which multiple trees are rewritten simultaneously.
Website Updated to Use XHTML 1.0
Jan 31, 2008: We have updated our webpages to conform to the W3C Recommendation XHTML 1.0. (This does not, however, apply to HTML documentation in projects.) The CSS has also been cleaned up significantly, and the site generally looks better in Internet Explorer.
Release of the Larabee Programming Language
Jan 10, 2008: The Larabee programming language has been released. Larabee borrows the notion of branch prediction from computer architecture, and abuses it to create a state of total despair. Also great fun at parties.
Release of the Mascarpone Programming Language
December 8, 2007: The Mascarpone programming language has been released. Mascarpone is a rationalization and further exploration of some of the ideas behind Emmental. Mascarpone is a self-modifying language, defined by a meta-circular interpreter, in which interpreters are also first-class values.
Ypsilax Updated to Use Console::Virtual
December 2, 2007: Following the improvements made to the implementation of noit o' mnain worb, our Ypsilax implementation also uses Console::Virtual and optional sub-second delays to provide a nice screen-oriented animation of Ypsilax' two-dimensional, non-deterministic, reflective grid rewriting, taking the burden of visualization off the user.
RSS Feed Now Available for Cat's Eye Technologies
December 1, 2007: News on the latest developments at Cat's Eye Technologies is now available as an RSS feed. The news page is still available, but it is now automatically generated from the RSS feed by an XSLT stylesheet.
This may seem like a bit of a dodgy move, for a company with as staunch an attitude of post-modernist rectitude as Cat's Eye Technologies to go adopting technologies that are clearly of Pakled origin.
However, there are several good reasons. Firstly, XSLT, being a Turing-complete macro-expansion language with all the readability of Scheme, is practically an honourary esolang. Secondly, RSS is specified about as rigorously and consistently as most esolangs as well. And thirdly -- although I dispute that this is a particularly important reason -- somebody might actually find it useful.
Release of the Iphigeneia Programming Language
November 25, 2007: The Iphigeneia programming language is released. Iphigeneia is a toy programming language which contains features from both imperative programming and functional programming. It was originally intended as a testbed for algorithms that convert programs between the two forms, but it has strayed slightly from that goal.
Console::Virtual Revived, HUNTER and worb Benefit
November 23, 2007: Noticing that the Perl 5 implementation of HUNTER required a module that was never restored to the website after the last crash, I dug it out of cold storage and refurbished it a bit, resulting in Console::Virtual.
In the process I tidied up the HUNTER project quite a bit, including supporting a real delay, measured in milliseconds, between animation frames. (This requires the Time::HiRes module, but it still works without it; you just can't get sub-second resolution in that case.)
And, in the process of doing that, I noticed the implementation of noit o' mnain worb could use many of the same improvements. So now it, too, uses Console::Virtual instead of requiring an ANSI-compatible terminal, and supports an adjustable delay between frames.
Concurrent with this project interdependency, I've made a quick stab at listing the requirements for each project in the little "info box" on its project page. This is pretty crude right now, but it's hopefully a step in the right direction.
Release of the Didigm Reflective Cellular Automaton
November 17, 2007: Release of initial specification of the Didigm reflective ceullar automaton.
Also some random hacking on libvesa.
Release of the Emmental Programing Language
November 11, 2006: The Emmental programming language has been released. Emmental is a self-modifying programming language; it is defined in terms of a meta-circular interpreter, and this meta-circular interpreter provides operations that modify its behaviour. In fact, Emmental requires that this mechanism of meta-circular self-modification in order for it to achieve Turing-completeness.
Release of You are Reading the Name of this Esolang
November 5, 2007: The programming language You are Reading the Name of this Esolang was released. It's an exploration in the design space of programming languages with undecidable elements. Specifically, the problem of whether or not a given string of symbols is a well-formed You are Reading the Name of this Esolang program is undecidable.
Release of the Cabra Programming Language
November 1, 2007: The Cabra programming language, successor of sorts to Burro, has been released. Cabra programs form, not a group, but a dioid -- an idempotent semiring -- under the operations of sequential and parallel composition.
Release of the Burro Programming Language
October 26, 2007: The Burro programming language, after two years (on and off) of design work, has finally been released. Burro is a Brainfuck-like language whose programs form an algebraical group under the operation of concatenation (roughly speaking -- see the docs for the complete picture.)
(Re-)Unearthing of the Maentwrog Programming Language
September 30, 2007: The Maentwrong language, predecessor of Befunge-93, and thought by me to be lost forever (again), was found (again) on a long-forgotten backup disc. It has been brought forth into the light of the projects directory (again) for whatever it's worth.
catseye.mine.nu No Longer in Service
August 28, 2007: The catseye.mine.nu server is no longer in service This has two consequences: The old http://catseye.mine.nu:8080/ URL prefix for this site will no longer redirect here to catseye.tc, and the Subversion repositories served by catseye.mine.nu will no longer be publicly available.
The catseye.webhop.net redirect will continue to work, and the tarball releases of projects will still be available from catseye.tc.
Whether the catseye.mine.nu server will ever go up again or not depends on too many factors for me to be able to say at this time. I definately want to keep providing publicly available source code repositories of the projects, but due to circumstances it will have to be a low priority goal over the next few months.
Updates to SMITH and REDGREEN
July 22, 2007: The SMITH language has been updated in a tiny but significant way: overwriting instructions with other instructions is now defined. The reference implementation now implements this sanely as well. Thanks to Nathan Thern for pointing this out (and for submitting a SMITH version of "99 Bottles of Beer"!)
Some bugs in REDGREEN have been fixed as well: the documentation claims that Wires and Sparks behave per the WireWorld automaton, and that Zappy and BigZappy set things on fire. The ALPACA implementation of REDGREEN now properly implements these rules. Thanks to Stewart Gordon for pointing these bugs out.
Also, I dug up noise and put it in the projects. I swear there was a manual page for it too, but I can't find it.
Release of the Hev Programming Language
June 17, 2007: The Hev programming language has been released. Hev allows programming in infix notation, but at the same time, never needs parentheses and never forces you to memorize precedence tables! Truly, a major breakthrough.
Release of the Xigxag automaton
June 2, 2007: Xigxag, a simple automaton with exponential growth almost everywhere, has been released.
Zzrk Released, and More
May 15, 2007: Most significantly, a project has been added for Zzrk, a text adventure game written in a meta-language intended for building compilers (Zz).
I also brought GraNoLa/M and SP\ASM out of those dusty ol' boxes in the attic and added them to the line-up.
REDGREEN, Braktif, and Circute have also been split off from the main ALPACA distribution, and live in projects of their own.
I also polished the site design a wee bit.
Launch of catseye.tc!
April 28, 2007: We've moved from catseye.mine.nu:8080 to our new domain, catseye.tc!
While it was fun serving my website with my own webserver software off of my own computer, it was a headache too -- both for me and, I'm sure, everyone out there in user-agent land as well. But now we're hosted on a commercial server which will, with any luck, provide much better bandwidth and reliability.
A few other minor things about the site have changed. For more details, see About this Website.
A few projects were also dug up and added to our line-up: Kangaroo Iceberg, libvesa, LuaKLD, 'N-DCNC, Opus-2, and Ribos. Also, each of the various incarnations of ILLGOL (ILLGOL, Illgola-2, Illberon, and Open Sores Illgol##) was given its own project, and historical source code has been found and added to ILLGOL and Illgola-2.