diff options
author | dos-reis <gdr@axiomatics.org> | 2007-12-12 07:44:36 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-12-12 07:44:36 +0000 |
commit | 6d7d09414b6a40d3005b591ed05f2f466a4494f0 (patch) | |
tree | 3caaf1c274428eecaad29cf876f983f9b510e40f /src/interp/modemap.boot | |
parent | 59c74f79255a713a633fc6b7ca3e18ff89d018b7 (diff) | |
download | open-axiom-6d7d09414b6a40d3005b591ed05f2f466a4494f0.tar.gz |
* compiler.boot (comp3): Use isQuasiquote.
(compSymbol): Use condition type view for non Union objects.
(getUniqueCaseView): New. Subroutine of compSymbol.
(compForm2): Don't infer type for flag parameter through
unique compilcation.
(checkCallingConvention): New.
(compileQuasiquote): coerce, don't convert.
(compCase1): Handle non Union type object through modemap
selection.
(maybeSpliceMode): New. Subroutine of compCase1.
Register special form compiler with their names, not pointers.
* define.boot (candidateSignatures): New.
(hasSigInTargetCategory): Use it. Tidy.
(checkAndDeclare): Use isQuasiquote.
(spadCompileorSetq): Rename non atomic parameters before calling
LISP compiler.
* g-util.boot (quasiquote): New.
(isQuasiquote): Likewise.
* i-intern.boot (flagArguments): New.
(signatureFromModemap): Likewise.
(mkAtree3): Use them. Handle functions taking flag arguments.
* i-object.boot (getFlagArgsPos): New.
* i-spec1.boot (userDefinedCase): Now prepare form and hands back
to bottomUp.
(upcase): Adjust call to userDefinedCase.
* modemap.boot (addDomain): Don't add flag domains to the
environment.
* nruncomp.boot (NRTencode): Handle flag values.
(NRTgetLocalIndex1): Likewise.
* nrunfast.boot (lazyMatch): Likewise.
(newExpandLocalTypeForm): Likewise.
* sys-constants.boot ($DummyFunctorNames): Include quasiquote
constructor.
* template.boot (NRTaddInner): Handle flag values.
Diffstat (limited to 'src/interp/modemap.boot')
-rw-r--r-- | src/interp/modemap.boot | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/interp/modemap.boot b/src/interp/modemap.boot index 7dc30283..1cdfdd2c 100644 --- a/src/interp/modemap.boot +++ b/src/interp/modemap.boot @@ -56,6 +56,9 @@ addDomain(domain,e) == addNewDomain(domain,e) -- constructor? test needed for domains compiled with $bootStrapMode=true isFunctor name or constructor? name => addNewDomain(domain,e) + -- ??? we should probably augment $DummyFunctorNames with CATEGORY + -- ??? so that we don't have to do this special check here. Investigate. + isQuasiquote domain => e if not isCategoryForm(domain,e) and not member(name,'(Mapping CATEGORY)) then unknownTypeError name |