Executable Domain Languages
interface AccountManager {
Account open (in string name);
(defclass Account (Bank:Account)
(balance :accessor get-balance))
(def-corba-method Balance ((account Account))
(defclass AccountManager (Bank:AccountManager)
((accounts :accessor get-accounts :initform (make-hash-table :test #’equal))))
(def-corba-method open ((mgr AccountManager) name)
(gethash name (get-accounts mgr)))