aboutsummaryrefslogtreecommitdiff
path: root/ruby/core.rb
blob: 268ebadddaa3382cee972ba557938f3e3cc12415 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$core_ns = {
    :"=" =>       lambda {|a,b| a == b},
    :"pr-str" =>  lambda {|*a| a.map {|e| _pr_str(e, true)}.join(" ")},
    :"str" =>     lambda {|*a| a.map {|e| _pr_str(e, false)}.join("")},
    :"prn" =>     lambda {|*a| puts(a.map {|e| _pr_str(e, true)}.join(" "))},
    :"println" => lambda {|*a| puts(a.map {|e| _pr_str(e, false)}.join(" "))},
    :< =>         lambda {|a,b| a < b},
    :<= =>        lambda {|a,b| a <= b},
    :> =>         lambda {|a,b| a > b},
    :>= =>        lambda {|a,b| a >= b},
    :+ =>         lambda {|a,b| a + b},
    :- =>         lambda {|a,b| a - b},
    :* =>         lambda {|a,b| a * b},
    :/ =>         lambda {|a,b| a / b},
    :list =>      lambda {|*a| List.new a},
    :list? =>     lambda {|*a| a[0].is_a? List},
    :empty? =>    lambda {|a| a.size == 0},
    :count =>     lambda {|a| a.size},
}