lotus



previous page: E02) What does the Mjolner System contain?
  
page up: BETA Programming Language FAQ
  
next page: E04) What frameworks come with the Mjolner System?

E03) What libraries come with the Mjolner System?




Description

This article is from the FAQ, by with numerous contributions by others.

E03) What libraries come with the Mjolner System?

Basic libraries
The basic patterns are the object-oriented variants of the standard
simple data types, such as char, boolean, integer, and real. These
patterns make it possible to treat e.g. integers as ordinary objects.
The basic patterns also includes the Object pattern which is the
implicit superpattern for all patterns that have no explicit
superpattern.
See the Basic Libraries Manual for more details.

The Stream Patterns
A Stream is a generalization of internal and external text objects. An
internal text object (Text) is a sequence (repetition) of chars. An
external text object (File) corresponds to a traditional text file.
Stream, Text, and File are organized in the following hierarchy:

        Stream: (# ... #);
          Text: Stream(# ... #);
          File: Stream(# ... #);
            UnixFile: File(# ... #);
            MacFile: File(# ... #);

As part of the interface to the operating system, the basic libraries
include patterns for accessing the directory structures of hierarchical
file systems:

        Directory: (# ... #);
          UnixDirectory: Directory(# ... #);
          MacDirectory: Directory(# ... #);

See the Basic Libraries Manual p12 for more details.

The Process Patterns
The Process interface facilitates execution of subprocesses,
communication between several independent processes, client/server
architectures, and it is even possible to establish communication
between Unix, PC and Macintosh processes.
See the Process Libraries Manual for more details.

The External Language Interface Patterns
To enable interfacing with external languages (such as C), the basic
libraries define the external, cStruct, and externalRecord patterns.
See the Basic Libraries Manual p18 for more details.

Container libraries
The standard container data structures are organized in the following
inheritance hierarchy of patterns:

                              container
              collection arrayContainer sequentialContainer list
         multiset    hashTable   stack   queue   deque  prioQueue
           set   extensibleHashTable
     classificationSet   classificationSubSet

Container patterns are generic patterns in the sense that the element
type of the elements kept in the container can vary between different
container instances.
See the Container Libraries Manual for more details.

Persistent store:
Support for saving any kind of object generated by a BETA program
execution on secondary storage and restoring them in another BETA
program execution. The persistent store is fully type safe. An
object-oriented database for BETA objects is currently under
development.
See the Persistence in BETA Manual for more details.

Metaprogramming system libraries:
A metaprogram is a program that manipulates other programs. Yggdrasil
is a metaprogramming system that supports creation of metaprograms.
Yggdrasil is grammar-based: a metaprogramming environment may be
generated from the grammar of any language. The metaprograms manipulate
programs through a common representation called abstract syntax trees
(ASTs). An AST is modelled as an instance of a pattern. There is a
pattern corresponding to each syntactic category (non-terminal) of the
grammar. The grammar hierarchy is modelled by a corresponding pattern
hierarchy, derived automatically from the grammar.
See the Metaprogramming Manual for more details.


 

Continue to:















TOP
previous page: E02) What does the Mjolner System contain?
  
page up: BETA Programming Language FAQ
  
next page: E04) What frameworks come with the Mjolner System?