[MODULES] Class structure for modules and much more :-)

Dirk Wessels icircle at xs4all.nl
Tue Sep 4 15:12:41 UTC 2001


An example for Modules in squeak

*Module
 --WorkspaceModule  -- classes and methods are seperated from the rest of
the system
    - Project  // "my work"
   - Scratch  // "do anything you like"
   - Private // "test"
 -- Package -- something you can "add" to your image or workspace (module)
   - Library // adds many new classes and methods. eg: Math3DLibrary
       - System  // standard library of Smalltalk
   - Driver // defines and implements connection to hardware or component
(may need DriverInterface class)
        - UpdatedDriver // replaces parts of the implementation
        - RemoteDriver // connection to remote or embedded hardware
    - Component  // defines a gui-component and some of its functionality
        - UpdatedComponent
 -- Segment -- seperation of instance-space
   - RemoteSegment  // distant objects or embedded objects
   - InternalSegment  // like cpu-objects
   - LanguageInterfaceSegment // communication with C

There is also a module browser which includes a class and method browser.
Inside this browser the module's settings can be changed.


The module's instance variables:
  definedMethods
  definedClasses
  definedVariables
  importedModules
  exportedModules
  submodules  -- submodules automatically import the main module's stuff.
  exportedMethods
  exportedClasses
  exportedVariables
  --internal--
  methodDictionary
  classDictionary
  variableDictionary

  --system options--
  optimisationLevel
  nilAsSubclassOfObject
  methodTemplates
  methodVTables
  memoryOptimisations
  memoryRestrictions
  trackGarbage
  useProfiler

--methods for opening closing etc..--
  open
  close

  connect  // for remote stuff
  sleep
  wakeup
  disconnect

  fileOut...
  fileIn...







More information about the Squeak-dev mailing list