aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/utility.clisp
AgeCommit message (Collapse)AuthorFilesLines
2016-01-30Do not rename mkpf.Gabriel Dos Reis1-3/+3
2015-12-24Translate apply(f,[args]) as FUNCALL(f,args)Gabriel Dos Reis1-4/+54
2013-06-15 * interp/nruncomp.boot (NRTsetVector4Part1): Add environment parameter.dos-reis1-4/+38
Adjust caller. (NRTsetVector4a): Likewise. Avoid special variable for environment. * boot/utility.boot: Add and export substSource, substTarget. * interp/define.boot: Use them.
2013-05-26Rename MAKE-FILENAME to makeFilename and re-implement in Boot.dos-reis1-1/+1
2012-05-29 * boot/parser.boot (%ParserState): New.dos-reis1-1/+19
(makeParserState): Likewise. (%Translator): Likewise. (makeTranslator): Likewise. Make all parsing functions take a parser state argument. * boot/translator.boot (shoeOutParse): Adjust. * interp/spad-parser.boot (stringPrefix?): Remove redudant definition.
2012-05-28 * interp/io.boot (findChar): Do not define here.dos-reis1-5/+18
* 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-6/+9
* boot/ast.boot (bfRestrict): New. (bpTyped): Rename from bpTagged. Accept type restriction. * boot/utility.boot (drop): Restrict the result to a %List.
2012-05-22 * boot/ast.boot (needsPROG): Remove.dos-reis1-187/+169
(shoePROG): Likewise. (declareLocalVars): New. (maybeAddBlock): Likewise. (hasReturn?): Likewise. (shoeCompTran): Tidy.
2012-05-20 * boot/utility.boot (strinSuffix?): New.dos-reis1-1/+26
* boot/translator.boot (shoeRemovebootIfNec): Use it.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-1/+38
* 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-2/+48
* 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-23/+30
* 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-21 Workaround proclamation bug in GCLdos-reis1-4/+0
* boot/utility.boot (firstNonblankPosition): Do not declare.
2011-10-04 * boot/utility.boot (symbolAssoc): Rename from assocSymbol. Export.dos-reis1-22/+28
* 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-2/+2
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-0/+17
* 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/parser.boot (bpImport): Accept long names for used namespaces.dos-reis1-2/+1
* boot/translator.boot (packageBody): Tidy. (translateToplevel): Likewise. (getIntermediateLispFile): Likewise. * interp/sys-os.boot: Import System.Foreign.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-4/+62
(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/+31
(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-09-30 * boot/ast.boot (bfFor): Tidy. Handle hashtable iterator forms.dos-reis1-217/+170
(bfIterateTable): New. (separateIterators): Likewise. (bfExpandTableIters): Likewise. (bfLp1): Use them.
2011-08-07cleanupdos-reis1-1/+1
2011-07-03 * boot/tokens.boot: flushOutput, writeNewline, writeStringdos-reis1-1/+6
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/+6
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-02 * boot/parser.boot (bpDefinition): Accept macro definitiondos-reis1-5/+6
starting with the keyword "MACRO". * boot/translator.boot (exportNames): Export them in all evaluation contexts. * interp/c-util.boot: "macro" is now a keyword. * interp/define.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/postpar.boot: Likewise.
2011-05-01 * boot/utility.boot (applySubstNQ): New.dos-reis1-1/+24
* 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-4/+10
* 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-2/+13
* interp/ptrees.boot (pfAppend): Likewise.
2011-04-30cleanupdos-reis1-1/+10
2011-04-30 * interp/vmlisp.lisp (remove): Remove.dos-reis1-6/+69
(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/+28
(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/+22
* 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/+24
2011-04-22 * boot/utility.boot (copyList): Define.dos-reis1-1/+21
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2011-04-21 * boot/tokens.boot: Don't translate lastNode anymore.dos-reis1-1/+14
* boot/utility.boot (lastNode): Define.
2011-04-21 * boot/utility.boot (objectMember?): Don't rely non tail recursiondos-reis1-5/+18
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/+12
* 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-26/+39
(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-20more cleanupdos-reis1-10/+27
2011-04-19 * boot/tokens.boot: charUpcase, charDowncase, stringUpcase,dos-reis1-22/+12
singDowncase, valueEq? are new builtin functions. * boot/ast.boot (bfMembr): Tidy.
2011-04-19 * interp/newfort.boot: Likewise.dos-reis1-0/+44
* 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.