diff options
Diffstat (limited to 'ruby/types.rb')
| -rw-r--r-- | ruby/types.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ruby/types.rb b/ruby/types.rb index 02ca7a6..16d8d1e 100644 --- a/ruby/types.rb +++ b/ruby/types.rb @@ -1,6 +1,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 |
