Actually just three programming languages in a trenchcoat
1type Helpers {
2 func repeat 0 _ = unit
3 func repeat n x = x : repeat (n - 1) x
4
5 func twice x = repeat 2 x
6 func thrice x = repeat 3 x
7
8 proc printEach!(iterable) {
9 for item in iterable {
10 println!(item)
11 }
12 }
13
14 export twice, thrice, printEach
15}
16
17proc main!() {
18 let numbers = [1, 2, 3, 4, 5]
19 Helpers::printEach!(map Helpers::twice numbers)
20 Helpers::printEach!(map helpers::thrice numbers)
21}