Hi Johan: "A module is a logically self-contained and discrete part of a larger program". The "traditional modules" like packages, classes fall under this definition. But also non-traditional modules like aspects, APPCs, contracts etc. also fall in to the module definition. They all have the flavor of collaboration-based modules. Do you want to work on a module system for APPCs after learning from the Felleisen/Flatt paper? -- Karl =========== Hi! If any of you know of any pointers to module systems for OO langauges, I'd be obliged if you'd send me them. Of course, Modula3 I know about, but besides that i'm kinda dry. I know I haven't defined what is to be conscidered a module system (does c++ have one? Arguably not, even though it supports separate compilation), but I haven't get a good enough handle on the subject matter to make a good one up. Johan From will@ccs.neu.edu Thu Jun 25 17:27:20 1998 From: William D Clinger Received: (from will@localhost) by altair.ccs.neu.edu (8.8.6/8.8.6) id RAA10675; Thu, 25 Jun 1998 17:27:14 -0400 (EDT) To: johan@ccs.neu.edu Subject: Re: Pointers Cc: dougo@ccs.neu.edu, lieber@ccs.neu.edu, lth@ccs.neu.edu, wand@ccs.neu.edu, will@ccs.neu.edu Here are the module systems for OO languages that I can think of offhand: Modula-3 modules C++ namespaces Common Lisp modules, packages Java interfaces, packages Note that Common Lisp's packages are more like the namespaces of C++ than the packages of Java. PLDI '98 had a paper by Matthias Felleisen and Matthew Flatt that described a module system for an ML-like language, based on the module system used in Rice's implementation of Scheme. From the talk, it sounds like that paper may contain a pretty good comparison of various module systems, including the namespaces of C++ and Common Lisp and the packages of Java. You can probably find the Felleisen/Flatt paper on their web pages. If not, please let me know so I can make a copy from the proceedings. Will