# Parfait is the ruby runtime module Parfait TYPE_INDEX = 0 class Object def self.memory_size 8 end def self.type_length 1 end def self.new( *args ) object = self.allocate # have to grab the class, because we are in the ruby class not the parfait one cl = Parfait.object_space.get_class_by_name( self.name.split("::").last.to_sym) # and have to set the type before we let the object do anything. otherwise boom object.set_type cl.instance_type object.send :initialize , *args object end end ["object" , "factory" ].each do |file_name| path = File.expand_path( "../parfait/#{file_name}.rb" , __FILE__) module_eval( File.read path) end end require_relative "parfait/data_object" require_relative "parfait/integer" require_relative "parfait/behaviour" require_relative "parfait/class" require_relative "parfait/meta_class" require_relative "parfait/list" require_relative "parfait/word" require_relative "parfait/binary_code" require_relative "parfait/callable" require_relative "parfait/block" require_relative "parfait/callable_method" require_relative "parfait/vool_method" require_relative "parfait/dictionary" require_relative "parfait/type" require_relative "parfait/cache_entry" require_relative "parfait/message" require_relative "parfait/named_list" require_relative "parfait/space"