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. ----------