Edit

kc3-lang/kc3/test/ikc3/def.out.expected

Branch :

  • test/ikc3/def.out.expected
  • def zero = 0
    zero
    zero
    0
    def one_two_three = [1,
                         2,
                         3]
    one_two_three
    one_two_three
    [1,
     2,
     3]
    def double = fn (x) { x * 2 }
    double
    double
    fn (x) { x * 2 }
    double(200)
    400
    double(zero)
    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(200)
    {200, 200}
    double_tuple(zero)
    {0, 0}
    double_tuple(one_two_three)
    {[1,
      2,
      3], [1,
           2,
           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]) }
    } [x: [1,
           2,
           3]]
    reverse([1,
             2,
             3])
    [3,
     2,
     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]) }
    } [x: [1,
           2,
           3]]
    reverse([1,
             2,
             3])
    [:reversed,
     3,
     2,
     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]) }
    } [x: [1,
           2,
           3]]
    reverse([1,
             2,
             3])
    [3,
     2,
     1]