Functional scripting language designed for programming education.

Pyret is a programming language designed to serve as an outstanding choice for programming education while exploring the confluence of scripting and functional programming.

It's under active design and development, and free to use or modify.

data BinTree:
  | leaf
  | node(value, left, right)

fun tree-sum(t):
  doc: "Calculate the sum of node values"
  cases(BinTree) t:
    | leaf => 0
    | node(v, l, r) =>
      v + tree-sum(l) + tree-sum(r)
  tree-sum(leaf) is 0
  node4 = node(4, leaf, leaf)
  tree-sum(node(5, node4, leaf)) is 9
Information updated 11/15/17
View Comments