Module: dfmc-environment-projects Author: Roman Budzianowski, Andy Armstrong 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 variable *open-projects* = make(); define open abstract primary class () end class ; define sealed domain make (subclass()); define sealed domain initialize (); define sealed method initialize (project-object :: , #key) => () next-method(); add-new!(*open-projects*, project-object); end method initialize; //--- Is there a way around making this sideways? define sealed sideways method open-projects () => (projects :: ) let projects :: = make(); for (project :: in *open-projects*) if (project-opened-by-user?(project)) add!(projects, project) end end; projects end method open-projects;