Contexts
The circumstances which allow certain coercions are called
contexts. Each context has an intrinsic strength. There are five
contexts called strong, firm, meek, weak
and soft. The places in a program which have these contexts
are:
- Strong contexts
- The actual-parameters of calls
- The enclosed clauses of casts
- The right-hand side of assignments
- The right-hand side of identity declarations
- The right-hand side of initialised name declarations
- The units of routine denotations
VOID
units
- All constituents except one of a balanced clause
- One side of an identity relation
- Firm contexts
- Operands of formulæ
- The actual parameters of transput calls
- Meek contexts
- Enquiry-clauses (including
WHILE
)
- Primaries of calls
- The units following
FROM
, BY
and TO
in a
loop clause
- Trimmers, subscripts and bounds (must yield an
INT
)
- Weak contexts
- Primaries of slices
- Secondaries of selections
- Soft contexts
- The left-hand side of assignments
- The other side of an identity relation
(see strong context)
Sian Mountbatten
2012-01-19