/usr/share/axiom-20170501/src/algebra/RESLATC.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | )abbrev package RESLATC ResolveLatticeCompletion
++ Author: Stephen M. Watt
++ Date Created: 1986
++ Date Last Updated: May 30, 1991
++ Description:
++ This package provides coercions for the special types \spadtype{Exit}
++ and \spadtype{Void}.
ResolveLatticeCompletion(S) : SIG == CODE where
S : Type
SIG ==> with
coerce : S -> Void
++ coerce(s) throws all information about s away.
++ This coercion allows values of any type to appear
++ in contexts where they will not be used.
++ For example, it allows the resolution of different types in
++ the \spad{then} and \spad{else} branches when an \spad{if}
++ is in a context where the resulting value is not used.
coerce : Exit -> S
++ coerce(e) is never really evaluated. This coercion is
++ used for formal type correctness when a function will not
++ return directly to its caller.
CODE ==> add
coerce(s: S): Void == void()
coerce(e: Exit): S ==
error "Bug: Should not be able to obtain value of type Exit"
|