Age | Commit message (Collapse) | Author | Files | Lines |
|
(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.
|
|
* compiler.boot (compileQuasiquote): New function.
* fnewmeta.lisp (|PARSE-Enclosure|): Parse quasiquotes too.
* i-intern.boot (mkAtree3): Don't evaluate arguments to
quasiquote.
* i-spec1.boot ($specialOps): Register [||].
(up[||]): Handle quasiquotes.
* newaux.lisp: Register `[|' and `|]' as new glyphs.
* pf2sex.boot ($insideApplication): Now count the nesting level of
application forms.
($insideQuasiquote): New. Count nesting level of quasiquotes.
(pfFinishApplication): Ensure application form nesting level is
properly decreased.
(pfApplication2Sex): Use it.
(pfQuasiquotation2Sex): Transform quasiquote forms.
(pf2Sex1): Use it.
* sys-constants.boot ($Syntax): New.
|
|
* i-intern.boot: Likewise.
* i-map.boot: Likewise.
* i-spec2.boot: Likewise.
* i-spec1.boot: Likewise.
|
|
* ax.boot: Likewise.
* cattable.boot: Likewise.
* compiler.boot: Likewise.
* def.lisp: Likewise.
* define.boot: Likewise.
* functor.boot: Likewise.
* g-opt.boot: Likewise.
* i-analy.boot: Likewise.
* i-intern.boot: Likewise.
* i-map.boot: Likewise.
* i-object.boot: Likewise.
* i-output.boot: Likewise.
* i-spec2.boot: Likewise.
* info.boot: Likewise.
* mark.boot: Likewise.
* nrunopt.boot: Likewise.
* package.boot: Likewise.
* parse.boot: Likewise.
* pf2atree.boot: Likewise.
* pf2sex.boot: Likewise.
* postpar.boot: Likewise.
* pspad2.boot: Likewise.
* wi2.boot: Likewise.
|
|
|