module obj. import helmet. type object Identifier -> o -> o -> o. type frozen Identifier -> o -> o -> o. type send Identifier -> o -> o. type call Identifier -> o -> o. type new A -> St -> Identifier -> o. type writeobj Identifier -> o. type break Identifier -> o -> o. send Id Msg || object Id St Ms --> (Ms -o call Id Msg) || frozen Id St Ms. writeObj (object Id St Ms) >> writeobj Id || object Id St Ms --> anti || object Id St Ms. break Obj State || object Obj State Ms --> all || anti. type writeObj Obj -> o. type writeMt o -> o. writeObj (object Id St Ms):- print "Object Id: ", write Id, print "\n State: ", write St, print "\n Methods: \n", writeMt Ms. writeMt (A & B):- writeMt A, print "\n\n", writeMt B. writeMt (pi A):- pi x \ writeMt (A x). writeMt A:- write A.