Project Description
A concatenative language with higher order functions, reader macros, and a type system. Written in C# and interpreted, not compiled (yet).

Main Features

  •  Concatenative, stack-based model
  • Postfix syntax
  • Higher order functions ("quotes")
  • Formal parameters for quotes for those times when manipulating the stack is too complicated
  • Dynamically bound words
  • Reader macros
  • Simple type system with multiple dispatch

Example

def fact [dup 0 <= [dup dec fact *] [drop 1] if]
def ask [print read-line]
"n = " ask parse-int fact println
def (quote filepath) with-file [[file print-to-file] :print let! quote apply]
[print "Hello, World!\n"] "some-test-file.txt" with-file
~ previous line prints "Hello, World" to the file, instead of to the console.

Last edited Mar 27, 2013 at 3:33 PM by feralin, version 6