January 2010
16 posts
Java4K: VVVV →
Markus Persson’s Java 4K entry VVVV is a remake of Terry Cavanagh’s VVVVVV.
Namespacing in Io and Ioke
I’ve been working with Io and Ioke more than usual lately and starting to get into projects that need to go beyond a single source file. I’ve hit a wall though: how should namespacing in prototype based languages be done? I’ve come up with a couple ways, and I’d love to see some alternatives.
A naive way would just be to keep a consistent naming scheme, like the top-level...
Lisp-flavored Ioke →
The best part about Lisp-flavored Ioke is that it’s only a matter of source formatting, there’s no external implementation. Compare the old version of Biild with dangling parens everywhere, with the newer, Lispier version.
web.go →
web.go is basically web.py, but for the Go programming language. It is a small web framework for Go.
Fantom Programming Language →
Fantom is a Java/C# inspired language (curly braces, targets both the JVM and CLR, as well as Javascript), with a definite Ruby influence, including the idea of everything being an object. It also has Ruby-style pipe notation for passing values to blocks. Here’s some sample code, Hello World in a GUI:
using gfx
using fwt
class FwtHello {
Void main() {
Window {
size =...
Code Free or Die() →
One Instruction Set Computer →
The ultimate RISC.
Dread Moon Linux →
Dread Moon Linux is an Ubuntu 9.04 derivative that provides the user with a complete game development environment centered around the D programming language.
tinyc.c →
/*
* This is a compiler for the Tiny-C language. Tiny-C is a
* considerably stripped down version of C and it is meant as a
* pedagogical tool for learning about compilers. The integer global
* variables "a" to "z" are predefined and initialized to zero, and it
* is not possible to declare new variables. The compiler reads the
* program from standard input and prints out the value of...
Exploring concatenative combinators.
As I read and tried to digest Brent Kerby’s The Theory of Concatenative Combinators, I wrote a simple tool called Concom so that I could try the examples out as I went along. It’s a purely symbolic program, and its syntax exactly matches what is given in the paper, with the addition of comments and definitions. It’s a perfect companion to experiment with. If you want to just dive...
q Language & RDBMS →
q is a joint language and RDBMS. The language is wonderfully difficult to read and write, although not as difficult as its predecessor, k. Here’s the 5 factorial from the REPL:
q) each[f:{$[x<0;0;prd 1.+til x]}]1+til 5 /factorial
1 2 6 24 120.0
fish-style prompt for bash →
I’m being forced to use bash at the moment, but at least I can have my fish prompt. If you don’t know the fish prompt, it shows a compressed version of the current working directory, showing only the first letter of each directory except for the last. Put this in your ~/.bashrc:
function _prompt {
_dir_abbr=$(temp=$(echo "${PWD/$HOME/~}" |sed -r 's/(\/.)[^/]*/\1/g'); echo ${temp:0:$((...