aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-12-10 18:54:17 +0000
committerdos-reis <gdr@axiomatics.org>2011-12-10 18:54:17 +0000
commit49fc7b2f58f56ea7c9aa8169be3dfcc22b818be2 (patch)
treeb9475624cbe821fff9753a08ef614396ffe8f2e4 /src/interp
parent1bee5e2ddcac5cd3a168f5f70a754fd8bee34021 (diff)
downloadopen-axiom-49fc7b2f58f56ea7c9aa8169be3dfcc22b818be2.tar.gz
* boot/parser.boot (bpArgtypeList): Accept mapping types.
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/c-util.boot6
-rw-r--r--src/interp/functor.boot2
-rw-r--r--src/interp/lisplib.boot2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index b062f979..b5f9fae3 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1327,7 +1327,7 @@ inlineDirectCall call ==
-- identity function too
parms is [=body] => first call.args
-- conservatively approximate eager semantics
- and/[sideEffectFree? arg for arg in call.args] =>
+ every?(function sideEffectFree?,call.args) =>
-- alpha rename before substitution.
newparms := [gensym() for p in parms]
body := applySubst(pairList(parms,newparms),body)
@@ -1406,7 +1406,7 @@ expandableDefinition?(vars,body) ==
atomic? body => true
[op,:args] := body
not ident? op or symbolMember?(op,$NonExpandableOperators) => false
- and/[atomic? x for x in args]
+ every?(function atomic?,args)
or semiSimpleRelativeTo?(body,$simpleVMoperators) =>
usesVariablesLinearly?(body,vars')
false
@@ -1714,7 +1714,7 @@ needsPROG? form ==
op is 'RETURN => true
op in '(LOOP PROG) => false
form is ['BLOCK,=nil,:.] => false
- or/[needsPROG? x for x in form]
+ any?(function needsPROG?,form)
++ We are processing the complete `body' of a function definition.
++ If this body is a multiway test, there is no need to have
diff --git a/src/interp/functor.boot b/src/interp/functor.boot
index 26ffe49b..c07346a4 100644
--- a/src/interp/functor.boot
+++ b/src/interp/functor.boot
@@ -249,7 +249,7 @@ optFunctorBody x ==
x is ['%list,:l] =>
null l => nil
l:= [optFunctorBody u for u in l]
- and/[optFunctorBodyQuotable u for u in l] =>
+ every?(function optFunctorBodyQuotable,l) =>
quote [optFunctorBodyRequote u for u in l]
['%list,:l]
x is ['PROGN,:l] => ['PROGN,:optFunctorPROGN l]
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 0efc5509..e49d3c27 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -124,7 +124,7 @@ augmentPredVector(dollar,value) ==
isHasDollarPred pred ==
pred is [op,:r] =>
op in '(AND and %and OR or %or NOT not %not) =>
- or/[isHasDollarPred x for x in r]
+ any?(function isHasDollarPred,r)
op in '(HasCategory HasAttribute) => first r is '$
false