git clone https://github.com/brownplt/pyret-lang
|#600on PLDB||12Years Old|
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) end 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) end where: tree-sum(leaf) is 0 node4 = node(4, leaf, leaf) tree-sum(node(5, node4, leaf)) is 9 end