Select headings to return to index
See HELP *HELPFILES for an overview of documentation files.
CONTENTS - (Use <ENTER> g to access sections)
Non-alphanumeric symbols and operations are listed immediately below. They are followed by POP11 SYNTAX words and the words which are used as datawords of system objects. E.g.
dataword(99) = "integer".
Some of the entries have separate HELP or TEACH files, or both. Names of HELP files are preceded by asterisks.
Infix operation identifiers are listed with their precedences in HELP *PRECEDENCE
REF *POPSYNTAX gives POP-11 syntax diagrams
See REF *NUMBERS + Add one number to another, eg 4 + 5 = 9 - Subtract one number from another, eg 5 - 3 = 2 if at start of expression is unary minus, eg -5 * 4 = -20 * Multiply two numbers, eg 4 * 5 = 20 ** Raise one number to the power of another, eg 2 ** 3 = 8 / Divide one number by another, eg 8 / 4 = 2 // Divide one integer by another to get dividend and remainder, eg 10 // 3 -> dividend -> remainder; < Compare two numbers; result true if first smaller <= Compare two numbers; result true if first smaller or equal > Compare two numbers; result true if first greater >= Compare two numbers; result true if first greater or equal ==# Compare two items; result true if they are identical (i.e. ==) or numbers of same type and value
&& Logical 'and' on two integers treated as bitstrings, eg 27 && 22 = 18 &&~~ Logical 'and_not' on two integers treated as bitstrings ~~ Logical 'negate' on an integer treated as a bitstring, eg ~~ 5 = 6 || Logical 'or' on integers treated as bit strings, eg 27 || 22 = 31 ||/& Logical exclusive OR on two integers << Logical 'shift left' on integer as bitstring, eg 12 << 2 = 48 >> Logical 'shift right', on integer as bitstring, eg 48 >> 2 = 12
For more on bitwise operations on integers see REF * NUMBERS
See REF *FASTPROCS for non-type-checking versions of arithmetic and logical operators (i.e. fi_+ fi_-, fi_~~, etc.)
' String constructor, eg 'string', see *STRINGS and REF ITEMISE ` Quote a character, eg `a`, see *ASCII, and REF ITEMISE " Word quote, eg "word", see *WORDS % For unquoting in lists and vectors, see *PERCENT, and for partial application, see *PARTAPPLY ( Used in procedure calls, forming expressions etc, see *ROUNDBRA ) Closing bracket for '(' { Vector constructor, eg {vector}, see *TWIDDLYBRA } Closing bracket for Vector expressions. , Separates expressions, variables in declarations etc --> Pattern matched assignment, mishap if it fails, see *MATCHES -> Assignment arrow, eg 3 -> X (notice goes left to right) ->> Assign and leave on stack, eg 0 ->> X -> Y (sets X and Y to zero)
. Infix version of 'apply', eg [a b c].hd = "a" /= Not equal (works recursively on structures) /== Not identical (doesn't work recursively on structures) /* ... */ Comment brackets : Use after a word to make it a label, see *GOTO :: Create a new list link, eg "a" :: [b c d] = [a b c d] Second argument must be a list (possibly empty) ; Separate commands, terminate procedure headers etc <> Concatenate two structures; works on strings, lists, words, vectors, procedures, eg 'abc' <> 'def' = 'abcdef', [a b c] <> [d e f] = [a b c d e f], "abc" <> "def" = "abcdef", {a b c} <> {d e f} = {a b c d e f} nc_<> like <> but on lists does not copy first argument. = Equal (works recursively on structures) == Identical (doesn't recurse on structures) ==> Pretty printer for lists and vectors. Does indentation, etc. => Print Arrow >< String concatenator, combines any two printable things to a string, see *STRINGS. dir_>< String concatenator for directory names and file names. Copes with either Unix or VMS formats, depending on operating system. ? Match one list element, see *MATCHES ?? Match arbitrarily many list elements, see *MATCHES [ List constructor, eg [a list], see *SQUAREBRA ] List closing bracket ^ Insert value of next word into list or vector, see TEACH *ARROW ^^ Merge value of next word into list or vector, see TEACH *ARROW #_< ... code >_# execute code at compile time see * HASH_ #_IF <condition1> <code> #_ELSEIF <condition2> <code> #_ELSE <code> #_ENDIF Used for conditional compilation. Conditions evaluated at compile time.
biginteger Dataword of big integers (e.g. 2**99). boolean Dataword of *TRUE and *FALSE complex Dataword of complex numbers ddecimal Dataword of double precision decimals decimal Dataword of singe precision decimals device Dataword of device records ident Dataword of identifiers integer Dataword of integers intvec Dataword of invects - see REF * INTVEC key Dataword of keys, see *KEYS. nil Dataword of nil i.e. [] pair Dataword of pairs, see *CONSPAIR procedure Dataword of procedures process Dataword of processes, see *PROCESS prologterm Dataword of Prolog terms prologvar Dataword of prolog vars ratio Dataword of ratios (e.g. 3/4) ref Dataword of items created by CONSREF. Also a macro for using the VED editor to read REFerence files. section Dataword of sections string Dataword for strings termin dataword of *TERMIN undef Dataword of undef objects vector Dataword for vectors word Dataword of words.
active identprops of active variables and Boolean 'and', combines two booleans, see *AND andcase See *SWITCHON by See *FOR case See *SWITCHON constant For declaring constant identifiers. See *CONSTANT. cons_with <expression> { ... } For building arbitrary structures. constant identifier declaration define Used for procedure definitions, see *DEFINE dlocal For declaring dynamic locals. See HELP * DLOCAL dlvars See *DLVARS do A synonym for THEN, see *UNTIL, *WHILE, and *FOR else Used in conditionals, see *IF elseif See *IF elseunless See *IF enddefine End of procedure definition endfast_for See REF * FASTPROCS endfor End of a FOR loop, see *FOR endforeach End of a FOREACH loop, see *FOREACH endforevery End of a FOREVERY loop, see *FOREVERY endform See *FORMS endif End of an IF statement, see *IF endprefix End of PREFIX section, see *PREFIX endprocedure End of anonymous procedure, see *PROCEDURE endrecord Switch off recording, see *RECORD endrepeat End of a REPEAT loop, see *REPEAT endswitchon End of a SWITCHON, see *SWITCHON endsection End of a section see *SECTIONS endunless End of an UNLESS statement, see *UNLESS enduntil End of an UNTIL loop, see *UNTIL endwhile End of a WHILE loop, see *WHILE fast_for See REF * FASTPROCS for Start of an iterative loop, see *FOR foreach Start of a database iteration loop, see *FOREACH forever Used in REPEAT FOREVER.....ENDREPEAT. Endless iteration. forevery Start of iteration over combinations of database items, see *FOREVERY form Start of new syntax specification. See *FORMS from Used with FOR, see *FOR global Used with vars and sections. See *GLOBAL go_on <expression> to <labels.....> else <label> ; Computed goto. See *GO_ON. See *SWITCH goto Archaic, used to transfer control to a label if Start of conditional statement, see *IF in Used with FOR, see *FOR lconstant Used with lexical variables. See HELP * LEXICAL REF *VMCODE load Used to compile files. See *LOAD lvars For lexically scoped local variables. see *LVARS, REF *VMCODE macro Used when declaring or defining macros, see *MACRO nextif(condition) For loop control. Equivalent to: if condition the nextloop endif; nextloop Terminate this iteration and start next, see *NEXTLOOP nextloop(N) Terminate Nth nested iteration and start next, see NEXTLOOP nextunless(condition) - see nextif nonactive Can preced an active variable to deactivate it. nonmac Prevents a macro being expanded, see *NONMAC nonop Prevents an infix procedure being applied, see *NONOP nonsyntax Preceding a syntax word prevents it being applied. notcase Used with SWITCHON, see *SWITCHON on Used in FOR loops, see *FOR or Boolean 'or' on conditions, see *OR prefix protect variables by preceding them with prefix, see *PREFIX procedure Introduces anonymous procedure, see *PROCEDURE pwd Macro to print out current_directory quitif(condition) Terminate current iteration if satisfied, see *QUITIF quitif(condition)(N) As QUITIF, but leaves Nth enclosing iteration quitloop Terminate current iteration, see *QUITLOOP quitloop(N) As QUITLOOP but terminates Nth enclosing iteration quitunless(condition) As QUITIF except condition must be FALSE to terminate record Switches on recording of terminal interaction, see *RECORD recordclass Macro for defining new structures, see *RECORDCLASS repeat Start a fixed number of iterations, see *REPEAT return Jump to end of current procedure, see *RETURN return(item) As above, but leave item on stack. section start a section. See *SECTIONS step Used with FOR, see *FOR switch Go to one of a number of labels, see *SWITCH switchon A generalised 'case' facility, see *SWITCHON syntax Identprops of syntax words, see REF *IDENT then Used with IF and UNLESS till Used with FOR, see *FOR times Used with REPEAT, see *REPEAT to Used with FOR, see *FOR trace used to switch on tracing of procedures unless Start conditional statement, see *UNLESS until Start iteration, terminated when condition met, see *UNTIL untrace Switch off tracing of procedures. updaterof Syntax word used with *DEFINE for defining updaters. uses For secretly loading library programs if not already loaded. vars Declare variables, see *VARS vectorclass Macro for defining new classes of vectors. See *VECTORCLASS while Start iteration, continue while condition met, see *WHILE with_nargs Use in procedure definition to specify number of arguments See *WITH_NARGS with_props Use in procedure definition to specify initial *PDPROPS See REF *SYNTAX
--- C.all/help/syswords --- Copyright University of Sussex 1992. All rights reserved. ----------