This file is indexed.

/usr/share/axiom-20170501/src/algebra/DIAGG.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
)abbrev category DIAGG Dictionary
++ Author: Michael Monagan; revised by Manuel Bronstein and Richard Jenks
++ Date Created: August 87 through August 88
++ Date Last Updated: April 1991
++ Description:
++ A dictionary is an aggregate in which entries can be inserted,
++ searched for and removed. Duplicates are thrown away on insertion.
++ This category models the usual notion of dictionary which involves
++ large amounts of data where copying is impractical.
++ Principal operations are thus destructive (non-copying) ones.

Dictionary(S) : Category == SIG where
  S : SetCategory

  SIG ==> DictionaryOperations S 

   add

     dictionary l ==
       d := dictionary()
       for x in l repeat insert_!(x, d)
       d

     if % has finiteAggregate then

       select_!(f, t) == remove_!((x:S):Boolean +-> not f(x), t)

       s = t ==
         eq?(s,t) => true
         #s ^= #t => false
         _and/[member?(x, t) for x in parts s]

       remove_!(f:S->Boolean, t:%) ==
         for m in parts t repeat if f m then remove_!(m, t)
         t