Bend/examples/parallel_hello_world.bend
Victor Taelin 3ac46e839e fix typo
2024-05-14 23:41:51 -03:00

26 lines
541 B
Plaintext

// a binary tree
type MyTree:
Node { val, ~left, ~right }
Leaf { val }
// sums all values in a tree
def sum(tree):
fold tree:
case MyTree/Node:
return tree.val + tree.left + tree.right
case MyTree/Leaf:
return tree.val
// generates a binary tree of given depth
def gen(depth):
bend val = 0:
when val < depth:
tree = MyTree/Node { val: val, left: go(val+1), right: go(val+1) }
else:
tree = MyTree/Leaf { val: val }
return tree
// returns the sum of 0..2^16
def main:
return sum(gen(24))