aboutsummaryrefslogtreecommitdiff
path: root/src/boot/utility.boot
AgeCommit message (Collapse)AuthorFilesLines
2015-12-26Rename 'lastItem' to 'last'. Remove the macro definition.Gabriel Dos Reis1-3/+3
2015-12-24Replace FUNCALL with apply.Gabriel Dos Reis1-3/+3
2015-12-24Translate apply(f,[args]) as FUNCALL(f,args)Gabriel Dos Reis1-1/+31
2014-02-02misc updatedos-reis1-1/+1
2013-06-15 * interp/nruncomp.boot (NRTsetVector4Part1): Add environment parameter.dos-reis1-1/+9
Adjust caller. (NRTsetVector4a): Likewise. Avoid special variable for environment. * boot/utility.boot: Add and export substSource, substTarget. * interp/define.boot: Use them.
2013-06-14compColon is now smarter about category definitions.dos-reis1-1/+5
2012-08-20 * interp/i-coerfn.boot: Do not import i-coerce. Import i-analydos-reis1-1/+1
and i-resolv intead. ($CoerceTable): Fix embarrassing thinko. * interp/i-coerce.boot: Import i-coerfn. (coerceIntTableOrFunction): Tidy. * boot/utility.boot (objectAssoc): Tidy.
2012-05-28 * interp/lexing.boot: Use makeToken directly.dos-reis1-1/+12
(tokenInstall): Remove. (getSpadIntegerToken): Lose parameter. Adjust callers. (getNumberToken): Likewise. (getArgumentDesignator): Likewise. (getToken): Likewise. (getSpadString): Likewise. (getSpecial): Likewise. (getGliph): Likewise. (getIdentifier): Likewise. * lisp/core.lisp.in ($stdio): New. * boot/includer.boot: Use it. * boot/translator.boot: Likewise. * boot/utility.boot (stringPrefix?): New.
2012-05-28 * interp/io.boot (findChar): Do not define here.dos-reis1-3/+10
* interp/match.boot (charPosition): Likewise. * boot/utility.boot (charPosition): Now return argument string length if no match. (findChar): New. * boot/scanner.boot (lexerCharPosition): Adjust. (shoeAccumulateLines): Use findChar.
2012-05-24 * boot/tokens.boot: "@" is now a new keyword.dos-reis1-3/+2
* boot/ast.boot (bfRestrict): New. (bpTyped): Rename from bpTagged. Accept type restriction. * boot/utility.boot (drop): Restrict the result to a %List.
2012-05-23 * boot/tokens.boot (%Token): New datatype.dos-reis1-1/+1
(makeToken): New. * boot/includer.boot: Use %token accessors. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/utility.boot: Export subString.
2012-05-20 * boot/utility.boot (strinSuffix?): New.dos-reis1-1/+11
* boot/translator.boot (shoeRemovebootIfNec): Use it.
2011-12-28 * boot/tokens.boot: Remove redundant renaming of REM.dos-reis1-18/+18
loopBody and loopExit are not selectors. * interp/i-output.boot: Include sys-utility. * interp/sys-utility.boot (last): New macro. (loopBody): Likewise. * interp/vmlisp.lisp (LASTNODE): Remove. (LASTPAIR): Likewise. (last): Do not define here.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-2/+19
* 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 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis1-1/+18
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-10-30 * interp/sys-macros.lisp (MKPF1): Tidy.dos-reis1-0/+3
* interp/sys-constants.boot ($QueryVariables): New. * interp/define.boot ($whreDecls): Remove. (checkRepresentation): Take a DB as first parameter. Adjust Callers. (buildConstructorCondition): New (deduceImplicitParameters): Likewise (compDefineCategory2): Use it. (compDefineFunctor1): Likewise. (typeDependencyPath): Remove. (inferConstructorImplicitParameters): Likewise. * interp/compiler.boot (compTopLevel): Do not bind $whereDecls. (recordDeclarationInSideCondition): Take additional reference parameter to the list of processed decls. Adjust callers. (compWhere): Record any side decls in compilation environment. * interp/c-util.boot (makeCompilationData): Initialize implicit data. (dbParameters): New. (dbImplicitData): New accessor macro. (dbImplicitParameters): New. (dbImplicitConstraints): Likewise. (dbSubstituteFormals): Likewise. (dbSubstituteQueries): Likewise. * interp/database.boot (fixUpPredicate): Tidy. * boot/utility.boot (applySubst): Early exit on identity substitution. (applySubst!): Likewise. (applySubstNQ): Likewise. * boot/ast.boot (bfIS1): Accept pattern matching against Boolean constant true.
2011-10-29 * interp/lisplib.boot (makePredicateBitVector): Take a DB argument.dos-reis1-1/+6
Set dbPredicates. (compConLib1): Set dbPredicates to nil. (compDefineLisplib): Likewise. (finalizeLisplib): Write dbPredicates. * boot/tokens.boot (copyTree): Do not translate. * boot/utility.boot (topyTree): Implement. Export.
2011-10-21 Workaround proclamation bug in GCLdos-reis1-1/+2
* boot/utility.boot (firstNonblankPosition): Do not declare.
2011-10-04 * boot/utility.boot (symbolAssoc): Rename from assocSymbol. Export.dos-reis1-16/+14
* interp/functor.boot: Remove getAbbreviation, mkAbbrev, addsuffix. * interp/sys-utility.boot (symbolAssoc): Remove as redundant. (scalarTarget): New. * interp/bc-matrix.boot: Use symbolTarget instead of symbolLassoc. * interp/br-con.boot: Use QLASSQ instead of symbolTarget. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/profile.boot: Likewise. * interp/trace.boot: Likewise. * interp/vmlisp.lisp (assoc): Tidy.
2011-10-03 Cleanup.dos-reis1-1/+1
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-1/+8
* boot/ast.boot: Use it. instead of ASSOC. * boot/translator.boot (packageBody): Tidy. * interp/astr.boot: Use objectAssoc instead of ASSQ. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msg.boot: Likewise. * interp/posit.boot: Likewise. * interp/termrw.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot (upwardCut): New. * interp/spad.lisp: Use it. * interp/util.lisp: Likewise. * interp/spaderror.lisp: Likewise. * interp/vmlisp.lisp (ASSEMBLE): Remove. (ASSQ): Likewise. (MEMQ): Likewise. (NAMEDERRSET): Likewise. (ORADDTEMPDEFS): Likewise. * interp/macros.lisp (QLASSQ): Move to vmlisp.lisp. (LASSQ): Remove.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-3/+25
(setUnion): New. (setDifference): New. * boot/translator.boot (packageBody): New. (translateToplevel): Use it. Translate namespace definition. * boot/tokens.boot: Replace bitmask with bitref. Do not translate setDifference and setUnion. * boot/parser.boot (bpDef): Now include namespace definition. (bpComma): Remove namespace rule as subsumed by Where rule. * boot/Makefile.in: Remove dependencies on initial-env.lisp. (AXIOM_LOCAL_LISP_sources): Remove as unused, (boot_sources): Remove as redundant with boot_SOURCES. * boot/initial-env.lisp: Remove.
2011-09-30 * boot/utility.boot (firstNonblankPosition): New.dos-reis1-1/+10
(firstBlankPosition): Likewis. * boot/translator.boot (reallyPrettyPrint): New. (genOptimizeOptions): Use it. (evalBootFile): Tidy. (shoePPtoFile): Remove as deadcode. (shoeAddbootIfNec): Rewrite. (shoeAddStringIfNec): Remove. * boot/scanner.boot (shoeNextLine): Use firstNonblankPosition. (shoeEsc): Likewise. (shoePossFloat): Likewise. * boot/initial-env.lisp ($IEEE): Remove. (*LISP-BIN-FILETYPE*): Likewise. (*LISP-SOURCE-FILETYPE*): Likewise. (SHOEPRETTYPRINT1): Likewise, (REALLYPRETTYPRINT): Likewise. (SHOENOPRETTYPRINT): Likewise. (STRPOS): Likewise. (STRPOSL): Likewise. (shoeReadLisp): Likewise.
2011-08-06cleanupdos-reis1-1/+1
2011-08-04cleanupdos-reis1-0/+7
2011-07-03 * boot/tokens.boot: flushOutput, writeNewline, writeStringdos-reis1-1/+9
are new builtin library functions. * boot/utility.boot (finishLine): New exported function. * interp/i-output.boot (formulaFormat): Use it. (texFormat): Likewise. (texFormat1): Likewise. (mathmlFormat): Likewise. (output): Remove case for TextWriter.
2011-05-21more cleanupdos-reis1-1/+9
2011-05-13 * boot/utility.boot (charPosition): New.dos-reis1-0/+11
* boot/scanner.boot (shoeAccumulateLines): Use it. (shoeS): Likewise.
2011-05-02 * boot/ast.boot (idList?, charList?, stringLits?): New.dos-reis1-1/+1
(bfMember): Use them for special cases. * boot/parser.boot (bpDefinition): Stop support MDEF forms. (bpMdef, bpMDefTail): Remove. * boot/tokens.boot: "==>" is no longer a token.
2011-05-01 * boot/utility.boot (applySubstNQ): New.dos-reis1-1/+15
* interp/compiler.boot (finishLambdaExpression): Use it. * interp/i-intern.boot (mkAtreeExpandMacros): Likewise. * interp/i-map.boot (addMap): Likewise. * interp/vmlisp.lisp (SUBLISNQ, SUBANQ, SUBB): Remove.
2011-05-01 * boot/tokens.boot: Don't rename append.dos-reis1-3/+7
* boot/parser.boot (bpTyping): Support universally quantified types. * boot/ast.boot: Rewrite APPEND as append. (%Forall): New AST node. * boot/translator.boot: Translate it.
2011-04-30 * boot/ast.boot (bfAppend): Write in full.dos-reis1-0/+3
* interp/ptrees.boot (pfAppend): Likewise.
2011-04-30more cleanupdos-reis1-1/+1
2011-04-30cleanupdos-reis1-1/+3
2011-04-30 * interp/vmlisp.lisp (remove): Remove.dos-reis1-4/+45
(REMOVEQ, NREMOVEQ): Likewise. * boot/utility.boot (removeSymbol, removeScalar, removeValue) (remove): New. * boot/ast.boot (bfMDef): Use applySubst in lieu of SUBLIS.
2011-04-29 * boot/utility.boot (assocSymbol): New.dos-reis1-1/+22
(applySubst): Likewise. Export. * boot/ast.boot: Use it. Remove SUBLIS and SUBLISLIS. * interp/ax.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/compiler.boot: Likewise.
2011-04-22 * boot/tokens.boot: Don't translate setDifference.dos-reis1-2/+11
* boot/initial-env.lisp (SETDIFFERNECE): Remove. * boot/translator.boot (evalBootFile): Rename form EVAL-BOOT-FILE. * boot/utility.boot (setDifference): Define. * interp/unlisp.lisp (ListMemberQ?): Remove. (ListRemoveQ): Likewise. (AlistAssocQ): Likewise.
2011-04-22more cleanupdos-reis1-1/+22
2011-04-22 * boot/utility.boot (copyList): Define.dos-reis1-1/+22
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2011-04-21 * boot/tokens.boot: Don't translate lastNode anymore.dos-reis1-1/+7
* boot/utility.boot (lastNode): Define.
2011-04-21 * boot/utility.boot (objectMember?): Don't rely non tail recursiondos-reis1-3/+16
removal. (reverse): Define. * boot/tokens.boot: Don't rename reverse anymore. * boot/ast.boot: Generate reverse forms instead of REVERSE.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-1/+16
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-20 * interp/sys-utility.boot (substitute): Define.dos-reis1-16/+31
(substitute!): Likewise. * boot/utility.boot: Do not rely on tail recursion removal. * boot/tokens.boot: Don't translate substitute and substitute!. * boot/ast.boot (bfLp1): Tidy.
2011-04-19more cleanupdos-reis1-10/+15
2011-04-19 * boot/tokens.boot: charUpcase, charDowncase, stringUpcase,dos-reis1-15/+13
singDowncase, valueEq? are new builtin functions. * boot/ast.boot (bfMembr): Tidy.
2011-04-19 * interp/newfort.boot: Likewise.dos-reis1-0/+62
* interp/define.boot (orderBySubsumption): Fix thinko. * interp/boot-pkg.lisp: Use BOOTTRAN package. Don't import names individually. * boot/utility.boot: New. * boot/translator.boot (exportNames): Fix thinko. * boot/tokens.boot: Add charEq? and scalarEq? builtiin functions. * boot/ast.boot (bfMember): Generate call to symbolMember? for membership tests for symbols.