aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2013-05-19 04:22:53 +0000
committerdos-reis <gdr@axiomatics.org>2013-05-19 04:22:53 +0000
commitfa4294f205cbc0398db0e80b7dbbe8daf7795024 (patch)
tree951e831aacffda2e5b928827ccee8ad2d25f5d4f
parente3f96535b3ee598eb1a3aed19a40ec2a6fb59a15 (diff)
downloadopen-axiom-fa4294f205cbc0398db0e80b7dbbe8daf7795024.tar.gz
Tidy getSignature
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/define.boot14
2 files changed, 10 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 37844e25..84f3ddcc 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2013-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ * interp/define.boot (getSignature): Tidy.
+
+2013-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
* algebra/cycles.spad.pamphlet (CycleIndicators) [nniBump]: New
local function.
[SFunction]: Use it.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index c17905c4..c5f7e073 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -2020,14 +2020,13 @@ addDomain(domain,e) ==
getSignature(op,argModeList,$e) ==
- 1=#
- (sigl:=
- removeDuplicates
- [sig
- for [[dc,:sig],[pred,:.]] in (mmList:= get(op,'modemap,$e)) | dc='_$
- and sig.source = argModeList and knownInfo(pred,$e)]) => first sigl
+ mmList := get(op,'modemap,$e)
+ sigl := removeDuplicates
+ [sig for [[dc,:sig],[pred,:.]] in mmList
+ | dc='$ and sig.source = argModeList and knownInfo(pred,$e)]
+ sigl is [sig] => sig
null sigl =>
- (u:= getXmode(op,$e)) is ['Mapping,:sig] => sig
+ getXmode(op,$e) is ['Mapping,:sig] => sig
SAY '"************* USER ERROR **********"
SAY("available signatures for ",op,": ")
if null mmList
@@ -2035,7 +2034,6 @@ getSignature(op,argModeList,$e) ==
else for [[dc,:sig],:.] in mmList repeat printSignature(" ",op,sig)
printSignature("NEED ",op,["?",:argModeList])
nil
- 1=#sigl => first sigl
stackSemanticError(["duplicate signatures for ",op,": ",argModeList],nil)
--% ARGUMENT CONDITION CODE