Theta

What is computing; if not a space where mathematics, logic, and philosophy can elegantly be expressed?

Introduction #

While learning LISP and reading SICP I became enamoured with the evaluator. The evaluator is (usually) a function or small program that deconstructs a symbolic expression and tries to get a value out of it. If the expression is a value, it simply returns that value; but if part of the expression is evaluable or executable in itself, it will evaluate that part and apply the rest of the expression to it. Which means that if you have a way of defining evaluable an expression (let’s call it a lambda); you can define and evaluate any computable expression!

This left me wanting to write one myself.

Repository

(Θ list processor) #

Theta is a list processor, inspired by Clojure and Elisp, written in Go.

On building Theta #

To build Theta, execute: $ make build

This should produce the ./bin/theta and ./bin/threpl executables.

On installing Theta #

To install Theta, execute: $ cp ./bin/* /usr/local/bin/

On using Theta #

Read the Thenual.

On naming Theta #

The reasons for the name are twofold:

There are many computer science concepts referencing greek letters:

  • Raspberry Pi
  • Lambda calculus
  • Zeta Lisp
  • The Emacs logo (ξ)

My initials are TH, which is the loose phonetic transcription of the letter Θ.