free site statistics

Sketches in Code



Introducing Qi: Interval Type Theory
The Ten Cent Lisp Type Checker
In Response to My Critics
How to Build a Quantifier Machine
Representing Non Determinism
Writing a Reliable Algebra Program
Using Polyadic Functions in Qi

Metaprogramming in Qi
Performance Shootout, Qi, Lisp and O’Caml
Types in Applied Mathematics
Type Checking and Inductive Types
Parsing as Algebra

Situations as Types

Since Qi 6.1 came online in April 2005, many people have shown interest in developing Qi for many different applications. The online text Functional Programming in Qi was designed as a language standard; it answers a lot of questions and is rich in code studies, but FPQi does not attempt to cover everything that can be done in Qi. As Wittgenstein wrote in the Tractatus,

"What we cannot speak of we must pass over in silence."

My lips are not as tightly sealed as Wittgenstein's. This page is a portal to a series of practical essays on various parts of computer science. I say 'practical' because the essays are copiously illustrated in code. All the studies are fairly short (a few sides) and the programs are also short (generally < 70 lines). Apart from anything, I like short examples! A lot of this stuff is unfinished. This is deliberate. A good friend of mine had a saying

"Software is never finished, its just abandoned."

This is true here. Part of the reason is that I want to encourage you to take these ideas further and improve them. They are a first word, not the only word, and certainly not the last word. The programs do work and they are very short and they are designed for you to mess around with them. Per ardua ad astra, we progress to the heavens by self-expression and doing our own thing. So mess around with these programs as much as you like.

I'd also like to say that I enjoyed writing this stuff - much more so than that parody of human creativity - the scientific paper. I hope you enjoy them too.