Hash :
20ef7f9a
Author :
Thomas de Grivel
Date :
2024-07-30T15:01:34
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
def zero = (U8) 0
zero
zero
(U8) 0
def one_two_three = [(U8) 1, (U8) 2, (U8) 3]
one_two_three
one_two_three
[(U8) 1, (U8) 2, (U8) 3]
def double = fn (x) { x * (U8) 2 }
double
double
fn (x) { x * (U8) 2 }
double((U8) 200)
(U16) 400
double(zero)
(U16) 0
def double_tuple = macro (x) do
quote do
x = ^ unquote(x)
{x, x}
end
end
double_tuple
double_tuple
macro (x) do
quote do
x = ^ unquote(x)
{x, x}
end
end
double_tuple((U8) 200)
{(U8) 200, (U8) 200}
double_tuple(zero)
{(U8) 0, (U8) 0}
double_tuple(one_two_three)
{[(U8) 1, (U8) 2, (U8) 3], [(U8) 1, (U8) 2, (U8) 3]}
def reverse = fn {
(x) { reverse(x, []) }
([], acc) { acc }
([a | b], acc) { reverse(b, [a | acc]) }
}
reverse
reverse
fn {
(x) { reverse(x, []) }
([], acc) { acc }
([a | b], acc) { reverse(b, [a | acc]) }
}
reverse([(U8) 1, (U8) 2, (U8) 3])
[(U8) 3, (U8) 2, (U8) 1]
def reverse = fn {
(x) { reverse(x, []) }
([], acc) { [:reversed | acc] }
([a | b], acc) { reverse(b, [a | acc]) }
}
reverse
reverse
fn {
(x) { reverse(x, []) }
([], acc) { [:reversed | acc] }
([a | b], acc) { reverse(b, [a | acc]) }
}
reverse([(U8) 1, (U8) 2, (U8) 3])
[:reversed, (U8) 3, (U8) 2, (U8) 1]
def reverse = fn {
(x) { reverse(x, []) }
([], acc) { acc }
([a | b], acc) { reverse(b, [a | acc]) }
}
reverse
reverse
fn {
(x) { reverse(x, []) }
([], acc) { acc }
([a | b], acc) { reverse(b, [a | acc]) }
}
reverse([(U8) 1, (U8) 2, (U8) 3])
[(U8) 3, (U8) 2, (U8) 1]