Search Top Index
HELP PROGRAMMING Andrew Law Apr 1987 Revised: Adrian Howard Mar 1992 This help file describes some of the file relating to programming in the POPLOG environment. CONTENTS - (Use <ENTER> g to access required sections) -- Overviews of the different languages -- Programming in VED (The POPLOG Visual EDitor) -- Mixed language programming -- ... General -- ... Prolog and POP-11 -- ... Common LISP and Prolog -- ... Common LISP and POP-11 -- ... ML and POP-11 -- ... Using Non-POPLOG Languages -- Debugging aids -- ... General -- ... POP-11 -- ... Prolog -- ... Lisp -- ... ML -- Timing Procedures and Efficiency -- Errors, Warning messages and Interrupts -- ... General -- ... ML -- ... LISP -- Saved Images -- Sections -- Virtual Machine -- Memory, Memory Limits, And Garbage Collection -- Datatypes -- ASSOCIATED DOCUMENTATION -- Overviews of the different languages ------------------------------- HELP *POP HELP *CLISP HELP *PROLOG HELP *FLAVOURS HELP *PML -- Programming in VED (The POPLOG Visual EDitor) ---------------------- TEACH * VED --- Introduction to VED HELP * VED --- General overview of VED (programming in it and of it) -- Mixed language programming ----------------------------------------- The following files give information on writing programs in more than one language. -- ... General -------------------------------------------------------- HELP * SUBSYSTEMS REF * SUBSYSTEM Access to the different POPLOG language subsystems -- ... Prolog and POP-11 ---------------------------------------------- PLOGHELP *MIXED_LANGUAGES Methods of interfacing Prolog and other languages DOC *CONTINUATION Paper describing Prolog programming as continuation passing PLOGHELP *SIMPLEPOP Library to do simple things in POP-11 from Prolog PLOGHELP *TERMSINPOP POP-11 procedures for manipulating Prolog terms and variables PLOGHELP *PROCESSES How to create POP-11 processes which use Prolog procedures PLOGHELP *POPTOPLOG *PLOGTOPOP, HELP *PLOGINPOP How to call Prolog from POP-11 and vice versa PLOGHELP *POPSTRING Using POP-11 strings in Prolog PLOGHELP *IS Evaluating POP-11 and arithmetic expressions which return one result PLOGHELP *ARE Library for evaluating POP-11 expressions from Prolog PLOGHELP *PROLOG_BARRIER_APPLY POP-11 procedure which applies a procedure inside a Prolog 'barrier' PLOGHELP *PROLOG_LANGUAGE Predicates and library package for switching from Prolog to POP-11 PLOGHELP *PROLOG_VARS PLOGHELP *PROLOG_LVARS Library packages for easier declaration of prologvars from POP-11 -- ... Common LISP and Prolog ----------------------------------------- PLOGHELP *LISPINPLOG Accessing LISP from Prolog Lisp HELP file *PROLOG Accessing Prolog from LISP -- ... Common LISP and POP-11 ----------------------------------------- HELP *POPLISP Accessing POP-11 from LISP and vice versa. -- ... ML and POP-11 -------------------------------------------------- The ML HELP file MLINPOP Mixed-language programming in ML and POP-11. -- ... Using Non-POPLOG Languages ------------------------------------- HELP * EXTERNAL HELP * NEWEXTERNAL Mechanisms for easily declaring, loading, and unloading procedures compiled externally to POPLOG. REF * EXTERNAL Loading external data and calling external functions. REF * EXTERNAL_DATA External data structures. HELP * PASCAL (VMS only) Compiling PASCAL programs from VED. -- Debugging aids ----------------------------------------------------- The following sections give references to documentation on various POPLOG debugging aids. -- ... General -------------------------------------------------------- HELP * VED_WIGGLE REF *VED_WMP *VED_MP Visual demonstration of bracket opening/closing pairs REF * VED_MM Move to the "end" of a syntactic structure HELP * BUGREPORT Sending in reports on bugs in POPLOG HELP * CUCHARTRACE Variable controlling where trace output appears HELP * POPGCTRACE Tracing garbage collections HELP * SHOWCODE Tracing code planting instructions REF * POP_DEBUGGING General indication of whether programs are being compiled in debugging or "real-use" mode -- ... POP-11 --------------------------------------------------------- HELP * TRACE REF * TRACE General tracing of procedure execution HELP *POPREADY Invoking the compiler from a program REF *FASTPROCS Dangers of non-checking "fast" procedures HELP * DEBUGGER A source level debugger for POP-11 REF *FTRACE *FTRACEALL *UNFTRACE *UNFTRACEALL HELP * FTRACE_MESSAGE The Flavours tracing mechanism REF * VEDDEBUG Procedure used in debugging VED procedures -- ... Prolog --------------------------------------------------------- PLOGHELP *DEBUG Overview of the debugging facilities provided by POPLOG Prolog PLOGHELP * TRACER (also TEACH * TRACER in Prolog) Library program for tracing the action of simple predicates PLOGHELP *SPY, *DEBUGGING Placing "spypoints" on Prolog predicates PLOGHELP *QUIETSPY Predicate to prevent SPY from printing out messages when spypoints are placed or removed. PLOGHELP *NOSPY *NODEBUG Predicates to remove spypoints from specified predicates TEACH *WHY in Prolog Providing justifications for Prolog programs PLOGHELP *LEASH Predicate which causes each spypoint to prompt user for action PLOGHELP *CHATTY Debugging tool to make clauses print commentary during their execution PLOGHELP *UNLEASH Predicate which causes spypoints to print out messages without prompting PLOGHELP *PLOGDEBUG List of PROLOG Debugging options PLOGHELP *UNDEFS, *UNKNOWN For altering the action taken when encountering undefined predicates PLOGHELP *SHOWTERM Library package for displaying a tree representing a term PLOGHELP *DISPLAY Predicate which writes argument to current output in prefix format -- ... Lisp ----------------------------------------------------------- The following are all LISP documentation files: HELP *INSPECT LISP version of the POP-11 LIB *INSPECT HELP *DEBUG General LISP debugging tools *DEBUG-IO* and *TRACE-OUTPUT* in REF *STREAMS in LISP Streams used for debugging and trace output REF *TRACE *UNTRACE in Lisp Tracing of LISP functions -- ... ML ------------------------------------------------------------- The following are all ML documentation files: HELP * GCTRACE Flag controlling the display of garbage collection statistics HELP * TRACEBACK Display extra information when an exception is raised HELP * BUGS Known bugs in POPLOG ML -- Timing Procedures and Efficiency ----------------------------------- REF *TIMES --- System timing procedures HELP *TIME --- Timing procedures HELP *PROFILE --- Profiling where the system is doing the most work HELP *EFFICIENCY REF *FASTPROCS --- Efficiency -- Errors, Warning messages and Interrupts ---------------------------- The following sections give pointers to documentation on errors, warnings, and interrupts. See also relevant sections in HELP *CLISP, PLOGHELP *HELPFILES and HELP *POP. -- ... General -------------------------------------------------------- REF *LOADWARNING *SYSLOADWARNING Warnings when files are compiled. HELP *MISHAP Summary of POP-11 error procedures. HELP *PRMISHAP *SYSPRMISHAP, REF *VEDPRMISHAP *POP_DEFAULT_PRMISHAP Printing procedures for error messages REF *POP_MISHAP_DOING_LIM Controls the number of procedures displayed in the "DOING" list of a mishap message. HELP *POPMISHAPS Summary of the last mishap message. HELP *INTERRUPT POP-11 interrupt procedures (default is HELP *SETPOP) HELP *SETPOP Resetting the POP-11 system HELP *WARNING Slightly different MISHAP procedure without HELP *INTERRUPT HELP *PRWARNING *SYSPRWARNING, REF *NEWPRWARNING Procedures for indicating automatic variable declaration. HELP *POPWARNINGS Variable which lists automatically declared variables HELP *PRAUTOLOADWARN, REF *SYSPRAUTOLOADWARN Warnings of autoloading libraries REF *MISHAP_CODES Summary of mishap acronyms. REF * MISHAPS Details of mishap and warning procedures REF * POP_FILE_WRITE_ERROR Procedure called when there is an error writing to a device REF *VEDERROR *VEDENDERROR *VEDTOPERROR *VEDSYSFILEERROR VED error procedures -- ... ML ------------------------------------------------------------- HELP *ERROR *Error General purpose error function. HELP *WARNINGS Controls warnings produced by the compiler. -- ... LISP ----------------------------------------------------------- REF *ERRORS Summary of LISP error mechanisms. -- Saved Images ------------------------------------------------------- HELP *SYSSAVE, *SYSRESTORE Saving and restoring saved images (POP-11) HELP *SYSSAVEINCR On saving part of an image REF *SYSUTIL For further details HELP *INITIAL Starting up and tailoring POPLOG HELP *PARAMETERS Running POP-11 with parameters PLOGHELP *SAVE, *RESTORE Saved images in Prolog -- Sections ----------------------------------------------------------- HELP *SECTIONS General introduction HELP *POP_SECTION The top-level section record. HELP *CURRENT_SECTION Accessing and changing current section HELP *SECTION_CANCEL How to cancel a section HELP *SMATCH Using MATCHES within sections HELP *GLOBAL The use of global identifiers in POP-11 HELP *VARS, *DEFINE Declarations in POP-11 HELP *SYSCANCEL Breaking the link between a word and its current identifier HELP *SYSCANCELWORD Removing a word completely from the dictionary REF *SECTIONS, REF *IDENT, REF *WORDS More technical details. -- Virtual Machine ---------------------------------------------------- TEACH *VM, *POPSYS, *GC Introduction to Virtual machines REF *VMCODE Virtual machine code HELP *PROGLIST, REF *POPCOMPILE Compilation Processes and Procedures REF *ITEMISE Itemisation REF *SYSIO, *SYSUTIL System level I/O HELP *POPDEVIN, *POPDEVOUT, *POPDEVERR Redirecting POP I/O HELP *IO General I/O -- Memory, Memory Limits, And Garbage Collection ---------------------- TEACH * GC Tutorial Introduction HELP * SYSGARBAGE Initiating a garbage collection HELP * POPGCTRACE Prints out a message when a garbage collection occurs REF * POPGCRATIO Determines the weighting of garbage-collection time HELP * POPGCTIME Holds the total CPU time spent on garbage collections HELP * SYS_LOCK_HEAP Locks the heap HELP * POPMEMLIM On setting the maximum memory size REF * POPMEMUSED Holds total memory used at last garbage collection PLOGHELP * TRIMCORE Prolog predicate which causes a garbage collection. REF * POP_CALLSTACK_LIM Active variable specifying depth limit for procedure calls -- Datatypes ---------------------------------------------------------- There are several types of data-structures in POP-11 (types of object that your program can manipulate). Each type is associated with a 'dataword' and a class structure called a key. Below is a complete list of data types available in POPLOG, together with their dataword Dataword Reference Description ---------------------------------------------------------------------- XptDescriptor REF * XptDescriptor X Toolkit Interface Descriptor biginteger REF * NUMBERS Arbitrary-precision integers boolean HELP * BOOLEAN The unique items in TRUE and FALSE complex REF * NUMBERS Complex numbers ddecimal HELP * DECIMALS Double precision decimals decimal HELP * DECIMALS Single precision decimals device HELP * DEVICE Input/Output device dstring REF * STRINGS Display strings external_ptr REF * EXTERNAL_DATA Pointers to external objects ident REF * IDENT Identifier integer REF * NUMBERS Simple integer intvec REF * INTVEC Integer vector key REF * KEYS Class keys nil REF * NIL The unique item -nil-. pair REF * LISTS Pairs and lists procedure HELP * PROCEDURE Procedures, closures, properties, and arrays process HELP * PROCESS POP-11 processes prologterm REF * PROLOG Prolog terms prologvar REF * PROLOG Prolog variables ratio REF * NUMBERS Ratios ref HELP * REFERENCES References section HELP * SECTIONS Sections shortvec REF * INTVEC Vector of short integers stackmark REF * POPSTACKMARK Stackmark records string HELP * STRINGS Strings termin HELP * TERMIN The unique item in -termin- undef HELP * UNDEF Undef records vector HELP * VECTORS Vectors word HELP * WORDS Words Other related files include: HELP *DATASTRUCTURES - Overview file HELP *CONSPROCS - Procedures for building data-structures HELP *DESTPROCS - Destructor procedures HELP *ARRAYS - Multidimensional structures indexed by numbers HELP *MORELISTS - Summary of list manipulating procedures HELP *PROCASDATA - Procedure (This includes CLOSURES, PROPERTIES, ARRAYS) HELP *CLASSES - Information on user defined classes HELP *DEFCLASS - Defining new record and vector classes HELP *BITVECTORS - Creation of simple bit vectors REF *PROPERTIES - Generalised association tables For fuller details, see the REF files, described in REF *REFFILES. -- ASSOCIATED DOCUMENTATION ------------------------------------------- TEACH * INDEX HELP * INDEX REF * INDEX DOC * INDEX --- C.all/help/programming --------------------------------------------- --- Copyright University of Sussex 1987. All rights reserved. ----------