This file is indexed.

/usr/share/axiom-20170501/src/algebra/LIB.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
)abbrev domain LIB Library
++ Author: Stephen M. Watt
++ Date Created: 1985
++ Date Last Updated: June 4, 1991
++ Description:
++ This domain provides a simple way to save values in files.

Library() : SIG == CODE where

  SIG ==> TableAggregate(String, Any) with

    library :  FileName -> %
      ++ library(ln) creates a new library file.

    pack_! : % -> %
      ++ pack!(f) reorganizes the file f on disk to recover 
      ++ unused space.

    elt : (%, Symbol) -> Any
      ++ elt(lib,k) or lib.k  extracts the value corresponding to 
      ++ the key \spad{k} from the library \spad{lib}.

    setelt : (%, Symbol, Any) -> Any
      ++ \spad{lib.k := v} saves the value \spad{v} in the library
      ++ \spad{lib}.  It can later be extracted using the key \spad{k}.

    close_! : % -> %
      ++ close!(f) returns the library f closed to input and output.

  CODE ==> KeyedAccessFile(Any) add

         Rep := KeyedAccessFile(Any)

         library f == open f

         elt(f:%,v:Symbol) == elt(f, string v)

         setelt(f:%, v:Symbol, val:Any) == setelt(f, string v, val)