The previous chapters merely provide an introduction to the Pop-11 language. A more complete definition can be found in the online Poplog REF files.
The rest of this section provides some pointers to further information that might be useful.
Words and identifiers
words, the dictionary, identifiers, cancel, synonyms,
valof, idval, identprops, identtype, sections
(REF * WORDS, REF * IDENT, REF * SECTIONS))
(HELP * WORDS)
Ascii character codes, special graphic codes in VED
HELP * ASCII, REF * ITEMISE/GraphicsData structures, classes,
defclass, recordclass, vectorclass keys, conskey, class_print,
class_apply, etc.
(REF * DEFSTRUCT, HELP * RECORDCLASS, REF * DATA, REF * KEYS)
Control facilities for use in Pop-11 procedures
chain, chainto, chainfrom, breakto, breakfrom, catch, jumpout, etc.
(REF * PROCEDURE, HELP * CONTROL)
Character and item streams
discin, discout, charin, charout,
itemiser, incharitem, proglist
macros, syntax words, and code planting procedures
(REF * CHARIO, REF * ITEMISE)
File handling
syscreate, sysopen, sysread, syswrite, sysdelete, pop_file_versions
discin, discout, discappend
(REF * SYSIO)
Pipes and mail boxes
syspipe, pipein, pipeout
(REF * SYSIO)
Arrays
newarray, newanyarray, arrayvector, boundslist
(REF * ARRAYS)
Interrupt handling
interrupt, vedinterrupt, popready,
signal handling (sys_send_signal, sys_signal_handler)
(See REF * SYSTEM, REF * SIGNALS)
Active variables (with associated procedures that run when the variable
is accessed or updated).
HELP ACTIVE, HELP DLOCAL, REF IDENT
REF * active, * nonactive
Dynamic local expressions (expressions whose values are automatically
accessed and saved on procedure entry and restored via updater
procedures on procedure exit):
HELP DLOCAL
REF VMCODE has two relevant sections, entitled
-- Dynamic Local Expressions
-- More On Dynamic Local Expressions
Processes ("lightweight processes")
consproc, consprocto, runproc, suspend, resume
(REF * PROCESS, HELP * PROCESS,
HELP * ACTOR (may be called NEWACTOR))
Library mechanisms,
autoloading, search lists, popautolist, popuseslist,
document browsing facilities, vedgetsysfile
Different categories of documentation and libraries
private help (etc) libraries
(REF * LIBRARY)
`fast_' procedures. Efficiency "tips"
See HELP * EFFICIENCY, REF * FASTPROCSThe garbage collector and memory management procedures.
sysgarbage, popgcratio, popmemlim, pop_callstack_lim
(REF *SYSTEM)
Error handling and warnings.
prmishap, mishap, prwarning, prautoloadwarn, popwarnings
(REF * MISHAPS)
Timing facilities
time, profile, timediff, sys_timer,
(See REF * TIMES)
Debugging, tracing and profiling aids
(REF * TRACE, HELP * DEBUGGER, HELP * PROFILE)Printing
pr, syspr, sys_syspr, =>, ==>, pop_pr_quotes, pop_pr_radix
(REF * PRINT)
VED as a general purpose front end
(REF * VEDPROCS, REF * VEDCOMMS, REF * REGEXP from Version 14.5)Calling external procedures
(HELP * EXTERNAL
REF * EXTERNAL, REF * EXTERNAL_DATA, REF * DEFSTRUCT)
Saved images
syssave, sysrestore, sys_lock_system
(REF * SYSTEM, HELP * MKIMAGE, HELP * SYSSAVE)
Initialisation, and startup files.
init.p, vedinit.p vedinitfile, vedfiletypes etc.
(REF * SYSTEM, REF * VEDTERMINALS
HELP * INITIAL, HELP * TERMINAL, HELP * VEDFILETYPES)
Exiting Poplog
sysexit and related procedures, popexit, vedpopexit
ved_xx, ved_qq
(REF * SYSTEM)
Syntactic sugar available in Pop-11
switchon
form
prefix
Defining new define_forms
HELP * DEFINE_FORMDefining new looping constructs
HELP * FOR_FORMA selection of useful or interesting library packages
database, add, remove, foreach, forevery,
sets
profile
showtree
vturtle/turtle
grammar/tparse/facets
format
msblocks
prefix
Programming style in Pop-11
(TEACH * PROGSTYLE, HELP * EFFICIENCY)The X window facilities in Poplog Pop-11 are very rich and complex. You might start with
HELP * X
REF * X
TEACH * RC_GRAPHIC
TEACH * PROPSHEET
(Warning: up to version 14.2 the latter is incomplete!)
For a more complex list of detailed REF files expanding on the
definition of Pop-11 see REF * INDEX
For a list of Pop-11 ref files concerned with the X interface see
REF * XPOPINDEXThe file HELP NEWS always gives information on recent changes to Poplog. It will usually refer you to older versions of the file giving a reverse chronological history of the development of Pop-11 and Poplog. There are other news files for Prolog, Lisp, ML, and X.
The following is an extract from REF * REFFILES
REF *INDEX
--- List of REF files
REF *ARRAYS
--- Arrays and array procedures (see also HELP *ARRAYS)
REF¯*ASYNC
Describes asynchronous traps and signals in Poplog.
REF *CHARIO
--- Character stream input and output (See also HELP *IO)
REF *DATA
--- General data procedures and datatypes (See also
HELP *PROGRAMMING)
REF *DEFSTRUCT
--- POP11 syntax for defining and accessing structures
$usepop/pop/ref/doc_index
--- This is not a ref file, as explained above.
REF *DOCUMENTATION
--- The Poplog online documentation system
REF *ENVIRONMENT_VARIABLES (Unix only)
--- Environment variables defined by the Poplog system.
REF *EXTERNAL
--- Loading & calling external procedures from Poplog (See also
HELP *EXTERNAL, *PROGRAMMING)
REF *EXTERNAL_DATA
--- Using external data structures in Poplog
REF *FASTPROCS
--- Fast procedures (See also HELP *FASTPROCS, LIB *SLOWPROCS)
REF *FLAVOURS
--- The flavours object oriented language (See also
HELP *FLAVOURS). Made obsolete by Objectclass.
REF *IDENT
--- Identifiers (constants and variables)
REF *INTVEC
--- Signed integer vectors (See also REF *DATA, *VECTORS,
*STRINGS, HELP *PROGRAMMING)
REF *ITEMISE
--- Itemisation and lexical syntax. See also REF *POPCOMPILE
REF *KEYS
--- Information on classes and keys (see also HELP *PROGRAMMING,
*CLASSES, *DATASTRUCTURES)
REF *LIBRARY
--- Poplog library mechanisms, including autoloading
REF *LISTS
--- Lists and pairs (see also HELP *LISTS)
REF *LOGICAL_NAMES (VMS only)
--- Logical names defined by the Poplog system.
REF *MISHAP_CODES
--- Some error messages include a "code" abbreviating the
message. This file includes full explanations and cross-
references to relevant information about the error. (See also
HELP *MISHAP)
REF *MISHAPS
--- Poplog mishap (error) handling (See also HELP *MISHAP,
*PROGRAMMING)
REF *NEWC_DEC
--- Procedures concerned with the "new" interface to externally
loaded C programs. See HELP * NEWC_DEC for more details.
REF *NUMBERS
--- Number data types and numerical procedures (See also HELP
*NUMBERS)
REF *OBSOLETE
--- Obsolete features still supported for backwards
compatibility
REF *POPCOMPILE
--- POP11 compiler procedures
$usepop/pop/ref/popindex.*
--- These files (which really should be in another place) are
used by the *POPINDEX and *VED_SOURCEFILE mechanisms.
REF *POPSYNTAX
--- POP11 syntax in diagram form
REF *PRINT
--- Printing procedures, etc (See also HELP *IO, HELP *PRINT)
REF *PROCEDURE
--- The nature of procedures and closures, list of predicates
operating on procedures (See also HELP *PROGRAMMING, *DEFINE)
REF *PROCESS
--- The Poplog "process" mechanism. (See also HELP *PROCESS)
REF *PROGLIST
--- The input stream used in Poplog by many system modules,
including the POP11 compiler. (See also REF *ITEMISE, REF
*CHARIO, HELP *PROGRAMMING)
REF *PROLOG
--- Procedures that support the Prolog system in Poplog
REF *PROPS
--- Properties (association tables) (See also HELP *PROPERTIES)
REF *PWM
--- The original Poplog Window Manager (now defunct, as it
requires Sunview).
REF *RECORDS
--- The reference and boolean data types (See also
HELP *RECORDS)
REF *REFFILES
--- Overview of REF files, with the information presented here.
REF *REFFORM
--- Describes the format of REF files, explains the conventions
used to indicate the types of arguments and results of
procedures, and provides some VED utilities to help creation of
REF files in the proper format.
REF * REGEXP
--- Describes the Pop-11 regular expression matcher, used in VED
and other Poplog facilities, for searching in strings.
REF *SECTIONS
--- Sections (hierarchies of permanent identifiers) (See also
HELP *SECTIONS)
REF *SHADOWCLASS
--- Mechanisms for bridging the gap between Pop-11 data
structures and external structures, e.g. for C programs.
REF *SIGNALS
--- Contents now transferred to REF *ASYNC.
REF *SOCKETS
--- A set of procedures for creating and operating on Unix
sockets.
REF *STACK
--- The POP11 stack and procedures for operating on it (See also
HELP *STACK, TEACH *STACK)
REF *STRINGS
--- Strings (See also HELP *STRINGS)
REF *SUBSYSTEM
--- Describes mechanisms for handling sub-systems like Prolog,
Pop-11, Lisp, ML and switching conveniently between them.
REF *SYNTAX
--- Information on POP11 syntax words (See also *PROGRAMMING)
REF *SYSIO
--- Device Input & Output procedures, including pipes and
mailboxes
REF *SYSTEM
--- Various Poplog system control procedures, including starting
up, interrupts, saving and restoring saved images, etc.
REF *SYSUTIL
--- Operating System utility procedures
REF *TIMES
--- Date and Time and Timer procedures
REF *TRACE
--- Information about tracing Pop-11 procedures.
REF *VECTORS
--- Standard full vectors (see also HELP *VECTORS)
REF *VED
--- Overview of REF files about the Poplog editor, VED
REF *VEDCOMMS
--- Summary of VED <ENTER> commands
REF *VEDPROCS
--- Summary of VED system procedures
REF *VEDTERMINALS
--- Summary of VED terminal types and terminal initialisation
procedures
REF *VEDVARS
--- Summary of VED's global control variables
REF *VMCODE
--- The Poplog Virtual Machine (See also TEACH *VM)
REF *WORDS
--- Words and the Poplog dictionary mechanism.
REF¯*¯WVED
--- Variables and procedures associated with Windowed VED,
i.e. XVed and PWM.
There are additional REF files to be found in
$usepop/pop/x/ved/ref
$usepop/pop/x/pop/ref
and, at least in Poplog versions 14.5 and 15.0
$usepop/pop/lib/proto/go/ref
--- Information about the graphical objects system
$usepop/pop/lib/proto/objectclass/ref
--- Information about the objectclass system
In later versions of Poplog those two sets of files may be moved
somewhere else.