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, * nonactiveDynamic 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 ExpressionsProcesses ("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 prefixDefining 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 prefixProgramming 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/refand, 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 systemIn later versions of Poplog those two sets of files may be moved somewhere else.