/usr/share/axiom-20170501/src/algebra/FILECAT.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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | )abbrev category FILECAT FileCategory
++ Author: Stephen M. Watt, Victor Miller
++ Date Last Updated: June 4, 1991
++ Description:
++ This category provides an interface to operate on files in the
++ computer's file system. The precise method of naming files
++ is determined by the Name parameter. The type of the contents
++ of the file is determined by S.
FileCategory(Name, S) : Category == SIG where
Name : SetCategory
S : SetCategory
IOMode ==> String -- Union("input", "output", "closed")
SIG ==> SetCategory with
open : Name -> %
++ open(s) returns the file s open for input.
open : (Name, IOMode) -> %
++ open(s,mode) returns a file s open for operation in the
++ indicated mode: "input" or "output".
reopen_! : (%, IOMode) -> %
++ reopen!(f,mode) returns a file f reopened for operation in the
++ indicated mode: "input" or "output".
++ \spad{reopen!(f,"input")} will reopen the file f for input.
close_! : % -> %
++ close!(f) returns the file f closed to input and output.
name : % -> Name
++ name(f) returns the external name of the file f.
iomode : % -> IOMode
++ iomode(f) returns the status of the file f. The input/output
++ status of f may be "input", "output" or "closed" mode.
read_! : % -> S
++ read!(f) extracts a value from file f. The state of f is
++ modified so a subsequent call to \spadfun{read!} will return
++ the next element.
write_! : (%,S) -> S
++ write!(f,s) puts the value s into the file f.
++ The state of f is modified so subsequents call to \spad{write!}
++ will append one after another.
flush : % -> Void
++ flush(f) makes sure that buffered data is written out
|