Module: dfmc-conversion 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 //// The top type define compiler-sideways method compute-form-model-object (form :: , name :: ) => (model) ^make(<&top-type>, definition: form); end method; //// The bottom type define compiler-sideways method compute-form-model-object (form :: , name :: ) => (model) ^make(<&bottom-type>, definition: form); end method; //// Booted raw-types define compiler-sideways method compute-form-model-object (form :: , name :: ) => (model) let supertype-name = form-supertype-name(form); let supertype-model = if (supertype-name) let model = ^top-level-eval(supertype-name); if (model) model else error("Undefined raw type supertype %s of %s", supertype-name, name); dylan-value(#"") end; else #f; end; ^make(<&raw-type>, definition: form, debug-name: as-lowercase(as(, name)), supertype: supertype-model, descriptor-function: form-raw-type-descriptor-function(form)); end method; // eof