Note from archiver<at>cs.uu.nl:
This page is part of a big collection
of Usenet postings, archived here for your convenience.
For matters concerning the content of this page,
please contact its author(s); use the
source, if all else fails.
For matters concerning the archive as a whole, please refer to the
or contact the archiver.
Subject: Modula-2 FAQ/part2
This article was archived around: 20 May 2009 04:13:11 GMT
Last-modified: 2009 05 07
Modula-2 Frequently Asked Questions Part 2
4. WHERE CAN I GET SOURCE CODE, OTHER INFO?
4.1.1 Is there source or other info available on the net?
A. Here are some net sites I have accessed at one time or another. I am not=
sure if all are still available or what is in them.
http://www.arjay.bc.ca/Modula-2/m2faq.html ( Home of this FAQ)
http://lwb.mi.fu-berlin.de/murus/A large amount of Modula-2 source as well =
as the modified Mocka-on-Linux compiler (to accept def/mod files).
4.2 What other FAQs or lists of pages are available?
4.3 Where can I find graphics libraries, etc?
A. Try the PMOS library for various platforms at one of the following sites=
ftp://ftp.psg.com/pub/modula-2/code (North America)
ftp://cs.ru.ac.za/pub/languages (South Africa)
ftp://dutiba.twi.tudelft.nl/pub/modula2 (Western Europe)
ftp://ftp.cnit.nsu.ru/pub/msdos/programm.ing/modula2 (Eastern Europe).
4.4 Are there any mathematical libraries available?
A1. See Numerical Procedures in Modula-2 -- authorized translation of Numer=
ical recipes in Pascal from PolyWare (Klara Vancso): firstname.lastname@example.org (wor=
k) OR email@example.com (home) The CD-ROM has the Modula-2 sources. See htt=
p://www.nr.com Note that sources given in this book are of the "quick and d=
irty" variety and cannot be sold as such, only in compiled form.
A2. LMathLib is a library that defines a number of mathematical functions f=
or Modula 2 programs. Unlike other libraries of the same kind, LMathLib pat=
ches the Modula 2 compiler. All library functions are inlined as assembler =
code for the Floating Point Unit. This results in faster code compared to t=
he traditional solution with subroutine calls. Due to this machine dependen=
t technique, you can use the library ONLY with the (free) GMD Modula System=
Mocka for Linux on INTEL based machines. You can get the LMathLib library =
via anonymous ftp from ftp://tee-1.tee.uni-essen.de/pub/Mocka/(132.252.131.=
33) Documentation is included.
A3. MATHPAK 87/32 is available for most 32-bit compilers. A lite version fo=
r Canterbury M2 is freely downloadable from http://www.webcom.com/mhc/welco=
Written fully in INTEL CPU machine language
Math Coprocessor control
Basic Math functions
Vector and Vector-Scalar Routines
Vector and Vector-Scalar 'Skip' Procedures
Complex Number Routines
Complex Vector and Vector-Scalar Routines
Polynomial Manipulation Routines
Simple Matrix and Vector-Matrix Routines
Solving Systems of Linear and Nonlinear Equations
Nonlinear Least-Squares Minimization
Eigenvalues and Eigenvectors
Singular Value Decomposition
Extrapolation of Vector-Sequences
Statistical and Data-Fitting Rountines
Fourier Transforms and Convolution
Spectral Analysis Routines
4.5 Where can I get a Modula-2 to C converter?
A: The program mtc is available from
Several of the compilers available work or can work by producing C or C++ c=
ode and can also serve this purpose. See p1, XDS and Ulm's m2c (not the sam=
e as mtc) listings for examples.
4.6 Where can I get a Modula-2 to Component Pascal converter?
A.This is available from http://www.lrz.de/~Bernhard_Treutwein/m2o.txt
Note: Component Pascal is an Oberon dialect, but the translator does not us=
e any CP specific features, i.e. generates standard Oberon-2.
4.7 Are there any Modula-2 applications around?
A. Besides the items mentioned in 1.11, the Idaho National Engineering Labo=
ratory (INEL) develops and maintains a now
~350,000 line MODULA-2 reusable component library called SAGE. For more in=
formation on SAGE send E-Mail to firstname.lastname@example.org or see the web site =
4.8 Are there any compiler construction tools available?
A1. Some old ones appear in ftp://ftp.gmd.de/GMD/cocktail/
A2. Coco/R generates recursive descent parsers and their associated scanner=
s from attribute grammars. Full source code, and a variety of simple exampl=
e applications are supplied in the distribution kits. The Modula versions (=
1.50 is the latest) are available from ftp://ftp.ssw.uni-linz.ac.at/pub/Coc=
o/ and the Java versions are there too, at ftp://ftp.ssw.uni-linz.ac.at/pub=
There are versions for the MS-DOS compilers (JPI, FST, Logitech, StonyBrook=
, Gardens Point), for the Mocka compiler for Linux and FreeBSD, as well as =
for the Gardens Point Unix compilers, including Linux and FreeBSD. There is=
also a version that produces TurboPascal units very similar to the Modula-=
2 modules. This is also FreePascal compliant now. A port for the p1 compile=
r on Mac OS 9 is also available. Latest information is available at http://=
cs.ru.ac.za/homes/cspt/cocor.htm. Pat Terry's textbook "Compilers and Compi=
ler Generators" that uses Coco/R is now online at http://www.scifac.ru.ac.z=
A2. A copy of the EBNF for ISO Modula-2 can be found in Appendix 3 of the s=
hareware text at:
4.9 Is there an applications framework for Windows programming?
A. Try looking at
This software is an application framework that implements a number of class=
es that encapsulate the weirdness of the Windows C API and attempts to pres=
ent it in a cleaner way to the Modula-2 programmer.
4.10 Does there exist something to convert a C header file to a Modula-2 DE=
FINITION MODULE file for me?
A. Try looking at the XDS Ltd site for the H2D freeware product on some pla=
4.11 Where can I get the C code of a Modula-2 compiler?
A. Most Modula-2 compilers are written in Modula-2. It seems
rather strange to me that one would want to trust the compilation of a
good language to a tool written in a poor one.
4.12 What language is the linker written in?
A. That depends. If the linker is system wide (designed for multiple langua=
ges) it could be written in almost any language. If it icomes with the Modu=
laq-2 package and is designed for linking files produced by a Modula-2 comp=
iler, it may well be written in Modula-2.
4.13 What can I do with old sources from Modula Corp?
A. From the former president Richard Ohran (ROhran@vinca.com): "Modula Corp=
. is dead. Do whatever you like."
4.14 Are there source code examples anywhere for Windows programmers?
A. Translations of Example Programs in Charles Petzold's book "Programming =
Windows 95" from Visual C++ to Stony Brook and XDS Modula-2 by Peter Stadle=
r, Vienna can be found at: http://www.nhm-wien.ac.at/Petzold/Index.html
4.15 Isn't there a Modula-Prolog project somewhere?
A. Try ABB Corporate Research and Carlo Muller, who may license it to you f=
or non-commercial purposes. mailto:email@example.com
4.16 Is C. Lins SCL library available?
A. Yes, at
4.17 Can you help me with my assignments?
A1. Some people may give you hints, but please do not subvert your professo=
r and your education by submitting work other people do for you.
A2. Here are two answers submitted to the newsgroup in response to a desper=
ate student's plea for ANY Modula-2 program. The first is rather prosaic; t=
he second a little more imaginative:
STextIO.WriteString ("I will do my own homework.");
for(i=3D0; i100; i++)
printf("I will do my own homework.\n");
Followup Question: Is that Modula-2? I just finished my first course in Mod=
ula-2 and that don't look at all familiar. I'm not looking forward to the f=
A. (Pat Terry) Computer Science changes sooo rapidly. Haven't you discovere=
d Modula-2++ yet?
5. SPECIFIC QUESTIONS ON CODE AND ALGORITHMS
5.0 Where can I get general information on algorithms?
A Try the site http://www.cs.sunysb.edu/~algorith/
5.1 Where can I get an algorithm for an efficient random number generator?
A1. Pierre L'Ecuyer: Efficient and Portable Combined Random Number Generato=
rs, Communications of the ACM, vol. 31, no. 6, pp. 742-749. The RNG has a p=
eriod of approximately 2.3E+18. Generating 1 000 000 numbers per second, th=
at means that it would take over 73 000 years before it repeated a sequence=
A2.Look in the PMOS library. This one uses the 'Minimal standard random num=
ber generator' described by Park & Miller, CACM 31,10,Oct 88 p1192. The cod=
e has been checked for the 10001st random as specified in Park & Miller p11=
95. One site is:
A3. A pseudo random generator using the subtractive method taken from Knuth=
, Seminumerical Algorithms, 3.2.2 and 3.6, belongs to Ulm's Modula-2 System=
that is distributed under the terms of the GPL (and in case of the library=
under the terms of the LGPL). More informations may be found at http://ww=
5.2 How can I prevent NIL pointer errors?
A.First guard your reference by writing
IF (myPointer # NIL) AND (myPointer^.fieldname =3D)...etc.
Because Modula-2 has short circuited Boolean expression evaluation, the fir=
st part guards the second from being evaluated inappropriately. Then, take =
the radical, unC-like step of checking your code design for the logical err=
or that led to the incorrect reference in the first place.
5.3 Why doesn't my IF statement compile?
A.See the example in the last subsection. Boolean expressions must be delin=
eated with parentheses.
5.4 Can I assume numeric variables are set to zero and Booleans to FALSE?
A. No. The values of variables are random until your code sets them. Declar=
ing does not initialize.
5.5 Why do conversions from real to whole types sometimes crash?
A.You need to protect your conversion code by using MAX (TYPE) and MIN (TYP=
E) which are part of the ISO Modula-2 base language.
5.6 Does a CASE statement always need an ELSE clause?
A. No, but it's not a bad idea, even if you think you have covered all the =
cases. If you have, a good compiler might optimize your code away, but if y=
ou haven't, you could be in for trouble.
5.7 What are the system types to which all other parameters are compatible=
A.Just LOC and ARRAY OF LOC (one dimension). This does not work for multidi=
mensional arrays of LOC, and there are no defined BYTE and WORD types, thou=
gh implementations may include them as well.
5.8 How do I control the serial port, mouse, network card, TCP/IP or other =
communications protocol or peripheral?
A.These are system dependent, and no modules for this can be found in the s=
tandard. A vendor MAY supply them. Ask.
5.9 Does the object model for OO-Modula-2 have garbage collection or not?
A. BOTH traced (collected) and untraced (roll your own memory management) o=
bjects are available in ISO OO Modula-2.
5.10 What is the arity of inheritance for OO-Modula-2?
A. Single inheritance only.
5.11 What do you use the generic extensions for?
A. These allow you to write code for structures such as lists or queues, or=
for routines such as a sort, without initially specifying the data types t=
hat are in the structure or the target of the routine. The initial module i=
s called a generic module. Such modules can be refined for the specific dat=
a types by a refining separate module (library) or a refining local module.
5.12 How do I clear the screen?
A. This non-standard functionality may be present in a module called Termin=
5.13 How do redirect screen and keyboard I/O?
A. This non-standard functionality may be present in a module called InOut =
or (in an extension to ISO versions) in RedirStdIO. The procedure to use is=
OpenInput (or OpenOutput). Unfortunately these behave differently in every=
version (one of the reasons we built a standard). Some versions produce a =
prompt at runtime, others take a file name. The latter may or may not requi=
re a file extension. They may look for the name as you have provided it and=
if they don't find it, try with the default extension .txt Others have a w=
ay of entering the extension. You will have to consult the documentation.
5.14 Why use the colon before the type in a VAR declaration, and why have t=
he vertical bar as a case separator rather than a semicolon?
A. The se are both "syntactic sugar" to help the compiler know what it's do=
ing. For instance, if there were no colon in a type declaration, the compil=
er would not know the last identifier is supposed to be a type name because=
it wouldn't know it was last until checking the next token. Lookaheads are=
expensive. Also, there was no need for subsequent committees and designers=
to change this from Wirth's definition. After all, there is no ambiguity h=
6. WHAT ARE SOME REFERENCE MATERIALS ON MODULA-2?
A1. A shareware text I have written (and that MAY be the only currently mai=
ntained English language instructional text on Modula-2) is available. See =
A2.The manuals for some of the commercial products contain much useful info=
A3. The Gardens Point sites have documentation available (see their listing=
A4. A document called Modula-2 for Pascal programmers (Postscript,10 pages)=
may be fetched by anonymous ftp at ftp://ee.newcastle.edu.au/pub/modula2/M=
The author has not updated the contents for a couple of years, so there may=
be inaccuracies in terms of the current language standard.
A5. A variety of ETH papers are stored at ftp.ftp.ethz.ch in /doc/diss, /do=
c/tech-reports and /pub/oberon/docu
A6. What follows is a BIBLIOGRAPHY of some published materials in a table d=
elimited by two spaces between fields:
Author Title City Publisher Year Subject
Adams, J. Mack Gabrini, Philippe J & Kurtz, Barry L. An Introductio=
n to Computer Science with Modula-2 Lexington, MA D.C. Heath & Co 1988
Backhurst, Nigel G. Mastering Modula 2 Wilmslow Sigma 1988
Beidler, John & Jackowitz, Paul Modula-2 Boston Prindle Weber & =
Blaschek, G. & Pomberger, G. Introduction To Programming With Modul=
a-2 Springer-Verlag 1990
Budgen, David Software Development with Modula-2 Reading, MA Add=
Carmony, Lowell A. & Holliday, Robert L. A First Course In Modula-2=
New York Computer Science Press c1990
Carroll, D. W. Advanced Modula-2 Programming for the IBM PC XT and=
AT Elsevier 1986
Chirlian, Paul M. Introduction to Modula-2 Beaverton, Or. Matrix P=
Christian, Kaare A guide to Modula-2 New York Springer-Verlag 1=
Cooling, J.E. Modula-2 for Microcomputer Systems Van Nostrand Re=
Cooper, Doug Oh My! Modula-2! New York Norton 1990
Cornelius, Barry Programming with TopSpeed Modula-2 Reading, MA =
Addison Wesley 1991
Eisenbach, Susan & Sadler, Cristopher Program Design with Modula-2=
Reading, MA Addison-Wesley 1989
Elder, Jim Compiler Construction: A Recursive Descent model Heme=
l Hempstead England: Prentice-Hall 1994
Etling, Don Modula-2 Programmer's Resource Book Blue Ridge Summit=
, PA Tab Books 1988
Feldman, Michael B. Data Structures with Modula-2 Englewood Cliffs=
, NJ Prentice Hall 1988
Ford, Gary & Wiener, Richard. Modula-2: A Software Development Appr=
oach New York Wiley 1985
Gabrini, Philippe J. & Kurtz, Barry L. Data Structures And Algorith=
ms With Modula-2 Lexington, MA DC Heath c1992
Gleaves, Richard Modula-2 for Pascal Programmers New York Spring=
Gough, K. John & Mohay, George M. Modula-2: A Second Course In Prog=
ramming Englewood Cliffs, NJ Prentice Hall 1988
Greenfield, Stuart B. Invitation to Modula-2 Petrocelli Books 1=
Harrison, Rachael Abstract Data Types in Modula-2 New York Wiley=
Harter, Edward D. Modula-2 Programming. A First Course Englewood C=
liffs, NJ Prentice-Hall 1990
Helman, Paul & Veroff, Robert Walls and Mirrors: Intermediate Prob=
lem Solving and Data. Modula-2 Menlo Park, CA Benjamin Cummings 1988
Hewitt, Jill A. & Frak, Raymond J. Software Engineering in Modula-2=
: an object-oriented approach London Macmillan 1989.
Hille, R.F. Data Abstraction and Program Development Using Modula-2 Sydney=
Prentice Hall 1989
Hopper, Keith. The Magic of Modula-2 Melbourne Prentice Hall 199=
Johnston, Chris Applying Modula-2 Academic Press 1991
Jones, William C. Jr. Data Structures Using Modula-2 New York Wil=
Jones, William C. Jr. Modula-2 Problem Solving and Programming with=
Style New York Harper & Row 1987
Joyce, Edward J. Modula-2: A Seafarer's Manual & Shipyard Guide Re=
ading, MA Addison-Wesley 1985
Kaplan, Ian & Miller, Mike Modula-2 Programming Rochelle Park, NJ=
Hayden Book Co. 1986
Kelly-Bootle, Stan Modula-2 Primer Howard W. Sams & Co. 1987
King, K.N. Modula-2: A Complete Guide Lexington, MA D.C. Heath & =
Knepley, Ed & Platt, Robert Modula-2 Programming Reston, VA Rest=
on Pub. Co. 1985
Koffman, Elliot B. Problem Solving and Structured Programming in Mo=
dula-2 Reading, MA Addison-Wesley 1988
Kruse, Robert L. Programming With Data Structures Modula-2 Version =
Englewood Cliffs, NJ Prentice-Hall 1988
Lawrence, Mike Modula-2 And The Amiga Avant-Garde Software 1990?
Leestma, Sanford & Nyhoff, Larry Programming & Problem-Solving in =
Modula-2 New York Macmillan 1989
Lins, C. (Charles) The Modula-2 Software Component Library Volumes=
I-IV New York Springer-Verlag 1989-
Mayer, Herbert G. Programming in Modula-2. the Art & the Craft New=
York Macmillan 1988
McCracken, Daniel D. & W. Salmon A Second Course in Computer Scien=
ce with Modula-2 New York Wiley 1987
Messer, P. A. & I. Marshall Modula-2 Constructive Program Developm=
ent Oxford Blackwell Scientific Publications 1986
Metrowerks, Inc. Staff Metrowerks Modula-2 Start Pak New York Ma=
Mitchell, R. J. Modula-2 Applied London Macmillan 1991
Mitchell, Richard Abstract Data Types And Modula-2 A Worked Examp=
le Of Design Using Data Abstraction Englewood Cliffs, NJ Prentice Hall =
Moore, John B. & McKay, Kenneth N. Modula-2 Text and Reference Eng=
lewood Cliffs, NJ Prentice-Hall 1987
Novak, M.M. Modula-2 in Science & Engineering London McGraw 1990
Nyhoff, Larry & Leestma ,Sanford Data Structures & Advanced Progra=
mming in Modula-2 New York Macmillan 1990
Ogilvie, John W. L. Modula-2 Programming New York McGraw-Hill 19=
Pinson, Lewis Sincovec, Richard & Weiner, Richard A First Course i=
n Computer Science with Modula-2 New York Wiley 1987
Pittman, Thomas & Peters, James The Art Of Compiler Design Theory =
And Practice Englewood Cliffs, NJ Prentice-Hall 1992
Pomberger, Gustav. Software Engineering and Modula-2 Englewood Cli=
ffs, NJ Prentice Hall 1984
Rechenberg, P. & M=F6ssenb=F6ck, H. (tr. O'Meara, John) A Compiler=
Generator for Microcomputers Englewood Cliffs, NJ Prentice Hall / Carl H=
anser Verlag 1989
Riley, David D. Data Abstraction and Structures: An Introduction To=
Computer Science II Boston Boyd & Fraser Pub. Co. 1987
Riley, David D. Using Modula-2: An Introduction To Computer Science=
I Boston Boyd & Fraser Pub. Co. 1987
Sale, Arthur H. J. Modula-2: Discipline & Design Sydney Addison-W=
Sawyer, Brian & Foster, Dennis. Programming Expert Systems in Modul=
a-2 New York Wiley 1986
Schildt, Herbert Advanced Modula-2 Berkeley, CA Osborne McGraw-H=
Schildt, Herbert Modula-2 Made Easy Berkeley, CA Osborne McGraw-=
Schiper, Andre; (tr. Howlett, Jack) Concurrent programming: Illust=
rated With Examples in Portal, Ada, and Modula-2 Halsted Press 1989
Schnapp, Russell L. Macintosh Graphics in Modula-2 Englewood Cliff=
s, NJ Prentice-Hall 1986
Sincovec, Richard F. & Richard S. Wiener. Data Structures Using Mod=
ula-2 New York Wiley 1986
Sincovec, Richard F. & Wiener, Richard S. Modula-2 Software Compone=
nts New York Wiley 1987
Stubbs, Daniel F. & Webre, Neil W. Data Structures With Abstract Da=
ta Types and Modula-2 Monterey, CA Brooks/Cole Pub. Co. 1987
Sutcliffe, Richard J. Introduction to Programming Using Modula-2 C=
olumbus, OH Merrill 1987
Sutcliffe, Richard J.. Modula-2: Abstractions for Data and Programming Stru=
ctures (Using ISO-Standard Modula-2) Mt. Lehman: Arjay Enterprises 1996-200=
0. http://www.arjay.bc.ca (1996 09 16)
Sutcliffe, Richard J. Standard Generic Modula-2 (Document ISO/IEC/JTC1/SC22=
/WG13 D235) 1996 07 12 ftp://FTP.twu.ca/pub/modula2/WG13/ca101.GenericModul=
a2CD(1996 09 16)
Sutherland, Robert J. The Professional Programmer's Guide to Modula=
-2 London Pitman 1988
Terry, Patrick D. An Introduction To Programming with Modula-2 Rea=
ding, MA Addison-Wesley 1987
Thalmann, Daniel Modula-2: An Introduction New York Springer-Ver=
Tremblay, Jean-Paul DeDourek, John M. & Daoust, David A. Programmin=
g in Modula-2 New York McGraw-Hill 1989
Tucker, Allen B. Jr. Computer science: A Second Course Using Modula=
-2 New York McGraw-Hill 1988
Ullmann, Jeffrey Compiling in Modula-2 - A First Introduction To C=
lassical Recursive Descent Compiling Hemel Hempstead England: Prentice-H=
Ural, Saim & Ural, Suzan Introduction to Programming with Modula-2=
New York Harper & Row 1987
Walker, Billy K Modula-2 Programming With Data Structures Belmont=
, CA Wadsworth Pub. Co. 1986
Walker, Robert D. Modula-2 Library Modules: A Programmer's Referenc=
e Blue Ridge Summit, PA Tab Books 1988
Ward, Terry A. Advanced Programming Techniques in Modula-2 Glenvie=
w, IL Scott Foresman 1987
Welsh, Jim & Elder, John Introduction to Modula-2 Englewood Cliff=
s, NJ Prentice-Hall 1987
Wiatrowski, Claude A. & Wiener, Richard S. From C to Modula-2--and =
Back - Bridging The Language Gap New York Wiley
Wiener, Richard Modula-2 Wizard's Programming Reference New York =
Wiener, Richard & Ford, G. Modula-2 A Software Development Approach=
New York Wiley 1985
Wiener, Richard & Sincovec, R. F. Software Engineering with Modula-=
2 and Ada New York Wiley 1984
Willis, Claire & Paddon, Derek Abstraction And Specification With =
Modula-2 London Pitman 1992
Wirth, Niklaus Programming in Modula-2 (3rd corrected ed.) New Yo=
rk Springer-Verlag 1985
Wirth, Niklaus Algorithms and Data Structures (1986 edition) Engl=
ewood Cliffs, NJ Prentice-Hall 1986
Wirth, Niklaus Programming in Modula-2 (4th ed.) New York Sprin=
Woodman, Mark et al Portable Modula-2 Programming Maidenhead, Ber=
kshire UK McGraw-Hill 1989
Appendix: AUTHOR INFORMATION AND DISCLAIMERS
Personal: I have used, written about, and taught Modula-2 (since 1983) and =
have maintained some of the information in this list for many years. I have=
used at least a dozen different compiler/environments in that time on five=
different platforms, and have written numerous articles and reviews for pu=
blication. I have been a member of the ISO committee WG13 (Modula-2 standar=
dization) since its inception and have participated in all the debates and =
meetings of WG13 except for meeting #9 at Lake Wanaka, NZ. I have written a=
text on Modula-2 (now shareware), made numerous submissions to WG13 and di=
rected an implementation of the ISO I/O library in order to verify its conc=
epts. I am the author and project editor of Standard Generic Modula-2, and =
am involved in the effort to create Objective Modula-2.
(i) I take no responsibility for anyone's use or misuse of this information=
(ii) Apart from having been a beta tester, textbook writer, programmer and =
a long time user of Modula-2, I have no financial connection with any manuf=
acturer or distributor of software. I am the author of some Modula-2 materi=
als (some of which are shareware) as noted herein, and of various other boo=
ks. Some manufacturers may distribute my shareware on CD-ROM for a previous=
ly arranged fee, but that is not an endorsement of their products by me or =
of mine by them.
(iii) In producing this material, I am NOT acting in an official capacity f=
or TWU, WG13, ABC, IEEE, ACM, comp.lang.modula2, the GNU or Objective Modul=
a-2 efforts, or any other organization.
(iv) Mention of a book or product is NOT an endorsement unless specifically=
(v) Inclusion of materials on this list is based on relevance to Modula-2 a=
nd factual content and is otherwise entirely without prejudice. I reserve t=
he right to edit all submissions for brevity, clarity, and usage.
To remain authoritative, this and all versions of this FAQ are copyright 19=
91-2009 by Rick Sutcliffe and Arjay Enterprises. This document may be freel=
y copied and distributed provided it is not altered and no fee is charged w=
ith the exception of normal downloading or copying costs.
Rick Sutcliffe (aka The Northern Spy)
Trinity Western University
7600 Glover Rd.,
Langley, B.C. Canada V2Y 1Y1
1 604 888-7511 Fax 1 604 513-2018
see my web pages at
The Northern Spy
Arjay Web Services
Sheaves Christian Resources