aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/indexedp.spad.pamphlet
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@axiomatics.org>2016-01-17 22:53:01 -0800
committerGabriel Dos Reis <gdr@axiomatics.org>2016-01-17 22:53:01 -0800
commitd07fc9735f40e545edda456e15dbab783c500f6a (patch)
tree4d9fab82a7085b73a4b00d23389935503fdfc90d /src/algebra/indexedp.spad.pamphlet
parent5437d438937eb25eb320fef6e4fd6ebc91ca6dc9 (diff)
downloadopen-axiom-d07fc9735f40e545edda456e15dbab783c500f6a.tar.gz
subtractIfCan$CancellationAbelianMonoid: return the more principled Maybe %
Diffstat (limited to 'src/algebra/indexedp.spad.pamphlet')
-rw-r--r--src/algebra/indexedp.spad.pamphlet20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/algebra/indexedp.spad.pamphlet b/src/algebra/indexedp.spad.pamphlet
index beee92ac..e4dd5805 100644
--- a/src/algebra/indexedp.spad.pamphlet
+++ b/src/algebra/indexedp.spad.pamphlet
@@ -293,19 +293,19 @@ IndexedDirectProductOrderedAbelianMonoidSup(A:OrderedAbelianMonoidSup,S:OrderedS
s: S
subtractIfCan(x,y) ==
- empty? y => x
- empty? x => "failed"
- x.first.k < y.first.k => "failed"
+ empty? y => just x
+ empty? x => nothing
+ x.first.k < y.first.k => nothing
x.first.k > y.first.k =>
t:= subtractIfCan(x.rest, y)
- t case "failed" => "failed"
- cons( x.first, t)
- u:=subtractIfCan(x.first.c, y.first.c)
- u case "failed" => "failed"
+ t case nothing => nothing
+ just cons( x.first, t)
+ u := subtractIfCan(x.first.c, y.first.c)
+ u case nothing => nothing
zero? u => subtractIfCan(x.rest, y.rest)
- t:= subtractIfCan(x.rest, y.rest)
- t case "failed" => "failed"
- cons([x.first.k,u],t)
+ t := subtractIfCan(x.rest, y.rest)
+ t case nothing => nothing
+ just cons([x.first.k,u],t)
sup(x,y) ==
empty? y => x