/usr/share/axiom-20170501/src/algebra/PATRES2.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 | )abbrev package PATRES2 PatternMatchResultFunctions2
++ Author: Manuel Bronstein
++ Date Created: 1 Dec 1989
++ Date Last Updated: 14 Dec 1989
++ Description:
++ Lifts maps to pattern matching results.
PatternMatchResultFunctions2(R, A, B) : SIG == CODE where
R : SetCategory
A : SetCategory
B : SetCategory
SIG ==> with
map : (A -> B, PatternMatchResult(R, A)) -> PatternMatchResult(R, B)
++ map(f, [(v1,a1),...,(vn,an)]) returns the matching result
++ [(v1,f(a1)),...,(vn,f(an))].
CODE ==> add
map(f, r) ==
failed? r => failed()
construct [[rec.key, f(rec.entry)] for rec in destruct r]
|