@mojir/dvala 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1613 -4
- package/dist/bundler.esm.js +2 -0
- package/dist/bundler.esm.js.map +1 -0
- package/dist/bundler.js +2 -0
- package/dist/bundler.js.map +1 -0
- package/dist/cli/cli/src/cli.d.ts +2 -0
- package/dist/cli/cli/src/cliDocumentation/formatCliDescription.d.ts +3 -0
- package/dist/cli/cli/src/cliDocumentation/getCliArgumentInfo.d.ts +3 -0
- package/dist/cli/cli/src/cliDocumentation/getCliDocumentation.d.ts +2 -0
- package/dist/cli/cli/src/cliDocumentation/getCliFunctionExamples.d.ts +3 -0
- package/dist/cli/cli/src/cliDocumentation/getCliFunctionSignature.d.ts +3 -0
- package/dist/cli/cli/src/cliDocumentation/getCliTitle.d.ts +3 -0
- package/dist/cli/cli/src/cliDocumentation/getCliType.d.ts +3 -0
- package/dist/cli/cli/src/cliFormatterRules.d.ts +13 -0
- package/dist/cli/cli/src/colorizer.d.ts +939 -0
- package/dist/cli/cli/src/createReadlineInterface.d.ts +5 -0
- package/dist/cli/cli/src/js-interop/Cli/Fs/index.d.ts +2 -0
- package/dist/cli/cli/src/js-interop/Cli/Proc/index.d.ts +3 -0
- package/dist/cli/cli/src/js-interop/Cli/index.d.ts +2 -0
- package/dist/cli/cli.js +38614 -0
- package/dist/cli/common/createFormatter.d.ts +6 -0
- package/dist/cli/common/utils.d.ts +2 -0
- package/dist/cli/reference/api.d.ts +75 -0
- package/dist/cli/reference/datatype.d.ts +3 -0
- package/dist/cli/reference/effect.d.ts +3 -0
- package/dist/cli/reference/examples.d.ts +11 -0
- package/dist/cli/reference/index.d.ts +191 -0
- package/dist/cli/reference/shorthand.d.ts +3 -0
- package/dist/cli/src/AutoCompleter/AutoCompleter.d.ts +25 -0
- package/dist/cli/src/Dvala/Cache.d.ts +16 -0
- package/dist/cli/src/Dvala/Dvala.d.ts +68 -0
- package/dist/cli/src/allModules.d.ts +2 -0
- package/dist/cli/src/builtin/bindingNode.d.ts +11 -0
- package/dist/cli/src/builtin/core/array.d.ts +2 -0
- package/dist/cli/src/builtin/core/assertion.d.ts +2 -0
- package/dist/cli/src/builtin/core/bitwise.d.ts +2 -0
- package/dist/cli/src/builtin/core/collection.d.ts +2 -0
- package/dist/cli/src/builtin/core/functional.d.ts +2 -0
- package/dist/cli/src/builtin/core/math.d.ts +2 -0
- package/dist/cli/src/builtin/core/meta.d.ts +3 -0
- package/dist/cli/src/builtin/core/misc.d.ts +2 -0
- package/dist/cli/src/builtin/core/object.d.ts +2 -0
- package/dist/cli/src/builtin/core/predicates.d.ts +2 -0
- package/dist/cli/src/builtin/core/regexp.d.ts +2 -0
- package/dist/cli/src/builtin/core/sequence.d.ts +2 -0
- package/dist/cli/src/builtin/core/string.d.ts +2 -0
- package/dist/cli/src/builtin/core/vector.d.ts +2 -0
- package/dist/cli/src/builtin/index.d.ts +13 -0
- package/dist/cli/src/builtin/interface.d.ts +113 -0
- package/dist/cli/src/builtin/modules/assertion/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/assertion/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/bitwise/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/collection/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/convert/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/functional/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/grid/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/grid/fromArray.d.ts +8 -0
- package/dist/cli/src/builtin/modules/grid/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/grid/transpose.d.ts +2 -0
- package/dist/cli/src/builtin/modules/interface.d.ts +11 -0
- package/dist/cli/src/builtin/modules/linear-algebra/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +2 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +8 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +4 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/dot.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +7 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +2 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +10 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/length.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/scale.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/solve.d.ts +8 -0
- package/dist/cli/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +1 -0
- package/dist/cli/src/builtin/modules/linear-algebra/index.d.ts +4 -0
- package/dist/cli/src/builtin/modules/math/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/matrix/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/adjugate.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/band.d.ts +9 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/cofactor.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/determinant.d.ts +6 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/inverse.d.ts +6 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isBanded.d.ts +11 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +10 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isIdentity.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isSquare.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isSymetric.d.ts +8 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/isTriangular.d.ts +13 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +7 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/minor.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/norm1.d.ts +1 -0
- package/dist/cli/src/builtin/modules/matrix/helpers/trace.d.ts +8 -0
- package/dist/cli/src/builtin/modules/matrix/index.d.ts +4 -0
- package/dist/cli/src/builtin/modules/number-theory/binomialCefficient.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/combinations.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/derangements.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/divisors.d.ts +4 -0
- package/dist/cli/src/builtin/modules/number-theory/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/factorial.d.ts +3 -0
- package/dist/cli/src/builtin/modules/number-theory/index.d.ts +4 -0
- package/dist/cli/src/builtin/modules/number-theory/partitions.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/permutations.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/powerSet.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/primeFactors.d.ts +11 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/abundant.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/bell.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/catalan.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/collatz.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/composite.d.ts +3 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/deficient.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/factorial.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/geometric.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/golomb.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/happy.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/index.d.ts +27 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/juggler.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/lucas.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/lucky.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/mersenne.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/padovan.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/partition.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/pell.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/perfect.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +10 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/poligonal.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/prime.d.ts +3 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/recaman.d.ts +9 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/sylvester.d.ts +1 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +2 -0
- package/dist/cli/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +1 -0
- package/dist/cli/src/builtin/modules/random/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/random/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/sequence/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/string/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/bincount.d.ts +9 -0
- package/dist/cli/src/builtin/modules/vector/calcMad.d.ts +1 -0
- package/dist/cli/src/builtin/modules/vector/calcMean.d.ts +1 -0
- package/dist/cli/src/builtin/modules/vector/calcMedad.d.ts +1 -0
- package/dist/cli/src/builtin/modules/vector/calcMedian.d.ts +1 -0
- package/dist/cli/src/builtin/modules/vector/calcStdDev.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/calcVariance.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/docs.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/entropy.d.ts +8 -0
- package/dist/cli/src/builtin/modules/vector/histogram.d.ts +9 -0
- package/dist/cli/src/builtin/modules/vector/index.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/mode.d.ts +6 -0
- package/dist/cli/src/builtin/modules/vector/outliers.d.ts +7 -0
- package/dist/cli/src/builtin/modules/vector/percentile.d.ts +7 -0
- package/dist/cli/src/builtin/modules/vector/quartiles.d.ts +1 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/index.d.ts +13 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +5 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/mad.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/mean.d.ts +4 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/medad.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/median.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/prod.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/rms.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +3 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/span.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +3 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/sum.d.ts +2 -0
- package/dist/cli/src/builtin/modules/vector/reductionFunctions/variance.d.ts +3 -0
- package/dist/cli/src/builtin/normalExpressions/index.d.ts +8 -0
- package/dist/cli/src/builtin/specialExpressionTypes.d.ts +26 -0
- package/dist/cli/src/builtin/specialExpressions/and.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/array.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/block.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/cond.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/defined.d.ts +5 -0
- package/dist/cli/src/builtin/specialExpressions/effect.d.ts +5 -0
- package/dist/cli/src/builtin/specialExpressions/functions.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/if.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/import.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/let.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/loop.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/loops.d.ts +9 -0
- package/dist/cli/src/builtin/specialExpressions/match.d.ts +7 -0
- package/dist/cli/src/builtin/specialExpressions/object.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/or.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/parallel.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/perform.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/qq.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/race.d.ts +6 -0
- package/dist/cli/src/builtin/specialExpressions/recur.d.ts +5 -0
- package/dist/cli/src/builtin/specialExpressions/throw.d.ts +5 -0
- package/dist/cli/src/builtin/specialExpressions/try.d.ts +7 -0
- package/dist/cli/src/builtin/specialExpressions/unless.d.ts +6 -0
- package/dist/cli/src/builtin/utils.d.ts +6 -0
- package/dist/cli/src/bundler/index.d.ts +9 -0
- package/dist/cli/src/bundler/interface.d.ts +15 -0
- package/dist/cli/src/bundler.d.ts +3 -0
- package/dist/cli/src/cli.d.ts +2 -0
- package/dist/cli/src/cliDocumentation/formatCliDescription.d.ts +3 -0
- package/dist/cli/src/cliDocumentation/getCliArgumentInfo.d.ts +3 -0
- package/dist/cli/src/cliDocumentation/getCliDocumentation.d.ts +2 -0
- package/dist/cli/src/cliDocumentation/getCliFunctionExamples.d.ts +3 -0
- package/dist/cli/src/cliDocumentation/getCliFunctionSignature.d.ts +3 -0
- package/dist/cli/src/cliDocumentation/getCliTitle.d.ts +3 -0
- package/dist/cli/src/cliDocumentation/getCliType.d.ts +3 -0
- package/dist/cli/src/cliFormatterRules.d.ts +13 -0
- package/dist/cli/src/colorizer.d.ts +939 -0
- package/dist/cli/src/constants/constants.d.ts +19 -0
- package/dist/cli/src/createReadlineInterface.d.ts +5 -0
- package/dist/cli/src/effects.d.ts +106 -0
- package/dist/cli/src/errors.d.ts +24 -0
- package/dist/cli/src/evaluator/ContextStack.d.ts +65 -0
- package/dist/cli/src/evaluator/effectRef.d.ts +27 -0
- package/dist/cli/src/evaluator/effectTypes.d.ts +79 -0
- package/dist/cli/src/evaluator/frames.d.ts +525 -0
- package/dist/cli/src/evaluator/interface.d.ts +14 -0
- package/dist/cli/src/evaluator/serialization.d.ts +45 -0
- package/dist/cli/src/evaluator/standardEffects.d.ts +35 -0
- package/dist/cli/src/evaluator/step.d.ts +159 -0
- package/dist/cli/src/evaluator/suspension.d.ts +53 -0
- package/dist/cli/src/evaluator/trampoline.d.ts +119 -0
- package/dist/cli/src/getUndefinedSymbols/index.d.ts +7 -0
- package/dist/cli/src/index.d.ts +18 -0
- package/dist/cli/src/initReferenceData.d.ts +1 -0
- package/dist/cli/src/interface.d.ts +7 -0
- package/dist/cli/src/js-interop/Cli/Fs/index.d.ts +2 -0
- package/dist/cli/src/js-interop/Cli/Proc/index.d.ts +3 -0
- package/dist/cli/src/js-interop/Cli/index.d.ts +2 -0
- package/dist/cli/src/parser/ParserContext.d.ts +20 -0
- package/dist/cli/src/parser/getPrecedence.d.ts +3 -0
- package/dist/cli/src/parser/helpers.d.ts +19 -0
- package/dist/cli/src/parser/index.d.ts +5 -0
- package/dist/cli/src/parser/subParsers/parseArray.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseBindingTarget.d.ts +8 -0
- package/dist/cli/src/parser/subParsers/parseCond.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseDo.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseExpression.d.ts +5 -0
- package/dist/cli/src/parser/subParsers/parseForOrDoseq.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseFunction.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseFunctionCall.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseIfOrUnless.d.ts +5 -0
- package/dist/cli/src/parser/subParsers/parseImplicitBlock.d.ts +5 -0
- package/dist/cli/src/parser/subParsers/parseLet.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseLoop.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseMatch.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseNumber.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseObject.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseOperand.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseRegexpShorthand.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseReservedSymbol.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseString.d.ts +4 -0
- package/dist/cli/src/parser/subParsers/parseSymbol.d.ts +3 -0
- package/dist/cli/src/parser/subParsers/parseTry.d.ts +4 -0
- package/dist/cli/src/parser/types.d.ts +129 -0
- package/dist/cli/src/symbolPatterns.d.ts +2 -0
- package/dist/cli/src/testFramework/index.d.ts +15 -0
- package/dist/cli/src/tokenizer/minifyTokenStream.d.ts +4 -0
- package/dist/cli/src/tokenizer/operators.d.ts +12 -0
- package/dist/cli/src/tokenizer/reservedNames.d.ts +66 -0
- package/dist/cli/src/tokenizer/token.d.ts +84 -0
- package/dist/cli/src/tokenizer/tokenize.d.ts +8 -0
- package/dist/cli/src/tokenizer/tokenizers.d.ts +14 -0
- package/dist/cli/src/transformer/index.d.ts +2 -0
- package/dist/cli/src/typeGuards/annotatedArrays.d.ts +16 -0
- package/dist/cli/src/typeGuards/array.d.ts +9 -0
- package/dist/cli/src/typeGuards/astNode.d.ts +19 -0
- package/dist/cli/src/typeGuards/dvala.d.ts +26 -0
- package/dist/cli/src/typeGuards/dvalaFunction.d.ts +12 -0
- package/dist/cli/src/typeGuards/index.d.ts +7 -0
- package/dist/cli/src/typeGuards/number.d.ts +66 -0
- package/dist/cli/src/typeGuards/string.d.ts +15 -0
- package/dist/cli/src/untokenizer/index.d.ts +2 -0
- package/dist/cli/src/utils/arity.d.ts +10 -0
- package/dist/cli/src/utils/debug/debugTools.d.ts +1 -0
- package/dist/cli/src/utils/debug/getCodeMarker.d.ts +2 -0
- package/dist/cli/src/utils/debug/getSourceCodeInfo.d.ts +2 -0
- package/dist/cli/src/utils/docString/generateDocString.d.ts +2 -0
- package/dist/cli/src/utils/getAssertionError.d.ts +3 -0
- package/dist/cli/src/utils/index.d.ts +14 -0
- package/dist/cli/src/utils/maybePromise.d.ts +54 -0
- package/dist/cli/src/utils/symbols.d.ts +3 -0
- package/dist/common/createFormatter.d.ts +6 -0
- package/dist/common/utils.d.ts +2 -0
- package/dist/debug.esm.js +2 -0
- package/dist/debug.esm.js.map +1 -0
- package/dist/debug.js +2 -0
- package/dist/debug.js.map +1 -0
- package/dist/dvala.iife.js +2 -0
- package/dist/dvala.iife.js.map +1 -0
- package/dist/full.esm.js +2 -0
- package/dist/full.esm.js.map +1 -0
- package/dist/full.js +2 -0
- package/dist/full.js.map +1 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/modules/assertion.esm.js +2 -0
- package/dist/modules/assertion.esm.js.map +1 -0
- package/dist/modules/assertion.js +2 -0
- package/dist/modules/assertion.js.map +1 -0
- package/dist/modules/bitwise.esm.js +2 -0
- package/dist/modules/bitwise.esm.js.map +1 -0
- package/dist/modules/bitwise.js +2 -0
- package/dist/modules/bitwise.js.map +1 -0
- package/dist/modules/cli/src/cli.d.ts +2 -0
- package/dist/modules/cli/src/cliDocumentation/formatCliDescription.d.ts +3 -0
- package/dist/modules/cli/src/cliDocumentation/getCliArgumentInfo.d.ts +3 -0
- package/dist/modules/cli/src/cliDocumentation/getCliDocumentation.d.ts +2 -0
- package/dist/modules/cli/src/cliDocumentation/getCliFunctionExamples.d.ts +3 -0
- package/dist/modules/cli/src/cliDocumentation/getCliFunctionSignature.d.ts +3 -0
- package/dist/modules/cli/src/cliDocumentation/getCliTitle.d.ts +3 -0
- package/dist/modules/cli/src/cliDocumentation/getCliType.d.ts +3 -0
- package/dist/modules/cli/src/cliFormatterRules.d.ts +13 -0
- package/dist/modules/cli/src/colorizer.d.ts +939 -0
- package/dist/modules/cli/src/createReadlineInterface.d.ts +5 -0
- package/dist/modules/cli/src/js-interop/Cli/Fs/index.d.ts +2 -0
- package/dist/modules/cli/src/js-interop/Cli/Proc/index.d.ts +3 -0
- package/dist/modules/cli/src/js-interop/Cli/index.d.ts +2 -0
- package/dist/modules/collection.esm.js +2 -0
- package/dist/modules/collection.esm.js.map +1 -0
- package/dist/modules/collection.js +2 -0
- package/dist/modules/collection.js.map +1 -0
- package/dist/modules/common/createFormatter.d.ts +6 -0
- package/dist/modules/common/utils.d.ts +2 -0
- package/dist/modules/convert.esm.js +2 -0
- package/dist/modules/convert.esm.js.map +1 -0
- package/dist/modules/convert.js +2 -0
- package/dist/modules/convert.js.map +1 -0
- package/dist/modules/functional.esm.js +2 -0
- package/dist/modules/functional.esm.js.map +1 -0
- package/dist/modules/functional.js +2 -0
- package/dist/modules/functional.js.map +1 -0
- package/dist/modules/grid.esm.js +2 -0
- package/dist/modules/grid.esm.js.map +1 -0
- package/dist/modules/grid.js +2 -0
- package/dist/modules/grid.js.map +1 -0
- package/dist/modules/linear-algebra.esm.js +2 -0
- package/dist/modules/linear-algebra.esm.js.map +1 -0
- package/dist/modules/linear-algebra.js +2 -0
- package/dist/modules/linear-algebra.js.map +1 -0
- package/dist/modules/math.esm.js +2 -0
- package/dist/modules/math.esm.js.map +1 -0
- package/dist/modules/math.js +2 -0
- package/dist/modules/math.js.map +1 -0
- package/dist/modules/matrix.esm.js +2 -0
- package/dist/modules/matrix.esm.js.map +1 -0
- package/dist/modules/matrix.js +2 -0
- package/dist/modules/matrix.js.map +1 -0
- package/dist/modules/number-theory.esm.js +2 -0
- package/dist/modules/number-theory.esm.js.map +1 -0
- package/dist/modules/number-theory.js +2 -0
- package/dist/modules/number-theory.js.map +1 -0
- package/dist/modules/random.esm.js +2 -0
- package/dist/modules/random.esm.js.map +1 -0
- package/dist/modules/random.js +2 -0
- package/dist/modules/random.js.map +1 -0
- package/dist/modules/reference/api.d.ts +75 -0
- package/dist/modules/reference/datatype.d.ts +3 -0
- package/dist/modules/reference/effect.d.ts +3 -0
- package/dist/modules/reference/index.d.ts +191 -0
- package/dist/modules/reference/shorthand.d.ts +3 -0
- package/dist/modules/sequence.esm.js +2 -0
- package/dist/modules/sequence.esm.js.map +1 -0
- package/dist/modules/sequence.js +2 -0
- package/dist/modules/sequence.js.map +1 -0
- package/dist/modules/src/AutoCompleter/AutoCompleter.d.ts +25 -0
- package/dist/modules/src/Dvala/Cache.d.ts +16 -0
- package/dist/modules/src/Dvala/Dvala.d.ts +68 -0
- package/dist/modules/src/allModules.d.ts +2 -0
- package/dist/modules/src/builtin/bindingNode.d.ts +11 -0
- package/dist/modules/src/builtin/core/array.d.ts +2 -0
- package/dist/modules/src/builtin/core/assertion.d.ts +2 -0
- package/dist/modules/src/builtin/core/bitwise.d.ts +2 -0
- package/dist/modules/src/builtin/core/collection.d.ts +2 -0
- package/dist/modules/src/builtin/core/functional.d.ts +2 -0
- package/dist/modules/src/builtin/core/math.d.ts +2 -0
- package/dist/modules/src/builtin/core/meta.d.ts +3 -0
- package/dist/modules/src/builtin/core/misc.d.ts +2 -0
- package/dist/modules/src/builtin/core/object.d.ts +2 -0
- package/dist/modules/src/builtin/core/predicates.d.ts +2 -0
- package/dist/modules/src/builtin/core/regexp.d.ts +2 -0
- package/dist/modules/src/builtin/core/sequence.d.ts +2 -0
- package/dist/modules/src/builtin/core/string.d.ts +2 -0
- package/dist/modules/src/builtin/core/vector.d.ts +2 -0
- package/dist/modules/src/builtin/index.d.ts +13 -0
- package/dist/modules/src/builtin/interface.d.ts +113 -0
- package/dist/modules/src/builtin/modules/assertion/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/assertion/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/bitwise/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/collection/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/convert/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/functional/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/grid/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/grid/fromArray.d.ts +8 -0
- package/dist/modules/src/builtin/modules/grid/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/grid/transpose.d.ts +2 -0
- package/dist/modules/src/builtin/modules/interface.d.ts +11 -0
- package/dist/modules/src/builtin/modules/linear-algebra/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +2 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +8 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +4 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/dot.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +7 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +2 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +10 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/length.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/scale.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/solve.d.ts +8 -0
- package/dist/modules/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +1 -0
- package/dist/modules/src/builtin/modules/linear-algebra/index.d.ts +4 -0
- package/dist/modules/src/builtin/modules/math/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/matrix/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/adjugate.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/band.d.ts +9 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/cofactor.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/determinant.d.ts +6 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/diagonal.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/inverse.d.ts +6 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isBanded.d.ts +11 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +10 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isIdentity.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isSquare.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isSymetric.d.ts +8 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/isTriangular.d.ts +13 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +7 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/minor.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/norm1.d.ts +1 -0
- package/dist/modules/src/builtin/modules/matrix/helpers/trace.d.ts +8 -0
- package/dist/modules/src/builtin/modules/matrix/index.d.ts +4 -0
- package/dist/modules/src/builtin/modules/number-theory/binomialCefficient.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/combinations.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/derangements.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/divisors.d.ts +4 -0
- package/dist/modules/src/builtin/modules/number-theory/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/factorial.d.ts +3 -0
- package/dist/modules/src/builtin/modules/number-theory/index.d.ts +4 -0
- package/dist/modules/src/builtin/modules/number-theory/partitions.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/permutations.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/powerSet.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/primeFactors.d.ts +11 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/abundant.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/bell.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/catalan.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/collatz.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/composite.d.ts +3 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/deficient.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/factorial.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/geometric.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/golomb.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/happy.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/index.d.ts +27 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/juggler.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/lucas.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/lucky.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/mersenne.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/padovan.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/partition.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/pell.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/perfect.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +10 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/poligonal.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/prime.d.ts +3 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/recaman.d.ts +9 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/sylvester.d.ts +1 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +2 -0
- package/dist/modules/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +1 -0
- package/dist/modules/src/builtin/modules/random/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/random/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/sequence/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/string/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/bincount.d.ts +9 -0
- package/dist/modules/src/builtin/modules/vector/calcMad.d.ts +1 -0
- package/dist/modules/src/builtin/modules/vector/calcMean.d.ts +1 -0
- package/dist/modules/src/builtin/modules/vector/calcMedad.d.ts +1 -0
- package/dist/modules/src/builtin/modules/vector/calcMedian.d.ts +1 -0
- package/dist/modules/src/builtin/modules/vector/calcStdDev.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/calcVariance.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/docs.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/entropy.d.ts +8 -0
- package/dist/modules/src/builtin/modules/vector/histogram.d.ts +9 -0
- package/dist/modules/src/builtin/modules/vector/index.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/mode.d.ts +6 -0
- package/dist/modules/src/builtin/modules/vector/outliers.d.ts +7 -0
- package/dist/modules/src/builtin/modules/vector/percentile.d.ts +7 -0
- package/dist/modules/src/builtin/modules/vector/quartiles.d.ts +1 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/index.d.ts +13 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +5 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/mad.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/mean.d.ts +4 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/medad.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/median.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/prod.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/rms.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +3 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/span.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +3 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/sum.d.ts +2 -0
- package/dist/modules/src/builtin/modules/vector/reductionFunctions/variance.d.ts +3 -0
- package/dist/modules/src/builtin/normalExpressions/index.d.ts +8 -0
- package/dist/modules/src/builtin/specialExpressionTypes.d.ts +26 -0
- package/dist/modules/src/builtin/specialExpressions/and.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/array.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/block.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/cond.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/defined.d.ts +5 -0
- package/dist/modules/src/builtin/specialExpressions/effect.d.ts +5 -0
- package/dist/modules/src/builtin/specialExpressions/functions.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/if.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/import.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/let.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/loop.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/loops.d.ts +9 -0
- package/dist/modules/src/builtin/specialExpressions/match.d.ts +7 -0
- package/dist/modules/src/builtin/specialExpressions/object.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/or.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/parallel.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/perform.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/qq.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/race.d.ts +6 -0
- package/dist/modules/src/builtin/specialExpressions/recur.d.ts +5 -0
- package/dist/modules/src/builtin/specialExpressions/throw.d.ts +5 -0
- package/dist/modules/src/builtin/specialExpressions/try.d.ts +7 -0
- package/dist/modules/src/builtin/specialExpressions/unless.d.ts +6 -0
- package/dist/modules/src/builtin/utils.d.ts +6 -0
- package/dist/modules/src/bundler/index.d.ts +9 -0
- package/dist/modules/src/bundler/interface.d.ts +15 -0
- package/dist/modules/src/bundler.d.ts +3 -0
- package/dist/modules/src/constants/constants.d.ts +19 -0
- package/dist/modules/src/debug.d.ts +115 -0
- package/dist/modules/src/effects.d.ts +106 -0
- package/dist/modules/src/errors.d.ts +24 -0
- package/dist/modules/src/evaluator/ContextStack.d.ts +65 -0
- package/dist/modules/src/evaluator/effectRef.d.ts +27 -0
- package/dist/modules/src/evaluator/effectTypes.d.ts +79 -0
- package/dist/modules/src/evaluator/frames.d.ts +525 -0
- package/dist/modules/src/evaluator/interface.d.ts +14 -0
- package/dist/modules/src/evaluator/serialization.d.ts +45 -0
- package/dist/modules/src/evaluator/standardEffects.d.ts +35 -0
- package/dist/modules/src/evaluator/step.d.ts +159 -0
- package/dist/modules/src/evaluator/suspension.d.ts +53 -0
- package/dist/modules/src/evaluator/trampoline.d.ts +119 -0
- package/dist/modules/src/full.d.ts +17 -0
- package/dist/modules/src/getUndefinedSymbols/index.d.ts +7 -0
- package/dist/modules/src/index.d.ts +18 -0
- package/dist/modules/src/initReferenceData.d.ts +1 -0
- package/dist/modules/src/interface.d.ts +7 -0
- package/dist/modules/src/modules/assertion.d.ts +2 -0
- package/dist/modules/src/modules/bitwise.d.ts +2 -0
- package/dist/modules/src/modules/collection.d.ts +2 -0
- package/dist/modules/src/modules/convert.d.ts +2 -0
- package/dist/modules/src/modules/functional.d.ts +2 -0
- package/dist/modules/src/modules/grid.d.ts +2 -0
- package/dist/modules/src/modules/linear-algebra.d.ts +2 -0
- package/dist/modules/src/modules/math.d.ts +2 -0
- package/dist/modules/src/modules/matrix.d.ts +2 -0
- package/dist/modules/src/modules/number-theory.d.ts +2 -0
- package/dist/modules/src/modules/random.d.ts +2 -0
- package/dist/modules/src/modules/sequence.d.ts +2 -0
- package/dist/modules/src/modules/string.d.ts +2 -0
- package/dist/modules/src/modules/vector.d.ts +2 -0
- package/dist/modules/src/parser/ParserContext.d.ts +20 -0
- package/dist/modules/src/parser/getPrecedence.d.ts +3 -0
- package/dist/modules/src/parser/helpers.d.ts +19 -0
- package/dist/modules/src/parser/index.d.ts +5 -0
- package/dist/modules/src/parser/subParsers/parseArray.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseBindingTarget.d.ts +8 -0
- package/dist/modules/src/parser/subParsers/parseCond.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseDo.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseExpression.d.ts +5 -0
- package/dist/modules/src/parser/subParsers/parseForOrDoseq.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseFunction.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseFunctionCall.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseIfOrUnless.d.ts +5 -0
- package/dist/modules/src/parser/subParsers/parseImplicitBlock.d.ts +5 -0
- package/dist/modules/src/parser/subParsers/parseLet.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseLoop.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseMatch.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseNumber.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseObject.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseOperand.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseRegexpShorthand.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseReservedSymbol.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseString.d.ts +4 -0
- package/dist/modules/src/parser/subParsers/parseSymbol.d.ts +3 -0
- package/dist/modules/src/parser/subParsers/parseTry.d.ts +4 -0
- package/dist/modules/src/parser/types.d.ts +129 -0
- package/dist/modules/src/symbolPatterns.d.ts +2 -0
- package/dist/modules/src/testFramework/index.d.ts +15 -0
- package/dist/modules/src/tokenizer/minifyTokenStream.d.ts +4 -0
- package/dist/modules/src/tokenizer/operators.d.ts +12 -0
- package/dist/modules/src/tokenizer/reservedNames.d.ts +66 -0
- package/dist/modules/src/tokenizer/token.d.ts +84 -0
- package/dist/modules/src/tokenizer/tokenize.d.ts +8 -0
- package/dist/modules/src/tokenizer/tokenizers.d.ts +14 -0
- package/dist/modules/src/transformer/index.d.ts +2 -0
- package/dist/modules/src/typeGuards/annotatedArrays.d.ts +16 -0
- package/dist/modules/src/typeGuards/array.d.ts +9 -0
- package/dist/modules/src/typeGuards/astNode.d.ts +19 -0
- package/dist/modules/src/typeGuards/dvala.d.ts +26 -0
- package/dist/modules/src/typeGuards/dvalaFunction.d.ts +12 -0
- package/dist/modules/src/typeGuards/index.d.ts +7 -0
- package/dist/modules/src/typeGuards/number.d.ts +66 -0
- package/dist/modules/src/typeGuards/string.d.ts +15 -0
- package/dist/modules/src/untokenizer/index.d.ts +2 -0
- package/dist/modules/src/utils/arity.d.ts +10 -0
- package/dist/modules/src/utils/debug/debugTools.d.ts +1 -0
- package/dist/modules/src/utils/debug/getCodeMarker.d.ts +2 -0
- package/dist/modules/src/utils/debug/getSourceCodeInfo.d.ts +2 -0
- package/dist/modules/src/utils/docString/generateDocString.d.ts +2 -0
- package/dist/modules/src/utils/getAssertionError.d.ts +3 -0
- package/dist/modules/src/utils/index.d.ts +14 -0
- package/dist/modules/src/utils/maybePromise.d.ts +54 -0
- package/dist/modules/src/utils/symbols.d.ts +3 -0
- package/dist/modules/string.esm.js +2 -0
- package/dist/modules/string.esm.js.map +1 -0
- package/dist/modules/string.js +2 -0
- package/dist/modules/string.js.map +1 -0
- package/dist/modules/vector.esm.js +2 -0
- package/dist/modules/vector.esm.js.map +1 -0
- package/dist/modules/vector.js +2 -0
- package/dist/modules/vector.js.map +1 -0
- package/dist/reference/api.d.ts +75 -0
- package/dist/reference/datatype.d.ts +3 -0
- package/dist/reference/effect.d.ts +3 -0
- package/dist/reference/index.d.ts +191 -0
- package/dist/reference/shorthand.d.ts +3 -0
- package/dist/src/AutoCompleter/AutoCompleter.d.ts +25 -0
- package/dist/src/Dvala/Cache.d.ts +16 -0
- package/dist/src/Dvala/Dvala.d.ts +68 -0
- package/dist/src/allModules.d.ts +2 -0
- package/dist/src/builtin/bindingNode.d.ts +11 -0
- package/dist/src/builtin/core/array.d.ts +2 -0
- package/dist/src/builtin/core/assertion.d.ts +2 -0
- package/dist/src/builtin/core/bitwise.d.ts +2 -0
- package/dist/src/builtin/core/collection.d.ts +2 -0
- package/dist/src/builtin/core/functional.d.ts +2 -0
- package/dist/src/builtin/core/math.d.ts +2 -0
- package/dist/src/builtin/core/meta.d.ts +3 -0
- package/dist/src/builtin/core/misc.d.ts +2 -0
- package/dist/src/builtin/core/object.d.ts +2 -0
- package/dist/src/builtin/core/predicates.d.ts +2 -0
- package/dist/src/builtin/core/regexp.d.ts +2 -0
- package/dist/src/builtin/core/sequence.d.ts +2 -0
- package/dist/src/builtin/core/string.d.ts +2 -0
- package/dist/src/builtin/core/vector.d.ts +2 -0
- package/dist/src/builtin/index.d.ts +13 -0
- package/dist/src/builtin/interface.d.ts +113 -0
- package/dist/src/builtin/modules/assertion/docs.d.ts +2 -0
- package/dist/src/builtin/modules/assertion/index.d.ts +2 -0
- package/dist/src/builtin/modules/bitwise/index.d.ts +2 -0
- package/dist/src/builtin/modules/collection/index.d.ts +2 -0
- package/dist/src/builtin/modules/convert/index.d.ts +2 -0
- package/dist/src/builtin/modules/functional/index.d.ts +2 -0
- package/dist/src/builtin/modules/grid/docs.d.ts +2 -0
- package/dist/src/builtin/modules/grid/fromArray.d.ts +8 -0
- package/dist/src/builtin/modules/grid/index.d.ts +2 -0
- package/dist/src/builtin/modules/grid/transpose.d.ts +2 -0
- package/dist/src/builtin/modules/interface.d.ts +11 -0
- package/dist/src/builtin/modules/linear-algebra/docs.d.ts +2 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +2 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +8 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +4 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/dot.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +7 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +2 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +10 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/length.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/scale.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/solve.d.ts +8 -0
- package/dist/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +1 -0
- package/dist/src/builtin/modules/linear-algebra/index.d.ts +4 -0
- package/dist/src/builtin/modules/math/index.d.ts +2 -0
- package/dist/src/builtin/modules/matrix/docs.d.ts +2 -0
- package/dist/src/builtin/modules/matrix/helpers/adjugate.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/band.d.ts +9 -0
- package/dist/src/builtin/modules/matrix/helpers/cofactor.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/determinant.d.ts +6 -0
- package/dist/src/builtin/modules/matrix/helpers/diagonal.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/inverse.d.ts +6 -0
- package/dist/src/builtin/modules/matrix/helpers/isBanded.d.ts +11 -0
- package/dist/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +10 -0
- package/dist/src/builtin/modules/matrix/helpers/isIdentity.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/isSquare.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/isSymetric.d.ts +8 -0
- package/dist/src/builtin/modules/matrix/helpers/isTriangular.d.ts +13 -0
- package/dist/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +7 -0
- package/dist/src/builtin/modules/matrix/helpers/minor.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/norm1.d.ts +1 -0
- package/dist/src/builtin/modules/matrix/helpers/trace.d.ts +8 -0
- package/dist/src/builtin/modules/matrix/index.d.ts +4 -0
- package/dist/src/builtin/modules/number-theory/binomialCefficient.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/combinations.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/derangements.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/divisors.d.ts +4 -0
- package/dist/src/builtin/modules/number-theory/docs.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/factorial.d.ts +3 -0
- package/dist/src/builtin/modules/number-theory/index.d.ts +4 -0
- package/dist/src/builtin/modules/number-theory/partitions.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/permutations.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/powerSet.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/primeFactors.d.ts +11 -0
- package/dist/src/builtin/modules/number-theory/sequences/abundant.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/bell.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/catalan.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/collatz.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/composite.d.ts +3 -0
- package/dist/src/builtin/modules/number-theory/sequences/deficient.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/factorial.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/geometric.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/golomb.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/happy.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/index.d.ts +27 -0
- package/dist/src/builtin/modules/number-theory/sequences/juggler.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/lucas.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/lucky.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/mersenne.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/padovan.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/partition.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/pell.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/perfect.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +10 -0
- package/dist/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/poligonal.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/prime.d.ts +3 -0
- package/dist/src/builtin/modules/number-theory/sequences/recaman.d.ts +9 -0
- package/dist/src/builtin/modules/number-theory/sequences/sylvester.d.ts +1 -0
- package/dist/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +2 -0
- package/dist/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +1 -0
- package/dist/src/builtin/modules/random/docs.d.ts +2 -0
- package/dist/src/builtin/modules/random/index.d.ts +2 -0
- package/dist/src/builtin/modules/sequence/index.d.ts +2 -0
- package/dist/src/builtin/modules/string/index.d.ts +2 -0
- package/dist/src/builtin/modules/vector/bincount.d.ts +9 -0
- package/dist/src/builtin/modules/vector/calcMad.d.ts +1 -0
- package/dist/src/builtin/modules/vector/calcMean.d.ts +1 -0
- package/dist/src/builtin/modules/vector/calcMedad.d.ts +1 -0
- package/dist/src/builtin/modules/vector/calcMedian.d.ts +1 -0
- package/dist/src/builtin/modules/vector/calcStdDev.d.ts +2 -0
- package/dist/src/builtin/modules/vector/calcVariance.d.ts +2 -0
- package/dist/src/builtin/modules/vector/docs.d.ts +2 -0
- package/dist/src/builtin/modules/vector/entropy.d.ts +8 -0
- package/dist/src/builtin/modules/vector/histogram.d.ts +9 -0
- package/dist/src/builtin/modules/vector/index.d.ts +2 -0
- package/dist/src/builtin/modules/vector/mode.d.ts +6 -0
- package/dist/src/builtin/modules/vector/outliers.d.ts +7 -0
- package/dist/src/builtin/modules/vector/percentile.d.ts +7 -0
- package/dist/src/builtin/modules/vector/quartiles.d.ts +1 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/index.d.ts +13 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +5 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/mad.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/mean.d.ts +4 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/medad.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/median.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/prod.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/rms.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +3 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/span.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +3 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/sum.d.ts +2 -0
- package/dist/src/builtin/modules/vector/reductionFunctions/variance.d.ts +3 -0
- package/dist/src/builtin/normalExpressions/index.d.ts +8 -0
- package/dist/src/builtin/specialExpressionTypes.d.ts +26 -0
- package/dist/src/builtin/specialExpressions/and.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/array.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/block.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/cond.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/defined.d.ts +5 -0
- package/dist/src/builtin/specialExpressions/effect.d.ts +5 -0
- package/dist/src/builtin/specialExpressions/functions.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/if.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/import.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/let.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/loop.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/loops.d.ts +9 -0
- package/dist/src/builtin/specialExpressions/match.d.ts +7 -0
- package/dist/src/builtin/specialExpressions/object.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/or.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/parallel.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/perform.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/qq.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/race.d.ts +6 -0
- package/dist/src/builtin/specialExpressions/recur.d.ts +5 -0
- package/dist/src/builtin/specialExpressions/throw.d.ts +5 -0
- package/dist/src/builtin/specialExpressions/try.d.ts +7 -0
- package/dist/src/builtin/specialExpressions/unless.d.ts +6 -0
- package/dist/src/builtin/utils.d.ts +6 -0
- package/dist/src/bundler/index.d.ts +9 -0
- package/dist/src/bundler/interface.d.ts +15 -0
- package/dist/src/bundler.d.ts +3 -0
- package/dist/src/constants/constants.d.ts +19 -0
- package/dist/src/debug.d.ts +115 -0
- package/dist/src/effects.d.ts +106 -0
- package/dist/src/errors.d.ts +24 -0
- package/dist/src/evaluator/ContextStack.d.ts +65 -0
- package/dist/src/evaluator/effectRef.d.ts +27 -0
- package/dist/src/evaluator/effectTypes.d.ts +79 -0
- package/dist/src/evaluator/frames.d.ts +525 -0
- package/dist/src/evaluator/interface.d.ts +14 -0
- package/dist/src/evaluator/serialization.d.ts +45 -0
- package/dist/src/evaluator/standardEffects.d.ts +35 -0
- package/dist/src/evaluator/step.d.ts +159 -0
- package/dist/src/evaluator/suspension.d.ts +53 -0
- package/dist/src/evaluator/trampoline.d.ts +119 -0
- package/dist/src/full.d.ts +17 -0
- package/dist/src/getUndefinedSymbols/index.d.ts +7 -0
- package/dist/src/index.d.ts +18 -0
- package/dist/src/initReferenceData.d.ts +1 -0
- package/dist/src/interface.d.ts +7 -0
- package/dist/src/modules/assertion.d.ts +2 -0
- package/dist/src/modules/bitwise.d.ts +2 -0
- package/dist/src/modules/collection.d.ts +2 -0
- package/dist/src/modules/convert.d.ts +2 -0
- package/dist/src/modules/functional.d.ts +2 -0
- package/dist/src/modules/grid.d.ts +2 -0
- package/dist/src/modules/linear-algebra.d.ts +2 -0
- package/dist/src/modules/math.d.ts +2 -0
- package/dist/src/modules/matrix.d.ts +2 -0
- package/dist/src/modules/number-theory.d.ts +2 -0
- package/dist/src/modules/random.d.ts +2 -0
- package/dist/src/modules/sequence.d.ts +2 -0
- package/dist/src/modules/string.d.ts +2 -0
- package/dist/src/modules/vector.d.ts +2 -0
- package/dist/src/parser/ParserContext.d.ts +20 -0
- package/dist/src/parser/getPrecedence.d.ts +3 -0
- package/dist/src/parser/helpers.d.ts +19 -0
- package/dist/src/parser/index.d.ts +5 -0
- package/dist/src/parser/subParsers/parseArray.d.ts +3 -0
- package/dist/src/parser/subParsers/parseBindingTarget.d.ts +8 -0
- package/dist/src/parser/subParsers/parseCond.d.ts +4 -0
- package/dist/src/parser/subParsers/parseDo.d.ts +3 -0
- package/dist/src/parser/subParsers/parseExpression.d.ts +5 -0
- package/dist/src/parser/subParsers/parseForOrDoseq.d.ts +4 -0
- package/dist/src/parser/subParsers/parseFunction.d.ts +4 -0
- package/dist/src/parser/subParsers/parseFunctionCall.d.ts +3 -0
- package/dist/src/parser/subParsers/parseIfOrUnless.d.ts +5 -0
- package/dist/src/parser/subParsers/parseImplicitBlock.d.ts +5 -0
- package/dist/src/parser/subParsers/parseLet.d.ts +4 -0
- package/dist/src/parser/subParsers/parseLoop.d.ts +4 -0
- package/dist/src/parser/subParsers/parseMatch.d.ts +4 -0
- package/dist/src/parser/subParsers/parseNumber.d.ts +3 -0
- package/dist/src/parser/subParsers/parseObject.d.ts +3 -0
- package/dist/src/parser/subParsers/parseOperand.d.ts +3 -0
- package/dist/src/parser/subParsers/parseRegexpShorthand.d.ts +3 -0
- package/dist/src/parser/subParsers/parseReservedSymbol.d.ts +3 -0
- package/dist/src/parser/subParsers/parseString.d.ts +4 -0
- package/dist/src/parser/subParsers/parseSymbol.d.ts +3 -0
- package/dist/src/parser/subParsers/parseTry.d.ts +4 -0
- package/dist/src/parser/types.d.ts +129 -0
- package/dist/src/symbolPatterns.d.ts +2 -0
- package/dist/src/testFramework/index.d.ts +15 -0
- package/dist/src/tokenizer/minifyTokenStream.d.ts +4 -0
- package/dist/src/tokenizer/operators.d.ts +12 -0
- package/dist/src/tokenizer/reservedNames.d.ts +66 -0
- package/dist/src/tokenizer/token.d.ts +84 -0
- package/dist/src/tokenizer/tokenize.d.ts +8 -0
- package/dist/src/tokenizer/tokenizers.d.ts +14 -0
- package/dist/src/transformer/index.d.ts +2 -0
- package/dist/src/typeGuards/annotatedArrays.d.ts +16 -0
- package/dist/src/typeGuards/array.d.ts +9 -0
- package/dist/src/typeGuards/astNode.d.ts +19 -0
- package/dist/src/typeGuards/dvala.d.ts +26 -0
- package/dist/src/typeGuards/dvalaFunction.d.ts +12 -0
- package/dist/src/typeGuards/index.d.ts +7 -0
- package/dist/src/typeGuards/number.d.ts +66 -0
- package/dist/src/typeGuards/string.d.ts +15 -0
- package/dist/src/untokenizer/index.d.ts +2 -0
- package/dist/src/utils/arity.d.ts +10 -0
- package/dist/src/utils/debug/debugTools.d.ts +1 -0
- package/dist/src/utils/debug/getCodeMarker.d.ts +2 -0
- package/dist/src/utils/debug/getSourceCodeInfo.d.ts +2 -0
- package/dist/src/utils/docString/generateDocString.d.ts +2 -0
- package/dist/src/utils/getAssertionError.d.ts +3 -0
- package/dist/src/utils/index.d.ts +14 -0
- package/dist/src/utils/maybePromise.d.ts +54 -0
- package/dist/src/utils/symbols.d.ts +3 -0
- package/dist/testFramework.esm.js +2 -0
- package/dist/testFramework.esm.js.map +1 -0
- package/dist/testFramework.js +2 -0
- package/dist/testFramework.js.map +1 -0
- package/package.json +144 -16
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Step types for the trampoline evaluator.
|
|
3
|
+
*
|
|
4
|
+
* The trampoline loop processes one `Step` per tick. Each tick produces a new
|
|
5
|
+
* `Step`, transforming the evaluation incrementally until a final `Value` step
|
|
6
|
+
* with an empty continuation stack signals completion.
|
|
7
|
+
*
|
|
8
|
+
* Step variants:
|
|
9
|
+
* - **Value**: A sub-expression produced a value. If `k` is empty, the program
|
|
10
|
+
* is done. Otherwise, pop the top frame and apply it with `applyFrame`.
|
|
11
|
+
* - **Eval**: Evaluate an AST node in the given environment. `stepNode` maps
|
|
12
|
+
* the node to the next step (either a `Value` for leaves or an `Eval`/`Apply`
|
|
13
|
+
* with a new frame pushed onto `k`).
|
|
14
|
+
* - **Apply**: A frame has received a value and needs to determine the next step.
|
|
15
|
+
* Dispatches to `applyFrame(frame, value, k)`.
|
|
16
|
+
* - **Perform**: An effect was invoked via `perform`. The trampoline searches `k`
|
|
17
|
+
* for a matching `TryWithFrame` (local handler) or dispatches to a host handler.
|
|
18
|
+
*
|
|
19
|
+
* All step types are plain serializable objects (when `ContextStack` is replaced
|
|
20
|
+
* with a serializable representation in Phase 4).
|
|
21
|
+
*/
|
|
22
|
+
import type { Any, Arr } from '../interface';
|
|
23
|
+
import type { AstNode, EffectRef } from '../parser/types';
|
|
24
|
+
import type { ContinuationStack, Frame } from './frames';
|
|
25
|
+
import type { ContextStack } from './ContextStack';
|
|
26
|
+
/**
|
|
27
|
+
* A sub-expression has been fully evaluated to a value.
|
|
28
|
+
*
|
|
29
|
+
* The trampoline checks `k`:
|
|
30
|
+
* - If empty → the program is complete; `value` is the final result.
|
|
31
|
+
* - If non-empty → pop the top frame and call `applyFrame(frame, value, rest)`.
|
|
32
|
+
*/
|
|
33
|
+
export interface ValueStep {
|
|
34
|
+
type: 'Value';
|
|
35
|
+
value: Any;
|
|
36
|
+
k: ContinuationStack;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* An AST node needs to be evaluated in the given environment.
|
|
40
|
+
*
|
|
41
|
+
* The trampoline calls `stepNode(node, env, k)` which inspects the node type
|
|
42
|
+
* and returns the next step:
|
|
43
|
+
* - Leaf nodes (number, string, symbol lookup) → `ValueStep`
|
|
44
|
+
* - Compound nodes → push a frame onto `k` and return `EvalStep` for the
|
|
45
|
+
* first sub-expression.
|
|
46
|
+
*/
|
|
47
|
+
export interface EvalStep {
|
|
48
|
+
type: 'Eval';
|
|
49
|
+
node: AstNode;
|
|
50
|
+
env: ContextStack;
|
|
51
|
+
k: ContinuationStack;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A frame needs to process a completed sub-result.
|
|
55
|
+
*
|
|
56
|
+
* The trampoline calls `applyFrame(frame, value, k)` to determine the next
|
|
57
|
+
* step. For example, an `IfBranchFrame` receiving a truthy value returns an
|
|
58
|
+
* `EvalStep` for the then-branch.
|
|
59
|
+
*/
|
|
60
|
+
export interface ApplyStep {
|
|
61
|
+
type: 'Apply';
|
|
62
|
+
frame: Frame;
|
|
63
|
+
value: Any;
|
|
64
|
+
k: ContinuationStack;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* An effect was invoked via `perform(effect, ...args)`.
|
|
68
|
+
*
|
|
69
|
+
* The trampoline searches the continuation stack `k` from top to bottom for
|
|
70
|
+
* a matching `TryWithFrame`. If found, the handler is dispatched locally.
|
|
71
|
+
* If not found, the effect is dispatched to the host handler registered
|
|
72
|
+
* in `run()` options, or to a standard effect default implementation.
|
|
73
|
+
*
|
|
74
|
+
* `args` is always an array (possibly empty for zero-argument effects).
|
|
75
|
+
*/
|
|
76
|
+
export interface PerformStep {
|
|
77
|
+
type: 'Perform';
|
|
78
|
+
effect: EffectRef;
|
|
79
|
+
args: Arr;
|
|
80
|
+
k: ContinuationStack;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* A `parallel(...)` expression was encountered.
|
|
84
|
+
*
|
|
85
|
+
* The trampoline runs all branch expressions concurrently as independent
|
|
86
|
+
* trampoline invocations using `Promise.allSettled`. Each branch gets the
|
|
87
|
+
* same handlers and signal. Results are collected in order.
|
|
88
|
+
*
|
|
89
|
+
* If any branch suspends, a composite blob is created with completed values
|
|
90
|
+
* and suspended branch blobs, and a `SuspensionSignal` is thrown.
|
|
91
|
+
*
|
|
92
|
+
* Only available in async mode (`run()`). In `runSync()`, this step causes
|
|
93
|
+
* a "Unexpected async operation" error because it returns `Promise<Step>`.
|
|
94
|
+
*/
|
|
95
|
+
export interface ParallelStep {
|
|
96
|
+
type: 'Parallel';
|
|
97
|
+
branches: AstNode[];
|
|
98
|
+
env: ContextStack;
|
|
99
|
+
k: ContinuationStack;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* A `race(...)` expression was encountered.
|
|
103
|
+
*
|
|
104
|
+
* The trampoline runs all branch expressions concurrently. The first branch
|
|
105
|
+
* to complete wins — its value becomes the result. Losers are cancelled via
|
|
106
|
+
* per-branch AbortControllers. Errored branches are silently dropped.
|
|
107
|
+
*
|
|
108
|
+
* If all branches error, throws an aggregate error. If no branch completes
|
|
109
|
+
* but some suspend, the race suspends with only the outer continuation.
|
|
110
|
+
* On resume, the host provides the winner value directly.
|
|
111
|
+
*
|
|
112
|
+
* Only available in async mode (`run()`).
|
|
113
|
+
*/
|
|
114
|
+
export interface RaceStep {
|
|
115
|
+
type: 'Race';
|
|
116
|
+
branches: AstNode[];
|
|
117
|
+
env: ContextStack;
|
|
118
|
+
k: ContinuationStack;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* A parallel resumption is in progress.
|
|
122
|
+
*
|
|
123
|
+
* Created when a `ParallelResumeFrame` receives a value (the resume result
|
|
124
|
+
* of the first suspended branch). The trampoline resumes that branch's
|
|
125
|
+
* trampoline and processes the result.
|
|
126
|
+
*
|
|
127
|
+
* This step type is handled by `tick()` which has access to `handlers` and
|
|
128
|
+
* `signal` needed to run the branch trampoline.
|
|
129
|
+
*/
|
|
130
|
+
export interface ParallelResumeStep {
|
|
131
|
+
type: 'ParallelResume';
|
|
132
|
+
value: Any;
|
|
133
|
+
branchCount: number;
|
|
134
|
+
completedBranches: Array<{
|
|
135
|
+
index: number;
|
|
136
|
+
value: Any;
|
|
137
|
+
}>;
|
|
138
|
+
suspendedBranches: Array<{
|
|
139
|
+
index: number;
|
|
140
|
+
blob: string;
|
|
141
|
+
meta?: Any;
|
|
142
|
+
}>;
|
|
143
|
+
k: ContinuationStack;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Discriminated union of all step types.
|
|
147
|
+
*
|
|
148
|
+
* The trampoline loop processes one `Step` per iteration:
|
|
149
|
+
*
|
|
150
|
+
* ```
|
|
151
|
+
* while (true) {
|
|
152
|
+
* step = tick(step)
|
|
153
|
+
* if (step.type === 'Value' && step.k.length === 0) return step.value
|
|
154
|
+
* }
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* The `type` field serves as the discriminant for exhaustive switching.
|
|
158
|
+
*/
|
|
159
|
+
export type Step = ValueStep | EvalStep | ApplyStep | PerformStep | ParallelStep | RaceStep | ParallelResumeStep;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Continuation stack serialization and deserialization.
|
|
3
|
+
*
|
|
4
|
+
* When a host handler calls `suspend(meta?)`, the trampoline captures the
|
|
5
|
+
* continuation stack (an array of Frame objects). This module converts that
|
|
6
|
+
* stack to/from a JSON string (the "suspension blob") that can be stored,
|
|
7
|
+
* transferred, and later resumed in a new process.
|
|
8
|
+
*
|
|
9
|
+
* The main challenge is that Frame objects contain `ContextStack` class
|
|
10
|
+
* instances (which hold lexical scope chains). These are not plain data
|
|
11
|
+
* and may form circular references (e.g., a global context containing a
|
|
12
|
+
* UserDefinedFunction whose captured env references the same global context).
|
|
13
|
+
*
|
|
14
|
+
* The serialization approach:
|
|
15
|
+
* 1. Walk the frame tree and collect all unique ContextStack instances (by identity)
|
|
16
|
+
* 2. Assign each a numeric ID
|
|
17
|
+
* 3. Serialize ContextStacks separately as plain objects
|
|
18
|
+
* 4. In the frame tree, replace ContextStack references with `{ __csRef: id }`
|
|
19
|
+
* 5. First occurrence of each ContextStack gets `{ __csDef: id, ... }` in the
|
|
20
|
+
* contextStacks array — circular refs just become `{ __csRef: id }`
|
|
21
|
+
*
|
|
22
|
+
* Deserialization reverses this:
|
|
23
|
+
* 1. Parse the blob and create placeholder ContextStack instances
|
|
24
|
+
* 2. Deep-resolve all `__csRef` markers back to real instances
|
|
25
|
+
* 3. Fill in host bindings (values, nativeJsFunctions, modules) on each instance
|
|
26
|
+
*/
|
|
27
|
+
import type { Any } from '../interface';
|
|
28
|
+
import type { NativeJsFunction } from '../parser/types';
|
|
29
|
+
import type { DvalaModule } from '../builtin/modules/interface';
|
|
30
|
+
import type { ContinuationStack } from './frames';
|
|
31
|
+
/**
|
|
32
|
+
* Serialize a continuation stack and optional metadata into an opaque JSON blob.
|
|
33
|
+
*
|
|
34
|
+
* Validates that all values are serializable (no NativeJsFunctions in frames).
|
|
35
|
+
* Throws a descriptive `DvalaError` if non-serializable values are found.
|
|
36
|
+
*/
|
|
37
|
+
export declare function serializeSuspension(k: ContinuationStack, meta?: Any): string;
|
|
38
|
+
/** Options for re-injecting host bindings on resume. */
|
|
39
|
+
export interface DeserializeOptions {
|
|
40
|
+
values?: Record<string, unknown>;
|
|
41
|
+
nativeJsFunctions?: Record<string, NativeJsFunction>;
|
|
42
|
+
modules?: Map<string, DvalaModule>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Deserialize a suspension blob back into a continuation stack and metadata.
|
|
46
|
+
*
|
|
47
|
+
* Reconstructs `ContextStack` instances with fresh host bindings from `options`.
|
|
48
|
+
* Handles circular references between ContextStacks and their contained values.
|
|
49
|
+
*/
|
|
50
|
+
export declare function deserializeSuspension(blob: string, options?: DeserializeOptions): {
|
|
51
|
+
k: ContinuationStack;
|
|
52
|
+
meta?: Any;
|
|
53
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trampoline evaluator — explicit-stack evaluation engine.
|
|
3
|
+
*
|
|
4
|
+
* `stepNode(node, env, k)` maps an AST node to the next `Step`.
|
|
5
|
+
* `applyFrame(frame, value, k)` processes a completed sub-result against a frame.
|
|
6
|
+
* `tick(step)` processes one step and returns the next (or a Promise<Step> for async).
|
|
7
|
+
* `runSyncTrampoline(step)` runs the trampoline synchronously to completion.
|
|
8
|
+
* `runAsyncTrampoline(step)` runs the trampoline asynchronously to completion.
|
|
9
|
+
*
|
|
10
|
+
* Entry points:
|
|
11
|
+
* - `evaluate(ast, contextStack)` — evaluate an AST (sync or async)
|
|
12
|
+
* - `evaluateNode(node, contextStack)` — evaluate a single node (sync or async)
|
|
13
|
+
*
|
|
14
|
+
* Design principles:
|
|
15
|
+
* - `stepNode` is always synchronous and returns `Step`.
|
|
16
|
+
* - `applyFrame` may return `Step | Promise<Step>` when normal expressions
|
|
17
|
+
* or compound function types produce async results.
|
|
18
|
+
* - Normal built-in expressions are called directly with pre-evaluated args
|
|
19
|
+
* (they may still use the old recursive `evaluateNode` internally for
|
|
20
|
+
* higher-order callbacks — suspension through them is deferred).
|
|
21
|
+
* - Binding utilities (`evaluateBindingNodeValues`, `tryMatch`) are called
|
|
22
|
+
* with a recursive `evaluateNode` helper. This is acceptable for Phase 1.
|
|
23
|
+
* - All state lives in frames (no JS closures) — enabling serialization later.
|
|
24
|
+
*/
|
|
25
|
+
import type { Any } from '../interface';
|
|
26
|
+
import type { Ast, AstNode } from '../parser/types';
|
|
27
|
+
import type { MaybePromise } from '../utils/maybePromise';
|
|
28
|
+
import type { Handlers, RunResult } from './effectTypes';
|
|
29
|
+
import type { ContextStack } from './ContextStack';
|
|
30
|
+
import type { ContinuationStack, Frame } from './frames';
|
|
31
|
+
import type { Step } from './step';
|
|
32
|
+
export type { Step };
|
|
33
|
+
/**
|
|
34
|
+
* Given an AST node, its environment, and a continuation stack, return
|
|
35
|
+
* the next Step for the trampoline to process.
|
|
36
|
+
*
|
|
37
|
+
* Leaf nodes (numbers, strings, symbols) immediately produce values.
|
|
38
|
+
* Compound nodes (expressions) push frames and return sub-evaluations.
|
|
39
|
+
*/
|
|
40
|
+
export declare function stepNode(node: AstNode, env: ContextStack, k: ContinuationStack): Step | Promise<Step>;
|
|
41
|
+
/**
|
|
42
|
+
* Given a completed sub-expression value and the top frame from the
|
|
43
|
+
* continuation stack, determine the next Step.
|
|
44
|
+
*/
|
|
45
|
+
export declare function applyFrame(frame: Frame, value: Any, k: ContinuationStack): Step | Promise<Step>;
|
|
46
|
+
/**
|
|
47
|
+
* Extract all visible bindings from a ContextStack as a flat record.
|
|
48
|
+
* Iterates from outermost to innermost scope so that inner bindings
|
|
49
|
+
* shadow outer ones, matching Dvala scoping semantics.
|
|
50
|
+
*/
|
|
51
|
+
export declare function extractBindings(env: ContextStack): Record<string, Any>;
|
|
52
|
+
/**
|
|
53
|
+
* Process one step of the trampoline. Returns the next step, or a
|
|
54
|
+
* Promise<Step> when an async operation (e.g., native JS function) is
|
|
55
|
+
* encountered.
|
|
56
|
+
*
|
|
57
|
+
* - `Value` with empty `k`: the program is done (terminal state).
|
|
58
|
+
* - `Value` with non-empty `k`: pop the top frame and apply it.
|
|
59
|
+
* - `Eval`: evaluate an AST node via `stepNode` (always synchronous).
|
|
60
|
+
* - `Apply`: apply a frame to a value (may return Promise<Step>).
|
|
61
|
+
* - `Perform`: effect dispatch — local (try/with) first, then host handlers.
|
|
62
|
+
*
|
|
63
|
+
* When `handlers` and `signal` are provided (from `run()`), host handlers are
|
|
64
|
+
* available as a fallback for effects not matched by any local `try/with`.
|
|
65
|
+
*/
|
|
66
|
+
export declare function tick(step: Step, handlers?: Handlers, signal?: AbortSignal): Step | Promise<Step>;
|
|
67
|
+
/**
|
|
68
|
+
* Run the trampoline synchronously to completion.
|
|
69
|
+
* Throws if any step produces a Promise (i.e., an async operation was
|
|
70
|
+
* encountered in a synchronous context).
|
|
71
|
+
*/
|
|
72
|
+
export declare function runSyncTrampoline(initial: Step): Any;
|
|
73
|
+
/**
|
|
74
|
+
* Run the trampoline asynchronously to completion.
|
|
75
|
+
* Awaits any Promise<Step> that surfaces from async operations.
|
|
76
|
+
*/
|
|
77
|
+
export declare function runAsyncTrampoline(initial: Step): Promise<Any>;
|
|
78
|
+
/**
|
|
79
|
+
* Evaluate an AST using the trampoline.
|
|
80
|
+
* Returns the final value synchronously, or a Promise if async operations
|
|
81
|
+
* are involved (e.g., native JS functions returning Promises).
|
|
82
|
+
*/
|
|
83
|
+
export declare function evaluate(ast: Ast, contextStack: ContextStack): MaybePromise<Any>;
|
|
84
|
+
/**
|
|
85
|
+
* Evaluate an AST using the async trampoline directly.
|
|
86
|
+
* Use this when the caller knows that async operations may be involved
|
|
87
|
+
* (e.g., from Dvala.async.run) to avoid the sync-first-then-retry pattern
|
|
88
|
+
* which can cause side effects to be executed twice.
|
|
89
|
+
*/
|
|
90
|
+
export declare function evaluateAsync(ast: Ast, contextStack: ContextStack): Promise<Any>;
|
|
91
|
+
/**
|
|
92
|
+
* Evaluate a single AST node using the trampoline.
|
|
93
|
+
* Used as the `evaluateNode` callback passed to `getUndefinedSymbols`
|
|
94
|
+
* and other utilities.
|
|
95
|
+
*/
|
|
96
|
+
export declare function evaluateNode(node: AstNode, contextStack: ContextStack): MaybePromise<Any>;
|
|
97
|
+
/**
|
|
98
|
+
* Evaluate an AST with full effect handler support.
|
|
99
|
+
*
|
|
100
|
+
* Uses the async trampoline loop, passing `handlers` and `signal` to `tick`
|
|
101
|
+
* so that `dispatchPerform` can fall back to host handlers when no local
|
|
102
|
+
* `try/with` matches.
|
|
103
|
+
*
|
|
104
|
+
* Always resolves — never rejects. All errors are captured in
|
|
105
|
+
* `RunResult.error`. Suspension is signaled via `RunResult.suspended`.
|
|
106
|
+
*
|
|
107
|
+
* The `AbortController` is created internally per `run()` call. The signal
|
|
108
|
+
* is passed to every host handler. Used for `race()` cancellation (Phase 6)
|
|
109
|
+
* and host-side timeouts.
|
|
110
|
+
*/
|
|
111
|
+
export declare function evaluateWithEffects(ast: Ast, contextStack: ContextStack, handlers?: Handlers): Promise<RunResult>;
|
|
112
|
+
/**
|
|
113
|
+
* Resume a suspended continuation with a value.
|
|
114
|
+
*
|
|
115
|
+
* Re-enters the trampoline with `{ type: 'Value', value, k }` where `k` is
|
|
116
|
+
* the deserialized continuation stack. Host handlers and signal are provided
|
|
117
|
+
* fresh for this run.
|
|
118
|
+
*/
|
|
119
|
+
export declare function resumeWithEffects(k: ContinuationStack, value: Any, handlers?: Handlers): Promise<RunResult>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import './initReferenceData';
|
|
2
|
+
export * from './index';
|
|
3
|
+
export { allBuiltinModules } from './allModules';
|
|
4
|
+
export { assertModule } from './builtin/modules/assertion';
|
|
5
|
+
export { gridModule } from './builtin/modules/grid';
|
|
6
|
+
export { randomModule } from './builtin/modules/random';
|
|
7
|
+
export { vectorModule } from './builtin/modules/vector';
|
|
8
|
+
export { linearAlgebraModule } from './builtin/modules/linear-algebra';
|
|
9
|
+
export { matrixModule } from './builtin/modules/matrix';
|
|
10
|
+
export { numberTheoryModule } from './builtin/modules/number-theory';
|
|
11
|
+
export { mathUtilsModule } from './builtin/modules/math';
|
|
12
|
+
export { functionalUtilsModule } from './builtin/modules/functional';
|
|
13
|
+
export { bitwiseUtilsModule } from './builtin/modules/bitwise';
|
|
14
|
+
export { apiReference, isCustomReference, isDatatypeReference, isFunctionReference, isShorthandReference } from '../reference';
|
|
15
|
+
export type { Argument, CommonReference, CustomReference, DatatypeReference, FunctionReference, Reference, ShorthandReference } from '../reference';
|
|
16
|
+
export type { ApiName, FunctionName, ShorthandName, DatatypeName } from '../reference/api';
|
|
17
|
+
export { isApiName, isDataType } from '../reference/api';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Builtin } from '../builtin/interface';
|
|
2
|
+
import type { ContextStack } from '../evaluator/ContextStack';
|
|
3
|
+
import type { EvaluateNode } from '../evaluator/interface';
|
|
4
|
+
import type { Ast, AstNode } from '../parser/types';
|
|
5
|
+
export type UndefinedSymbols = Set<string>;
|
|
6
|
+
export declare const getUndefinedSymbols: GetUndefinedSymbols;
|
|
7
|
+
export type GetUndefinedSymbols = (ast: Ast | AstNode[], contextStack: ContextStack, builtin: Builtin, evaluateNode: EvaluateNode) => UndefinedSymbols;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { isBuiltinFunction, isDvalaFunction, asDvalaFunction, assertDvalaFunction, isUserDefinedFunction, asUserDefinedFunction, assertUserDefinedFunction, isNativeJsFunction, asNativeJsFunction, assertNativeJsFunction, } from './typeGuards/dvalaFunction';
|
|
2
|
+
export { type Arity } from './builtin/interface';
|
|
3
|
+
export { type DvalaFunction, type NativeJsFunction } from './parser/types';
|
|
4
|
+
export type { Context } from './evaluator/interface';
|
|
5
|
+
export type { Ast } from './parser/types';
|
|
6
|
+
export type { SourceCodeInfo } from './tokenizer/token';
|
|
7
|
+
export type { Token, TokenType } from './tokenizer/token';
|
|
8
|
+
export { normalExpressionKeys, specialExpressionKeys } from './builtin';
|
|
9
|
+
export { Dvala } from './Dvala/Dvala';
|
|
10
|
+
export type { DvalaModule } from './builtin/modules/interface';
|
|
11
|
+
export type { DvalaBundle } from './bundler/interface';
|
|
12
|
+
export { isDvalaBundle } from './bundler/interface';
|
|
13
|
+
export { type DvalaError, isDvalaError } from './errors';
|
|
14
|
+
export type { ContextParams, FilePathParams, MinifyParams, PureParams, DvalaRuntimeInfo, JsFunction } from './Dvala/Dvala';
|
|
15
|
+
export { isGrid, isMatrix, isVector } from './typeGuards/annotatedArrays';
|
|
16
|
+
export type { AutoCompleter } from './AutoCompleter/AutoCompleter';
|
|
17
|
+
export { run, runSync, resume } from './effects';
|
|
18
|
+
export type { EffectContext, EffectHandler, Handlers, RunResult, RunOptions, RunSyncOptions, SuspensionBlob, ResumeOptions } from './effects';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DvalaFunction, EffectRef, RegularExpression } from './parser/types';
|
|
2
|
+
export type Arr = unknown[];
|
|
3
|
+
export type Seq = string | Arr;
|
|
4
|
+
export type Obj = Record<string, unknown>;
|
|
5
|
+
export type Coll = Seq | Obj;
|
|
6
|
+
export type Any = Coll | string | number | boolean | null | DvalaFunction | RegularExpression | EffectRef;
|
|
7
|
+
export type UnknownRecord = Record<string, unknown>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SourceCodeInfo, Token } from '../tokenizer/token';
|
|
2
|
+
import type { TokenStream } from '../tokenizer/tokenize';
|
|
3
|
+
import type { AstNode } from './types';
|
|
4
|
+
export declare class ParserContext {
|
|
5
|
+
private readonly tokens;
|
|
6
|
+
private position;
|
|
7
|
+
private storedPosition;
|
|
8
|
+
parseExpression: (precedence?: number) => AstNode;
|
|
9
|
+
constructor(tokenStream: TokenStream);
|
|
10
|
+
advance(): void;
|
|
11
|
+
tryPeek(): Token | undefined;
|
|
12
|
+
peek(): Token;
|
|
13
|
+
isAtEnd(): boolean;
|
|
14
|
+
peekSourceCodeInfo(): SourceCodeInfo | undefined;
|
|
15
|
+
storePosition(): number;
|
|
16
|
+
restorePosition(): void;
|
|
17
|
+
peekAhead(count: number): Token | undefined;
|
|
18
|
+
getPosition(): number;
|
|
19
|
+
getTokenAt(pos: number): Token | undefined;
|
|
20
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OperatorToken, SourceCodeInfo } from '../tokenizer/token';
|
|
2
|
+
import type { AstNode, BindingTarget, NormalBuiltinSymbolNode, NormalExpressionNodeWithName, SymbolNode, UserDefinedSymbolNode } from './types';
|
|
3
|
+
import type { ParserContext } from './ParserContext';
|
|
4
|
+
export declare const exponentiationPrecedence = 12;
|
|
5
|
+
export declare const binaryFunctionalOperatorPrecedence = 3;
|
|
6
|
+
export declare const conditionalOperatorPrecedence = 1;
|
|
7
|
+
export declare function withSourceCodeInfo<T extends AstNode | BindingTarget>(node: T, sourceCodeInfo: SourceCodeInfo | undefined): T;
|
|
8
|
+
export declare function stringToSymbolNode(value: string, sourceCodeInfo: SourceCodeInfo | undefined): SymbolNode;
|
|
9
|
+
export declare function stringFromQuotedSymbol(value: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Extract the symbol name from any symbol node type.
|
|
12
|
+
* UserDefinedSymbolNode: node[1] is the string name
|
|
13
|
+
* NormalBuiltinSymbolNode: node[1] is an index, need reverse lookup
|
|
14
|
+
* SpecialBuiltinSymbolNode: node[1] is an index, need reverse lookup
|
|
15
|
+
*/
|
|
16
|
+
export declare function getSymbolName(symbol: SymbolNode): string;
|
|
17
|
+
export declare function createNamedNormalExpressionNode(symbolNode: NormalBuiltinSymbolNode | UserDefinedSymbolNode, params: AstNode[], sourceCodeInfo: SourceCodeInfo | undefined): NormalExpressionNodeWithName;
|
|
18
|
+
export declare function isAtExpressionEnd(ctx: ParserContext): boolean;
|
|
19
|
+
export declare function fromBinaryOperatorToNode(operator: OperatorToken, symbolNode: SymbolNode, left: AstNode, right: AstNode, sourceCodeInfo: SourceCodeInfo | undefined): AstNode;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TokenStream } from '../tokenizer/tokenize';
|
|
2
|
+
import type { AstNode } from './types';
|
|
3
|
+
import { createParserContext, parseExpression } from './subParsers/parseExpression';
|
|
4
|
+
export { createParserContext, parseExpression };
|
|
5
|
+
export declare function parse(tokenStream: TokenStream): AstNode[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BindingTarget } from '../types';
|
|
2
|
+
import type { ParserContext } from '../ParserContext';
|
|
3
|
+
export interface ParseBindingTargetOptions {
|
|
4
|
+
requireDefaultValue?: true;
|
|
5
|
+
noRest?: true;
|
|
6
|
+
allowLiteralPatterns?: true;
|
|
7
|
+
}
|
|
8
|
+
export declare function parseBindingTarget(ctx: ParserContext, { requireDefaultValue, noRest, allowLiteralPatterns }?: ParseBindingTargetOptions): BindingTarget;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CondNode } from '../../builtin/specialExpressions/cond';
|
|
2
|
+
import { type SymbolToken } from '../../tokenizer/token';
|
|
3
|
+
import type { ParserContext } from '../ParserContext';
|
|
4
|
+
export declare function parseCond(ctx: ParserContext, token: SymbolToken): CondNode;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TokenStream } from '../../tokenizer/tokenize';
|
|
2
|
+
import { ParserContext } from '../ParserContext';
|
|
3
|
+
import type { AstNode } from '../types';
|
|
4
|
+
export declare function createParserContext(tokenStream: TokenStream): ParserContext;
|
|
5
|
+
export declare function parseExpression(ctx: ParserContext, precedence?: number): AstNode;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DoSeqNode, ForNode } from '../../builtin/specialExpressions/loops';
|
|
2
|
+
import type { SymbolToken } from '../../tokenizer/token';
|
|
3
|
+
import type { ParserContext } from '../ParserContext';
|
|
4
|
+
export declare function parseForOrDoseq(ctx: ParserContext, firstToken: SymbolToken): ForNode | DoSeqNode;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LambdaNode } from '../../builtin/specialExpressions/functions';
|
|
2
|
+
import type { ParserContext } from '../ParserContext';
|
|
3
|
+
export declare function parseLambdaFunction(ctx: ParserContext): LambdaNode | null;
|
|
4
|
+
export declare function parseShorthandLambdaFunction(ctx: ParserContext): LambdaNode;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IfNode } from '../../builtin/specialExpressions/if';
|
|
2
|
+
import type { UnlessNode } from '../../builtin/specialExpressions/unless';
|
|
3
|
+
import type { SymbolToken } from '../../tokenizer/token';
|
|
4
|
+
import type { ParserContext } from '../ParserContext';
|
|
5
|
+
export declare function parseIfOrUnless(ctx: ParserContext, token: SymbolToken): IfNode | UnlessNode;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AstNode } from '../types';
|
|
2
|
+
import type { ParserContext } from '../ParserContext';
|
|
3
|
+
type ImplicitBlockEnd = 'end' | 'else' | 'catch' | 'case' | 'with';
|
|
4
|
+
export declare function parseImplicitBlock(ctx: ParserContext, ends: ImplicitBlockEnd[]): AstNode;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LoopNode } from '../../builtin/specialExpressions/loop';
|
|
2
|
+
import type { SymbolToken } from '../../tokenizer/token';
|
|
3
|
+
import type { ParserContext } from '../ParserContext';
|
|
4
|
+
export declare function parseLoop(ctx: ParserContext, firstToken: SymbolToken): LoopNode;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MatchNode } from '../../builtin/specialExpressions/match';
|
|
2
|
+
import { type SymbolToken } from '../../tokenizer/token';
|
|
3
|
+
import type { ParserContext } from '../ParserContext';
|
|
4
|
+
export declare function parseMatch(ctx: ParserContext, token: SymbolToken): MatchNode;
|