Age | Commit message (Collapse) | Author | Files | Lines |
|
Tidy resolveNiladicConstructors.
|
|
Tidy resolveNiladicConstructors.
|
|
Remove quotify.
|
|
Remove unused parse functions.
|
|
Modularize S-PROCESS.
|
|
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.
|
|
* 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.
|
|
domain expression.
|
|
|
|
* 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.
|
|
|
|
(compDefineFunctor1): Don't use it anymore.
(compCategoryItem): Filter out nil attributes here.
|
|
againg; it was already checked by NRTassocIndex.
(genDeltaEntry): Likewise.
(NRTgetLocalIndex): Likewise.
* interp/wi2.boot (genDeltaExntry): Likewise.
|
|
earlier tweaks.
(mkExplicitCategoryFunction): Likewise.
|
|
|
|
(genDeltaEntry): Remove dead pattern match.
|
|
* interp/wi1.boot (setqSingle): Likewise.
* interp/functor.boot (setVector4): Likewise.
(DescendCode): Abort on SETELT opcode.
(SetFunctionSlots): Likewise.
* interp/nrunfast.boot (evalSlotDomain): Likewise.
* interp/nrungo.boot (NRTevalDomain): Likewise.
* interp/showimp.boot (getDomainRefName): Match "setShellEntry".
|
|
|
|
* interp/wi2.boot (compCapsuleInner): Likewise.
* interp/functor.boot (processFunctorOrPackage): Remove.
(processPackage): Likewise.
(subTree): Likewise.
(setPackageLocals): Likewise.
(PackageDescendCode): Likewise.
|
|
* interp/nrunfast.boot ($NRTvec): Don't define.
|
|
|
|
|
|
|
|
|
|
compCategoryItem.
(compCategoryItem): Use it. Tidy.
(quotifyCategoryArgument): Remove.
(mkEvalableCategoryForm): Tidy.
|
|
|
|
* interp/define.boot (compDefineFunctor1): Adjust call.
|
|
(maprin): Use it. Separate record in lean mode.
* interp/sys-globals.boot ($leanMode): Define.
* interp/sys-driver.boot (systemMain): Initialize.
* interp/ht-util.boot (executeInterpreterCommand): Print prompt
only in non-lean mode.
* interp/int-top.boot (SpadInterpretStream): Likewise.
(intloopReadConsole): Likewise.
* interp/metalex.lisp (get-a-line): Likewise.
* interp/server.boot: Likewise.
|
|
* interp/sys-driver.boot (initializeGlobalState): Set
$compileDefaultsOnly.
* interp/lisplib.boot (isFunctor): Load exports file if present.
* interp/define.boot (compDefineCategory2): Don't write out
category load time stuff if we are compiling only defaults.
* interp/boot-pkg.lisp: Import loadFileIfPresent.
* lisp/core.lisp.in (|loadFileIfPresent|): New.
(|loadIfPresent|): Use it.
|
|
(newHasTest): Use it to handle signature export test.
* testsuite/interpreter/has.input: New.
|
|
exported list, instead of category object. Tidy.
* interp/define.boot (compDefineFunctor1): Adjust call to
compDefineExports.
|
|
* interp/sys-driver.boot (initializeGlobalState): Set
$compileExportsOnly.
* interp/lisplib.boot (compDefineExports): New.
* interp/define.boot (skipCategoryPackage?): New.
(compDefineCategory1): Use it.
(compDefineFunctor): Don't compile to NRLIB if interested only in
exports.
(compDefineFunctor1): Honor $compileExportsOnly.
* interp/sys-macros.lisp (|withOutputFile|): New.
* interp/sys-utility.boot (quoteForm): Likewise.
|
|
* interp/iterator.boot: Likewise.
|
|
* 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.
|
|
* interp/Makefile.pamphlet: Adjust.
|
|
* interp/spad.lisp: Likewise.
|
|
hashcode.
* interp/cfuns.lisp: Delete.
|
|
compiler driver to i-syscmd.boot.
* interp/define.boot: Import "nruncomp", "functor", "package".
* interp/wi2.boot (NRTgetLocalIndex): Remove duplicate.
|
|
* interp/modemap.boot ($forceAdd): Define.
* interp/nruncomp.boot ($NRTderivedTargetIfTrue): Likewise.
($killOptimizeIfTrue): Likewise.
* interp/i-toplev.boot (processInteractive): Tidy.
* interp/c-util.boot ($compErrorMessageStack): Define.
* interp/compiler.boot (compApply): Remove.
($compTimeSum): Likewise
($resolveTimeSum): Likewise.
(compCompilerPredicate): Tidy.
(comp3): There is no such thing as KAPPA.
|
|
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/sys-globals.boot: Likewise.
* interp/wi1.boot ($frontier): Removed, as unused.
* interp/wi2.boot ($attributesName): Likewise.
($goGetList): Likewise.
($NRTaddList): Likewise.
($NRTloadTimeAlist): Likewise.
($lisplibMissingFunctions): Likewise.
($alternateViewList): Likewise.
|
|
* interp/br-op1.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/category.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
(isPackageType): Likewise.
* interp/lisplib.boot (getSlotFromDomain): Remove.
* interp/macros.lisp (|saySpadMsg|): Remove.
* interp/vmlisp.lisp (qsetq): Remove.
(STATEP, FUNARGP, PAPPP): Likewise.
(LISTOFQUOTES, LISTOFFREES): Likewise.
|
|
* interp/template.boot: Move non-dead code where appropriate.
Remove file.
* boot/ast.boot (bfQ): Improve.
|
|
(extra-runtime-libs): Tidy.
* lisp/Makefile.in (edit): stringify $(oa_c_runtime_extra) elements.
|
|
* interp/category.boot: Import "g-cndata"
* interp/c-util.boot: Import "g-opt".
* interp/Makefile.pamphlet: Adjust Make rules.
|
|
|
|
variables really are locals.
* interp/i-map.boot (findLocalVars1): Fix typo.
|
|
|
|
readByteFromStreamSocket. Import oa_socket_write_byte as
writeByteToStreamSocket.
* include/sockio.h (oa_socket_read_byte): Declare.
(oa_socket_write_byte): Likewise.
* lib/sockio-c.c (oa_socket_read_byte): Define.
(oa_socket_write_byte): Likewise.
* algebra/net.spad.pamphlet (readByteIfCan!$InetClientStreamSocket):
Implement.
(writeByteIfCan!$InetClientStreamSocket): Likewise.
* etc/asq.c.pamphlet: Update build rules for asq$(EXEEXT).
|
|
* lib/sockio-c.c (oa_inet_pton): Define.
(oa_get_host_address): Likewise.
* algebra/net.spad.pamphlet (IP4Address): New.
(NetworkClientSocket): Likewise.
(InetClientStreamSocket): Likewise.
* algebra/data.spad.pamphlet (DataArray): Rename from DataBuffer.
(ByteBuffer): Rename from ByteArray. Reimplement.
* algebra/exposed.lsp.pamphlet: Expose IP4Address,
InetClientStreamSocket, NetworkClientSocket.
|