Edit

kc3-lang/kc3/ic3/.ic3_history

Branch :

  • ic3/.ic3_history
  • type(1 +i 2)
    1 +i 2 +i 3
    (1 +i 2) * (2 +i 3)
    sqrt(-1)
    sqrt(-1) * sqrt(-1)
    sqrt(-2) * sqrt(-2)
    def dt = macro (x) do
      quote do
        x = ^ unquote(x)
        {x, x}
      end
    end
    dt(200)
    dt(200 * 200)
    dt(sqrt(-1))
    def double = fn (x) { x * 2 }
    double(200)
    double(beaucoup)
    def beaucoup = 1 + 10000000000000000000000000000000000000000000
    double(beaucoup)
    dt
    double(3/4)
    1 / double(3/4)
    a = b
    a = 1
    b = a
    b = ^ a
    b = a
    a = ^ b
    a = ^ c
    a = ^ b
    b = 1
    a = ^ b
    a = c
    fib(10)
    fib(20)
    def fib = fn { (0) { 1 } (1) { 1 } (x) { if x < 0 then 1 else fib(x - 2) + fib(x - 1) end } }
    def fib = fn (x) { if x < 0 then 1 else fib(x - 2) + fib(x - 1) end }
    def fib = fn (x) { if x < 0 then
    1
    else
    fib(x - 2) + fib(x - 1)
    end
    }
    if true then 1 else 2 end
    if true 1 else 2 end
    def fib = fn (x) { if x < 0 1 else fib(x - 2) + fib(x - 1) end }
    fib(-1)
    def fib = fn (x) { if x < 0 0 else fib(x - 2) + fib(x - 1) end }
    def fib = fn (x) { if x < 0 then 0 else fib(x - 2) + fib(x - 1) end }
    def fib = fn { (0) { 1 } (1) { 1 } (x) { if x < 0 then 0 else fib(x - 2) + fib(x - 1) end }}
    do end
    end
    do end
    end
    do end
    defmodule Plop do end
    quote Plop
    quote_cfn Plop
    (Sym) "Abc"
    defmodule Plop do end
    defmodule Plop do def a = 1 end
    quote_cfn Plop
    defmodule Plop do def a = 1 end
    Plop.a
    defmodule Plop do def a = 1 end
    Plop.a
    Plop
    defmodule Plop do def a = 1 end
    Plop.a
    defmodule Plop do def a = 1 end
    Plop.a
    defmodule Plop do defoperator :operator_add :+ cfn Tag "tag_add" (Tag, Tag, Result) 10 :left end
    defmodule Plop do defoperator :operator_add :+ cfn Tag "tag_mul" (Tag, Tag, Result) 10 :left end
    defmodule Plop do
      defoperator :operator_add :+ cfn Tag "tag_mul" (Tag, Tag, Result) 10 :left
      def sq = fn (x) { x + x }
    end
    Plop.sq(4)
    defmodule Plop do defoperator :operator_add :+ cfn Tag "tag_mul" (Tag, Tag, Result) 10 :left end
    defmodule Plop do
      def sq = fn (x) { x + x }
    end
    Plop.sq(4)
    +
    %C3.Operator{
      sym: :****,                                                                        
      symbol_value: cfn Tag "tag_mul" (Tag, Tag, Result),
      operator_precedence: 11,
      operator_associativity: :left
    }
    %C3.Operator{sym: :****, symbol_value: cfn Tag "tag_mul" (Tag, Tag, Result), operator_precedence: 11}
    (Void) 0
    (Integer) 0
    (Integer) 10
    type((Integer) 10)
    type((Integer) 0)
    (Sw) 10
    (Uw) 10
    def operator_muul = %C3.Operator{sym: :****, symbol_value: cfn Tag "tag_mul" (Tag, Tag, Result), operator_precedence: 11, operator_associativity: :left}