[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