Castile

A work-in-progress programming language in the genre of experimental language by Chris Pressey, Cat's Eye Technologies, Nov 21, 2012

Castile is an unremarkable programming language which exists mainly because an unremarkable evaluator/compiler for it was written. It is a bit like ANSI C except with proper union types (and no typecasts.) Local variables are mutable, but arguments and globals aren't. The compiler supports several backends, including Javascript and Ruby.

Sample Program

fun foo(a, b: integer|string) {
  r = a;
  typecase b is integer {
    r = r + b;
  };
  typecase b is string {
    r = r + len(b);
  };
  r
}
main = fun() {
  a = foo(a, 333 as integer|string);
  a = foo(a, "hiya" as integer|string);
  a /* should output 337 */
}

Computational Class

believed Turing-complete

Programming Paradigms

Defined by

castile.py in the Castile distribution

Influences

Implementations