Actually just three programming languages in a trenchcoat
1func range 0 = unit
2func range n = n : range (n - 1)
3
4proc main!() {
5 let array = [x for x in range 5]
6 let set = [| x for x in range 5 |]
7 let record = {| x => 2 * x for x in range 5 |}
8
9 let mut total = 0
10 for x in array { total += x }
11 for x in set { total += x }
12 for x:y in record { total += x + y }
13
14 exit total
15}