aboutsummaryrefslogtreecommitdiff
path: root/ruby/types.rb
blob: 16d8d1e123a6f4d4c9b7215f9d766b8dafba032a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require "env"

class List < Array
end

class Vector < Array
end

class Function < Proc
    attr_accessor :ast
    attr_accessor :env
    attr_accessor :params

    def initialize(ast=nil, env=nil, params=nil, &block)
        super()
        @ast = ast
        @env = env
        @params = params
    end

    def gen_env(args)
        return Env.new(@env, @params, args)
    end
end