Module: dfmc-definitions Synopsis: Shared function processing. Author: Keith Playford 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 define dood-class () /* abstract */ lazy constant slot form-signature, required-init-keyword: signature:; end; define packed-slots form-properties (, ) end packed-slots; define generic form-signature (form :: ) => (signature); // This is currently not used, but it's part of the defined API, so define it.. // The class of "define function" definitions. define class () end; define method form-define-word (form :: ) => (w :: ) #"function"; end; define ¯o function-definer { define ?mods:* function ?:name ?signature-and-body:* end } => with-expansion-source-location (fragment-record(form), fragment-source-position(form)) #{ define ?mods constant ?name = method ?signature-and-body end } end; end ¯o; // eof