[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OOC Lib: Summary



This is a short collection of last weeks mails refering to the OOC
core library.  I didn't include the topics dynamic loading and
interfacing to other languages.  I hope that I've included all
relevant statements.  Flame me if not ;-).

Exceptions
  Exceptions are raised by calling HALT with negative argument and
  pass control to an exception handler installed in SYSTEM.
Program Arguments
  Have to support argv-style arguments and (possibly) GUI based
  arguments.  Argument syntax should follow the rules of the
  underlying OS.
Math 
  MG is working on machine-independent implementations of Math and
  MathL.  Math errors can be signaled by error messages resp. error
  codes, or by raising an exception. 
Files
  SvdW posted a comprehensive outline of a possible Files module.  Its
  basic data types are File, Reader, and Writer.  Most functions
  manipulating files are implemented as type-bound procedures.  
Filenames
  Modeled as objects (as variables of type `Locator'), allowing to
  abstract from the underlying OS.  Can be turned in/converted from
  strings.  Should be flexible enough to support extended locators
  like URL. 
Other Modules
  MvA suggests to take some modules from the Modula-2 DIS to cover
  low-level access to real numbers, string handling, conversion of
  numbers to strings and vice versa, and to access the system clock.  

Misc
  Need a procedure to execute a command a la Unix.system().  Dynamic 
  loading should be supported if possible, a module `Modules' acting
  as its interface.  FC would like to see localiziation in the library
  modules.
Oakwood
  Oakwood conforming modules are added for `educational' purposes,
  although their name may differ from the guidelines (eg, Files
  mutates to OakFiles).



The next step is to elaborate the module ideas, turning them into
module specifications.  I suggest to specify each module by means of a
definition module with descriptions for each entity (purpose, valid
input, reaction on errors, what output is generated, etc).   

I think we need someone to coordinate the library development:
delegating work, keeping track of who's doing what and of missing
parts, collecting the source codes and maybe doing some sort of
quality control.  I can't do this.  Would someone please volunteer for
this job?

-- Michael