Module: environment-protocols Synopsis: Environment protocols Author: Chris Page Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND /// Expression objects /// /// Expression objects represent arbitrary expressions in Dylan, usually /// on the right-hand side of an assignment. define open abstract class () end class ; // Expressions that evaluate to a type define open class () end class ; // The canonical type expression of arbitrary complexity (only one instance) define open class () end class ; /// Naming //---*** cpage: 1997.12.17 I'm not sure which of these methods is // really necessary. define method environment-object-type-name (object :: ) => (name :: ) "Expression" end method environment-object-type-name; define method environment-object-type-name (object :: ) => (name :: ) "Type expression" end method environment-object-type-name; define method environment-object-type-name (object :: ) => (name :: ) "Complex type expression" end method environment-object-type-name; define method environment-object-primitive-name (server :: , expression :: ) => (name :: ) "{complex type}" end method environment-object-primitive-name;