© Jørgen Steensgaard-Madsen, Copenhagen, 2006
Miscellaneous utilities                                                  
 
   

Operation overview

Semantics

[ time_it OF T1,T2
     (Repetition:int)
     [Action:T1]
     [Reporter ... : T2] ]

Measures execution time of Repetion evaluations of Action. Then evaluates Reporter with information about results.
Clause   Reporter of operation time_it

Semantics

[ today OF T[Body ... : T] : T ]

Clause   Body of operation today
Clause is evaluated once with details given by names as follows:

Semantics

[ index OF W
     (N:string)
     [Members ... : W] : W ]

Clause   Members of operation index Members is evaluated with a name N_000 and an operation to generate a successor.

Semantics

[ scanenv OF W[Body ... : W] : void ]

Clause   Body of operation scanenv
For each binding in the environment, Body is evaluated with information about details

Semantics

[ split_string OF W
     (source:string)
     (pattern:string)
     [NoMatch:W]
     [Body ... : W] : W ]

If pattern is not found in source evaluation of NoMatch occurs. Otherwise Body is evaluated.
In general: split_string(A,B,A,((prefix)pattern)postfix) == A .
Clause   Body of operation split_string
If pattern is found in source, evaluation of Body occurs with values:

Semantics

[ keys OF T
     (N:int,X:int,Y:int)
     [Members ... : T] : T ]

The intent is to provide a simple function from short names to numbers 1..N (with small, say N<500) such that the names will be perceived as 'personal keys' to private data. A non-hostile community of users is assumed.
Numbers X and Y should have no common divisors greater than 1 and both belong to the interval 1..N.
Clause   Members of operation keys

Semantics

[ scanstring OF W
     (X:string)
     (D:string)
     [Body ... : W] ]

Clause   Body of operation scanstring
The given string X is scanned for (possibly empty) substrings separated by precisely one character from D. For each substring the clause Body is evaluated and provided with more detailed information.

Semantics

[ random OF W
     (Range OF L ... : int)
     [Member ... : W] : W ]

Generates a sequence of numbers apparently chosen at random and evaluates Members with means to access these numbers one by one.
Clause   Range of operation random
The Range computes the upper bound of the interval 0..p from which the numbers are drawn. For debugging purposes it allows assignment of a specific number to seed such that the generated sequence can be the same for successive applications of random. Proper applications should not assign a value to seed .
Clause   Member of operation random
Elements of the generated sequence are accessed in subsequences, possibly of length 1.
Operation next in the Member clause of random:
For each value in a subsequence Body is evaluated once.
Clause   Body of operation next

Semantics

[ options OF W[Members OF OPT ... : W] : W ]

Options vary the common behaviour of the Howard language interpreters. They may be set on a command line, but especially the INTERPRET operation motivates an operation to set and clear options during an interactive session.
Clause   Members of operation options
The Members is evaluated once with information about options and operations to set and clear these.

Semantics

[ split_path OF W
     (Path:string)
     [Members ... : W] : W ]

A (Unix) path name given by Path is decomposed and Members is evaluated to access detailed information.
Clause   Members of operation split_path

Contents

·Demo language
Implementation tool
Copyrights


General properties
Applications
·Contributions
Installation


Somefix operators
Statements
Predefined type operators
Mutable variables
Functions for mathematics
File operations
Processes and connections
·Misc. utilities
New type operators
Top-level entities



File translated from TEX by TTH, version 3.33.
On 21 Nov 2006, 12:54.
SourceForge.net Logo