Cat's Eye Technologies: News

Release of Falderal version 0.6 "Streeterville"

January 2, 2012: The new year sees another release of Falderal, our framework for writing literate test suites for languages. This version supports variable expansion in functionality specifiers and the ability to add and remove functionality specifiers on the command line. It also fixes several bugs and shortcomings in the previous version. And, if you browse around the site a bit, you'll see we've started using it to format our projects' Falderal, Markdown, and Literate Haskell documents to XHTML.

Check it out at http://catseye.tc/projects/falderal/

Release of Falderal version 0.5 "The Loop"

December 14, 2011: Falderal, our format for unit-testing little languages, has seen release of version 0.5 "The Loop". As you can see, we have adopted a naming convention for release milestones — they're named after Chicagoland neigbourhoods, suburbs, landmarks, and institutions. This version was named after The Loop in recognition of its ability to shuttle test results between falderal and the various results generators implemented in different languages (Haskell, Bourne shell scripts) and to report on all the failures in a consistent way.

Check it out at http://catseye.tc/projects/falderal/

Release of Pixley version 2.0

December 9, 2011: Pixley version 2.0 has been released. It removes cadr and null? from the language. Partly because of this, the reference interpreter is now somewhat simpler: 124 lines of Pixley, with 407 instances of 53 unique symbols in 672 cons cells. The distribution now also includes driver shell scripts, Falderal tests, and a P-Normalizer, probably the first non-trivial Pixley program to be written outside the Pixley interpreter itself.

Check it out at http://catseye.tc/projects/pixley/

Madison, a Term-Rewriting Proof-Checker

December 2, 2011: One thing I've wanted to do for a long while is design a language in which one can state proofs of the properties of programs in that language. Not a full-blown theorem prover, just a proof checker, where you have to supply the proof, and the system tells you if it holds or doesn't hold. And not an immensely powerful proof-checker either, just powerful enough to state some simple proofs which hold over an infinite universe of values.

Well, after much thought and sketching, I have come up with a term-rewriting-based proof-checking language called Madison. It supports both direct proof and proof by structural induction, and I have used it to write a proof that the reflection of the reflection of any binary tree is the same as the original tree. It's not much, but I'm quite pleased with it.

Check it out at http://catseye.tc/projects/madison/

Q: Are We Not Men? A: We Are Flobnar!

October 28, 2011: One day in September of 2011 — though I'm not sure precisely which one — marked Befunge-93's 18th birthday. That means that Befunge is now old enough to drink in its native land of Canada. To celebrate this, I thought I'd get Befunge-93 drunk to see what would happen.

What happened was Flobnar, an esolang which is in many respects a functional dual of Befunge-93; most of the symbols have analogous meanings, but execution proceeds in a much more dataflow-like fashion.

Check it out at http://catseye.tc/projects/flobnar/

Release of Falderal version 0.4

October 10, 2011: Well, that was quick — well, we were on a roll. Falderal 0.4 introduces several desirable features. Test.Falderal is a Cabal package now, making installation easier, and this Cabal package installs a tool (unflinchingly called falderal) which drives the formatting and testing processes. Tests are now targetted at abstractions called functionalities, and functionalities are allowed to be implemented in different ways, including as shell commands, supporting the testing of multiple implementations of a function in multiple, essentially arbitrary implementation languages. This all brings Falderal closer to its goal of being a testing framework for programming languages.

Check it out at http://catseye.tc/projects/falderal/

Release of Falderal version 0.3

October 7, 2011: Remember that major change in how Falderal works that we talked about when Falderal 0.2 was released? Well, it's here, in Falderal 0.3. Basically, two things happened. One, Falderal is a file format now, and Test.Falderal is the reference implementation, in Haskell, for tools which claim to understand the format. Two, Test.Falderal is now able to format Falderal files into other formats. In fact, running tests is accomplished by formatting the Falderal file into Haskell code, and running that.

Check it out at http://catseye.tc/projects/falderal/

OMG WTF FBBI 1.0 SIAS EVVK!

October 3, 2011: After years and years of apathy, we have fixed a number of bugs in the Flaming Bovine Befunge-98 Interpreter (FBBI), raising its quality level from "profound embarrassment" all the way to "marginal non-fail". Mainly we did this by randomly applying those patches that have been floating around, for which we owe much gratitude, but there was also a crippling memory-management bug that we found in the stack routines that highly deserved being killed, so, we sure did that thing too.

To celebrate — and to assuage our acquired annoyance at version numbers which look like decimal numbers that are supposed to indicate "close to release" — we have released version 1.0 of FBBI.

Note well that our general apathy towards Funge-98 has not abated in kind.

Check it out at http://catseye.tc/projects/fbbi

yoob 0.3 in the Gallery of Interactive Esolangs

September 21, 2011: yoob 0.3 has been released, and it has moved out of Cat's Eye Technologies' lab and has become an official part of our website. It is now the main exhibit in the new Gallery of Interactive Esolangs. And, since we have three galleries now, we have developed this section of the website into something more real: our Gallery Space. This is where we will be exhibiting interactive works, and works not produced by Cat's Eye Technologies but which we find interesting nonetheless.

Check it out at http://catseye.tc/gallery/esolangs/

Have you seen LoUIE lately?

September 17, 2011: Have you seen LoUIE (our List of Unfinished Interesting Esolangs) lately? Because if you haven't, there's likely some designs there you haven't seen, because I just now added three (and in the past, haven't always announced it when I've added new entries.) There are twelve in total now, so if you're looking for an idea to build on, why not give it a look-see?

Check it out at http://catseye.tc/cpressey/louie.html

Researchers Discover the Civilization Advance "Language: Xoomonk"

August 7, 2011: Xoomonk is a programming language in which malingering updatable stores are first-class objects. Malingering updatable stores unify several language constructs, including procedure activations, named parameters, and object-like data structures. While the language is not yet implemented or even entirely finalized, it is pretty much complete, so is being released as version 0.1.

Check it out at http://catseye.tc/projects/xoomonk/

PL-{GOTO}.NET: Eat it Before it Eats You

August 4, 2011: You've always wanted an compiler for the example primitive recursive language PL-{GOTO} from Brainerd and Landweber's Theory of Computation, haven't you? And you have a need for it to generate MSIL which can be fed into ilasm to produce a .NET executable, don't you? And you wouldn't be satisfied unless it were implemented in Haskell, with a true-to-form grammar parsed with a Parsec combinator parser, would you?

...

Why aren't you answering me???

Check it out at http://catseye.tc/projects/pl-goto.net/

Bubble Escape 2K Now Playable Online

July 16, 2011: As subject. We've wanted to do this for a while, but last time an attempt was made, JaC64 was not quite up to the task. So we forked it on Bitbucket and for the past few weeks we've been busy fixing bugs in it. It's still not perfect, but it's playable on several platforms including Windows (Firefox and IE) and Ubuntu 11 (Firefox). So try it! Enjoy!

Check it out at http://catseye.tc/gallery/c64/bubble-escape-2k/

Release of Falderal version 0.2

June 27, 2011: Mainly to get a few minor niceties and bugfixes out of the way before we start on major changes to how Falderal works, Falderal 0.2 has been released. The planned major changes are probably more interesting than the niceties: I hope to make Falderal into something that can test more than just Haskell functions. Of course, it will still be written in Haskell.

Check it out at http://catseye.tc/projects/falderal/

First public release of yoob source code

June 24, 2011: yoob has pulled itself out of its "technology preview" stage, and is officially released as open-source software. More specifically, its source code is in the public domain and its development is hosted on a public repository on Bitbucket. Even though the source code is embarrasingly bad, I decided not to care. If you decide to care, you are quite free to hack it into better shape -- there are more than a dozen open issues in its issue tracker.

Check it out at http://catseye.tc/projects/yoob/

Corona: Realm of Magic

June 23, 2011: Something else I dug out of the attic. This was an elaborate roguelike I wrote (but never finished) in Perl, circa 2000. Still runs on a modern Perl (v5.10.1), but doesn't play too nicely with my modern terminal emulator. No further development is planned -- it is retained here for historical interest only. It's actually been on the site for a while, but due to some technical problems, was not announced until now.

Check it out at http://catseye.tc/projects/corona-realm-of-magic/

Apple Befunge

June 7, 2011: Hey, look what I dug out of the attic. I don't even remember what emulator the disk image was built for. Oh well.

Check it out at http://catseye.tc/projects/apple-befunge/

Pail is an acceptable Bizaaro[sic]-Pixley

May 27, 2011: If you've been following our news, you've noticed that twenty-eleven's been kind of a light year for new languages here at Cat's Eye Technologies. It's been mostly updates, with the only original design being Wunnel. Well, that pattern's been broke! We have another new language. It started its life under the name Bizaaro[sic]-Pixley, but it's called Pail now (for PAIr Language).

Check it out at http://catseye.tc/projects/pail/

Falderal: Literate Testing for Haskell Functions

May 17, 2011: We here at Cat's Eye Technologies have decided to stop building new ad-hoc test suite machinery for every new esolang we implement in Haskell. Instead, we have put together a package that can be used and reused for this purpose, and we have (for reasons obscure even to us) called it Falderal. It doesn't do a lot yet (it's only version 0.1...), but it has promise. We're already using it in Quylthulg. To encourage contributions, its development is hosted on a public repository on Bitbucket. Watch for its use in future projects!

Check it out at http://catseye.tc/projects/falderal/

Pluggin' some (specification) leaks in Eightebed

May 10, 2011: Eightebed version 1.1. Has a nice ring to it, doesn't it? Kind of mellow, with hints of strawberry and creosote on the back of the tongue. And that ring is even nicer when you realize that this update fixes the definition of the language to make it fulfill its original purpose. The concept of the safe area has been limited to statements in a block before the first free statement, thus preventing the creation of aliased dangling references. Thanks to Gregor Richards for pointing out this hole. Also included: a handful of bug and documentation of fixes that you don't care about.

Check it out at http://catseye.tc/projects/eightebed/

Oozlybub and Murphy and Progress!

April 27, 2011: Version 1.1 of the Oozlybub and Murphy programming language has been released. This update tries to clarify some of the errors in the specification while also slathering some extra goo onto it like a wimpmode. Enjoy, then enjoy again, then PLEASE DO KEEP ENJOYING UNTIL YOUR EYES BURN WITH DEEP DEEP CORROSION.

Check it out at http://catseye.tc/projects/oozlybub-and-murphy/

More blowing off of dust: Maentwrog

April 26, 2011: Marinus has been so kind to write documentation and example programs for the ancient and venerable Maentwrog language that I decided I ought to update the distribution to include them -- along with a small fix that allows the source to be build with modern C compilers like gcc and pcc.

Check it out at http://catseye.tc/projects/maentw/

yoob Grows Support for 3 More Esolangs

March 30, 2011: The yoob framework for esolang implementations has seen many minor improvements, and has had three more esolangs implemented for it. Two of these, Befunge-93 and brainfuck, are languages that no mega-eso-interpreter should be without; the third is Ypsilax, which was implemented in a relatively efficient manner (far more so than the existing implementation) to vet yoob's pattern-matching support.

None of these esolang implementations is particularly refined; each has some shortcomings w.r.t. the framework, and probably some bugs too. I expect they'll ripen with age. Enjoy...

Check it out at http://catseye.tc/lab/yoob/applet.html

Blowing the Dust off bef

March 18, 2011: The Befunge-93 reference interpreter, after a long period of inactivity, has been updated to version 2.22. This fixes three bugs, shortcomings, features, call them what you will: EOF characters are no longer written into the playfield when loading an otherwise blank source file (thanks to whoever sent me that patch six-odd years ago, and sorry that I have no recollection who you are); long source file lines are truncated instead of wrapping around to the next playfield line (this lets bef load mycology.b98 correctly); and the # instruction now behaves consistently when combined with wrapping (i.e. when it occurs at the very edge of the playfield.) All this and some minor aesthetic improvements to the interpreter, too!

Check it out at http://catseye.tc/projects/bef/

Technology preview: yoob

March 15, 2011: Cat's Eye Technologies has embarked on an ambitious project: build a framework which both reduces the effort to implement esolangs, and makes those implementations easily accessible to, and usable by, anyone with a modern web browser -- even non-programmers.

The project is called yoob. Even though it is still in an early stage of development, already more than ten esolangs have been implemented in it. And you can certainly expect more in the future. Enjoy...

Check it out at http://catseye.tc/lab/yoob/applet.html

We Three Things of Disorient Are

January 4, 2011: Alright, so it's a little late, I admit, but puns of that quality take time! We present three remotely fungeoid little esolangs that, in fact, were designed before Christmas: Gemooy, Nhohnhehr, and Kelxquoia. They're not in our project space yet, but they are on the esolang wiki, and one of them (Nhohnhehr) has an implementation already, thanks to Marinus.

So, take a gander at 'em, and you'll be saying, "Hey Chris, where'd you get your programming language designer's license? A cereal box?"

Actually, that'd be a pretty cool breakfast cereal, to have a prize like that...

Check it out at http://catseye.tc/cpressey/lingography.html#Gemooy

Refurbishment of Thue Implementations

December 18, 2010: We've released a couple of bugfixes and some general modernization to the implementations of the Thue language included in our Thue distribution. Thanks to Nathan Thern for the bug report that spurred on this effort!

Check it out at http://catseye.tc/projects/thue/

Fresh, Bold Stupid: Oozlybub and Murphy

December 1, 2010: Cat's Eye Technologies has developed a new programming language. The name of this language is Oozlybub and Murphy. Despite appearances, this name refers to a single language. The majority of the language is named Oozlybub. The fact that the language is not entirely named Oozlybub is named Murphy. Deal with it.

Check it out at http://catseye.tc/projects/oozlybub-and-murphy/

Pixley Version One Point One

November 5, 2010: An update to the Pixley programming language has been made, version 1.1, which fixes a problem where the reference implementation (and thus, for better or worse, the language definition) was not preserving the disjointedness of types. A lot of goodies have also been added to the distribution, including a more complete test suite, a REPL, a statistics generator, and an implementation in Mini-Scheme.

Check it out at http://catseye.tc/projects/pixley/

A Programming Language called Eightebed

September 1, 2010: I could have just explained to Gregor why he was mistaken, but noooo, I had to go and design an entire language to make my point. And I had to go and name it "Eightebed", too!

Check it out at http://catseye.tc/projects/eightebed/

Whothm, a Language for Infinite Drawings

June 29, 2010: We present Whothm, a simple language for describing infinite two-colour bitmaps. You can try it out in your web browser with JWhothm, an implementation of Whothm in a Java applet.

Check it out at http://catseye.tc/projects/whothm/

Burro Climbs to 2.0

June 7, 2010: A major overhaul was done to the Burro language, resulting in version 2.0. Whatever Burro 1.0 might have achieved, it wasn't its primary goal. As Alex Smith was kind enough to point out, the set of Burro 1.0 programs don't actually form a group.

Burro 2.0 fixes the design of the language to avoid the problem. It is defined as an executable semantics written in Literate Haskell/Markdown which includes both a proof that Burro 2.0 programs form a group, and a demonstration of how one can map a Turing machine to a Burro program.

Check it out at http://catseye.tc/projects/burro/

A video game: Bubble Escape 2K

May 12, 2010: Wow! A tiny C64 video game from the deep past! Actually, this was released almost a year ago, when it was submitted to the Mini Game Competition 2009, where it won first prize in its class. I decided to host it here given the undecided nature of the future of the minigamecomp.org.uk site.

We humbly think you should get out your Commodore 64 emulator and play it!

Check it out at http://catseye.tc/projects/bescape2k/

Gallery of Esteemed Programming Languages

April 30, 2010: At Cat's Eye Technologies, we have long beheld a few programming languages as exceptionally worth persual and appreciation, despite the fact that they have no implementations, are not under active development, and were not designed by Chris Pressey (or at least, you can't prove it.) We have, until recently, hosted these in our projects space. However, because of the criteria listed in the first sentence, we decided that these aren't really "projects" in any good sense, and we resolved to establish a distinguished display case for these beauties on this website.

And here it is – the Gallery of Esteemed Programming Languages.

The past few days have also seen a flurry of extremely minor updates to many of our projects, mostly to fix small conformancy issues, such as making the documentation validate as XHTML 1.0 Strict.

Check it out at http://catseye.tc/gallery/languages/

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.

Check it out at http://catseye.tc/projects/rube/

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.

Check it out at http://catseye.tc/projects/zowie/

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.

Check it out at http://catseye.tc/projects/etcha/

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.

Check it out at http://catseye.tc/projects/dieter/

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.

Check it out at http://catseye.tc/projects/pixley/

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!

Check it out at http://catseye.tc/projects/jaccia/

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.

Check it out at http://catseye.tc/projects/unlikely/

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.)

Check it out at http://catseye.tc/projects/shelta/

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.)

Check it out at http://catseye.tc/cpressey/louie.html

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.)

Check it out at http://catseye.tc/archive/

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.

Check it out at http://catseye.tc/projects/quylthulg/

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.

Check it out at http://catseye.tc/projects/kitsilano/

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.

Check it out at http://catseye.tc/projects/treacle/

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!

Check it out at http://catseye.tc/projects/petulant/

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.

Check it out at http://catseye.tc/projects/arboretuum/


Older news can be found on our news archive page.