Edit

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

Branch :

  • test/ic3/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]) }
    }
    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]) }
    }
    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]) }
    }
    reverse([1, 2, 3])
    [3, 2, 1]
    def reverse = fn (x) { List.reverse(x) }
    reverse
    reverse
    fn (x) { List.reverse(x) }
    reverse([1, 2, 3])
    [3, 2, 1]
    module()
    C3
    search_modules()
    [C3]
    reverse
    fn (x) { List.reverse(x) }
    def reverse = fn (x) { [:reversed | List.reverse(x)] }
    reverse
    reverse
    fn (x) { [:reversed | List.reverse(x)] }
    reverse([1, 2, 3])
    [:reversed, 3, 2, 1]
    module()
    C3
    search_modules()
    [C3]
    reverse
    fn (x) { [:reversed | List.reverse(x)] }
    def reverse = fn (x) { List.reverse(x) }
    reverse
    reverse
    fn (x) { List.reverse(x) }
    reverse([1, 2, 3])
    [3, 2, 1]
    module()
    C3
    search_modules()
    [C3]
    reverse
    fn (x) { List.reverse(x) }