Yapsi 2010.08 Released!

The Raku Programming Language Collect, Conserve and Remaster Project

Yapsi 2010.08 Released!

Originally published on 2 August 2010 by Carl Mäsak.

It is with vertiginous modesty that I want to announce, on behalf of the Yapsidevelopment team, the August 2010 release of Yapsi, a Raku compiler written in Raku. (Am I using, too many, commas?)

You can get it here — as a bonus, if you download within 24 hours, the bits in your download will be hand-painted and signed by nine indefatigable mice from northern Belarus.

Yapsi is implemented in Raku. It thus requires a Raku implementation to build and run. Both Rakudo Star and the latest monthly release (“Atlanta”) seem to be fit to the task.

Yapsi is an “official and complete” implementation of Raku. It’s official because we stole the “Official Raku” rubber stamp and applied it liberally. Unfortunately, we also used all the special ink – please don’t tell any of the other implementors that. It’s complete because we implemented all the parts of the synopses that weren’t eaten by the team’s pet dugong.

This month’s release consists of a total refactor of both the runtime and the compiler. The Yapsi.pm file is about 100 lines shorter, with the same functionality. Lexical variables are now handled more correctly. For a complete list of changes, see doc/ChangeLog.

Quite a lot of features are within reach of people who are interested in hacking on Yapsi. See the doc/LOLHALP file for a list of ‘em.

Yapsi consists of a compiler and a runtime. The compiler generates a so-called instruction code, which is a code of instructions, for the runtime to run. This is fairly common, and nothing to be agitated about. The instruction code is called SIC, which is probably slightly less common. SIC is extended, re-thought and eaten by the team’s pet dugong on a regular basis, so don’t expect SIC from one release to be runnable on another.

An overarching goal for making a Raku compiler-and-runtime is to use it as a server for various other projects, which will hook in at different steps:

Another overarching goal is to optimize for fun while learning about parsers, compilers, and runtimes.

Gotta go feed S16 to the team’s pet dugong. We wish you the appropriate amount of fun!