aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
AgeCommit message (Collapse)AuthorFilesLines
2008-12-09 r12415@gauss: gdr | 2008-12-06 11:42:45 -0600dos-reis1-3/+4
Implement basic support for pattern matching. r12416@gauss: gdr | 2008-12-06 18:09:19 -0600 Parse case pattern match. r12417@gauss: gdr | 2008-12-06 21:28:30 -0600 Implement basic case pattern matching for retractable domain. r12418@gauss: gdr | 2008-12-07 00:58:58 -0600 Refine retractability implementation. r12419@gauss: gdr | 2008-12-07 01:39:32 -0600 Update cached Lisp translation r12420@gauss: gdr | 2008-12-07 03:52:09 -0600 r12421@gauss: gdr | 2008-12-07 10:30:44 -0600 Implement type recovery too. r12422@gauss: gdr | 2008-12-07 19:18:09 -0600 Simplify LET-forms and COND-forms. r12423@gauss: gdr | 2008-12-07 21:21:12 -0600 Fix typos r12424@gauss: gdr | 2008-12-08 01:14:54 -0600 Parse case-pattern in the interpreter. r12427@gauss: gdr | 2008-12-08 20:32:29 -0600 Handle RetractableTo T.
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-1/+65
* interp/g-opt.boot ($simpleVMoperators): New. (isSimpleVMForm): Likewise. (isFloatableVMForm): Likewise. (optLET): Likewise. Expand backend let-forms. * interp/c-util.boot (foldSpadcall): Look into LET and COND forms. (replaceSimpleFunctions): Likewise. (mutateCONDFormWithUnaryFunction): New. (mutateLETFormWithUnaryFunction): Likewise. * interp/compiler.boot (tryCourtesyCoercion): Split from coerce. (compRetractAlternative): Simplify. Now try courtesy coercions before retraction. (compRecoverAlternative): New. (compMatch): Simplify. Implement type recovery too. 2008-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/compiler.boot (compRetractAlternative): New. (compMatch): Likewise. Use it to implement pattern macthing for retractable domains. * interp/parse.boot (parseAtAt): New. * interp/postpar.boot (postAtAt): Likewise. (postAlternatives): Likewise. (postMatch): Likewise. * interp/metalex.lisp (Keywords): Remove `otherwise' as keyword. * interp/fnewmeta.lisp (|PARSE-Match|): New local parser. * interp/newaux.lisp (@@): New token. Align wih interpreter. (otherwise): Remove binding specification. (case): Now also a Nud token.
2008-12-01 * interp/define.boot (compile): Don't check for PAC names.dos-reis1-1/+0
* interp/g-opt.boot (optCall): Likewise. * interp/functor.boot (SetFunctionSlots): Likewise. (mkOperatorEntry): Lose first parameter. (optPackageCall): Remove. * interp/category.boot (mkCategory): Document. Adjust call to mkOperatorEntry.
2008-11-16 * interp/c-util.boot: Clean up.dos-reis1-2/+2
* interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-output.boot: Likewise. * interp/macros.lisp: Likewise. * interp/nrungo.boot: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/sys-macros.lisp: Likewise. * interp/trace.boot: Likewise. * interp/types.boot: Likewise. * interp/vmlisp.lisp: Likewise. * interp/word.boot: Likewise.
2008-11-02 * interp/g-util.boot: Import "ggreater".dos-reis1-0/+4
* interp/category.boot: Import "g-cndata" * interp/c-util.boot: Import "g-opt". * interp/Makefile.pamphlet: Adjust Make rules.
2008-08-09 * interp/buildom.boot: Rename AST code LET to %LET throughout.dos-reis1-3/+3
* interp/c-util.boot: Likewise. * interp/comp.lisp: Likewise. * interp/compiler.boot: Likewise. * interp/cparse.boot: Likewise. * interp/def.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/iterator.boot: Likewise. * interp/mark.boot: Likewise. * interp/newaux.lisp: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/package.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/property.lisp: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/spad.lisp: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2008-05-08 * boot/translator.boot (bpOutItem): Handle namespace declaration.dos-reis1-2/+1
Update all boot files to use `namespace' instead of `)package'. * interp/: Likewise.
2008-05-06 * interp/define.boot: Explicitly initialize fluid variables.dos-reis1-1/+1
* interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/package.boot: Likewise. * interp/parse.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/record.boot: Likewise. * interp/template.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2008-04-23 * boot/ast.boot: Tidy.dos-reis1-1/+1
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise. * boot/strap: Update Lisp translation. * lisp/core.lisp.in: Tidy.
2008-04-07 * interp/compiler.boot (compWithMappingMode): Use getShellEntry.dos-reis1-3/+3
* interp/define.boot (compDefineFunctor1): Use setShellEntry. (canCacheLocalDomain): Likewise. (compilerCases): Likewise. (doIt): Likewise. * interp/functor.boot (setVector0): Likewise. (setVector3): Likewise. (setVector4part4): Likewise. (setVector5): Likewise. (mkVectorWithDeferral): Likewise. (DescendCodeAdd1): Likewise. (DescendCode): Likewise. (ConsantCreator): Likewise. (SetFunctionSlots): Likewise. (CheckVector): Likewise. * interp/g-opt.boot (optCall): Use getShellEntry. (optSpecialCall): Likewise. * interp/i-util.boot (devaluate): Likewise. * interp/nruncomp.boot (buildFunctor): Use setShellEntry. (NRTsetVector4a): Likewise. (NRTputInLocalReferences): Use getShellEntry. (NRTputInHead): Likewise. * interp/nrunopt.boot (augmentPredVector): Use setShellEntry. * interp/nruntime.boot (getShellEntry): New. (setShellEntry): Likewise. * interp/package.boot (processPackage): Use getShellEntry. (PackageDescendCode): Use setShellEntry. * interp/sys-globals.boot ($QuickCode): Remove. * interp/template.boot (NRTdescendCodeTran): Use setShellEntry. * interp/types.boot (%Void): New. (%Shell): New. * interp/wi2.boot (compDefineFunctor1): Use setShellEntry.
2008-01-14 * interp/compiler.boot (compSymbol): Don't handle possibledos-reis1-1/+1
case views here. (hasUniqueCaseView): Rename from getUniqueCaseView. Take the target mode as second argument. (compForm2): Use calling convention vector to determine infer flag parameter types. (compCase1): Uniformly handle `case-expressions'. Call genDeltaEntry for selected operator. (coerceExtraHard): Handle coercions from UnionType domains. (autoCoerceByModemap): Tidy. * interp/g-opt.boot (optCall): Be more verbose in diagnostics. * algebra/syntax.spad (Syntax): Rework. * algebra/coerce.spad.pamphlet (UnionType): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include UTYPE.o * share/algebra: Update databases.
2007-11-27 * vmlisp.lisp (create-sbc): Remove.dos-reis1-1/+1
* property.lisp: Don't use it anymore. * g-opt.boot: Likewise. * i-spec2.boot: Likewise.
2007-11-22 * as.boot: Globally substitute %noBranch for noBranch.dos-reis1-2/+2
* 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.
2007-10-15remove more pamphlets from interp/dos-reis1-0/+401
2007-09-20Revert commits to the wrong tree.dos-reis1-399/+0
2007-09-20remove pamphlets - part 2dos-reis1-0/+399