diff options
author | dos-reis <gdr@axiomatics.org> | 2011-12-10 18:54:17 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-12-10 18:54:17 +0000 |
commit | 49fc7b2f58f56ea7c9aa8169be3dfcc22b818be2 (patch) | |
tree | b9475624cbe821fff9753a08ef614396ffe8f2e4 /src/interp | |
parent | 1bee5e2ddcac5cd3a168f5f70a754fd8bee34021 (diff) | |
download | open-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.boot | 6 | ||||
-rw-r--r-- | src/interp/functor.boot | 2 | ||||
-rw-r--r-- | src/interp/lisplib.boot | 2 |
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 |