VAX LISP/VMS V2.0
Release Notes
May 1986
Operating System: VAX/VMS Version 4.2 or later
Software: VAX LISP Version 2.0
The information in this document is subject to change without notice
and should not be construed as a commitment by Digital Equipment
Corporation. Digital Equipment Corporation assumes no responsibility
for any errors that appear in this document.
The software described in this document is furnished under a license
and may be used or copied only in accordance with the terms of such
license.
No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by Digital or its affiliated companies.
Copyright (c) 1986 by Digital Equipment Corporation.
Summary of New Features and Technical Changes
VAX LISP/VMS, Version 2.0 is an upgrade of VAX LISP/VMS, Version 1.2.
It differs in the following ways:
* Improved speed of function calling and the interpreter.
* Faster pretty printer. See the "VAX LISP/VMS User's Guide,"
Chapter 6.
* New call-out facility. See the "VAX LISP/VMS System Access
Programming Guide," Chapter 2.
* One new debugging function, DEBUG-CALL, and four new
debugging variables: *STEP-ENVIRONMENT*, *STEP-FORM*,
*TRACE-CALL*, and *TRACE-VALUES*. See "VAX LISP/VMS User's
Guide," Chapter 5 and Part II for descriptions and examples
of how to use this new function and these new variables.
* Level numbers are in the debugger prompts but are no longer
in the stepper and break loop prompts. See "VAX LISP/VMS
User's Guide," Chapter 5.
* Editor support for the VAXstation II, allowing you to use the
pointer to perform some editing operations. See "VAX
LISP/VMS User's Guide," Chapter 3.
* Improved speed of Editor operation and additional editing
capabilities.
* An expanded "VAX LISP/VMS Editor Programming Guide" and a new
Chapter 3, "Using the VAX LISP Editor" in the "VAX LISP/VMS
User's Guide." The new and revised Editor features are
summarized in the "VAX LISP/VMS Editor Programming Guide."
Changes in user interface are described in the "VAX LISP/VMS
User's Guide," Chapter 3.
* Graphics capabilities when VAX LISP/VMS is installed on a
VAXstation II. See the "VAX LISP/VMS Graphics Programming
Guide."
* Interrupt functions and related synchronization facilities.
Interrupt functions can interrupt normal LISP execution.
Interrupt functions can be triggered by VMS routines that
cause ASTs, such as by the actions of a VAXstation pointer.
See "VAX LISP/VMS System Access Programming Guide," Chapters
4 and 5.
III
* The DEFINE-ALIEN-STRUCTURE macro no longer evaluates the list
elements of the :SELECTION field type, the values of :START
and :END field positions, or the values of the :OCCURS and
:OFFSET field options.
* Pathnames work better with remote hosts and logical names.
See the "VAX LISP/VMS User's Guide," Section 7.2.2.
* Source code compatibility of VAX LISP/VMS with VAX
LISP/ULTRIX with the exception of Editor programs, UIS
programs, interrupt programs, VMS queries, and call-out.
This means that programs written in VAX LISP can be used in
VAX LISP/VMS or in VAX LISP/ULTRIX.
* The Version 2 documentation set is a modified and enlarged
Version 1 documentation set. Added manuals are:
- "VAX LISP/VMS System Access Programming Guide" (formerly
Chapters 6 and 7 of the "VAX LISP/VMS User's Guide")
- "VAX LISP/VMS Graphics Programming Guide"
IV
VAX LISP/VMS Release Notes
PREFACE
PURPOSE
This file contains the release notes for VAX LISP/VMS, V2.0. The file
describes additions and changes to VAX LISP/VMS V1.2 and summarizes
any known restrictions and errors in VAX LISP/VMS, V2.0.
STRUCTURE
The file is divided into eight sections:
Section 1 Important Restrictions
Lists major restrictions of the VAX LISP/VMS system.
Section 2 Example Source Files
Describes several example source files and a set of
files that can cross-reference LISP source code.
Section 3 Differences between COMMON LISP and VAX LISP
Describes additions, corrections, and limitations in
VAX LISP as it pertains to COMMON LISP (described in
"COMMON LISP: The Language" by Guy L. Steele, Jr.).
Section 4 Changes to VAX LISP
Describes improvements made to VAX LISP, V1.2, and
included in VAX LISP, V2.0 (apart from COMMON LISP
functions). The chapter also describes limitations in
VAX LISP, and additions and corrections to the "VAX
LISP/VMS User's Guide."
Section 5 Change in Editor Documentation
Describes a correction to the documentation of the
Editor in the "VAX LISP/VMS Editor Programming Guide".
Section 6 Changes to Graphics Facilities
Describes modifications and corrections to the VAX LISP
graphics facilities as described in the "VAX LISP/VMS
Graphics Programming Guide".
V
Section 7 Changes to System Access Facilities
Describes modifications made to the V1.2 VAX LISP
system access facilities and included in VAX LISP,
V2.0. Also describes corrections to the "VAX LISP/VMS
System Access Programming Guide".
Section 8 Differences between VAX LISP/ULTRIX and VAX LISP/VMS
Lists the differences between these two implementations
of VAX LISP.
NOTE
- VAX LISP/VMS will be referred to as VAX LISP throughout the rest of
this document.
- The "VAX LISP/VMS Editor Programming Guide" includes additions and
changes in the functionality of the VAX LISP Editor.
VI
VAX LISP/VMS RELEASE NOTES
1 IMPORTANT RESTRICTIONS
- Version 4.2 of VMS or MicroVMS is required to run Version 2.0
of VAX LISP.
- File specifications that include more than the file name
cannot be used with the DEFINE-EXTERNAL-ROUTINE macro. This
is due to a restriction in VMS. Use a logical name to specify
files not in SYS$LIBRARY.
- Suspended systems created with a Version 1 VAX LISP system
will not work with Version 2.0.
- Compiled files created with a Version 1 VAX LISP system will
not work with Version 2.0; all source files need to be
recompiled.
2 EXAMPLE SOURCE FILES
The following example source files for VAX LISP are contained in the
VAX LISP auxiliary directory (by default /usr/lib/vaxlisp). See the
"VAX LISP/VMS Installation Guide" for a description of that directory:
EDINIT.LSP sample editor init file
GRAPH.LSP graph drawing routines
LK201.LSP key bindings for the LK201 keyboard
MENU.LSP example menu system
PROFILE.LSP simple profile package
WATCH.LSP simple facility to watch function usage
XREF.LSP xref source file
XREFANALYZERS.LSP xref source file
XREFBUILD.LSP source file to build xref system
XREFCATALOG.LSP xref source file
XREFCROSSREF.LSP xref source file
XREFDUMPER.LSP xref source file
XREFEXAMPLE.LSP example of how to use xref files
XREFQUERY.LSP xref source file
XREFRELATIONS.LSP xref source file
XREFREPORT.LSP xref source file
XREFSYSTEM.LSP xref source file
XREFTOOLS.LSP xref source file
XREFUSERGUIDE.MEM xref user guide
The prefix "xref" stands for files that can cross-reference LISP
source code. See the file xrefuserguide.mem for a description of the
system.
1
VAX LISP/VMS Release Notes
After LISP has been installed, the file xrefbuild.lsp should be run to
compile the xref source files.
NOTE
Although you can use these programs, they are not
supported by Digital.
3 DIFFERENCES BETWEEN COMMON LISP AND VAX LISP
The following is a list of additions, corrections, and limitations in
VAX LISP Version 2.0 as it pertains to COMMON LISP. The topics are
organized according to the relevant chapters in "COMMON LISP: The
Language." Multiple topics within a chapter heading are listed
alphabetically.
CONTROL STRUCTURES - Chapter 7
COMPILER-LET
The COMPILER-LET special form no longer looks for declarations in
its body.
PACKAGES - Chapter 11
EXPORT and IMPORT functions (and all similar functions that take
a symbol or list of symbols as an argument) now treat NIL as a
list rather than as a symbol. (EXPORT ()) now is a no-op; it
used to export the symbol NIL. To export the symbol NIL, specify
the list of NIL, that is, (EXPORT '(NIL)).
NUMBERS - Chapter 12
Complex numbers are not yet implemented.
ARRAYS - Chapter 17
The ADJUST-ARRAY function cannot adjust displaced arrays.
FILE SYSTEM INTERFACE - Chapter 23
- The :IF-EXISTS :OVERWRITE option to the OPEN function is not
implemented.
- Files cannot be opened for :DIRECTION :IO
- :ELEMENT-TYPE - only STRING-CHAR is supported; CHARACTER is
not implemented.
2
VAX LISP/VMS Release Notes
MISCELLANEOUS FEATURES - Chapter 25
COMPILER
The compiler cannot write circular structures to a fastload file.
DISASSEMBLE
The DISASSEMBLE function no longer places a compiled definition
in the function slot of a symbol when that symbol is the argument
to DISASSEMBLE and has an interpreted definition. "COMMON LISP:
The Language" leaves this issue unspecified.
INSPECT
The INSPECT function is not yet implemented.
4 CHANGES TO VAX LISP
This section describes additions, corrections, improvements, and
limitations in VAX LISP Version 2.0 apart from COMMON LISP (described
in Section 3).
The following topics are organized according to the relevant chapters
in the "VAX LISP/VMS User's Guide." Multiple topics within a chapter
heading are listed alphabetically.
DEBUGGING FACILITIES - Chapter 5
COMMAND LEVELS
The stepper and the break loop are no longer implemented with
command levels, though they existed in previous releases of VAX
LISP. This means that the stepper and the break loop have NO
number as part of their prompts.
TRACER
You can now trace any function. In previous versions, you might
get infinite recursion errors due to tracing something used by
the TRACE macro.
A new function and four new variables can be used to access the
actual forms evaluated while debugging. The variables are:
*TRACE-CALL*
*TRACE-VALUES*
*STEP-FORM*
*STEP-ENVIRONMENT*
3
VAX LISP/VMS Release Notes
The new function DEBUG-CALL is also useful for obtaining the
actual arguments passed to a function. These variables and
function are described in the "VAX LISP/VMS User's Guide."
PRETTY PRINTER - Chapter 6
A new and more efficient pretty printer has been implemented as a
set of extensions to the FORMAT function. The new pretty printer
is described in the "VAX LISP/VMS Users Guide," Chapter 6.
The old pretty printing facilities have been removed in V2.0. In
particular:
- The following functions are no longer implemented:
PPRINT-FORMATTER
FORMAT-USING-PPRINT-TEMPLATE
PPRINT-CHECK-INDENTATION
- The EXPAND-PPRINT-TEMPLATE macro is no longer implemented.
- The format directives ~N and ~:N are no longer implemented.
- The following special variables no longer exist:
*PPRINT-ARRAY-FORMATTERS* *PPRINT-DATA-LIST*
*PPRINT-END-LINE* *PPRINT-FUNCTION-CALL*
*PPRINT-LAMBDA-APPLICATION* *PPRINT-LEFT-MARGIN*
*PPRINT-MAJOR-WIDTH* *PPRINT-MISER-WIDTH*
*PPRINT-RIGHT-MARGIN* *PPRINT-SPECIAL-FORMATTERS*
*PPRINT-START-LINE*
VAX LISP IMPLEMENTATION NOTES - Chapter 7
:ALLOW-OTHER-KEYS
The :ALLOW-OTHER-KEYS keyword is now correctly observed in all
places in lambda lists.
DRIBBLE
If the file name given as an argument in a call to the DRIBBLE
function is the name of an existing file, including the version
number, the output is appended to that file. In previous
versions, a new version of the file was always created. So if
the file TEST.DRB;1 exists and TEST.DRB;2 does not, then (DRIBBLE
"TEST.DRB;0") causes output to be appended to TEST.DRB;1, or
(DRIBBLE "TEST.DRB") causes output to go to the file TEST.DRB;2.
CONTROL STACK AND BINDING STACK
Two functions have been added to VAX LISP that enable you to
enlarge the LISP control stack and the LISP binding stack.
4
VAX LISP/VMS Release Notes
During normal operation, these stacks will grow if necessary, but
these functions can be used to preallocate larger stacks and
prevent a garbage collection at a perhaps inconvenient time.
ENLARGE-CONTROL-STACK number-of-pages
This causes the LISP control stack to grow by the specified
number of pages. Enlarging the control stack causes a
garbage collection.
ENLARGE-BINDING-STACK number-of-pages
This causes the LISP binding stack to grow by the specified
number of pages. Enlarging the binding stack causes a
garbage collection.
Note that on VAX LISP/ULTRIX, code that is compiled with the
value of the optimize quality SPEED greater than SAFETY, will not
check for stack overflow. These checks are always performed on
VAX LISP/VMS.
FUNCTION CALLING AND INTERPRETER
Function calling and the interpreter are now faster. There are
many small improvements in compiled code with sufficient and
appropriate declarations. See the "VAX LISP/VMS User's Guide,"
'Appendix A, Performance Hints.'
FILE-WRITE-DATE
In Version 1, the FILE-WRITE-DATE function used the file creation
date; in Version 2.0, FILE-WRITE-DATE uses the file modify date.
LOGICAL NAMES AND PATHNAMES
In VMS Version 4 and later, it is possible to create logical
names with multiple translations (search lists). In VAX LISP, on
creation of a pathname, any logical names are translated in order
for the MERGE-PATHNAMES function to be able to sort out the
components of the file name. If a logical name has multiple
translations, in the absence of other constraints, the first
translation is used. In order to preserve an untranslated
logical name until the appropriate file is accessed, do the
following.
- Use strings for file specifications in calls to functions such
as OPEN and PROBE-FILE.
- Pass the result from a call to PROBE-FILE to LOAD or
COMPILE-FILE. LOAD, COMPILE-FILE, and some other functions
create pathnames in order to merge in a file type. To use the
correct translation of the search-list logical, pass the
result from a call to PROBE-FILE to these functions. That is,
5
VAX LISP/VMS Release Notes
instead of calling (LOAD "logical:filename.type"), call (LOAD
(PROBE-FILE "logical:filename.type")).
MERGE-PATHNAMES
In Version 2 of VAX LISP, if the nodes of the two pathname
arguments to MERGE-PATHNAMES are not the same, the device and
directory of the defaults pathname are not used. In Version 1,
if the first pathname argument included neither a device nor a
directory, both were taken from the defaults. The modified
behaviour assists in the correct merging of logical names which
translate to a device or to a device and a directory on a remote
node.
PATHNAMES
The pathname functions (PARSE-NAMESTRING, PATHNAME, PROBE-FILE,
TRUENAME) no longer mask the password in an access control
string. This allows the resulting pathname to be used in DECNET
file operations. In Versions 1.0 and 1.1, passwords in an access
control string were changed to the lowercase word "password."
SEQUENCE FUNCTIONS
Some of the SEQUENCE functions have improved in speed in Version
2 of VAX LISP, particularly when used with data type and compiler
optimization declarations. In some cases, they also do more
error checking on their arguments than in Version 1; for example,
they ensure that sequence START and END values are within range.
SUSPEND
The SUSPEND function should not be called during a call to LOAD;
the stream used by LOAD cannot be recreated to finish the LOAD on
resuming the LISP.
APPENDIX A, PERFORMANCE HINTS
CASE
The CASE function can now generate the VAX CASEL instruction for
characters as well as for fixnums, and the range has been
extended to 512.
5 CHANGE IN EDITOR DOCUMENTATION
This section describes one correction to the Editor as described in
the "VAX LISP/VMS Editor Programming Guide."
6
VAX LISP/VMS Release Notes
EDITOR-READ-CHAR-NO-HANG
The EDITOR-READ-CHAR-NO-HANG function is incorrectly spelled as
EDITOR-READ-CHAR-NOHANG in the "VAX LISP/VMS Editor Programming
Guide."
6 CHANGES TO GRAPHICS FACILITIES
This section describes modifications and corrections to the graphics
facilites as described in the "VAX LISP/VMS Graphics Programming
Guide." The topics are arranged alphabetically.
CREATE-WINDOW
The banner-title string is limited to 55 characters.
GET-VISIBILITY-PIXEL
Does not return NIL when the viewport is partially off of the
screen.
MOVE-AREA
Objects in the display list are moved if their lower left corner
is in the area to move. Circles and ellipses are moved if their
center is in the area to move. Bitmaps are not moved correctly.
Rectangles moved to points outside or to the boundary of the
viewport are moved incompletely.
Moving an area to a point where the area overlaps its original
position may not be shown correctly.
MEASURE-TEXT-PIXEL
Font '(:spacing "0" :weight "P") is not measured correctly.
PI
Note that PI is a long-float. Float contagion causes results of
arithmetic with PI to be a long-float, whereas UIS functions
expect single-float. So, you may want to define a constant as
(coerce PI 'single-float) for use in functions that require
computatons involving PI.
SET-POINTER-ACTION, SET-POINTER-ACTION-PIXEL
Exit actions cannot be specified without specifying a movement
action. Therefore, use a movement action that computes nothing,
to get the effect of having just an exit action specified.
7
VAX LISP/VMS Release Notes
When the pointer is moved very quickly it is possible to enter
and leave a region without receiving a movement action. However
in this case an exit action may still be received.
READ-KB-CHAR
The READ-KB-CHAR function operates completely synchronously; LISP
cannot execute any other functions while waiting for a UIS
keyboard character. In particular, no interrupt functions will
execute until after the character is read. If your application
requires that LISP be able to execute while waiting for UIS
keyboard characters, use the SET-KB-ACTION function.
7 CHANGES TO SYSTEM ACCESS FACILITIES
The former Chapters 6 and 7 of the "VAX LISP/VMS User's Guide" are now
part of a new manual, the "VAX LISP/VMS System Access Programming
Guide."
CALLING EXTERNAL ROUTINES - Chapter 2
An improved call-out facility is included in VAX LISP, Version 2.
This facility is significantly faster and supports more types of
arguments.
The SIMPLE-LONGWORD-VECTOR type and declaration are available.
This is the same as (SIMPLE-ARRAY (SIGNED-BYTE 32) (*)).
DEFINING AND CREATING ALIEN STRUCTURES - Chapter 3
DEFINE-ALIEN-STRUCTURE
File specifications that include more than the file name cannot
be used with the DEFINE-EXTERNAL-ROUTINE macro. This is due to a
restriction in VMS. Use a logical name to specify files not in
SYS$LIBRARY.
For efficiency reasons and for consistency with the COMMON LISP
DEFSTRUCT facility, the DEFINE-ALIEN-STRUCTURE macro no longer
evaluates the following:
- s0 ... sn list elements in the :SELECTION field type
specification (:selection s0 s1 s2 ... sn)
- values of :START and :END field positions
- values of the :OCCURS and :OFFSET field options
If you have any code from previous version of VAX LISP, where
there are problems with evaluating forms, it is likely that
adding a "#." (that is, EVAL at READ time) before the computed
fields will fix the problems.
8
VAX LISP/VMS Release Notes
REPEATED FIELD EXAMPLE - Documentation Correction
In the "VAX LISP/VMS System Access Programming Guide," Section
3.4.4.3, the example:
(SPACE-AREA-1 field)
(SPACE-AREA-2 field index)
should be:
(SPACE-AREA-1 instance-of-structure)
(SPACE-AREA-2 instance-of-structure index)
INTERRUPT LEVELS, CRITICAL SECTIONS, AND SYNCHRONIZATION - Chapter 5
INTERRUPT LEVELS
Interrupt level zero is different from the other levels in that
it is always interruptible. In particular, a level zero
interrupt function can interrupt a currently-executing level zero
function. This is useful when binding a keyboard character, say
CTRL/B, to functions such as BREAK or DEBUG. After entering
CTRL/B to start up a break loop, you may want to enter another
CTRL/B to start a nested break loop. If CTRL/B is a level zero
interrupt, this will behave as expected. If CTRL/B is bound at a
higher level, then the second CTRL/B will not be able to
interrupt the first. The interrupt is queued until you continue
from the first break loop, and then the interrupt is serviced and
a new break loop starts. Note that the default interrupt level
for BIND-KEYBOARD-FUNCTION is one.
READ-KB-CHAR
See Section 5, "Changes to Graphics Facilities," for a release
note on the READ-KB-CHAR function.
8 DIFFERENCES BETWEEN VAX LISP/VMS AND VAX LISP/ULTRIX
The following table lists the differences between the VMS and the
ULTRIX implementations of VAX LISP.
Area of Difference VAX LISP/ULTRIX VAX LISP/VMS
---------------------------------------------------------------------
Operating System ULTRIX-32/ULTRIX-32m VMS/microVMS
System On-Line Help man command HELP command
9
VAX LISP/VMS Release Notes
Area of Difference VAX LISP/ULTRIX VAX LISP/VMS
---------------------------------------------------------------------
User-Settable Can be set with Can be set with with
Directories environment variables logical names - see
- see the VAX the VAX LISP/VMS
LISP/ULTRIX Installation Guide.
Installation Guide.
File Specifications In ULTRIX, the components of a file
specification are in a directory-tree
structure separated by slashes and are case
sensitive. The device, directory, and file
names are not distinguished, and there is no
version number. For example:
/usr/users/doe/circle.lsp
In VMS, device names end with a colon;
directory names are enclosed in square
brackets; a semicolon followed by a version
number ends a file name; and the components
are NOT case sensitive. For example:
DBA1:[DOE]CIRCLE.LSP;1
Namestrings In both ULTRIX and VMS, a COMMON LISP
namestring is a string containing a valid
file specification. However, the form of the
namestrings differ according to the different
methods of specifying a file. An example
ULTRIX namestring is:
"/usr/users/doe/circle.lsp"
An example VMS namestring is:
"DBA1:[DOE]CIRCLE.LSP;1"
COMMON LISP Pathnames Does not use the Uses all six fields
:DEVICE, and :VERSION
fields
How To Specify the vaxlisp LISP
VAX LISP Command
10
VAX LISP/VMS Release Notes
Area of Difference VAX LISP/ULTRIX VAX LISP/VMS
---------------------------------------------------------------------
Options/Qualifiers of 1. The switches of the ULTRIX vaxlisp
the VAX LISP Command command are called options. Most of
these options can be specified in two
ways:
(a) As a hyphenated single-letter option
(b) As a -V option with an option string
The switches of the VMS LISP command are
called qualifiers and are specified with
a preceding slash.
2. The ULTRIX vaxlisp command does not have
command options equivalent to the
following DCL LISP command qualifiers:
/INTERACTIVE, /INSTALL, and /REMOVE.
LISP Editor Not available but can Available
use vi or gnu emacs
UIS Graphic Functions Not available; can Available
in LISP call out to X window
package on ULTRIX-32w
VAX LISP LOAD LOAD "xyz" means LOAD "xyz" means
function first search for the search for both
file "xyz"; if "xyz" "xyz.lsp" and
does not exist, then "xyz.fas" and load
search for both the file with the
"xyz.lsp" and latest file-write
"xyz.fas" and load date.
the file with the
latest file-write
date.
Interrupting and CTRL/Z and fg in the SPAWN function and
Restarting a Process C shell ATTACH DCL command
Use of the Extended Masks the 8th bit - Does NOT mask the 8th
8-bit ASCII Character see Section 8.1.2 in bit
Set the VAX LISP/ULTRIX
User's Guide
11
VAX LISP/VMS Release Notes
Area of Difference VAX LISP/ULTRIX VAX LISP/VMS
---------------------------------------------------------------------
Calling Out To all languages that To all languages
Capabilities both follow the VAX following the VAX
calling standard and calling standard
provide objects that supported by VMS and
can be used as input to both VMS and RMS
to the ULTRIX ld system services with
linker; for example, some restrictions.
to C and Pascal.
Binding Control Only to control Yes
Characters to characters that cause
Functions an ULTRIX signal (by
default CTRL/C for
SIGINT, CTRL/\ for
SIGQUIT, and CTRL/Z
for SIGTSTP)
Functions and VAX LISP/ULTRIX does not have the following
Variables VAX LISP/VMS functions and variables (in
addition to the Editor, graphics, and
interrupt functions and variables):
ATTACH
ED
GET-DEVICE-INFORMATION
GET-FILE-INFORMATION
GET-PROCESS-INFORMATION
GET-TERMINAL-MODES
GET-VMS-MESSAGE
SET-TERMINAL-MODES
SPAWN
TRANSLATE-LOGICAL-NAME
The VAX LISP Return information Return information
functions from a user-created from a user-created
SHORT-SITE-NAME and text file - see the COM file or logical
LONG-SITE-NAME VAX LISP/ULTRIX name - see the VAX
Installation Guide. LISP/VMS Installation
Guide.
To Control the Mode Use ioctl(2), Use the VAX LISP/VMS
of Terminal Input stty(1), or tty(4). SET-TERMINAL-MODES
function.
12
VAX LISP/VMS Release Notes
Area of Difference VAX LISP/ULTRIX VAX LISP/VMS
---------------------------------------------------------------------
G/H Floating-Point Processors without VMS provides emulated
Instructions these instructions instructions on
need the emulator processors lacking
(EMULFLT) configured these instructions.
in - see the VAX
LISP/ULTRIX
Installation Guide.
Internal-Time-Units- 1,000,000 10,000,000
Per-Second
13