aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
AgeCommit message (Collapse)AuthorFilesLines
2013-06-14compColon is now smarter about category definitions.dos-reis1-0/+37
2013-06-01Support --output in compiler, for bootstrapping stage.dos-reis1-12/+17
2013-05-30Change backend code emitters to take a %Libname parameterdos-reis1-6/+6
2013-05-29Simplify final backend instruction emission.dos-reis1-3/+6
2013-05-29Simplify backend functionsdos-reis1-5/+1
2013-05-29Misc backend cleanup.dos-reis1-7/+14
2013-05-29Add DB parameter to middle end functions.dos-reis1-5/+5
2013-05-29Misc cleanups.dos-reis1-9/+0
2013-05-29Misc cleanup.dos-reis1-8/+8
2013-05-29Remove Lispy junksdos-reis1-1/+1
2013-05-28Remove special variable $libFiledos-reis1-3/+7
2013-05-28 Remove $domainShell.dos-reis1-6/+13
2013-05-28Add DB parameter to compNoStackingdos-reis1-4/+5
2013-05-27Introduce a data structure for ephemeral compilation artifactsdos-reis1-5/+13
2013-05-22Replace OPTIONLIST with $compilerOptionsdos-reis1-0/+5
2013-05-14 * interp/c-util.boot (cleanParameterList!): New.dos-reis1-1/+17
* interp/define.boot (spadCompileOrSetq): Use it.
2013-05-14Move lispy stuff to lisp-backend.bootdos-reis1-185/+0
2013-05-11Consistently use OIL opcodes for abstractionsdos-reis1-4/+4
2013-05-08Almost pure function bodies are now %redex formsdos-reis1-1/+11
2012-08-26 * interp/br-saturn.boot: Replace TERPRI with finishLine.dos-reis1-5/+5
* interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-error.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/postpar.boot: Likewise. * interp/setvars.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise.
2012-06-03 * boot/parser.boot (bpSignatureTail): Split out of bpSignature.dos-reis1-1/+1
(bpTyped): Use it. (bpThrow): Lilkewise. (bpRegularBVItemTail): Likewise. (bpAssignLHS): Likewise. (bpStoreName): Do not reference $typings. * boot/ast.boot (%Ast): Remove %Pretend variant. (bfSignature): Rename from bfLocal. Build %Signature variant. (bfLET1): Handle assignment to typed variable. (shoeCompTran): Do not reference $typings. (shoeCompTran1): Do not translate assignment to typed variables. (bindFluidVars): Handle them here. (bfTagged): Remove. (bfTry): Tidy. * boot/translator.boot (shoeOutParse): Do not reference $typings and $returns. * interp/c-util.boot (isAlmostSimple): Initialize $assignmentList.
2012-05-26 * boot/tokens.boot: freshLine, functionSymbol?, and symbolGlobal?dos-reis1-1/+1
are now builin. * boot/ast.boot: Tidy. * interp/c-util.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-output.boot: Likewise. * interp/clam.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/sys-driver.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/lisp-backend.boot: Likewise.
2012-05-23 * interp/database.boot (%Constructor): New.dos-reis1-1/+1
(makeConstructor): Likewise. (makeInitialDB): Tidy. * interp/daase.lisp (makeDB): Take two more parameters. Build a %Constructor structure object too.
2012-05-21 * interp/vmlisp.lisp (SETANDFILE): Remove.dos-reis1-2/+3
(LAM,EVALANDFILEACTQ): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/slam.boot (reportFunctionCompilation): Tidy. * interp/lisp-backend.boot (evalAndPrintBackendDecl): New. * interp/c-util.boot (backendCompileSPADSLAM): Use it in lieu of SETANDFILE. (compAndDefine): Use evalAndPrintBackendDecl in lieu of PRINT-AND-EVAL-DEFUN. * interp/hypertex.boot: Clean up. * interp/nhyper.boot: Likewise. * interp/word.boot: Likewise.
2012-05-21 * interp/vmlisp.lisp (EVALANDFILEACTQ): Second argument is nodos-reis1-3/+4
longer optional. Adjust callers. (LAM\,EVALANDFILEACTQ): Likewise. * interp/slam.boot (compQuietly): Use printBackendDecl. * interp/spad.lisp (SPAD): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/macros.lisp (SETANDFILE): Move to vmlisp.lisp. * interp/lisp-backend.boot (printBackendStmt): New. (evalAndPrintBackendStmt): Likewise. (printBackendDecl): Likewise. * interp/c-util.boot (registerFunctionReplacement): Use evalAndPrintBackendStmt. (registerRedexForm): Likewise. (proclaimCapsuleFunction): Use printBackendStmt. * interp/Makefile.in (lisp-backend.$(FASLEXT)): Require nlib.$(FASLEXT)
2012-05-20 * interp/parsing.lisp (CONVERSATION): Remove.dos-reis1-14/+0
(CONVERSATION1): Likewise. (MAKE-PARSE-FUNCTION): Likewise. (MAKE-PARSE-FUNCTION1): Likewise. (MAKE-PARSE-FUNC-FLATTEN): Likewise. (MAKE-PARSE-FUNC-FLATTEN-1): Likewise. (TRANSPGVAR): Likewise. (GETRULEFUNLISTS): Likewise. (REDUCTION-PRINT): Likewise. (TRACEMETA): Likewise. (TRMETA): Likewise. (TRMETA1): Likewise. (/MDEF): Likewise. * interp/macros.lisp (EXPAND-TABS): Likewise. * interp/spad.lisp (READ-SPAD): Likewise. (READ-INPUT): Likewise. (READ-SPAD0): Likewise. (READ-SPAD1): Likewise. (READ-SPAD-1): Likewise. (New,ENTRY,1): Likewise. (New,ENTRY,2): Likewise. * interp/bootlex.lisp (SPAD_SYNTAX_ERROR): Move to debug.lisp. (SPAD_LONG_ERROR): Likewise. (SPAD_SHORT_ERROR): Likewise. (SPAD_ERROR_LOC): Likewise. * interp/c-util.boot (COMP370): Move to lisp-backend.boot. (compQuietly): Move to slam.boot.
2012-05-12 * interp/c-util.boot: Miscellaneous cleanup.dos-reis1-1/+1
* interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/macros.lisp: Likewise. * interp/monitor.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nlib.lisp: Likewise. * interp/parsing.lisp: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/posit.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/util.lisp: Likewise.
2012-05-05 * interp/clam.boot (compClam): Remove.dos-reis1-10/+0
(compHash): Simplify. Now take only 3 parameters. * interp/c-util.boot (compileQuietly): Remove as unused. * interp/sys-globals.boot ($clamList): Move to clam.boot. * interp/define.boot (compileConstructor1): Call compHash in lieu of compClam. * share/doc/msgs/s2-us.msgs: Remove unused diagnostics, due to compClam removal and compHash simplification.
2012-05-05 * interp/define.boot (compileConstructor1): Don't calldos-reis1-1/+0
clearConstructorCache here. Simplify. (compileConstructor): Call clearConstructorCache here. * interp/c-util.boot (backendCompile2): Do not test for membership of $clamList. * interp/clam.boot (compHash): Use compQuietly instead of compileQuietly.
2012-05-04 * interp/lisp-backend.boot (assembleCode): New.dos-reis1-14/+3
* interp/c-util.boot (backendCompileSPADSLAM): Use it. (backendCompile2): Likewise.
2012-05-03 * interp/c-util.boot: Use LAMBDA type in lieu of LAM.dos-reis1-3/+3
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/lisp-backend.boot (COMPILE1): Tidy. * interp/slam.boot: Likewise.
2012-05-03 * interp/g-opt.boot ($AbstractionOperator): Remove SLAM.dos-reis1-41/+7
* interp/c-util.boot (backendCompileSLAM): Remove. (backendCompileSPADSLAM): Tidy. (backendCompile2): Adjust.
2012-05-03 * interp/c-util.boot (makeWorkerName): New.dos-reis1-3/+5
(backendCompileSLAM): Use it. (backendCompileSPADSLAM): Likewise. * interp/clam.boot (compHash): Likewise. Do not synthetize new parameter for unary constructors.
2012-05-03 * interp/c-util.boot: Use APPLY, not APPLX.dos-reis1-1/+1
* interp/clam.boot: Likewise. * interp/i-output.boot: Likewise. * interp/slam.boot: Likewise. * interp/vmlisp.lisp (APPLX): Remove.
2012-05-02 * interp/c-util.boot (backendCompileSPADSLAM): Do not devaluatedos-reis1-10/+11
argument list. Tidy.
2012-05-02 * interp/c-util.boot (backendCompileSPADSLAM): Tidy. Do notdos-reis1-9/+8
devaluate argument of unary constructors.
2012-05-01 * interp/vmlisp.lisp (COMP370): Move to c-util.bootdos-reis1-0/+5
(compileLispDefinition): Move to lisp-backend.boot.
2012-05-01 * algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,dos-reis1-1/+1
%imulmod. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * interp/c-util.boot (devaluate): Use # in lieu of QVSIZE. * interp/g-opt.boot: %ilfshift and %irshift are now builtin side-effect free operations. * interp/lisp-backend.boot: Translate them. * interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/macros.lisp: Avoid QVMAXINDEX. * interp/vmlisp.lisp (QSDIFFERENCE): Remove. (QSGREATERP): Likewise. (QSLEFTSHIFT): Likewise. (QSLESSP): Likewise. (QSMAX): Likewise. (QSMIN): Likewise. (QSMINUS): Likewise. (QSMINUSP): Likewise. (QSODDP): Likewise. (QSABSVAL): Likewise. (QSPLUS): Likewise. (QSZEROP): Likewise. (QVMAXINDEX): Likewise. (QVSIZE): Likewise. (ZERO?): Likewise.
2012-02-26 * interp/g-util.boot (usedSymbol?): Remove.dos-reis1-2/+2
(bindingForm?): New. (usesVariable?): Likewise. * interp/compiler.boot (declareUnusedParameters): Use it. * interp/g-opt.boot (inlineLocals): Likewise. (optClosure): Likewise. (optBind): Likewise. * interp/define.boot (compContained): Remove.
2012-02-26 * interp/c-util.boot (numOfOccurencesOf): Tidy.dos-reis1-1/+4
* interp/compiler.boot (compUnnamedMapping): Fix thinko. * interp/g-opt.boot (semiSimpleRelativeTo?): Likewise.
2012-02-07 * interp/lisplib.boot (dbLocateModule): New.dos-reis1-2/+2
(findModule): Use it. Simplify. (loadLib): Tidy. (genericLoadDB): New. (loadDB): Use it. (loadDBIfCan): New. * interp/c-util.boot (lookupDefiningFunction): Give up gracefully if the domain of computation is not compiled yet. * algebra/Makefile.in ($(OUT)/SPADAST.$(FASLEXT)): Require $(OUT)/SUCHTAST.$(FASLEXT).
2011-12-28 * interp/vmlisp.lisp (SORTBY): Remove.dos-reis1-6/+6
(QSORT): Likewise. * interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION. * interp/sys-utility.boot (sortBy): New. * interp/br-op1.boot: Use it. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/showimp.boot: Likewise. * boot/tokens.boot: "<-" is now a token. * boot/ast.boot (bfKeyArg): New. (bfExpandKeys): Likewise. (bfApplication): Use it. * boot/parser.boot (bpKeyArg): New. (bpAssign): Use it. Parse named arguments.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-4/+4
* boot/utility.boot (drop): Define and export. (take): Likewise. * interp/br-con.boot: Use take, not TAKE; use drop, not DROP. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/guess.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/parse.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. * interp/macros.lisp (DROP): Remove. (TAKE): Likewise.
2011-12-10 * interp/g-opt.boot (optSeq): Remove splicePROGN as redundant.dos-reis1-1/+1
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN. (DescendCode): Likewise. * interp/c-util.boot (displayComp): Fix thinko.
2011-12-10 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis1-3/+3
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-11-30 * interp/define.boot (registerInlinableDomain): Lose last argument.dos-reis1-7/+8
Recursively nominate constructor argument for inlining. Adjust callers. * interp/c-util.boot: Tidy. * algebra/Makefile.in: Tidy.
2011-11-30 * interp/c-util.boot (clearReplacement): Clear redex replacement.dos-reis1-15/+16
(registerRedexForm): New. (redexForm): Likewise. (inlineDirectCall): Inline functions with known redex forms. (foldExportedFunctionReferences): Compute redex forms. (backendCompileILAM): Remove as unused. (backendCompile2): Adjust. (massageBackendCode): Likeiwse. * interp/define.boot (compDefineCapsuleFunction): Clear replacement info.
2011-11-28 * interp/c-util.boot (inlineDirectCall): Inline a non-side effectdos-reis1-0/+3
free argument in a unary pure function call if it is used exactly once. * algebra/integer.spad.pamphlet (Integer) [reducedSystem]: Fix typo.
2011-11-26 * interp/c-util.boot (updateCapsuleDirectory): Simplify.dos-reis1-9/+3
* interp/define.boot (compDefineCapsuleFunction): Call it from here. * interp/functor.boot (DescendCode): Not here.
2011-11-26 * interp/br-con.boot (conOpPage1): Fix typo.dos-reis1-4/+28
* interp/c-util.boot (registerConstructor): New. (currentConstructor): Likewise. (makeCompilationData): Initialize dbEntityBuffer. (dbEntityBuffer): New. (dbUsedEntities): Likewise. (dbEntityCount): Likewise. * interp/compiler.boot: Adjust call to getLocalIndex, NRTassocIndex * interp/define.boot: Likewise. ($NRTdeltaLength): Remove. * interp/nruncomp.boot: Likewise.