This file is indexed.

/usr/share/axiom-20170501/src/algebra/PMSYM.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
)abbrev package PMSYM PatternMatchSymbol
++ Author: Manuel Bronstein
++ Date Created: 9 Jan 1990
++ Date Last Updated: 20 June 1991
++ Description:
++ This package provides pattern matching functions on symbols.

PatternMatchSymbol(S) : SIG == CODE where
  S : SetCategory

  SIG ==> with

    patternMatch : (Symbol, Pattern S, PatternMatchResult(S, Symbol)) ->
                                           PatternMatchResult(S, Symbol)
      ++ patternMatch(expr, pat, res) matches the pattern pat to the
      ++ expression expr; res contains the variables of pat which
      ++ are already matched and their matches (necessary for recursion).

  CODE ==> add

    import TopLevelPatternMatchControl

    patternMatch(s, p, l) ==
      generic? p  => addMatch(p, s, l)
      constant? p =>
        ((u := retractIfCan(p)@Union(Symbol, "failed")) case Symbol)
          and (u::Symbol) = s => l
        failed()
      failed()