[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Library overview (1)
This is the summary of the modules provided with ooc.
I have classified the modules according to the kind of functions
they provide, ie all modules working on REAL's and LONGREAL's
are in one group.
The modules themselves currently have the following
descriptions.
- the module name or names if the procedures in the modules
only differ in paramater- and/or return types (like Math and
MathL).
- a short description about the purpose of the module.
- whether the implementation of the module is system-dependent
or not.
- who is writing an system-independent implementation.
or
- who is writing the interface definition of a system-dependent
module.
- the state of the implementation (not-yet, alpha, beta, finished)
Comments, complaints about blatant errors, omissions and everything
else you think is important are gratefully received ;-)
I think that discussions about modules should have the module name(s)
in their 'Subject:' header, as in the 'Name'-part in this list. This
will make it easier to keep track of things.
Discussions about the list itself, additions etc are best posted as
a Reply to the list in question. I will start a new thread for every
list posted.
Here it comes.
Category: Exceptions
- Name: none, part of the SYSTEM module
- Description:
Exceptions are raised by calling HALT with negative argument and
pass control to an exception handler installed in SYSTEM.
- System-independent: probably not
- Implementor:
- State:
Category: Files and filenames
- Name: Files
- Description:
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.
- System-independent: No.
- Implementor: Sander van der Wal
- State:
- Name: Filenames
- Description:
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.
- System-independent: No
- Implementor: Sander van der Wal
- State:
Category: Properties of integers, (LONG)REAL's, mathematical functions,
conversions etc
- Name: ConvTypes
- Description:
Type conversions
- System-independent:
- Implementor: Mike Griebling
- State:
- Name: IntStr
- Description:
String to integer conversions and vice versa
- System-independent: yes
- Implementor: Mike Griebling
- State:
- Name: IntConv
- Description:
Low-level string conversion procedures for integers.
- System-independent:
- Implementor: Mike Griebling
- State:
- Name: Math, MathL
- Description:
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.
- System-independent: yes
- Implementor: Mike Griebling
- State:
- Name: RealMath/LongMath
- Description:
This will be implemented as calls to the appropriate Math(L)-routines
- System-independent: yes
- Implementor: Mike Griebling
- State:
- Name: LowReal, LowLong
- Description:
Give access to the underlying properties of the types REAL and
LONGREAL. Defines constants like radix, expoMin, expoMax, large,
small, etc. Provides functions to access various parts of a real
number, to synthesize a real, get the next higher/lower real number,
etc.
- System-independent: No
- Implementor: Mike Griebling
- State:
RealStr, LongStr
- Name:
- Description:
String to real number conversion and vice versa.
- System-independent:
- Implementor: Mike Griebling
- State:
- Name: RealConv, LongConv
- Description:
Low-level string conversion procedures for the floating point types.
- System-independent:
- Implementor: Mike Griebling
- State:
ComplexMath, LongComplexMath:
- Name: (Long)ComplexMath
- Description:
COMPLEX functions.
- System-independent: yes
- Implementor: Mike Griebling
- State:
Category: Strings and characters
- Name: Strings
- Description:
A superset of Oakwood Strings except that Cap turnes into Capitalize
and Pos into FindNext/FindPrev. Addtionally provides a number of
predicates to test wheter the procedures like Delete, Insert, etc
have valid input and do not truncate the output.
- System-independent: yes
- Implementor: Michael van Acken
- State:
- Name: CharClass
- Description:
Some predicates on characters (IsNumeric, IsLetter, IsUpper, etc).
- System-independent: yes
- Implementor: Michael van Acken
- State:
Category: Miscellaneous OS services
- Name: (Program Arguments)
- Description:
Have to support argv-style arguments and (possibly) GUI based
arguments. Argument syntax should follow the rules of the
underlying OS.
- System-independent:
- Implementor:
- State:
- Name: SysClock
- Description:
Getting and setting the system clock, predicates to test whether one
of the former is possible. Defines `DateTime' record.
- System-independent: no
- Implementor:
- State:
- Name: Modules
- Description:
Dynamic loading should be supported if possible, a module `Modules'
acting as its interface.
- System-independent:
- Implementor:
- State:
- Name:
- Description:
Execute a command a la Unix.system().
- System-independent:
- Implementor:
- State:
Category: Localisation/Internationalisation:
- Name:
- Description:
Localisation/internationalisation support. Examples are format of
date/time strings, format of money.
- System-independent: no
- Implementor: Frank Copeland.
- State:
Category: Oakwood compatible modules, not yet covered
- Name:
- Description:
Oakwood conforming modules are added for `educational' purposes,
although their name may differ from the guidelines (eg, Files
mutates to OakFiles).
- System-independent: yes.
- Implementor:
- State:
--
Sander
These systems people never changed. They could work miracles, but at the
same time they claimed perfectly reasonable requests were impossible.