t=: 1 2 3 t 1 2 3 names noun t t 1 2 3 names locale base j z names_base_ noun t t_abc_ =: 'hi there' t 1 2 3 t_abc_ hi there names locale abc base j z names_abc_ noun t make 0!:0@< make_abc_ 0!:0@< names_abc_ verb make_z_ 0!:0@< invalid_method_name_indicator =: 'unknown' for_effect_only =: monad def '''unspecified''' invalid_method_name_indicator unknown for_effect_only'' unspecified system'cat simple.object.ijs' NB. A simple object having a data value NB. and methods to access and set the data value. data =: 0 simple =: monad define ('method' ; 'value') =. 2 take y. if. method match 'type' do. 'simple object' elseif. method match 'get' do. data elseif. method match 'set' do. for_effect_only data =: value elseif. 1 do. root_object method ; value end. ) make_foo_'simple.object.ijs' names_foo_ noun data names_foo_ verb simple simple_foo_ <'type' simple object simple_foo_ <'get' 0 simple_foo_ 'set'; 'hi there' unspecified simple_foo_ 'get' hi there cat'root.object.ijs' NB. The root object NB. This object has no data structure and NB. implements only the type method. root_object_z_ =. monad define ('method' ; 'value') =. 2 take y. if. method -: 'type' do. 'root object' else. 'In root object: ',method,': Invalid method name.' end. ) simple_foo_ <'bar' In root object: bar: Invalid method name. make_a_'stack.object.ijs' stack_a_ <'emptyp' 1