HELP POP                                  Andrew Law, April, 1987

    This help file describes some of the files relating to programming
in POP-11. It assumes some knowledge of how to use the VED editor.

         CONTENTS - (Use <ENTER> g to access required sections)

 -- POP Vmcode, Compilation, Itemisation, Input/Output
 -- POP Syntax, the Matcher & Recursion
 -- POP-11 syntax procedures
 -- List processing
 -- Mixed language programming
 -- Datatypes
 -- Procedures concerned with the POP-11 Database
 -- The POP-11 Turtle
 -- Debugging, Errors & Mishaps, Timing and Effeciency
 -- Identifiers
 -- Arithmetic
 -- Information about POP-11 libraries
 -- Closures
 -- Logical bit operations
 -- Updater
 -- Control facilities and co-routines
 -- Stack manipulation
 -- General POP-11 procedures
 -- ASSOCIATED DOCUMENTATION

-- POP Vmcode, Compilation, Itemisation, Input/Output -----------------

TEACH *VM, *POPSYS, *GC
    Introduction to Virtual machines
REF *VMCODE, DOC *SYSPOP11
    Virtual machine code
HELP *PROGLIST, REF *PROGLIST, REF *POPCOMPILE
    Compilation Processes and Procedures
REF *ITEMISE
    Itemisation
REF *SYSIO, *SYSUTIL
    System level I/O
HELP *POPDEVIN, *POPDEVOUT, *POPDEVERR
    Redirecting POP Input/Output
HELP *IO
    General I/O

-- POP Syntax, the Matcher & Recursion --------------------------------

HELP *SYNTAX, REF *POPSYNTAX
    General syntax
HELP *EXPRSTA
    Expressions & statements
HELP *CONDITIONALS, *IFSTMT
    Conditional statements
HELP *LOOPS
    Iterative constructs
TEACH *MATCHES, *MATCHES2,
    The pattern matcher
HELP *RECURSION
    Recursion
HELP *VARS
    Variables
HELP *SYSWORDS
    Overview file of syntax words
    (Contents: Arithmetic operators, Logical bitwise operators (all of
    precedence 4), Bitwise comparisons (precedence 6), Other
    non-alphanumeric symbols, Datawords of built in data-types, Syntax
    words and macros).

-- POP-11 syntax procedures -------------------------------------------

*AND,               *ANDCASE,               *ALPHABETICISER,
*APOSTROPHE,        *ASCII,
*ASSIGN,            *ACTIVE_VARIABLES,
*BY,
*CANCEL,            *CASE,                  *CLOSE,
*COLON,             *COMMA,                 *COMMENT,
*CONSTANT,          *CONS_WITH,
*DEFINE,            *DLOCAL,                *DO,
*DOT,
*ELSE,              *ELSEIF,                *ELSEUNLESS,
*END,               *ENDDEFINE,             *ENDFOR,
*ENDIF,             *ENDPROCEDURE,          *ENDREPEAT,
*ENDUNLESS,         *ENDUNTIL,              *ENDWHILE,
*FOR,               *FOREACH,               *FOREVER,
*FOREVERY,          *FORMS,
*GLOBAL,            *GOTO,                  *GO_ON,
*HASH_,
*IDENTIFIERS,       *IF,                    *IFSTMT,
*IN,                *INFIX,                 *ITEM_CHARTYPE,
*LABELS,            *LVARS,                 *LEXICAL,
*MACRO,             *MACROS,
*NDASSIGN,          *NEXTIF,                *NEXTLOOP,
*NEXTUNLESS,        *NONMAC,                *NONOP,
*NONSYNTAX,         *ON,                    *OPERATION,
*OR,                *PERCENT,               *PROCDEFINE,
*PROCEDURE,         *QUITIF,                *QUITLOOP,
*QUITUNLESS,        *RECORDCLASS,           *REPEAT,
                    *ROUNDBRA,              *ROUNDKET,
*SECTION,           *SEMICOLON,             *SIGNS,
*SQUAREBRA,         *SQUAREKET,             *STEP,
*SWITCHON,          *SYMBOLS,               *SYNONYM,
*SYNTAX,            *SYSWORDS,
*THEN,              *TILL,                  *TIMES,
*TO,
*UNLESS,            *UNTIL,                 *UPDATEROF,
*VARS,              *VECTORCLASS,
*WITH_NARGS,        *WHILE,                 *WORDS,

-- List processing ----------------------------------------------------

HELP *LISTS

-- Mixed language programming -----------------------------------------

HELP *PROGRAMMING, *LISP, PLOGHELP *HELPFILES

-- Datatypes ----------------------------------------------------------

HELP *PROGRAMMING

-- Input and output ---------------------------------------------------

HELP * INPUT, HELP * OUTPUT, REF * SYSIO, REF * CHARIO, REF * SYSUTIL

-- Procedures concerned with the POP-11 Database ----------------------

HELP *DATABASE
    The main overview file
HELP *ADD
    Adding items
HELP *REMOVE, *FLUSH
    Removing items
HELP *FOREACH, *FOREVERY,  *IT
    Iterating over items in the database
HELP *PRESENT, *ALLPRESENT, *LOOKUP, *WHICH
    Checking whether items are present
HELP *STOREDATA
    Saving the current state of the database on disk
HELP *SUPER
    A Prolog-like extension to the database
TEACH *SOMESCHEMA, *SCHEMATA
    Using the database for producing script/frame/schema like behaviour
See also HELP *MATCHES
See also contents of
    $usepop/master/C.all/lib/database

-- The POP-11 Turtle --------------------------------------------------

HELP *TURTLE, *TURTLESUM, TEACH *TURTLE
    The POP-11 turtle
HELP *VTURTLE
    Turtle facilities based on the VED editor
HELP *LTURTLE
    Using a list of lists instead of arrays
HELP *STOREPICTURE, *READPICTURE
    Storing and reading pictures
HELP *SEEPICTURE, TEACH *SEEPICTURE, HELP *REGIONS
    Redisplaying turtle pictures in terms of lines, junctions and regions
HELP *CONVOLVE
    Demonstration of some of the techniques used for processing grey-level
    pictures.
HELP *INTERSECT
    Returning the point P which is the intersection of two lines
See also contents of
    $usepop/master/C.all/lib/turtle

-- Debugging, Errors & Mishaps, Timing and Effeciency -----------------

HELP * DEBUGGER
    A source level debugger for POP-11
HELP *TRACE, *UNTRACEALL, *POPREADY
    Debugging aids
HELP *EFFICIENCY, REF *FASTPROCS
    Efficiency & speed
HELP *CLOCK, *TIME REF *NUMBERS
    Timing facilities
HELP *ERRORS, *MISHAPS, *POPMISHAPS, *POPWARNINGS, *WARNING,
*SYSCALLERS, REF * MISHAPS
    Errors & mishaps

See also
   HELP *PROGRAMMING

-- Identifiers --------------------------------------------------------

HELP *FULL_IDENTPROPS, *IDENTPROPS, *IDENTTYPE, *ISASSIGNABLE,
*ISCONSTANT, *ISGLOBAL, *ISPROTECTED
    Refer to procedures which can be applied to a word to find out about
    its status as an identifier.

-- Arithmetic --------------------------------------------------------

HELP *MATH, *SYSWORDS, REF* NUMBERS, REF *FASTPROCS, HELP *FASTPROCS

-- Information about POP-11 libraries ---------------------------------

HELP *LIBRARIES, *AUTOLOAD, *POPAUTOLIST, *POPUSESLIST

-- Closures -----------------------------------------------------------

HELP *CLOSURES, *PARTAPPLY, *PERCENT, *PDPART, *FROZVAL

-- Logical bit operations ---------------------------------------------

REF *NUMBERS/Bitwise, HELP *SYSWORDS

-- Updater ------------------------------------------------------------

HELP *UPDATER

-- Control facilities and co-routines ---------------------------------

HELP *PROCESS, *CONTROL, *EXITFROM, *POPREADY, REF *PROCESS
HELP *CHAIN, *CHAINFROM, *CHAINTO, *EXITTO, *CATCH, *JUMPOUT,

-- Stack manipulation -------------------------------------------------

HELP *STACK, TEACH *STACK, REF *STACK

-- General POP-11 procedures ------------------------------------------
(U - means Unix only)

*ABS             ALLBUTFIRST     ALLBUTLAST      ALLPRESENT
*ALPHABEFORE     APPDATA         APPDIC          APPLIST
*APPLY           APPPROPERTY                     AREIN
*ARRAYS          ARRAYSCAN       ARRAYVECTOR
*ASCII           ASSOC           ATOM            BACK
*BIGINTEGERS     BITS_IN         BITS_OUT        BOOLEAN
*CALLER          CALLSTACKLENGTH CD              CATCH
*CHAIN           CHAINFROM       CHAINTO         CHARACTERS
*CHARERR         CHARIN          CHARIN_TIMEOUT  CHAROUT
                                 CLEARPROPERTY
*CLEARSTACK                      CLOSURES        COLON
*COMPILE         CONSKEY         CONSPAIR        CONSPROC
                 CONSREF         CONSSTRING
*CONSVECTOR      CONSWORD        CONT            COPY
*COPYDATA        COPYLIST        COPYTREE        COS
*COUNTITEM       CUCHARERR       CUCHARIN        CUCHAROUT
*CUCHARTRACE     CURRENT_DIRECTORY               CURRENT_SECTION
*DATAFILE        DATAKEY         DATALENGTH      DATALIST
*DATAPROCS       DATAWORD        DEADPROC        DECIMALS
*DEST            DEST_CHARACTERS DESTPAIR
*DEVICE          DEVICE_OPEN_NAME                DEVNAME
*DIR             DISCIN          DISCOUT         DISCAPPEND
*DIV             DL              DUP
*EQUAL           ERASE           ERASENUM        EXITFROM
*EXITTO          EXP             EXPANDLIST      EXPLODE
*EXPRASS
*FALSE           FAST_APPPROPERTY                FASTPROCS
*FILE            FILL            FLATLISTIFY
*FRACOF          FROM            FRONT           FROZVAL
*GENSYM          GETLINE
*HALTS           HD
*IDENTFN         IDENTPROPS      INCHARITEM      INITS
*INITV           INITVECTORCLASS INSTANCE        INTERRUPT
*INTERSECT       INTOF           ISCLOSURE       ISDDECIMAL
*ISDECIMAL       ISDEVICE        ISENDSTRING     ISIN
*ISINTEGER
*ISLIST          ISPAIR          ISPROCEDURE     ISPROCESS
*ISPROPERTY      ISREF           ISSTRING        ISSUBSTRING
*ISSUBSTRING_LIM ISUNDEF         ISVECTOR        ISVECTORCLASS
*ISWORD          ITEM_CHARTYPE   ITEMREAD
*JUMPOUT
*KEYS            KRESUME
*KSUSPEND
*LAST            LENGTH          LIB             LISTLENGTH
*LISTREAD        LMEMBER         LOAD            LOCCHAR
*LOCCHAR_BACK    LOG             LOWERTOUPPER
*MAPDATA         MAPLIST         MATCHES         MATCHESALLOF
*MATCHESONEOF    MATH            MAX             MEANING
*MEMBER                          MIN             MOD
*MORELISTS       MOVE_BYTES      MOVE_SUBVECTOR
*NCMAPDATA       NCMAPLIST       NCREV           NEGATE
*NEWANYARRAY     NEWANYPROPERTY  NEWARRAY        NEWASSOC
*NEWLINE         NEWMAPPING
*NEWPR           NEWPROPERTY     NEWQUEUE
*NEXTCHAR        NEXTITEM        NIL             NL
*NOT             NULL            NUMBERS
*ONEOF           OUTCHARITEM
*PACKITEM        PAIR
*PARTAPPLY       PDCOMP          PDNARGS         PDPART
*PDPROPS         PDTOLIST        PI              POP_FILE_MODE (U)
*POP_LONGSTRINGS POP_OPTIMISE    POP_PR_EXPONENT POP_PR_PLACES
*POP_PR_QUOTES   POP_PR_RADIX    POP_PR_RATIOS
*POP_SECTION     POP_TIMEOUT
*POPARGLIST      POPAUTOLIST     POPCONSTRUCT    POPDEFINEPROCEDURE
*POPDEFINECONSTANT               POPDEVERR
*POPDEVIN        POPDEVOUT       POPDEVRAW       POPDPLACES
*POPDPRECISION   POPENVLIST (U)  POPEXIT         POPGCRATIO
*POPGCTIME       POPGCTRACE      POPLASTCHAR     POPLASTITEM
                                                 POPLINEMAX
*POPLINEWIDTH    POPMATCHVARS    POPMEMLIM       POPMEMUSED
*POPNEWLINE      POPPID          POPPRINT        POPPROMPT
*POPRADIANS      POPREADY        POPSETPOP       POPSYSCALL
*POPUSERNAME     POPUSESLIST     POPVAL          PPR
*PR              PRESENT         PRINT           PRINTLENGTH
*PRINTARROW      PRINTF          PRNUM           PROCASDATA
*PROCCALL        PROCESS         PROGLIST        PROPERTIES
*PURGE
*QUOTE_PR
*RANDOM          RANSEED         RAWCHARIN       RAWCHAROUT
*RAWOUTFLUSH     READEXPRESSION  READITEM        READLINE
*READTILL        REALOF          RECORDS
*RECURSION       RECURSIVE_FRONT REFERENCES
*REM             REQUESTLINE     RESUME          RETURN
*REV             RUNPROC
*SAVE            SAVEPROC        SECTION_CANCEL  SETFRONTLIST
*SETPOP          SYSFULLFILENAME
*SIGN            SIN
*SKIPCHAR        SKIPCHAR_BACK   SORT            SPACE
*SPR             SQRT            STACK           STACKLENGTH
*STRINGIN        STRINGS         STRMEMBER       STRNUMBER
*STRLOWERCASE    STRUPPERCASE
*SUBSCR_STACK    SUBSCRL         SUBSCRS         SUBSCRV
*SUBSCRW         SUBSTRING       SUSPEND         SYMBOLS
*SYSFORK         SYS_FILE_STAT   SYS_INPUT_WAITING
*SYS_LOCK_HEAP   SYS_OS_TYPE     SYS_PROCESSOR_TYPE
*SYSMODTIME      SYS_UNLOCK_HEAP SYSCALLERS
*SYSCANCEL       SYSCOMPILE      SYS_CONVERT_DATE
*SYSCLOSE        SYSCREATE       SYSDAYTIME
*SYSDECLARE      SYSDEFINE       SYSDELETE       SYSDIRECTORY
*SYSEXECUTE (U)  SYSEXIT
*SYSFILEDIR
*SYSFILEHOST     SYSFILEMODE (U) SYSFILEPARSE    SYSFILESIZE
*SYSFILETYPE     SYSFORK (U)     SYSGARBAGE      SYSHASH
*SYSHIBERNATE
*SYSLOOP         SYSLOOPEND      SYSMATCH
*SYSNEED         SYSNMTRY
*SYSOBEY         SYSOBEYLIST     SYSOPEN
*SYS_REAL_TIME   SYSREPEAT
*SYSPR                           SYSPROCEDURE
*SYS_PROCESSOR_TYPE              SYSREAD
*SYSRESTORE      SYSSAVE         SYSSAVEINCR     SYSSEEK
*SYSSETTIMER     SYSSLEEP        SYSSORT
*SYSSYNONYM      SYSTIME         SYSTRANSLATE    SYSTRMDEV
*SYSTRY          SYSUNPROTECT
*SYSWRITE
*TABS            TERMIN          THROW           TIME
*TIMEDIFF        TL              TRACE           TRUE
*TYPE
*UNDEF           UNDEFWORD       UNPACKITEM
*UNTRACE         UNTRACEALL      UPDATER
*UPPERTOLOWER    USES
*VALOF           VECTORS
*WORDCOUNT       WORDQUOTE       WORDS           WORDSWITH

-- ASSOCIATED DOCUMENTATION -------------------------------------------

HELP *PROGRAMMING

See all the ref files described in REF * REFFILES

--- C.all/help/pop -----------------------------------------------------
--- Copyright University of Sussex 1991. All rights reserved. ----------
