aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2010-06-01Adjust opcode for character supportdos-reis2-1/+10
2010-06-01 * interp/g-util.boot: Add more opcodes.dos-reis2-14/+26
* algebra/syntax.spad.pamphlet: Clean up. * algebra/variable.spad.pamphlet: Likewise. * algebra/ystream.spad.pamphlet: Likewise.
2010-05-31 * interp/compiler.boot (compWithMappingMode): Handle lambdados-reis3-5/+14
expressions as mapping.
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis3-17/+26
* interp/g-util.boot (expandToVMForm): Likewise. (expandStore): Refine store to pair components. * algebra/any.spad.pamphlet (Scope): Use builtin operators. (Environment): Likewise. * algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise. (ConstructorCall): Likewise. (FunctorData): Likewise. (OperatorSignature): Likewise. (Category): Likewise. (Domain): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. (NonNegativeInteger): Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/syntax.spad.pamphlet (Syntax): Likewise.
2010-05-30 * interp/i-coerce.boot (getSubDomainPredicate): Use compileInteractive.dos-reis1-1/+2
2010-05-30Add more opcodesdos-reis4-86/+54
2010-05-30 * algebra/boolean.spad.pamphlet (Boolean): Remove reference todos-reis1-1/+3
Lisp. Use builtin functions.
2010-05-29 * interp/compiler.boot (getExternalSymbolMode): Allow Lisp asdos-reis3-8/+22
foreign language. (checkExternalEntity): Likewise. (compSignatureImport): Likewise. Give foreign variables dummy values. * interp/c-util.boot (middleEndExpand): Handle %true and %false. * interp/g-util.boot (expandToVMForm): Likewise.
2010-05-29Fix typodos-reis1-1/+1
2010-05-29Add more utility functionsdos-reis1-5/+51
2010-05-29More support middle end logical operatorsdos-reis7-29/+30
2010-05-29 * interp/i-funsel.boot: Support middle end logical operators.dos-reis2-24/+22
($constructorExposureList): Remove as unused.
2010-05-28More opcode expandersdos-reis1-0/+33
2010-05-28Clean up MAKEPROP usesdos-reis12-21/+21
2010-05-28 Add support for 'property' builtin function.dos-reis1-10/+10
* interp/g-timer.boot: Rename property to prop to avoid conflict. * boot/parser.boot (bpAssignLHS): Allow functional places to assign to. * boot/ast.boot (bfPlace): New. (bfAssign): Handle %Place forms. * boot/tokens.boot: property is now translated to GET.
2010-05-28 * boot/tokens.boot: args is now a selector.dos-reis3-5/+5
* interp/g-timer.boot: Use integer? in lieu of INTP. * interp/i-syscmd.boot: Likewise. * interp/msgdb.boot: Likewise.
2010-05-28Fix typodos-reis1-2/+2
2010-05-28 * interp/sys-utility.boot (eval): Define here.dos-reis15-38/+42
* interp/br-con.boot: Use it. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/cattable.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/server.boot: Likewise. * interp/showimp.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-macros.lisp (eval): Move to sys-utility.boot.
2010-05-27 * interp/sys-macros.lisp (eval): Expand opcodes before calling EVAL.dos-reis12-59/+79
* interp/slam.boot (reportFunctionCompilation): Tidy. Take extra care when generating code that access global variables. (reportFunctionCacheAll): Likewise. * interp/i-util.boot (isLocallyBound): Define. * interp/i-spec1.boot (upCOLLECT1): Bind $iteratorVars to nil. (upLoopIterSTEP): Call mkIteratorVariable instead of mkLocalVar. (upLoopIterIN): Likewise. (upStreamIterIN): Likewise. (upStreamIterSTEP): Likewise. (collectOneStream): Tidy. (mkAndApplyPredicates): Likewise. (mkIterFun): Lose last parameter. Tidy. (declare): Use isLocallyBound. (getAndEvalConstructorArgument): Likewise. (mkIteratorVariable): New. ($iteratorVars): New. * interp/i-spec2.boot (upREPEAT1): Bind $iteratorVars to nil. (isLocalPred): Use isLocallyBound. (compileIs): Likewise. (evalLETput): Likewise. (evalLETchangeValue): Likewise. (isType): Likewise. * interp/i-analy.boot (bottomUp): Likewise. (bottomUpDefaultCompile): Likewise. * interp/i-eval.boot (evalForm): Likewise. (getMappingArgValue): Likewise. * interp/i-map.boot (findLocalVars1): Likewise. (findLocalsInLoop): Tidy. Filter out iterator variables. (isLocalVar): Remove. * interp/g-util.boot (mkCacheName): Define here. (mkAuxiliaryName): Likewise. * interp/c-util.boot (backendCompileSLAM): Use mkCacheName. (backendCompileSPADSLAM): Likewise. * interp/clam.boot (compClam): Likewise. (clearCategoryCaches): Likewise. (clearCategoryCache): Likewise. * interp/g-timer.boot (timedEVALFUN): expandToVMForm is now implicitly called by eval.
2010-05-27 * interp/i-map.boot (compileCoerceMap): Minivectors are globaldos-reis3-28/+29
variables. Generate appropriate code. * interp/i-spec1.boot (compileTargetedADEF): Likewise. (compileADEFBody): Likewise. * interp/slam.boot (isRecurrenceRelation): Likewise. Adjust patterns to match minivectors. (mkDiffAssoc): Likewise. (reportFunctionCompilation): Don't declare minivectors.
2010-05-26 * interp/slam.boot (compileRecurrenceRelation): Generate code todos-reis2-20/+51
access and set the global value of the variable holding the cache state. * interp/g-util.boot: Add more middle end form expanders.
2010-05-26 * boot/tokens.boot: Automatically translate alphabetic?, digit?,dos-reis34-113/+112
lowerCase?, upperCase?, readByte, readInteger, readLine, writeByte, writeLine. * interp/as.boot: Use them. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/database.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/intfile.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/scan.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise.
2010-05-26 * interp/c-util.boot ($ClearBodyToken): New constant.dos-reis5-8/+11
* interp/define.boot (compDefineCapsuleFunction): Use it in place of special character. (spadCompileOrSetq): Likewise. * interp/i-map.boot (addMap): Likewise. (getUserIdentifiersIn): Likewise. * interp/wi1.boot (spadCompileOrSetq): Likewise.
2010-05-25 * interp/g-util.boot: Add expanders for %lt, %le, %gt, %ge, %not,dos-reis4-104/+155
%and, %or, and %bind forms. * interp/c-util.boot (mutateToBackendCode): Handle LET and LET* forms. * interp/nrungo.boot (NRTisRecurrenceRelation): Move to ... * interp/slam.boot: Here. Remove NRT prefix. (compileRecurrenceRelation): Generate forms using middle-end opcodes.
2010-05-25 * interp/i-spec2.boot (evalREPEAT): Generate %repeat forms.dos-reis5-22/+36
(interpREPEAT): Likewise. * interp/i-spec1.boot (interpCOLLECT): Generate %collect forms. * interp/i-map.boot (findLocalVars1): Handle %repeat forms the same as REPEAT forms. * interp/g-opt.boot (changeThrowToExit): Don't look into %repeat forms. (expandInit): New. (expandLoop): New. abstract from expandCollect. (expandCollect): Use it. Rework. (expandRepeat): New.
2010-05-25 * interp/g-util.boot: Implement expansion of %collect forms.dos-reis5-18/+116
* interp/c-util.boot (middleEndExpand): Tidy. * interp/g-opt.boot (changeThrowToExit): Don't look into %collect forms. * interp/i-map.boot (getUserIdentifiersIn): Factorize. Handle %collect forms same as COLLECT forms. (findLocalVars1): Likewise. * interp/i-spec1.boot (evalCOLLECT): Now generate %collect forms. (checkForFreeVariables): Factorize. Handle %collect forms same as COLLECT forms.
2010-05-25 * interp/g-util.boot (expandToVMForm): New. Export.dos-reis3-10/+27
(getOpcodeExpander): move to here from c-util.boot. ($middleEndOpcodes): Likewise.
2010-05-24 * interp/i-object.boot (object): New. Abstract over boilerplate.dos-reis5-35/+19
* interp/i-analy.boot: Use it in place of boilerplate. * interp/i-eval.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise.
2010-05-24Fix typodos-reis1-1/+1
2010-05-24 * interp/c-util.boot ($middleEndOpcodes): New.dos-reis1-5/+14
(getOpcodeExpander): Likewise. (middleEndExpand): Use it to expand middle end opcodes.
2010-05-24More cleanupsdos-reis1-0/+10
2010-05-24More cleanupsdos-reis1-3/+1
2010-05-23 * interp/i-spec1.boot (compileADEFBody): Establish a dynamicdos-reis1-6/+6
binding for $freeVariables and $boundVariables. (mkIterFun): Likewise. (mkIterZippedFun): Likewise.
2010-05-23 * boot/tokens.boot: gensym is now candidate for renaming.dos-reis26-85/+85
* boot/ast.boot: Replace GENSYM with gensym. * interp/buildom.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/macex.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/server.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-22 * interp/cparse.boot (npDefinitionItem): Consider a declaration asdos-reis3-3/+24
a definition item too. * interp/i-map.boot (addDefMap): Don't confuse constant with niladic functions. * interp/pf2sex.boot (pfDefinition2Sex): Don't be confused by typed constant definitions.
2010-05-22 * interp/ptrees.boot (pfWith): Now a function of two arguments.dos-reis3-20/+13
(pfWithWithon): Remove. (pfDefinableName?): New. (pfCheckItOut): Use it. * interp/cparse.boot (npWith): Simplify. * interp/pf2sex.boot (pfWith2Sex): Adjust. (pfAdd2Sex): Tidy.
2010-05-22 * interp/cparse.boot (npQuiver): Redefine. Now send Applicationdos-reis1-9/+9
to Application. (npTypedForm): Replace Application with Quiver. (npTypified): Likewise. (npTagged): Use npTypedForm not npTypedForm1. (npDiscrim): Now extend Relation, not Quiver. (npMdef): Allow same LHS as npDef. (npSingleRule): Likewise. * boot/ast.boot: Replace CONCAT with strconc. Replace SYMBOL-NAME with PNAME. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-18 * interp/cparse.boot: Clean up.dos-reis1-602/+687
2010-05-17 * interp/fnewmeta.lisp: Remove out-of-date META grammar.dos-reis2-263/+7
(PARSE-LabelExpr): Remove. * interp/newaux.lisp: Remove Nud property for << and >>.
2010-05-17 * interp/as.boot: Clean up.dos-reis7-56/+56
* interp/br-util.boot: Likewise. * interp/category.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/modemap.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-16 * interp/i-util.boot (flattenCOND): Move from g-boot.boot.dos-reis9-1162/+27
(extractCONDClauses): Likewise. * interp/g-boot.boot: Remove. * interp/def.lisp: Likewise. * interp/Makefile.pamphlet: Adjust dependencies.
2010-05-16 * interp/property.lisp: Clean up.dos-reis1-140/+1
2010-05-16 * interp/daase.lisp ($ConstructorCache): Declare.dos-reis6-9/+11
* interp/bootlex.lisp: Fix use of SETELT. * interp/macros.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/vmlisp.lisp: Likewise.
2010-05-15 * boot/ast.boot (shoeCompTran1): Handle %Leave expressions.dos-reis2-4/+4
* boot/parser.boot (bpReturn): Parse leave-expressions too. * interp/mark.boot (markInsertBodyParts): properly escape Boot keywords.
2010-05-15 * interp/vmlisp.lisp (SETELT): Remove.dos-reis9-36/+22
* interp/br-data.boot: Remove use of SETELT. * interp/br-saturn.boot: Likewise. * interp/br-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise.
2010-05-13 * interp/sys-utility.boot (hashTable): Define.dos-reis30-53/+66
* interp/word.boot: Use it. * interp/topics.boot: Likewise. * interp/sys-driver.boot: Likewise. * interp/slam.boot: Likewise. * interp/setvars.boot: Likewise. * interp/scan.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/mark.boot: Likewise. * interp/interop.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/guess.boot: Likewise. * interp/g-util.boot: Likewise. * interp/database.boot: Likewise. * interp/compress.boot: Likewise. * interp/clam.boot: Likewise. * interp/cattable.boot: Likewise. * interp/c-util.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-con.boot: Likewise. * interp/sys-globals.boot ($ConstructorCache): Move elsewhere. ($instantRecord): Likewise. * algebra/newdata.spad.pamphlet: Use EQUAL as equality function for hash table. * algebra/table.spad.pamphlet: Call hashTable builtin function instead of MAKE-HASHTABLE.
2010-05-11 Add support for interpreter-style anonymous function.dos-reis3-1/+56
* interp/compiler.boot (compUnnamedMapping): New. (gatherParameterList): Likewise. (compLambda): Likewise.
2010-05-11 * interp/compiler.boot (freeVarUsage): New. Split out ofdos-reis2-66/+73
compWithMappingMode. (finishLambdaExpression): Likewise. (compWithMappingMode): Restructure.
2010-05-10 Add lambda expression syntax to Boot.dos-reis2-10/+10
* boot/parser.boot (bpLambda): New. * boot/ast.boot (bfLambda): New. * boot/tokens.boot: Add "+->" as token. * interp/cparse.boot: Use lambda expression syntax. * interp/c-util.boot: Likewise.
2010-05-09More cleanupsdos-reis18-76/+76