@mojir/dvala 0.0.9 → 0.0.12

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.
Files changed (1139) hide show
  1. package/dist/cli/cli.js +33054 -36909
  2. package/package.json +194 -31
  3. package/dist/bundler.esm.js +0 -2
  4. package/dist/bundler.esm.js.map +0 -1
  5. package/dist/bundler.js +0 -2
  6. package/dist/bundler.js.map +0 -1
  7. package/dist/cli/cli/src/cli.d.ts +0 -2
  8. package/dist/cli/cli/src/cliDocumentation/formatCliDescription.d.ts +0 -3
  9. package/dist/cli/cli/src/cliDocumentation/getCliArgumentInfo.d.ts +0 -3
  10. package/dist/cli/cli/src/cliDocumentation/getCliDocumentation.d.ts +0 -2
  11. package/dist/cli/cli/src/cliDocumentation/getCliFunctionExamples.d.ts +0 -3
  12. package/dist/cli/cli/src/cliDocumentation/getCliFunctionSignature.d.ts +0 -3
  13. package/dist/cli/cli/src/cliDocumentation/getCliTitle.d.ts +0 -3
  14. package/dist/cli/cli/src/cliDocumentation/getCliType.d.ts +0 -3
  15. package/dist/cli/cli/src/cliFormatterRules.d.ts +0 -13
  16. package/dist/cli/cli/src/colorizer.d.ts +0 -939
  17. package/dist/cli/cli/src/createReadlineInterface.d.ts +0 -5
  18. package/dist/cli/cli/src/js-interop/Cli/Fs/index.d.ts +0 -2
  19. package/dist/cli/cli/src/js-interop/Cli/Proc/index.d.ts +0 -3
  20. package/dist/cli/cli/src/js-interop/Cli/index.d.ts +0 -2
  21. package/dist/cli/common/createFormatter.d.ts +0 -6
  22. package/dist/cli/common/utils.d.ts +0 -2
  23. package/dist/cli/reference/api.d.ts +0 -73
  24. package/dist/cli/reference/datatype.d.ts +0 -3
  25. package/dist/cli/reference/examples.d.ts +0 -11
  26. package/dist/cli/reference/index.d.ts +0 -195
  27. package/dist/cli/reference/shorthand.d.ts +0 -3
  28. package/dist/cli/src/AutoCompleter/AutoCompleter.d.ts +0 -27
  29. package/dist/cli/src/Cache.d.ts +0 -16
  30. package/dist/cli/src/allModules.d.ts +0 -2
  31. package/dist/cli/src/builtin/bindingNode.d.ts +0 -11
  32. package/dist/cli/src/builtin/core/array.d.ts +0 -2
  33. package/dist/cli/src/builtin/core/assertion.d.ts +0 -2
  34. package/dist/cli/src/builtin/core/bitwise.d.ts +0 -2
  35. package/dist/cli/src/builtin/core/collection.d.ts +0 -2
  36. package/dist/cli/src/builtin/core/functional.d.ts +0 -2
  37. package/dist/cli/src/builtin/core/math.d.ts +0 -2
  38. package/dist/cli/src/builtin/core/meta.d.ts +0 -3
  39. package/dist/cli/src/builtin/core/misc.d.ts +0 -2
  40. package/dist/cli/src/builtin/core/object.d.ts +0 -2
  41. package/dist/cli/src/builtin/core/predicates.d.ts +0 -2
  42. package/dist/cli/src/builtin/core/regexp.d.ts +0 -2
  43. package/dist/cli/src/builtin/core/sequence.d.ts +0 -2
  44. package/dist/cli/src/builtin/core/string.d.ts +0 -2
  45. package/dist/cli/src/builtin/core/vector.d.ts +0 -2
  46. package/dist/cli/src/builtin/index.d.ts +0 -13
  47. package/dist/cli/src/builtin/interface.d.ts +0 -113
  48. package/dist/cli/src/builtin/modules/assertion/docs.d.ts +0 -2
  49. package/dist/cli/src/builtin/modules/assertion/index.d.ts +0 -2
  50. package/dist/cli/src/builtin/modules/bitwise/index.d.ts +0 -2
  51. package/dist/cli/src/builtin/modules/collection/index.d.ts +0 -2
  52. package/dist/cli/src/builtin/modules/convert/index.d.ts +0 -2
  53. package/dist/cli/src/builtin/modules/functional/index.d.ts +0 -2
  54. package/dist/cli/src/builtin/modules/grid/docs.d.ts +0 -2
  55. package/dist/cli/src/builtin/modules/grid/fromArray.d.ts +0 -8
  56. package/dist/cli/src/builtin/modules/grid/index.d.ts +0 -2
  57. package/dist/cli/src/builtin/modules/grid/transpose.d.ts +0 -2
  58. package/dist/cli/src/builtin/modules/interface.d.ts +0 -28
  59. package/dist/cli/src/builtin/modules/linear-algebra/docs.d.ts +0 -2
  60. package/dist/cli/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +0 -1
  61. package/dist/cli/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +0 -2
  62. package/dist/cli/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +0 -8
  63. package/dist/cli/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +0 -4
  64. package/dist/cli/src/builtin/modules/linear-algebra/helpers/dot.d.ts +0 -1
  65. package/dist/cli/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +0 -7
  66. package/dist/cli/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +0 -2
  67. package/dist/cli/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +0 -1
  68. package/dist/cli/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +0 -10
  69. package/dist/cli/src/builtin/modules/linear-algebra/helpers/length.d.ts +0 -1
  70. package/dist/cli/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +0 -1
  71. package/dist/cli/src/builtin/modules/linear-algebra/helpers/scale.d.ts +0 -1
  72. package/dist/cli/src/builtin/modules/linear-algebra/helpers/solve.d.ts +0 -8
  73. package/dist/cli/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +0 -1
  74. package/dist/cli/src/builtin/modules/linear-algebra/index.d.ts +0 -4
  75. package/dist/cli/src/builtin/modules/math/index.d.ts +0 -2
  76. package/dist/cli/src/builtin/modules/matrix/docs.d.ts +0 -2
  77. package/dist/cli/src/builtin/modules/matrix/helpers/adjugate.d.ts +0 -1
  78. package/dist/cli/src/builtin/modules/matrix/helpers/band.d.ts +0 -9
  79. package/dist/cli/src/builtin/modules/matrix/helpers/cofactor.d.ts +0 -1
  80. package/dist/cli/src/builtin/modules/matrix/helpers/determinant.d.ts +0 -6
  81. package/dist/cli/src/builtin/modules/matrix/helpers/inverse.d.ts +0 -6
  82. package/dist/cli/src/builtin/modules/matrix/helpers/isBanded.d.ts +0 -11
  83. package/dist/cli/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +0 -10
  84. package/dist/cli/src/builtin/modules/matrix/helpers/isIdentity.d.ts +0 -1
  85. package/dist/cli/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +0 -1
  86. package/dist/cli/src/builtin/modules/matrix/helpers/isSquare.d.ts +0 -1
  87. package/dist/cli/src/builtin/modules/matrix/helpers/isSymetric.d.ts +0 -8
  88. package/dist/cli/src/builtin/modules/matrix/helpers/isTriangular.d.ts +0 -13
  89. package/dist/cli/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +0 -7
  90. package/dist/cli/src/builtin/modules/matrix/helpers/minor.d.ts +0 -1
  91. package/dist/cli/src/builtin/modules/matrix/helpers/norm1.d.ts +0 -1
  92. package/dist/cli/src/builtin/modules/matrix/helpers/trace.d.ts +0 -8
  93. package/dist/cli/src/builtin/modules/matrix/index.d.ts +0 -4
  94. package/dist/cli/src/builtin/modules/number-theory/binomialCefficient.d.ts +0 -1
  95. package/dist/cli/src/builtin/modules/number-theory/combinations.d.ts +0 -2
  96. package/dist/cli/src/builtin/modules/number-theory/derangements.d.ts +0 -2
  97. package/dist/cli/src/builtin/modules/number-theory/divisors.d.ts +0 -4
  98. package/dist/cli/src/builtin/modules/number-theory/docs.d.ts +0 -2
  99. package/dist/cli/src/builtin/modules/number-theory/factorial.d.ts +0 -3
  100. package/dist/cli/src/builtin/modules/number-theory/index.d.ts +0 -4
  101. package/dist/cli/src/builtin/modules/number-theory/partitions.d.ts +0 -2
  102. package/dist/cli/src/builtin/modules/number-theory/permutations.d.ts +0 -2
  103. package/dist/cli/src/builtin/modules/number-theory/powerSet.d.ts +0 -2
  104. package/dist/cli/src/builtin/modules/number-theory/primeFactors.d.ts +0 -11
  105. package/dist/cli/src/builtin/modules/number-theory/sequences/abundant.d.ts +0 -2
  106. package/dist/cli/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +0 -2
  107. package/dist/cli/src/builtin/modules/number-theory/sequences/bell.d.ts +0 -1
  108. package/dist/cli/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +0 -2
  109. package/dist/cli/src/builtin/modules/number-theory/sequences/catalan.d.ts +0 -1
  110. package/dist/cli/src/builtin/modules/number-theory/sequences/collatz.d.ts +0 -2
  111. package/dist/cli/src/builtin/modules/number-theory/sequences/composite.d.ts +0 -3
  112. package/dist/cli/src/builtin/modules/number-theory/sequences/deficient.d.ts +0 -2
  113. package/dist/cli/src/builtin/modules/number-theory/sequences/factorial.d.ts +0 -1
  114. package/dist/cli/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +0 -1
  115. package/dist/cli/src/builtin/modules/number-theory/sequences/geometric.d.ts +0 -2
  116. package/dist/cli/src/builtin/modules/number-theory/sequences/golomb.d.ts +0 -2
  117. package/dist/cli/src/builtin/modules/number-theory/sequences/happy.d.ts +0 -2
  118. package/dist/cli/src/builtin/modules/number-theory/sequences/index.d.ts +0 -27
  119. package/dist/cli/src/builtin/modules/number-theory/sequences/juggler.d.ts +0 -2
  120. package/dist/cli/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +0 -2
  121. package/dist/cli/src/builtin/modules/number-theory/sequences/lucas.d.ts +0 -1
  122. package/dist/cli/src/builtin/modules/number-theory/sequences/lucky.d.ts +0 -2
  123. package/dist/cli/src/builtin/modules/number-theory/sequences/mersenne.d.ts +0 -1
  124. package/dist/cli/src/builtin/modules/number-theory/sequences/padovan.d.ts +0 -2
  125. package/dist/cli/src/builtin/modules/number-theory/sequences/partition.d.ts +0 -1
  126. package/dist/cli/src/builtin/modules/number-theory/sequences/pell.d.ts +0 -1
  127. package/dist/cli/src/builtin/modules/number-theory/sequences/perfect.d.ts +0 -1
  128. package/dist/cli/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +0 -2
  129. package/dist/cli/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +0 -10
  130. package/dist/cli/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +0 -2
  131. package/dist/cli/src/builtin/modules/number-theory/sequences/poligonal.d.ts +0 -2
  132. package/dist/cli/src/builtin/modules/number-theory/sequences/prime.d.ts +0 -3
  133. package/dist/cli/src/builtin/modules/number-theory/sequences/recaman.d.ts +0 -9
  134. package/dist/cli/src/builtin/modules/number-theory/sequences/sylvester.d.ts +0 -1
  135. package/dist/cli/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +0 -2
  136. package/dist/cli/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +0 -1
  137. package/dist/cli/src/builtin/modules/sequence/index.d.ts +0 -2
  138. package/dist/cli/src/builtin/modules/string/index.d.ts +0 -2
  139. package/dist/cli/src/builtin/modules/vector/bincount.d.ts +0 -9
  140. package/dist/cli/src/builtin/modules/vector/calcMad.d.ts +0 -1
  141. package/dist/cli/src/builtin/modules/vector/calcMean.d.ts +0 -1
  142. package/dist/cli/src/builtin/modules/vector/calcMedad.d.ts +0 -1
  143. package/dist/cli/src/builtin/modules/vector/calcMedian.d.ts +0 -1
  144. package/dist/cli/src/builtin/modules/vector/calcStdDev.d.ts +0 -2
  145. package/dist/cli/src/builtin/modules/vector/calcVariance.d.ts +0 -2
  146. package/dist/cli/src/builtin/modules/vector/docs.d.ts +0 -2
  147. package/dist/cli/src/builtin/modules/vector/entropy.d.ts +0 -8
  148. package/dist/cli/src/builtin/modules/vector/histogram.d.ts +0 -9
  149. package/dist/cli/src/builtin/modules/vector/index.d.ts +0 -2
  150. package/dist/cli/src/builtin/modules/vector/mode.d.ts +0 -6
  151. package/dist/cli/src/builtin/modules/vector/outliers.d.ts +0 -7
  152. package/dist/cli/src/builtin/modules/vector/percentile.d.ts +0 -7
  153. package/dist/cli/src/builtin/modules/vector/quartiles.d.ts +0 -1
  154. package/dist/cli/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +0 -2
  155. package/dist/cli/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +0 -2
  156. package/dist/cli/src/builtin/modules/vector/reductionFunctions/index.d.ts +0 -13
  157. package/dist/cli/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +0 -2
  158. package/dist/cli/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +0 -5
  159. package/dist/cli/src/builtin/modules/vector/reductionFunctions/mad.d.ts +0 -2
  160. package/dist/cli/src/builtin/modules/vector/reductionFunctions/mean.d.ts +0 -4
  161. package/dist/cli/src/builtin/modules/vector/reductionFunctions/medad.d.ts +0 -2
  162. package/dist/cli/src/builtin/modules/vector/reductionFunctions/median.d.ts +0 -2
  163. package/dist/cli/src/builtin/modules/vector/reductionFunctions/prod.d.ts +0 -2
  164. package/dist/cli/src/builtin/modules/vector/reductionFunctions/rms.d.ts +0 -2
  165. package/dist/cli/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +0 -3
  166. package/dist/cli/src/builtin/modules/vector/reductionFunctions/span.d.ts +0 -2
  167. package/dist/cli/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +0 -3
  168. package/dist/cli/src/builtin/modules/vector/reductionFunctions/sum.d.ts +0 -2
  169. package/dist/cli/src/builtin/modules/vector/reductionFunctions/variance.d.ts +0 -3
  170. package/dist/cli/src/builtin/normalExpressions/index.d.ts +0 -9
  171. package/dist/cli/src/builtin/normalExpressions/initCoreDvala.d.ts +0 -1
  172. package/dist/cli/src/builtin/specialExpressionTypes.d.ts +0 -24
  173. package/dist/cli/src/builtin/specialExpressions/and.d.ts +0 -6
  174. package/dist/cli/src/builtin/specialExpressions/array.d.ts +0 -6
  175. package/dist/cli/src/builtin/specialExpressions/block.d.ts +0 -7
  176. package/dist/cli/src/builtin/specialExpressions/cond.d.ts +0 -6
  177. package/dist/cli/src/builtin/specialExpressions/defined.d.ts +0 -5
  178. package/dist/cli/src/builtin/specialExpressions/effect.d.ts +0 -5
  179. package/dist/cli/src/builtin/specialExpressions/functions.d.ts +0 -6
  180. package/dist/cli/src/builtin/specialExpressions/if.d.ts +0 -6
  181. package/dist/cli/src/builtin/specialExpressions/import.d.ts +0 -6
  182. package/dist/cli/src/builtin/specialExpressions/let.d.ts +0 -6
  183. package/dist/cli/src/builtin/specialExpressions/loop.d.ts +0 -6
  184. package/dist/cli/src/builtin/specialExpressions/loops.d.ts +0 -9
  185. package/dist/cli/src/builtin/specialExpressions/match.d.ts +0 -7
  186. package/dist/cli/src/builtin/specialExpressions/object.d.ts +0 -6
  187. package/dist/cli/src/builtin/specialExpressions/or.d.ts +0 -6
  188. package/dist/cli/src/builtin/specialExpressions/parallel.d.ts +0 -6
  189. package/dist/cli/src/builtin/specialExpressions/perform.d.ts +0 -6
  190. package/dist/cli/src/builtin/specialExpressions/qq.d.ts +0 -6
  191. package/dist/cli/src/builtin/specialExpressions/race.d.ts +0 -6
  192. package/dist/cli/src/builtin/specialExpressions/recur.d.ts +0 -5
  193. package/dist/cli/src/builtin/specialExpressions/unless.d.ts +0 -6
  194. package/dist/cli/src/builtin/utils.d.ts +0 -6
  195. package/dist/cli/src/bundler/index.d.ts +0 -9
  196. package/dist/cli/src/bundler/interface.d.ts +0 -15
  197. package/dist/cli/src/bundler.d.ts +0 -3
  198. package/dist/cli/src/cli.d.ts +0 -2
  199. package/dist/cli/src/cliDocumentation/formatCliDescription.d.ts +0 -3
  200. package/dist/cli/src/cliDocumentation/getCliArgumentInfo.d.ts +0 -3
  201. package/dist/cli/src/cliDocumentation/getCliDocumentation.d.ts +0 -2
  202. package/dist/cli/src/cliDocumentation/getCliFunctionExamples.d.ts +0 -3
  203. package/dist/cli/src/cliDocumentation/getCliFunctionSignature.d.ts +0 -3
  204. package/dist/cli/src/cliDocumentation/getCliTitle.d.ts +0 -3
  205. package/dist/cli/src/cliDocumentation/getCliType.d.ts +0 -3
  206. package/dist/cli/src/cliFormatterRules.d.ts +0 -13
  207. package/dist/cli/src/colorizer.d.ts +0 -939
  208. package/dist/cli/src/constants/constants.d.ts +0 -19
  209. package/dist/cli/src/createDvala.d.ts +0 -47
  210. package/dist/cli/src/createReadlineInterface.d.ts +0 -5
  211. package/dist/cli/src/errors.d.ts +0 -24
  212. package/dist/cli/src/evaluator/ContextStack.d.ts +0 -70
  213. package/dist/cli/src/evaluator/contentHash.d.ts +0 -21
  214. package/dist/cli/src/evaluator/dedupSubTrees.d.ts +0 -37
  215. package/dist/cli/src/evaluator/effectRef.d.ts +0 -27
  216. package/dist/cli/src/evaluator/effectTypes.d.ts +0 -181
  217. package/dist/cli/src/evaluator/frames.d.ts +0 -513
  218. package/dist/cli/src/evaluator/interface.d.ts +0 -14
  219. package/dist/cli/src/evaluator/standardEffects.d.ts +0 -50
  220. package/dist/cli/src/evaluator/step.d.ts +0 -175
  221. package/dist/cli/src/evaluator/suspension.d.ts +0 -86
  222. package/dist/cli/src/evaluator/trampoline.d.ts +0 -133
  223. package/dist/cli/src/getUndefinedSymbols/index.d.ts +0 -7
  224. package/dist/cli/src/initReferenceData.d.ts +0 -1
  225. package/dist/cli/src/interface.d.ts +0 -7
  226. package/dist/cli/src/js-interop/Cli/Fs/index.d.ts +0 -2
  227. package/dist/cli/src/js-interop/Cli/Proc/index.d.ts +0 -3
  228. package/dist/cli/src/js-interop/Cli/index.d.ts +0 -2
  229. package/dist/cli/src/parser/ParserContext.d.ts +0 -20
  230. package/dist/cli/src/parser/getPrecedence.d.ts +0 -3
  231. package/dist/cli/src/parser/helpers.d.ts +0 -19
  232. package/dist/cli/src/parser/index.d.ts +0 -5
  233. package/dist/cli/src/parser/subParsers/parseArray.d.ts +0 -3
  234. package/dist/cli/src/parser/subParsers/parseBindingTarget.d.ts +0 -8
  235. package/dist/cli/src/parser/subParsers/parseCond.d.ts +0 -4
  236. package/dist/cli/src/parser/subParsers/parseDo.d.ts +0 -3
  237. package/dist/cli/src/parser/subParsers/parseExpression.d.ts +0 -5
  238. package/dist/cli/src/parser/subParsers/parseForOrDoseq.d.ts +0 -4
  239. package/dist/cli/src/parser/subParsers/parseFunction.d.ts +0 -4
  240. package/dist/cli/src/parser/subParsers/parseFunctionCall.d.ts +0 -3
  241. package/dist/cli/src/parser/subParsers/parseIfOrUnless.d.ts +0 -5
  242. package/dist/cli/src/parser/subParsers/parseImplicitBlock.d.ts +0 -5
  243. package/dist/cli/src/parser/subParsers/parseLet.d.ts +0 -4
  244. package/dist/cli/src/parser/subParsers/parseLoop.d.ts +0 -4
  245. package/dist/cli/src/parser/subParsers/parseMatch.d.ts +0 -4
  246. package/dist/cli/src/parser/subParsers/parseNumber.d.ts +0 -3
  247. package/dist/cli/src/parser/subParsers/parseObject.d.ts +0 -3
  248. package/dist/cli/src/parser/subParsers/parseOperand.d.ts +0 -3
  249. package/dist/cli/src/parser/subParsers/parseRegexpShorthand.d.ts +0 -3
  250. package/dist/cli/src/parser/subParsers/parseReservedSymbol.d.ts +0 -3
  251. package/dist/cli/src/parser/subParsers/parseString.d.ts +0 -4
  252. package/dist/cli/src/parser/subParsers/parseSymbol.d.ts +0 -3
  253. package/dist/cli/src/parser/types.d.ts +0 -128
  254. package/dist/cli/src/symbolPatterns.d.ts +0 -2
  255. package/dist/cli/src/testFramework/index.d.ts +0 -15
  256. package/dist/cli/src/tokenizer/minifyTokenStream.d.ts +0 -4
  257. package/dist/cli/src/tokenizer/operators.d.ts +0 -12
  258. package/dist/cli/src/tokenizer/reservedNames.d.ts +0 -65
  259. package/dist/cli/src/tokenizer/token.d.ts +0 -82
  260. package/dist/cli/src/tokenizer/tokenize.d.ts +0 -7
  261. package/dist/cli/src/tokenizer/tokenizers.d.ts +0 -13
  262. package/dist/cli/src/tooling.d.ts +0 -51
  263. package/dist/cli/src/transformer/index.d.ts +0 -2
  264. package/dist/cli/src/typeGuards/annotatedCollections.d.ts +0 -16
  265. package/dist/cli/src/typeGuards/array.d.ts +0 -9
  266. package/dist/cli/src/typeGuards/astNode.d.ts +0 -19
  267. package/dist/cli/src/typeGuards/dvala.d.ts +0 -26
  268. package/dist/cli/src/typeGuards/dvalaFunction.d.ts +0 -9
  269. package/dist/cli/src/typeGuards/index.d.ts +0 -7
  270. package/dist/cli/src/typeGuards/number.d.ts +0 -66
  271. package/dist/cli/src/typeGuards/string.d.ts +0 -15
  272. package/dist/cli/src/untokenizer/index.d.ts +0 -2
  273. package/dist/cli/src/utils/arity.d.ts +0 -10
  274. package/dist/cli/src/utils/debug/debugTools.d.ts +0 -1
  275. package/dist/cli/src/utils/debug/getCodeMarker.d.ts +0 -2
  276. package/dist/cli/src/utils/debug/getSourceCodeInfo.d.ts +0 -2
  277. package/dist/cli/src/utils/docString/generateDocString.d.ts +0 -4
  278. package/dist/cli/src/utils/getAssertionError.d.ts +0 -3
  279. package/dist/cli/src/utils/index.d.ts +0 -14
  280. package/dist/cli/src/utils/maybePromise.d.ts +0 -54
  281. package/dist/cli/src/utils/symbols.d.ts +0 -3
  282. package/dist/common/createFormatter.d.ts +0 -6
  283. package/dist/common/utils.d.ts +0 -2
  284. package/dist/debug.esm.js +0 -2
  285. package/dist/debug.esm.js.map +0 -1
  286. package/dist/debug.js +0 -2
  287. package/dist/debug.js.map +0 -1
  288. package/dist/dvala.iife.js +0 -2
  289. package/dist/dvala.iife.js.map +0 -1
  290. package/dist/full.esm.js +0 -2
  291. package/dist/full.esm.js.map +0 -1
  292. package/dist/full.js +0 -2
  293. package/dist/full.js.map +0 -1
  294. package/dist/index.esm.js +0 -2
  295. package/dist/index.esm.js.map +0 -1
  296. package/dist/index.js +0 -2
  297. package/dist/index.js.map +0 -1
  298. package/dist/mcp-server/common/utils.d.ts +0 -2
  299. package/dist/mcp-server/mcp-server/src/server.d.ts +0 -1
  300. package/dist/mcp-server/reference/api.d.ts +0 -73
  301. package/dist/mcp-server/reference/datatype.d.ts +0 -3
  302. package/dist/mcp-server/reference/examples.d.ts +0 -11
  303. package/dist/mcp-server/reference/index.d.ts +0 -195
  304. package/dist/mcp-server/reference/shorthand.d.ts +0 -3
  305. package/dist/mcp-server/server.js +0 -36330
  306. package/dist/mcp-server/src/AutoCompleter/AutoCompleter.d.ts +0 -27
  307. package/dist/mcp-server/src/Cache.d.ts +0 -16
  308. package/dist/mcp-server/src/allModules.d.ts +0 -2
  309. package/dist/mcp-server/src/builtin/bindingNode.d.ts +0 -11
  310. package/dist/mcp-server/src/builtin/core/array.d.ts +0 -2
  311. package/dist/mcp-server/src/builtin/core/assertion.d.ts +0 -2
  312. package/dist/mcp-server/src/builtin/core/bitwise.d.ts +0 -2
  313. package/dist/mcp-server/src/builtin/core/collection.d.ts +0 -2
  314. package/dist/mcp-server/src/builtin/core/functional.d.ts +0 -2
  315. package/dist/mcp-server/src/builtin/core/math.d.ts +0 -2
  316. package/dist/mcp-server/src/builtin/core/meta.d.ts +0 -3
  317. package/dist/mcp-server/src/builtin/core/misc.d.ts +0 -2
  318. package/dist/mcp-server/src/builtin/core/object.d.ts +0 -2
  319. package/dist/mcp-server/src/builtin/core/predicates.d.ts +0 -2
  320. package/dist/mcp-server/src/builtin/core/regexp.d.ts +0 -2
  321. package/dist/mcp-server/src/builtin/core/sequence.d.ts +0 -2
  322. package/dist/mcp-server/src/builtin/core/string.d.ts +0 -2
  323. package/dist/mcp-server/src/builtin/core/vector.d.ts +0 -2
  324. package/dist/mcp-server/src/builtin/index.d.ts +0 -13
  325. package/dist/mcp-server/src/builtin/interface.d.ts +0 -113
  326. package/dist/mcp-server/src/builtin/modules/assertion/docs.d.ts +0 -2
  327. package/dist/mcp-server/src/builtin/modules/assertion/index.d.ts +0 -2
  328. package/dist/mcp-server/src/builtin/modules/bitwise/index.d.ts +0 -2
  329. package/dist/mcp-server/src/builtin/modules/collection/index.d.ts +0 -2
  330. package/dist/mcp-server/src/builtin/modules/convert/index.d.ts +0 -2
  331. package/dist/mcp-server/src/builtin/modules/functional/index.d.ts +0 -2
  332. package/dist/mcp-server/src/builtin/modules/grid/docs.d.ts +0 -2
  333. package/dist/mcp-server/src/builtin/modules/grid/fromArray.d.ts +0 -8
  334. package/dist/mcp-server/src/builtin/modules/grid/index.d.ts +0 -2
  335. package/dist/mcp-server/src/builtin/modules/grid/transpose.d.ts +0 -2
  336. package/dist/mcp-server/src/builtin/modules/interface.d.ts +0 -28
  337. package/dist/mcp-server/src/builtin/modules/linear-algebra/docs.d.ts +0 -2
  338. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +0 -1
  339. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +0 -2
  340. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +0 -8
  341. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +0 -4
  342. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/dot.d.ts +0 -1
  343. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +0 -7
  344. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +0 -2
  345. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +0 -1
  346. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +0 -10
  347. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/length.d.ts +0 -1
  348. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +0 -1
  349. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/scale.d.ts +0 -1
  350. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/solve.d.ts +0 -8
  351. package/dist/mcp-server/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +0 -1
  352. package/dist/mcp-server/src/builtin/modules/linear-algebra/index.d.ts +0 -4
  353. package/dist/mcp-server/src/builtin/modules/math/index.d.ts +0 -2
  354. package/dist/mcp-server/src/builtin/modules/matrix/docs.d.ts +0 -2
  355. package/dist/mcp-server/src/builtin/modules/matrix/helpers/adjugate.d.ts +0 -1
  356. package/dist/mcp-server/src/builtin/modules/matrix/helpers/band.d.ts +0 -9
  357. package/dist/mcp-server/src/builtin/modules/matrix/helpers/cofactor.d.ts +0 -1
  358. package/dist/mcp-server/src/builtin/modules/matrix/helpers/determinant.d.ts +0 -6
  359. package/dist/mcp-server/src/builtin/modules/matrix/helpers/inverse.d.ts +0 -6
  360. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isBanded.d.ts +0 -11
  361. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +0 -10
  362. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isIdentity.d.ts +0 -1
  363. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +0 -1
  364. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isSquare.d.ts +0 -1
  365. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isSymetric.d.ts +0 -8
  366. package/dist/mcp-server/src/builtin/modules/matrix/helpers/isTriangular.d.ts +0 -13
  367. package/dist/mcp-server/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +0 -7
  368. package/dist/mcp-server/src/builtin/modules/matrix/helpers/minor.d.ts +0 -1
  369. package/dist/mcp-server/src/builtin/modules/matrix/helpers/norm1.d.ts +0 -1
  370. package/dist/mcp-server/src/builtin/modules/matrix/helpers/trace.d.ts +0 -8
  371. package/dist/mcp-server/src/builtin/modules/matrix/index.d.ts +0 -4
  372. package/dist/mcp-server/src/builtin/modules/number-theory/binomialCefficient.d.ts +0 -1
  373. package/dist/mcp-server/src/builtin/modules/number-theory/combinations.d.ts +0 -2
  374. package/dist/mcp-server/src/builtin/modules/number-theory/derangements.d.ts +0 -2
  375. package/dist/mcp-server/src/builtin/modules/number-theory/divisors.d.ts +0 -4
  376. package/dist/mcp-server/src/builtin/modules/number-theory/docs.d.ts +0 -2
  377. package/dist/mcp-server/src/builtin/modules/number-theory/factorial.d.ts +0 -3
  378. package/dist/mcp-server/src/builtin/modules/number-theory/index.d.ts +0 -4
  379. package/dist/mcp-server/src/builtin/modules/number-theory/partitions.d.ts +0 -2
  380. package/dist/mcp-server/src/builtin/modules/number-theory/permutations.d.ts +0 -2
  381. package/dist/mcp-server/src/builtin/modules/number-theory/powerSet.d.ts +0 -2
  382. package/dist/mcp-server/src/builtin/modules/number-theory/primeFactors.d.ts +0 -11
  383. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/abundant.d.ts +0 -2
  384. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +0 -2
  385. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/bell.d.ts +0 -1
  386. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +0 -2
  387. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/catalan.d.ts +0 -1
  388. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/collatz.d.ts +0 -2
  389. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/composite.d.ts +0 -3
  390. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/deficient.d.ts +0 -2
  391. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/factorial.d.ts +0 -1
  392. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +0 -1
  393. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/geometric.d.ts +0 -2
  394. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/golomb.d.ts +0 -2
  395. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/happy.d.ts +0 -2
  396. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/index.d.ts +0 -27
  397. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/juggler.d.ts +0 -2
  398. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +0 -2
  399. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/lucas.d.ts +0 -1
  400. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/lucky.d.ts +0 -2
  401. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/mersenne.d.ts +0 -1
  402. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/padovan.d.ts +0 -2
  403. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/partition.d.ts +0 -1
  404. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/pell.d.ts +0 -1
  405. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfect.d.ts +0 -1
  406. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +0 -2
  407. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +0 -10
  408. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +0 -2
  409. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/poligonal.d.ts +0 -2
  410. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/prime.d.ts +0 -3
  411. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/recaman.d.ts +0 -9
  412. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/sylvester.d.ts +0 -1
  413. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +0 -2
  414. package/dist/mcp-server/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +0 -1
  415. package/dist/mcp-server/src/builtin/modules/sequence/index.d.ts +0 -2
  416. package/dist/mcp-server/src/builtin/modules/string/index.d.ts +0 -2
  417. package/dist/mcp-server/src/builtin/modules/vector/bincount.d.ts +0 -9
  418. package/dist/mcp-server/src/builtin/modules/vector/calcMad.d.ts +0 -1
  419. package/dist/mcp-server/src/builtin/modules/vector/calcMean.d.ts +0 -1
  420. package/dist/mcp-server/src/builtin/modules/vector/calcMedad.d.ts +0 -1
  421. package/dist/mcp-server/src/builtin/modules/vector/calcMedian.d.ts +0 -1
  422. package/dist/mcp-server/src/builtin/modules/vector/calcStdDev.d.ts +0 -2
  423. package/dist/mcp-server/src/builtin/modules/vector/calcVariance.d.ts +0 -2
  424. package/dist/mcp-server/src/builtin/modules/vector/docs.d.ts +0 -2
  425. package/dist/mcp-server/src/builtin/modules/vector/entropy.d.ts +0 -8
  426. package/dist/mcp-server/src/builtin/modules/vector/histogram.d.ts +0 -9
  427. package/dist/mcp-server/src/builtin/modules/vector/index.d.ts +0 -2
  428. package/dist/mcp-server/src/builtin/modules/vector/mode.d.ts +0 -6
  429. package/dist/mcp-server/src/builtin/modules/vector/outliers.d.ts +0 -7
  430. package/dist/mcp-server/src/builtin/modules/vector/percentile.d.ts +0 -7
  431. package/dist/mcp-server/src/builtin/modules/vector/quartiles.d.ts +0 -1
  432. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +0 -2
  433. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +0 -2
  434. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/index.d.ts +0 -13
  435. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +0 -2
  436. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +0 -5
  437. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/mad.d.ts +0 -2
  438. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/mean.d.ts +0 -4
  439. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/medad.d.ts +0 -2
  440. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/median.d.ts +0 -2
  441. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/prod.d.ts +0 -2
  442. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/rms.d.ts +0 -2
  443. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +0 -3
  444. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/span.d.ts +0 -2
  445. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +0 -3
  446. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/sum.d.ts +0 -2
  447. package/dist/mcp-server/src/builtin/modules/vector/reductionFunctions/variance.d.ts +0 -3
  448. package/dist/mcp-server/src/builtin/normalExpressions/index.d.ts +0 -9
  449. package/dist/mcp-server/src/builtin/normalExpressions/initCoreDvala.d.ts +0 -1
  450. package/dist/mcp-server/src/builtin/specialExpressionTypes.d.ts +0 -24
  451. package/dist/mcp-server/src/builtin/specialExpressions/and.d.ts +0 -6
  452. package/dist/mcp-server/src/builtin/specialExpressions/array.d.ts +0 -6
  453. package/dist/mcp-server/src/builtin/specialExpressions/block.d.ts +0 -7
  454. package/dist/mcp-server/src/builtin/specialExpressions/cond.d.ts +0 -6
  455. package/dist/mcp-server/src/builtin/specialExpressions/defined.d.ts +0 -5
  456. package/dist/mcp-server/src/builtin/specialExpressions/effect.d.ts +0 -5
  457. package/dist/mcp-server/src/builtin/specialExpressions/functions.d.ts +0 -6
  458. package/dist/mcp-server/src/builtin/specialExpressions/if.d.ts +0 -6
  459. package/dist/mcp-server/src/builtin/specialExpressions/import.d.ts +0 -6
  460. package/dist/mcp-server/src/builtin/specialExpressions/let.d.ts +0 -6
  461. package/dist/mcp-server/src/builtin/specialExpressions/loop.d.ts +0 -6
  462. package/dist/mcp-server/src/builtin/specialExpressions/loops.d.ts +0 -9
  463. package/dist/mcp-server/src/builtin/specialExpressions/match.d.ts +0 -7
  464. package/dist/mcp-server/src/builtin/specialExpressions/object.d.ts +0 -6
  465. package/dist/mcp-server/src/builtin/specialExpressions/or.d.ts +0 -6
  466. package/dist/mcp-server/src/builtin/specialExpressions/parallel.d.ts +0 -6
  467. package/dist/mcp-server/src/builtin/specialExpressions/perform.d.ts +0 -6
  468. package/dist/mcp-server/src/builtin/specialExpressions/qq.d.ts +0 -6
  469. package/dist/mcp-server/src/builtin/specialExpressions/race.d.ts +0 -6
  470. package/dist/mcp-server/src/builtin/specialExpressions/recur.d.ts +0 -5
  471. package/dist/mcp-server/src/builtin/specialExpressions/unless.d.ts +0 -6
  472. package/dist/mcp-server/src/builtin/utils.d.ts +0 -6
  473. package/dist/mcp-server/src/bundler/interface.d.ts +0 -15
  474. package/dist/mcp-server/src/constants/constants.d.ts +0 -19
  475. package/dist/mcp-server/src/createDvala.d.ts +0 -47
  476. package/dist/mcp-server/src/errors.d.ts +0 -24
  477. package/dist/mcp-server/src/evaluator/ContextStack.d.ts +0 -70
  478. package/dist/mcp-server/src/evaluator/contentHash.d.ts +0 -21
  479. package/dist/mcp-server/src/evaluator/dedupSubTrees.d.ts +0 -37
  480. package/dist/mcp-server/src/evaluator/effectRef.d.ts +0 -27
  481. package/dist/mcp-server/src/evaluator/effectTypes.d.ts +0 -181
  482. package/dist/mcp-server/src/evaluator/frames.d.ts +0 -513
  483. package/dist/mcp-server/src/evaluator/interface.d.ts +0 -14
  484. package/dist/mcp-server/src/evaluator/standardEffects.d.ts +0 -50
  485. package/dist/mcp-server/src/evaluator/step.d.ts +0 -175
  486. package/dist/mcp-server/src/evaluator/suspension.d.ts +0 -86
  487. package/dist/mcp-server/src/evaluator/trampoline.d.ts +0 -133
  488. package/dist/mcp-server/src/getUndefinedSymbols/index.d.ts +0 -7
  489. package/dist/mcp-server/src/initReferenceData.d.ts +0 -1
  490. package/dist/mcp-server/src/interface.d.ts +0 -7
  491. package/dist/mcp-server/src/parser/ParserContext.d.ts +0 -20
  492. package/dist/mcp-server/src/parser/getPrecedence.d.ts +0 -3
  493. package/dist/mcp-server/src/parser/helpers.d.ts +0 -19
  494. package/dist/mcp-server/src/parser/index.d.ts +0 -5
  495. package/dist/mcp-server/src/parser/subParsers/parseArray.d.ts +0 -3
  496. package/dist/mcp-server/src/parser/subParsers/parseBindingTarget.d.ts +0 -8
  497. package/dist/mcp-server/src/parser/subParsers/parseCond.d.ts +0 -4
  498. package/dist/mcp-server/src/parser/subParsers/parseDo.d.ts +0 -3
  499. package/dist/mcp-server/src/parser/subParsers/parseExpression.d.ts +0 -5
  500. package/dist/mcp-server/src/parser/subParsers/parseForOrDoseq.d.ts +0 -4
  501. package/dist/mcp-server/src/parser/subParsers/parseFunction.d.ts +0 -4
  502. package/dist/mcp-server/src/parser/subParsers/parseFunctionCall.d.ts +0 -3
  503. package/dist/mcp-server/src/parser/subParsers/parseIfOrUnless.d.ts +0 -5
  504. package/dist/mcp-server/src/parser/subParsers/parseImplicitBlock.d.ts +0 -5
  505. package/dist/mcp-server/src/parser/subParsers/parseLet.d.ts +0 -4
  506. package/dist/mcp-server/src/parser/subParsers/parseLoop.d.ts +0 -4
  507. package/dist/mcp-server/src/parser/subParsers/parseMatch.d.ts +0 -4
  508. package/dist/mcp-server/src/parser/subParsers/parseNumber.d.ts +0 -3
  509. package/dist/mcp-server/src/parser/subParsers/parseObject.d.ts +0 -3
  510. package/dist/mcp-server/src/parser/subParsers/parseOperand.d.ts +0 -3
  511. package/dist/mcp-server/src/parser/subParsers/parseRegexpShorthand.d.ts +0 -3
  512. package/dist/mcp-server/src/parser/subParsers/parseReservedSymbol.d.ts +0 -3
  513. package/dist/mcp-server/src/parser/subParsers/parseString.d.ts +0 -4
  514. package/dist/mcp-server/src/parser/subParsers/parseSymbol.d.ts +0 -3
  515. package/dist/mcp-server/src/parser/types.d.ts +0 -128
  516. package/dist/mcp-server/src/tokenizer/minifyTokenStream.d.ts +0 -4
  517. package/dist/mcp-server/src/tokenizer/operators.d.ts +0 -12
  518. package/dist/mcp-server/src/tokenizer/reservedNames.d.ts +0 -65
  519. package/dist/mcp-server/src/tokenizer/token.d.ts +0 -82
  520. package/dist/mcp-server/src/tokenizer/tokenize.d.ts +0 -7
  521. package/dist/mcp-server/src/tokenizer/tokenizers.d.ts +0 -13
  522. package/dist/mcp-server/src/tooling.d.ts +0 -51
  523. package/dist/mcp-server/src/transformer/index.d.ts +0 -2
  524. package/dist/mcp-server/src/typeGuards/annotatedCollections.d.ts +0 -16
  525. package/dist/mcp-server/src/typeGuards/array.d.ts +0 -9
  526. package/dist/mcp-server/src/typeGuards/astNode.d.ts +0 -19
  527. package/dist/mcp-server/src/typeGuards/dvala.d.ts +0 -26
  528. package/dist/mcp-server/src/typeGuards/dvalaFunction.d.ts +0 -9
  529. package/dist/mcp-server/src/typeGuards/index.d.ts +0 -7
  530. package/dist/mcp-server/src/typeGuards/number.d.ts +0 -66
  531. package/dist/mcp-server/src/typeGuards/string.d.ts +0 -15
  532. package/dist/mcp-server/src/untokenizer/index.d.ts +0 -2
  533. package/dist/mcp-server/src/utils/arity.d.ts +0 -10
  534. package/dist/mcp-server/src/utils/debug/debugTools.d.ts +0 -1
  535. package/dist/mcp-server/src/utils/debug/getCodeMarker.d.ts +0 -2
  536. package/dist/mcp-server/src/utils/debug/getSourceCodeInfo.d.ts +0 -2
  537. package/dist/mcp-server/src/utils/docString/generateDocString.d.ts +0 -4
  538. package/dist/mcp-server/src/utils/getAssertionError.d.ts +0 -3
  539. package/dist/mcp-server/src/utils/index.d.ts +0 -14
  540. package/dist/mcp-server/src/utils/maybePromise.d.ts +0 -54
  541. package/dist/mcp-server/src/utils/symbols.d.ts +0 -3
  542. package/dist/modules/assertion.esm.js +0 -2
  543. package/dist/modules/assertion.esm.js.map +0 -1
  544. package/dist/modules/assertion.js +0 -2
  545. package/dist/modules/assertion.js.map +0 -1
  546. package/dist/modules/bitwise.esm.js +0 -2
  547. package/dist/modules/bitwise.esm.js.map +0 -1
  548. package/dist/modules/bitwise.js +0 -2
  549. package/dist/modules/bitwise.js.map +0 -1
  550. package/dist/modules/cli/src/cli.d.ts +0 -2
  551. package/dist/modules/cli/src/cliDocumentation/formatCliDescription.d.ts +0 -3
  552. package/dist/modules/cli/src/cliDocumentation/getCliArgumentInfo.d.ts +0 -3
  553. package/dist/modules/cli/src/cliDocumentation/getCliDocumentation.d.ts +0 -2
  554. package/dist/modules/cli/src/cliDocumentation/getCliFunctionExamples.d.ts +0 -3
  555. package/dist/modules/cli/src/cliDocumentation/getCliFunctionSignature.d.ts +0 -3
  556. package/dist/modules/cli/src/cliDocumentation/getCliTitle.d.ts +0 -3
  557. package/dist/modules/cli/src/cliDocumentation/getCliType.d.ts +0 -3
  558. package/dist/modules/cli/src/cliFormatterRules.d.ts +0 -13
  559. package/dist/modules/cli/src/colorizer.d.ts +0 -939
  560. package/dist/modules/cli/src/createReadlineInterface.d.ts +0 -5
  561. package/dist/modules/cli/src/js-interop/Cli/Fs/index.d.ts +0 -2
  562. package/dist/modules/cli/src/js-interop/Cli/Proc/index.d.ts +0 -3
  563. package/dist/modules/cli/src/js-interop/Cli/index.d.ts +0 -2
  564. package/dist/modules/collection.esm.js +0 -2
  565. package/dist/modules/collection.esm.js.map +0 -1
  566. package/dist/modules/collection.js +0 -2
  567. package/dist/modules/collection.js.map +0 -1
  568. package/dist/modules/common/createFormatter.d.ts +0 -6
  569. package/dist/modules/common/utils.d.ts +0 -2
  570. package/dist/modules/convert.esm.js +0 -2
  571. package/dist/modules/convert.esm.js.map +0 -1
  572. package/dist/modules/convert.js +0 -2
  573. package/dist/modules/convert.js.map +0 -1
  574. package/dist/modules/functional.esm.js +0 -2
  575. package/dist/modules/functional.esm.js.map +0 -1
  576. package/dist/modules/functional.js +0 -2
  577. package/dist/modules/functional.js.map +0 -1
  578. package/dist/modules/grid.esm.js +0 -2
  579. package/dist/modules/grid.esm.js.map +0 -1
  580. package/dist/modules/grid.js +0 -2
  581. package/dist/modules/grid.js.map +0 -1
  582. package/dist/modules/linear-algebra.esm.js +0 -2
  583. package/dist/modules/linear-algebra.esm.js.map +0 -1
  584. package/dist/modules/linear-algebra.js +0 -2
  585. package/dist/modules/linear-algebra.js.map +0 -1
  586. package/dist/modules/math.esm.js +0 -2
  587. package/dist/modules/math.esm.js.map +0 -1
  588. package/dist/modules/math.js +0 -2
  589. package/dist/modules/math.js.map +0 -1
  590. package/dist/modules/matrix.esm.js +0 -2
  591. package/dist/modules/matrix.esm.js.map +0 -1
  592. package/dist/modules/matrix.js +0 -2
  593. package/dist/modules/matrix.js.map +0 -1
  594. package/dist/modules/number-theory.esm.js +0 -2
  595. package/dist/modules/number-theory.esm.js.map +0 -1
  596. package/dist/modules/number-theory.js +0 -2
  597. package/dist/modules/number-theory.js.map +0 -1
  598. package/dist/modules/reference/api.d.ts +0 -73
  599. package/dist/modules/reference/datatype.d.ts +0 -3
  600. package/dist/modules/reference/index.d.ts +0 -195
  601. package/dist/modules/reference/shorthand.d.ts +0 -3
  602. package/dist/modules/sequence.esm.js +0 -2
  603. package/dist/modules/sequence.esm.js.map +0 -1
  604. package/dist/modules/sequence.js +0 -2
  605. package/dist/modules/sequence.js.map +0 -1
  606. package/dist/modules/src/AutoCompleter/AutoCompleter.d.ts +0 -27
  607. package/dist/modules/src/Cache.d.ts +0 -16
  608. package/dist/modules/src/allModules.d.ts +0 -2
  609. package/dist/modules/src/builtin/bindingNode.d.ts +0 -11
  610. package/dist/modules/src/builtin/core/array.d.ts +0 -2
  611. package/dist/modules/src/builtin/core/assertion.d.ts +0 -2
  612. package/dist/modules/src/builtin/core/bitwise.d.ts +0 -2
  613. package/dist/modules/src/builtin/core/collection.d.ts +0 -2
  614. package/dist/modules/src/builtin/core/functional.d.ts +0 -2
  615. package/dist/modules/src/builtin/core/math.d.ts +0 -2
  616. package/dist/modules/src/builtin/core/meta.d.ts +0 -3
  617. package/dist/modules/src/builtin/core/misc.d.ts +0 -2
  618. package/dist/modules/src/builtin/core/object.d.ts +0 -2
  619. package/dist/modules/src/builtin/core/predicates.d.ts +0 -2
  620. package/dist/modules/src/builtin/core/regexp.d.ts +0 -2
  621. package/dist/modules/src/builtin/core/sequence.d.ts +0 -2
  622. package/dist/modules/src/builtin/core/string.d.ts +0 -2
  623. package/dist/modules/src/builtin/core/vector.d.ts +0 -2
  624. package/dist/modules/src/builtin/index.d.ts +0 -13
  625. package/dist/modules/src/builtin/interface.d.ts +0 -113
  626. package/dist/modules/src/builtin/modules/assertion/docs.d.ts +0 -2
  627. package/dist/modules/src/builtin/modules/assertion/index.d.ts +0 -2
  628. package/dist/modules/src/builtin/modules/bitwise/index.d.ts +0 -2
  629. package/dist/modules/src/builtin/modules/collection/index.d.ts +0 -2
  630. package/dist/modules/src/builtin/modules/convert/index.d.ts +0 -2
  631. package/dist/modules/src/builtin/modules/functional/index.d.ts +0 -2
  632. package/dist/modules/src/builtin/modules/grid/docs.d.ts +0 -2
  633. package/dist/modules/src/builtin/modules/grid/fromArray.d.ts +0 -8
  634. package/dist/modules/src/builtin/modules/grid/index.d.ts +0 -2
  635. package/dist/modules/src/builtin/modules/grid/transpose.d.ts +0 -2
  636. package/dist/modules/src/builtin/modules/interface.d.ts +0 -28
  637. package/dist/modules/src/builtin/modules/linear-algebra/docs.d.ts +0 -2
  638. package/dist/modules/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +0 -1
  639. package/dist/modules/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +0 -2
  640. package/dist/modules/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +0 -8
  641. package/dist/modules/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +0 -4
  642. package/dist/modules/src/builtin/modules/linear-algebra/helpers/dot.d.ts +0 -1
  643. package/dist/modules/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +0 -7
  644. package/dist/modules/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +0 -2
  645. package/dist/modules/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +0 -1
  646. package/dist/modules/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +0 -10
  647. package/dist/modules/src/builtin/modules/linear-algebra/helpers/length.d.ts +0 -1
  648. package/dist/modules/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +0 -1
  649. package/dist/modules/src/builtin/modules/linear-algebra/helpers/scale.d.ts +0 -1
  650. package/dist/modules/src/builtin/modules/linear-algebra/helpers/solve.d.ts +0 -8
  651. package/dist/modules/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +0 -1
  652. package/dist/modules/src/builtin/modules/linear-algebra/index.d.ts +0 -4
  653. package/dist/modules/src/builtin/modules/math/index.d.ts +0 -2
  654. package/dist/modules/src/builtin/modules/matrix/docs.d.ts +0 -2
  655. package/dist/modules/src/builtin/modules/matrix/helpers/adjugate.d.ts +0 -1
  656. package/dist/modules/src/builtin/modules/matrix/helpers/band.d.ts +0 -9
  657. package/dist/modules/src/builtin/modules/matrix/helpers/cofactor.d.ts +0 -1
  658. package/dist/modules/src/builtin/modules/matrix/helpers/determinant.d.ts +0 -6
  659. package/dist/modules/src/builtin/modules/matrix/helpers/diagonal.d.ts +0 -1
  660. package/dist/modules/src/builtin/modules/matrix/helpers/inverse.d.ts +0 -6
  661. package/dist/modules/src/builtin/modules/matrix/helpers/isBanded.d.ts +0 -11
  662. package/dist/modules/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +0 -10
  663. package/dist/modules/src/builtin/modules/matrix/helpers/isIdentity.d.ts +0 -1
  664. package/dist/modules/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +0 -1
  665. package/dist/modules/src/builtin/modules/matrix/helpers/isSquare.d.ts +0 -1
  666. package/dist/modules/src/builtin/modules/matrix/helpers/isSymetric.d.ts +0 -8
  667. package/dist/modules/src/builtin/modules/matrix/helpers/isTriangular.d.ts +0 -13
  668. package/dist/modules/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +0 -7
  669. package/dist/modules/src/builtin/modules/matrix/helpers/minor.d.ts +0 -1
  670. package/dist/modules/src/builtin/modules/matrix/helpers/norm1.d.ts +0 -1
  671. package/dist/modules/src/builtin/modules/matrix/helpers/trace.d.ts +0 -8
  672. package/dist/modules/src/builtin/modules/matrix/index.d.ts +0 -4
  673. package/dist/modules/src/builtin/modules/number-theory/binomialCefficient.d.ts +0 -1
  674. package/dist/modules/src/builtin/modules/number-theory/combinations.d.ts +0 -2
  675. package/dist/modules/src/builtin/modules/number-theory/derangements.d.ts +0 -2
  676. package/dist/modules/src/builtin/modules/number-theory/divisors.d.ts +0 -4
  677. package/dist/modules/src/builtin/modules/number-theory/docs.d.ts +0 -2
  678. package/dist/modules/src/builtin/modules/number-theory/factorial.d.ts +0 -3
  679. package/dist/modules/src/builtin/modules/number-theory/index.d.ts +0 -4
  680. package/dist/modules/src/builtin/modules/number-theory/partitions.d.ts +0 -2
  681. package/dist/modules/src/builtin/modules/number-theory/permutations.d.ts +0 -2
  682. package/dist/modules/src/builtin/modules/number-theory/powerSet.d.ts +0 -2
  683. package/dist/modules/src/builtin/modules/number-theory/primeFactors.d.ts +0 -11
  684. package/dist/modules/src/builtin/modules/number-theory/sequences/abundant.d.ts +0 -2
  685. package/dist/modules/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +0 -2
  686. package/dist/modules/src/builtin/modules/number-theory/sequences/bell.d.ts +0 -1
  687. package/dist/modules/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +0 -2
  688. package/dist/modules/src/builtin/modules/number-theory/sequences/catalan.d.ts +0 -1
  689. package/dist/modules/src/builtin/modules/number-theory/sequences/collatz.d.ts +0 -2
  690. package/dist/modules/src/builtin/modules/number-theory/sequences/composite.d.ts +0 -3
  691. package/dist/modules/src/builtin/modules/number-theory/sequences/deficient.d.ts +0 -2
  692. package/dist/modules/src/builtin/modules/number-theory/sequences/factorial.d.ts +0 -1
  693. package/dist/modules/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +0 -1
  694. package/dist/modules/src/builtin/modules/number-theory/sequences/geometric.d.ts +0 -2
  695. package/dist/modules/src/builtin/modules/number-theory/sequences/golomb.d.ts +0 -2
  696. package/dist/modules/src/builtin/modules/number-theory/sequences/happy.d.ts +0 -2
  697. package/dist/modules/src/builtin/modules/number-theory/sequences/index.d.ts +0 -27
  698. package/dist/modules/src/builtin/modules/number-theory/sequences/juggler.d.ts +0 -2
  699. package/dist/modules/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +0 -2
  700. package/dist/modules/src/builtin/modules/number-theory/sequences/lucas.d.ts +0 -1
  701. package/dist/modules/src/builtin/modules/number-theory/sequences/lucky.d.ts +0 -2
  702. package/dist/modules/src/builtin/modules/number-theory/sequences/mersenne.d.ts +0 -1
  703. package/dist/modules/src/builtin/modules/number-theory/sequences/padovan.d.ts +0 -2
  704. package/dist/modules/src/builtin/modules/number-theory/sequences/partition.d.ts +0 -1
  705. package/dist/modules/src/builtin/modules/number-theory/sequences/pell.d.ts +0 -1
  706. package/dist/modules/src/builtin/modules/number-theory/sequences/perfect.d.ts +0 -1
  707. package/dist/modules/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +0 -2
  708. package/dist/modules/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +0 -10
  709. package/dist/modules/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +0 -2
  710. package/dist/modules/src/builtin/modules/number-theory/sequences/poligonal.d.ts +0 -2
  711. package/dist/modules/src/builtin/modules/number-theory/sequences/prime.d.ts +0 -3
  712. package/dist/modules/src/builtin/modules/number-theory/sequences/recaman.d.ts +0 -9
  713. package/dist/modules/src/builtin/modules/number-theory/sequences/sylvester.d.ts +0 -1
  714. package/dist/modules/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +0 -2
  715. package/dist/modules/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +0 -1
  716. package/dist/modules/src/builtin/modules/sequence/index.d.ts +0 -2
  717. package/dist/modules/src/builtin/modules/string/index.d.ts +0 -2
  718. package/dist/modules/src/builtin/modules/vector/bincount.d.ts +0 -9
  719. package/dist/modules/src/builtin/modules/vector/calcMad.d.ts +0 -1
  720. package/dist/modules/src/builtin/modules/vector/calcMean.d.ts +0 -1
  721. package/dist/modules/src/builtin/modules/vector/calcMedad.d.ts +0 -1
  722. package/dist/modules/src/builtin/modules/vector/calcMedian.d.ts +0 -1
  723. package/dist/modules/src/builtin/modules/vector/calcStdDev.d.ts +0 -2
  724. package/dist/modules/src/builtin/modules/vector/calcVariance.d.ts +0 -2
  725. package/dist/modules/src/builtin/modules/vector/docs.d.ts +0 -2
  726. package/dist/modules/src/builtin/modules/vector/entropy.d.ts +0 -8
  727. package/dist/modules/src/builtin/modules/vector/histogram.d.ts +0 -9
  728. package/dist/modules/src/builtin/modules/vector/index.d.ts +0 -2
  729. package/dist/modules/src/builtin/modules/vector/mode.d.ts +0 -6
  730. package/dist/modules/src/builtin/modules/vector/outliers.d.ts +0 -7
  731. package/dist/modules/src/builtin/modules/vector/percentile.d.ts +0 -7
  732. package/dist/modules/src/builtin/modules/vector/quartiles.d.ts +0 -1
  733. package/dist/modules/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +0 -2
  734. package/dist/modules/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +0 -2
  735. package/dist/modules/src/builtin/modules/vector/reductionFunctions/index.d.ts +0 -13
  736. package/dist/modules/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +0 -2
  737. package/dist/modules/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +0 -5
  738. package/dist/modules/src/builtin/modules/vector/reductionFunctions/mad.d.ts +0 -2
  739. package/dist/modules/src/builtin/modules/vector/reductionFunctions/mean.d.ts +0 -4
  740. package/dist/modules/src/builtin/modules/vector/reductionFunctions/medad.d.ts +0 -2
  741. package/dist/modules/src/builtin/modules/vector/reductionFunctions/median.d.ts +0 -2
  742. package/dist/modules/src/builtin/modules/vector/reductionFunctions/prod.d.ts +0 -2
  743. package/dist/modules/src/builtin/modules/vector/reductionFunctions/rms.d.ts +0 -2
  744. package/dist/modules/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +0 -3
  745. package/dist/modules/src/builtin/modules/vector/reductionFunctions/span.d.ts +0 -2
  746. package/dist/modules/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +0 -3
  747. package/dist/modules/src/builtin/modules/vector/reductionFunctions/sum.d.ts +0 -2
  748. package/dist/modules/src/builtin/modules/vector/reductionFunctions/variance.d.ts +0 -3
  749. package/dist/modules/src/builtin/normalExpressions/index.d.ts +0 -9
  750. package/dist/modules/src/builtin/normalExpressions/initCoreDvala.d.ts +0 -1
  751. package/dist/modules/src/builtin/specialExpressionTypes.d.ts +0 -24
  752. package/dist/modules/src/builtin/specialExpressions/and.d.ts +0 -6
  753. package/dist/modules/src/builtin/specialExpressions/array.d.ts +0 -6
  754. package/dist/modules/src/builtin/specialExpressions/block.d.ts +0 -7
  755. package/dist/modules/src/builtin/specialExpressions/cond.d.ts +0 -6
  756. package/dist/modules/src/builtin/specialExpressions/defined.d.ts +0 -5
  757. package/dist/modules/src/builtin/specialExpressions/effect.d.ts +0 -5
  758. package/dist/modules/src/builtin/specialExpressions/functions.d.ts +0 -6
  759. package/dist/modules/src/builtin/specialExpressions/if.d.ts +0 -6
  760. package/dist/modules/src/builtin/specialExpressions/import.d.ts +0 -6
  761. package/dist/modules/src/builtin/specialExpressions/let.d.ts +0 -6
  762. package/dist/modules/src/builtin/specialExpressions/loop.d.ts +0 -6
  763. package/dist/modules/src/builtin/specialExpressions/loops.d.ts +0 -9
  764. package/dist/modules/src/builtin/specialExpressions/match.d.ts +0 -7
  765. package/dist/modules/src/builtin/specialExpressions/object.d.ts +0 -6
  766. package/dist/modules/src/builtin/specialExpressions/or.d.ts +0 -6
  767. package/dist/modules/src/builtin/specialExpressions/parallel.d.ts +0 -6
  768. package/dist/modules/src/builtin/specialExpressions/perform.d.ts +0 -6
  769. package/dist/modules/src/builtin/specialExpressions/qq.d.ts +0 -6
  770. package/dist/modules/src/builtin/specialExpressions/race.d.ts +0 -6
  771. package/dist/modules/src/builtin/specialExpressions/recur.d.ts +0 -5
  772. package/dist/modules/src/builtin/specialExpressions/unless.d.ts +0 -6
  773. package/dist/modules/src/builtin/utils.d.ts +0 -6
  774. package/dist/modules/src/bundler/index.d.ts +0 -9
  775. package/dist/modules/src/bundler/interface.d.ts +0 -15
  776. package/dist/modules/src/bundler.d.ts +0 -3
  777. package/dist/modules/src/constants/constants.d.ts +0 -19
  778. package/dist/modules/src/createDvala.d.ts +0 -47
  779. package/dist/modules/src/debug.d.ts +0 -115
  780. package/dist/modules/src/errors.d.ts +0 -24
  781. package/dist/modules/src/evaluator/ContextStack.d.ts +0 -70
  782. package/dist/modules/src/evaluator/contentHash.d.ts +0 -21
  783. package/dist/modules/src/evaluator/dedupSubTrees.d.ts +0 -37
  784. package/dist/modules/src/evaluator/effectRef.d.ts +0 -27
  785. package/dist/modules/src/evaluator/effectTypes.d.ts +0 -181
  786. package/dist/modules/src/evaluator/frames.d.ts +0 -513
  787. package/dist/modules/src/evaluator/interface.d.ts +0 -14
  788. package/dist/modules/src/evaluator/serialization.d.ts +0 -38
  789. package/dist/modules/src/evaluator/standardEffects.d.ts +0 -50
  790. package/dist/modules/src/evaluator/step.d.ts +0 -175
  791. package/dist/modules/src/evaluator/suspension.d.ts +0 -86
  792. package/dist/modules/src/evaluator/trampoline.d.ts +0 -133
  793. package/dist/modules/src/full.d.ts +0 -16
  794. package/dist/modules/src/getUndefinedSymbols/index.d.ts +0 -7
  795. package/dist/modules/src/index.d.ts +0 -21
  796. package/dist/modules/src/initReferenceData.d.ts +0 -1
  797. package/dist/modules/src/interface.d.ts +0 -7
  798. package/dist/modules/src/modules/assertion.d.ts +0 -2
  799. package/dist/modules/src/modules/bitwise.d.ts +0 -2
  800. package/dist/modules/src/modules/collection.d.ts +0 -2
  801. package/dist/modules/src/modules/convert.d.ts +0 -2
  802. package/dist/modules/src/modules/functional.d.ts +0 -2
  803. package/dist/modules/src/modules/grid.d.ts +0 -2
  804. package/dist/modules/src/modules/linear-algebra.d.ts +0 -2
  805. package/dist/modules/src/modules/math.d.ts +0 -2
  806. package/dist/modules/src/modules/matrix.d.ts +0 -2
  807. package/dist/modules/src/modules/number-theory.d.ts +0 -2
  808. package/dist/modules/src/modules/sequence.d.ts +0 -2
  809. package/dist/modules/src/modules/string.d.ts +0 -2
  810. package/dist/modules/src/modules/vector.d.ts +0 -2
  811. package/dist/modules/src/parser/ParserContext.d.ts +0 -20
  812. package/dist/modules/src/parser/getPrecedence.d.ts +0 -3
  813. package/dist/modules/src/parser/helpers.d.ts +0 -19
  814. package/dist/modules/src/parser/index.d.ts +0 -5
  815. package/dist/modules/src/parser/subParsers/parseArray.d.ts +0 -3
  816. package/dist/modules/src/parser/subParsers/parseBindingTarget.d.ts +0 -8
  817. package/dist/modules/src/parser/subParsers/parseCond.d.ts +0 -4
  818. package/dist/modules/src/parser/subParsers/parseDo.d.ts +0 -3
  819. package/dist/modules/src/parser/subParsers/parseExpression.d.ts +0 -5
  820. package/dist/modules/src/parser/subParsers/parseForOrDoseq.d.ts +0 -4
  821. package/dist/modules/src/parser/subParsers/parseFunction.d.ts +0 -4
  822. package/dist/modules/src/parser/subParsers/parseFunctionCall.d.ts +0 -3
  823. package/dist/modules/src/parser/subParsers/parseIfOrUnless.d.ts +0 -5
  824. package/dist/modules/src/parser/subParsers/parseImplicitBlock.d.ts +0 -5
  825. package/dist/modules/src/parser/subParsers/parseLet.d.ts +0 -4
  826. package/dist/modules/src/parser/subParsers/parseLoop.d.ts +0 -4
  827. package/dist/modules/src/parser/subParsers/parseMatch.d.ts +0 -4
  828. package/dist/modules/src/parser/subParsers/parseNumber.d.ts +0 -3
  829. package/dist/modules/src/parser/subParsers/parseObject.d.ts +0 -3
  830. package/dist/modules/src/parser/subParsers/parseOperand.d.ts +0 -3
  831. package/dist/modules/src/parser/subParsers/parseRegexpShorthand.d.ts +0 -3
  832. package/dist/modules/src/parser/subParsers/parseReservedSymbol.d.ts +0 -3
  833. package/dist/modules/src/parser/subParsers/parseString.d.ts +0 -4
  834. package/dist/modules/src/parser/subParsers/parseSymbol.d.ts +0 -3
  835. package/dist/modules/src/parser/types.d.ts +0 -128
  836. package/dist/modules/src/resume.d.ts +0 -41
  837. package/dist/modules/src/symbolPatterns.d.ts +0 -2
  838. package/dist/modules/src/testFramework/index.d.ts +0 -15
  839. package/dist/modules/src/tokenizer/minifyTokenStream.d.ts +0 -4
  840. package/dist/modules/src/tokenizer/operators.d.ts +0 -12
  841. package/dist/modules/src/tokenizer/reservedNames.d.ts +0 -65
  842. package/dist/modules/src/tokenizer/token.d.ts +0 -82
  843. package/dist/modules/src/tokenizer/tokenize.d.ts +0 -7
  844. package/dist/modules/src/tokenizer/tokenizers.d.ts +0 -13
  845. package/dist/modules/src/tooling.d.ts +0 -51
  846. package/dist/modules/src/transformer/index.d.ts +0 -2
  847. package/dist/modules/src/typeGuards/annotatedCollections.d.ts +0 -16
  848. package/dist/modules/src/typeGuards/array.d.ts +0 -9
  849. package/dist/modules/src/typeGuards/astNode.d.ts +0 -19
  850. package/dist/modules/src/typeGuards/dvala.d.ts +0 -26
  851. package/dist/modules/src/typeGuards/dvalaFunction.d.ts +0 -9
  852. package/dist/modules/src/typeGuards/index.d.ts +0 -7
  853. package/dist/modules/src/typeGuards/number.d.ts +0 -66
  854. package/dist/modules/src/typeGuards/string.d.ts +0 -15
  855. package/dist/modules/src/untokenizer/index.d.ts +0 -2
  856. package/dist/modules/src/utils/arity.d.ts +0 -10
  857. package/dist/modules/src/utils/debug/debugTools.d.ts +0 -1
  858. package/dist/modules/src/utils/debug/getCodeMarker.d.ts +0 -2
  859. package/dist/modules/src/utils/debug/getSourceCodeInfo.d.ts +0 -2
  860. package/dist/modules/src/utils/docString/generateDocString.d.ts +0 -4
  861. package/dist/modules/src/utils/getAssertionError.d.ts +0 -3
  862. package/dist/modules/src/utils/index.d.ts +0 -14
  863. package/dist/modules/src/utils/maybePromise.d.ts +0 -54
  864. package/dist/modules/src/utils/symbols.d.ts +0 -3
  865. package/dist/modules/string.esm.js +0 -2
  866. package/dist/modules/string.esm.js.map +0 -1
  867. package/dist/modules/string.js +0 -2
  868. package/dist/modules/string.js.map +0 -1
  869. package/dist/modules/vector.esm.js +0 -2
  870. package/dist/modules/vector.esm.js.map +0 -1
  871. package/dist/modules/vector.js +0 -2
  872. package/dist/modules/vector.js.map +0 -1
  873. package/dist/reference/api.d.ts +0 -73
  874. package/dist/reference/datatype.d.ts +0 -3
  875. package/dist/reference/index.d.ts +0 -195
  876. package/dist/reference/shorthand.d.ts +0 -3
  877. package/dist/src/AutoCompleter/AutoCompleter.d.ts +0 -27
  878. package/dist/src/Cache.d.ts +0 -16
  879. package/dist/src/allModules.d.ts +0 -2
  880. package/dist/src/builtin/bindingNode.d.ts +0 -11
  881. package/dist/src/builtin/core/array.d.ts +0 -2
  882. package/dist/src/builtin/core/assertion.d.ts +0 -2
  883. package/dist/src/builtin/core/bitwise.d.ts +0 -2
  884. package/dist/src/builtin/core/collection.d.ts +0 -2
  885. package/dist/src/builtin/core/functional.d.ts +0 -2
  886. package/dist/src/builtin/core/math.d.ts +0 -2
  887. package/dist/src/builtin/core/meta.d.ts +0 -3
  888. package/dist/src/builtin/core/misc.d.ts +0 -2
  889. package/dist/src/builtin/core/object.d.ts +0 -2
  890. package/dist/src/builtin/core/predicates.d.ts +0 -2
  891. package/dist/src/builtin/core/regexp.d.ts +0 -2
  892. package/dist/src/builtin/core/sequence.d.ts +0 -2
  893. package/dist/src/builtin/core/string.d.ts +0 -2
  894. package/dist/src/builtin/core/vector.d.ts +0 -2
  895. package/dist/src/builtin/index.d.ts +0 -13
  896. package/dist/src/builtin/interface.d.ts +0 -113
  897. package/dist/src/builtin/modules/assertion/docs.d.ts +0 -2
  898. package/dist/src/builtin/modules/assertion/index.d.ts +0 -2
  899. package/dist/src/builtin/modules/bitwise/index.d.ts +0 -2
  900. package/dist/src/builtin/modules/collection/index.d.ts +0 -2
  901. package/dist/src/builtin/modules/convert/index.d.ts +0 -2
  902. package/dist/src/builtin/modules/functional/index.d.ts +0 -2
  903. package/dist/src/builtin/modules/grid/docs.d.ts +0 -2
  904. package/dist/src/builtin/modules/grid/fromArray.d.ts +0 -8
  905. package/dist/src/builtin/modules/grid/index.d.ts +0 -2
  906. package/dist/src/builtin/modules/grid/transpose.d.ts +0 -2
  907. package/dist/src/builtin/modules/interface.d.ts +0 -28
  908. package/dist/src/builtin/modules/linear-algebra/docs.d.ts +0 -2
  909. package/dist/src/builtin/modules/linear-algebra/helpers/calcFractionalRanks.d.ts +0 -1
  910. package/dist/src/builtin/modules/linear-algebra/helpers/collinear.d.ts +0 -2
  911. package/dist/src/builtin/modules/linear-algebra/helpers/corrleation.d.ts +0 -8
  912. package/dist/src/builtin/modules/linear-algebra/helpers/covariance.d.ts +0 -4
  913. package/dist/src/builtin/modules/linear-algebra/helpers/dot.d.ts +0 -1
  914. package/dist/src/builtin/modules/linear-algebra/helpers/gaussJordanElimination.d.ts +0 -7
  915. package/dist/src/builtin/modules/linear-algebra/helpers/getUnit.d.ts +0 -2
  916. package/dist/src/builtin/modules/linear-algebra/helpers/isZeroVector.d.ts +0 -1
  917. package/dist/src/builtin/modules/linear-algebra/helpers/kendallTau.d.ts +0 -10
  918. package/dist/src/builtin/modules/linear-algebra/helpers/length.d.ts +0 -1
  919. package/dist/src/builtin/modules/linear-algebra/helpers/pearsonCorr.d.ts +0 -1
  920. package/dist/src/builtin/modules/linear-algebra/helpers/scale.d.ts +0 -1
  921. package/dist/src/builtin/modules/linear-algebra/helpers/solve.d.ts +0 -8
  922. package/dist/src/builtin/modules/linear-algebra/helpers/subtract.d.ts +0 -1
  923. package/dist/src/builtin/modules/linear-algebra/index.d.ts +0 -4
  924. package/dist/src/builtin/modules/math/index.d.ts +0 -2
  925. package/dist/src/builtin/modules/matrix/docs.d.ts +0 -2
  926. package/dist/src/builtin/modules/matrix/helpers/adjugate.d.ts +0 -1
  927. package/dist/src/builtin/modules/matrix/helpers/band.d.ts +0 -9
  928. package/dist/src/builtin/modules/matrix/helpers/cofactor.d.ts +0 -1
  929. package/dist/src/builtin/modules/matrix/helpers/determinant.d.ts +0 -6
  930. package/dist/src/builtin/modules/matrix/helpers/diagonal.d.ts +0 -1
  931. package/dist/src/builtin/modules/matrix/helpers/inverse.d.ts +0 -6
  932. package/dist/src/builtin/modules/matrix/helpers/isBanded.d.ts +0 -11
  933. package/dist/src/builtin/modules/matrix/helpers/isDiagonal.d.ts +0 -10
  934. package/dist/src/builtin/modules/matrix/helpers/isIdentity.d.ts +0 -1
  935. package/dist/src/builtin/modules/matrix/helpers/isOrthogonal.d.ts +0 -1
  936. package/dist/src/builtin/modules/matrix/helpers/isSquare.d.ts +0 -1
  937. package/dist/src/builtin/modules/matrix/helpers/isSymetric.d.ts +0 -8
  938. package/dist/src/builtin/modules/matrix/helpers/isTriangular.d.ts +0 -13
  939. package/dist/src/builtin/modules/matrix/helpers/matrixMultiply.d.ts +0 -7
  940. package/dist/src/builtin/modules/matrix/helpers/minor.d.ts +0 -1
  941. package/dist/src/builtin/modules/matrix/helpers/norm1.d.ts +0 -1
  942. package/dist/src/builtin/modules/matrix/helpers/trace.d.ts +0 -8
  943. package/dist/src/builtin/modules/matrix/index.d.ts +0 -4
  944. package/dist/src/builtin/modules/number-theory/binomialCefficient.d.ts +0 -1
  945. package/dist/src/builtin/modules/number-theory/combinations.d.ts +0 -2
  946. package/dist/src/builtin/modules/number-theory/derangements.d.ts +0 -2
  947. package/dist/src/builtin/modules/number-theory/divisors.d.ts +0 -4
  948. package/dist/src/builtin/modules/number-theory/docs.d.ts +0 -2
  949. package/dist/src/builtin/modules/number-theory/factorial.d.ts +0 -3
  950. package/dist/src/builtin/modules/number-theory/index.d.ts +0 -4
  951. package/dist/src/builtin/modules/number-theory/partitions.d.ts +0 -2
  952. package/dist/src/builtin/modules/number-theory/permutations.d.ts +0 -2
  953. package/dist/src/builtin/modules/number-theory/powerSet.d.ts +0 -2
  954. package/dist/src/builtin/modules/number-theory/primeFactors.d.ts +0 -11
  955. package/dist/src/builtin/modules/number-theory/sequences/abundant.d.ts +0 -2
  956. package/dist/src/builtin/modules/number-theory/sequences/arithmetic.d.ts +0 -2
  957. package/dist/src/builtin/modules/number-theory/sequences/bell.d.ts +0 -1
  958. package/dist/src/builtin/modules/number-theory/sequences/bernoulli.d.ts +0 -2
  959. package/dist/src/builtin/modules/number-theory/sequences/catalan.d.ts +0 -1
  960. package/dist/src/builtin/modules/number-theory/sequences/collatz.d.ts +0 -2
  961. package/dist/src/builtin/modules/number-theory/sequences/composite.d.ts +0 -3
  962. package/dist/src/builtin/modules/number-theory/sequences/deficient.d.ts +0 -2
  963. package/dist/src/builtin/modules/number-theory/sequences/factorial.d.ts +0 -1
  964. package/dist/src/builtin/modules/number-theory/sequences/fibonacci.d.ts +0 -1
  965. package/dist/src/builtin/modules/number-theory/sequences/geometric.d.ts +0 -2
  966. package/dist/src/builtin/modules/number-theory/sequences/golomb.d.ts +0 -2
  967. package/dist/src/builtin/modules/number-theory/sequences/happy.d.ts +0 -2
  968. package/dist/src/builtin/modules/number-theory/sequences/index.d.ts +0 -27
  969. package/dist/src/builtin/modules/number-theory/sequences/juggler.d.ts +0 -2
  970. package/dist/src/builtin/modules/number-theory/sequences/lookAndSay.d.ts +0 -2
  971. package/dist/src/builtin/modules/number-theory/sequences/lucas.d.ts +0 -1
  972. package/dist/src/builtin/modules/number-theory/sequences/lucky.d.ts +0 -2
  973. package/dist/src/builtin/modules/number-theory/sequences/mersenne.d.ts +0 -1
  974. package/dist/src/builtin/modules/number-theory/sequences/padovan.d.ts +0 -2
  975. package/dist/src/builtin/modules/number-theory/sequences/partition.d.ts +0 -1
  976. package/dist/src/builtin/modules/number-theory/sequences/pell.d.ts +0 -1
  977. package/dist/src/builtin/modules/number-theory/sequences/perfect.d.ts +0 -1
  978. package/dist/src/builtin/modules/number-theory/sequences/perfectCube.d.ts +0 -2
  979. package/dist/src/builtin/modules/number-theory/sequences/perfectPower.d.ts +0 -10
  980. package/dist/src/builtin/modules/number-theory/sequences/perfectSquare.d.ts +0 -2
  981. package/dist/src/builtin/modules/number-theory/sequences/poligonal.d.ts +0 -2
  982. package/dist/src/builtin/modules/number-theory/sequences/prime.d.ts +0 -3
  983. package/dist/src/builtin/modules/number-theory/sequences/recaman.d.ts +0 -9
  984. package/dist/src/builtin/modules/number-theory/sequences/sylvester.d.ts +0 -1
  985. package/dist/src/builtin/modules/number-theory/sequences/thueMorse.d.ts +0 -2
  986. package/dist/src/builtin/modules/number-theory/sequences/tribonacci.d.ts +0 -1
  987. package/dist/src/builtin/modules/sequence/index.d.ts +0 -2
  988. package/dist/src/builtin/modules/string/index.d.ts +0 -2
  989. package/dist/src/builtin/modules/vector/bincount.d.ts +0 -9
  990. package/dist/src/builtin/modules/vector/calcMad.d.ts +0 -1
  991. package/dist/src/builtin/modules/vector/calcMean.d.ts +0 -1
  992. package/dist/src/builtin/modules/vector/calcMedad.d.ts +0 -1
  993. package/dist/src/builtin/modules/vector/calcMedian.d.ts +0 -1
  994. package/dist/src/builtin/modules/vector/calcStdDev.d.ts +0 -2
  995. package/dist/src/builtin/modules/vector/calcVariance.d.ts +0 -2
  996. package/dist/src/builtin/modules/vector/docs.d.ts +0 -2
  997. package/dist/src/builtin/modules/vector/entropy.d.ts +0 -8
  998. package/dist/src/builtin/modules/vector/histogram.d.ts +0 -9
  999. package/dist/src/builtin/modules/vector/index.d.ts +0 -2
  1000. package/dist/src/builtin/modules/vector/mode.d.ts +0 -6
  1001. package/dist/src/builtin/modules/vector/outliers.d.ts +0 -7
  1002. package/dist/src/builtin/modules/vector/percentile.d.ts +0 -7
  1003. package/dist/src/builtin/modules/vector/quartiles.d.ts +0 -1
  1004. package/dist/src/builtin/modules/vector/reductionFunctions/entropy.d.ts +0 -2
  1005. package/dist/src/builtin/modules/vector/reductionFunctions/giniCoefficient.d.ts +0 -2
  1006. package/dist/src/builtin/modules/vector/reductionFunctions/index.d.ts +0 -13
  1007. package/dist/src/builtin/modules/vector/reductionFunctions/iqr.d.ts +0 -2
  1008. package/dist/src/builtin/modules/vector/reductionFunctions/kurtosis.d.ts +0 -5
  1009. package/dist/src/builtin/modules/vector/reductionFunctions/mad.d.ts +0 -2
  1010. package/dist/src/builtin/modules/vector/reductionFunctions/mean.d.ts +0 -4
  1011. package/dist/src/builtin/modules/vector/reductionFunctions/medad.d.ts +0 -2
  1012. package/dist/src/builtin/modules/vector/reductionFunctions/median.d.ts +0 -2
  1013. package/dist/src/builtin/modules/vector/reductionFunctions/prod.d.ts +0 -2
  1014. package/dist/src/builtin/modules/vector/reductionFunctions/rms.d.ts +0 -2
  1015. package/dist/src/builtin/modules/vector/reductionFunctions/skewness.d.ts +0 -3
  1016. package/dist/src/builtin/modules/vector/reductionFunctions/span.d.ts +0 -2
  1017. package/dist/src/builtin/modules/vector/reductionFunctions/standardDeviation.d.ts +0 -3
  1018. package/dist/src/builtin/modules/vector/reductionFunctions/sum.d.ts +0 -2
  1019. package/dist/src/builtin/modules/vector/reductionFunctions/variance.d.ts +0 -3
  1020. package/dist/src/builtin/normalExpressions/index.d.ts +0 -9
  1021. package/dist/src/builtin/normalExpressions/initCoreDvala.d.ts +0 -1
  1022. package/dist/src/builtin/specialExpressionTypes.d.ts +0 -24
  1023. package/dist/src/builtin/specialExpressions/and.d.ts +0 -6
  1024. package/dist/src/builtin/specialExpressions/array.d.ts +0 -6
  1025. package/dist/src/builtin/specialExpressions/block.d.ts +0 -7
  1026. package/dist/src/builtin/specialExpressions/cond.d.ts +0 -6
  1027. package/dist/src/builtin/specialExpressions/defined.d.ts +0 -5
  1028. package/dist/src/builtin/specialExpressions/effect.d.ts +0 -5
  1029. package/dist/src/builtin/specialExpressions/functions.d.ts +0 -6
  1030. package/dist/src/builtin/specialExpressions/if.d.ts +0 -6
  1031. package/dist/src/builtin/specialExpressions/import.d.ts +0 -6
  1032. package/dist/src/builtin/specialExpressions/let.d.ts +0 -6
  1033. package/dist/src/builtin/specialExpressions/loop.d.ts +0 -6
  1034. package/dist/src/builtin/specialExpressions/loops.d.ts +0 -9
  1035. package/dist/src/builtin/specialExpressions/match.d.ts +0 -7
  1036. package/dist/src/builtin/specialExpressions/object.d.ts +0 -6
  1037. package/dist/src/builtin/specialExpressions/or.d.ts +0 -6
  1038. package/dist/src/builtin/specialExpressions/parallel.d.ts +0 -6
  1039. package/dist/src/builtin/specialExpressions/perform.d.ts +0 -6
  1040. package/dist/src/builtin/specialExpressions/qq.d.ts +0 -6
  1041. package/dist/src/builtin/specialExpressions/race.d.ts +0 -6
  1042. package/dist/src/builtin/specialExpressions/recur.d.ts +0 -5
  1043. package/dist/src/builtin/specialExpressions/unless.d.ts +0 -6
  1044. package/dist/src/builtin/utils.d.ts +0 -6
  1045. package/dist/src/bundler/index.d.ts +0 -9
  1046. package/dist/src/bundler/interface.d.ts +0 -15
  1047. package/dist/src/bundler.d.ts +0 -3
  1048. package/dist/src/constants/constants.d.ts +0 -19
  1049. package/dist/src/createDvala.d.ts +0 -47
  1050. package/dist/src/debug.d.ts +0 -115
  1051. package/dist/src/errors.d.ts +0 -24
  1052. package/dist/src/evaluator/ContextStack.d.ts +0 -70
  1053. package/dist/src/evaluator/contentHash.d.ts +0 -21
  1054. package/dist/src/evaluator/dedupSubTrees.d.ts +0 -37
  1055. package/dist/src/evaluator/effectRef.d.ts +0 -27
  1056. package/dist/src/evaluator/effectTypes.d.ts +0 -181
  1057. package/dist/src/evaluator/frames.d.ts +0 -513
  1058. package/dist/src/evaluator/interface.d.ts +0 -14
  1059. package/dist/src/evaluator/serialization.d.ts +0 -38
  1060. package/dist/src/evaluator/standardEffects.d.ts +0 -50
  1061. package/dist/src/evaluator/step.d.ts +0 -175
  1062. package/dist/src/evaluator/suspension.d.ts +0 -86
  1063. package/dist/src/evaluator/trampoline.d.ts +0 -133
  1064. package/dist/src/full.d.ts +0 -16
  1065. package/dist/src/getUndefinedSymbols/index.d.ts +0 -7
  1066. package/dist/src/index.d.ts +0 -21
  1067. package/dist/src/initReferenceData.d.ts +0 -1
  1068. package/dist/src/interface.d.ts +0 -7
  1069. package/dist/src/modules/assertion.d.ts +0 -2
  1070. package/dist/src/modules/bitwise.d.ts +0 -2
  1071. package/dist/src/modules/collection.d.ts +0 -2
  1072. package/dist/src/modules/convert.d.ts +0 -2
  1073. package/dist/src/modules/functional.d.ts +0 -2
  1074. package/dist/src/modules/grid.d.ts +0 -2
  1075. package/dist/src/modules/linear-algebra.d.ts +0 -2
  1076. package/dist/src/modules/math.d.ts +0 -2
  1077. package/dist/src/modules/matrix.d.ts +0 -2
  1078. package/dist/src/modules/number-theory.d.ts +0 -2
  1079. package/dist/src/modules/sequence.d.ts +0 -2
  1080. package/dist/src/modules/string.d.ts +0 -2
  1081. package/dist/src/modules/vector.d.ts +0 -2
  1082. package/dist/src/parser/ParserContext.d.ts +0 -20
  1083. package/dist/src/parser/getPrecedence.d.ts +0 -3
  1084. package/dist/src/parser/helpers.d.ts +0 -19
  1085. package/dist/src/parser/index.d.ts +0 -5
  1086. package/dist/src/parser/subParsers/parseArray.d.ts +0 -3
  1087. package/dist/src/parser/subParsers/parseBindingTarget.d.ts +0 -8
  1088. package/dist/src/parser/subParsers/parseCond.d.ts +0 -4
  1089. package/dist/src/parser/subParsers/parseDo.d.ts +0 -3
  1090. package/dist/src/parser/subParsers/parseExpression.d.ts +0 -5
  1091. package/dist/src/parser/subParsers/parseForOrDoseq.d.ts +0 -4
  1092. package/dist/src/parser/subParsers/parseFunction.d.ts +0 -4
  1093. package/dist/src/parser/subParsers/parseFunctionCall.d.ts +0 -3
  1094. package/dist/src/parser/subParsers/parseIfOrUnless.d.ts +0 -5
  1095. package/dist/src/parser/subParsers/parseImplicitBlock.d.ts +0 -5
  1096. package/dist/src/parser/subParsers/parseLet.d.ts +0 -4
  1097. package/dist/src/parser/subParsers/parseLoop.d.ts +0 -4
  1098. package/dist/src/parser/subParsers/parseMatch.d.ts +0 -4
  1099. package/dist/src/parser/subParsers/parseNumber.d.ts +0 -3
  1100. package/dist/src/parser/subParsers/parseObject.d.ts +0 -3
  1101. package/dist/src/parser/subParsers/parseOperand.d.ts +0 -3
  1102. package/dist/src/parser/subParsers/parseRegexpShorthand.d.ts +0 -3
  1103. package/dist/src/parser/subParsers/parseReservedSymbol.d.ts +0 -3
  1104. package/dist/src/parser/subParsers/parseString.d.ts +0 -4
  1105. package/dist/src/parser/subParsers/parseSymbol.d.ts +0 -3
  1106. package/dist/src/parser/types.d.ts +0 -128
  1107. package/dist/src/resume.d.ts +0 -41
  1108. package/dist/src/symbolPatterns.d.ts +0 -2
  1109. package/dist/src/testFramework/index.d.ts +0 -15
  1110. package/dist/src/tokenizer/minifyTokenStream.d.ts +0 -4
  1111. package/dist/src/tokenizer/operators.d.ts +0 -12
  1112. package/dist/src/tokenizer/reservedNames.d.ts +0 -65
  1113. package/dist/src/tokenizer/token.d.ts +0 -82
  1114. package/dist/src/tokenizer/tokenize.d.ts +0 -7
  1115. package/dist/src/tokenizer/tokenizers.d.ts +0 -13
  1116. package/dist/src/tooling.d.ts +0 -51
  1117. package/dist/src/transformer/index.d.ts +0 -2
  1118. package/dist/src/typeGuards/annotatedCollections.d.ts +0 -16
  1119. package/dist/src/typeGuards/array.d.ts +0 -9
  1120. package/dist/src/typeGuards/astNode.d.ts +0 -19
  1121. package/dist/src/typeGuards/dvala.d.ts +0 -26
  1122. package/dist/src/typeGuards/dvalaFunction.d.ts +0 -9
  1123. package/dist/src/typeGuards/index.d.ts +0 -7
  1124. package/dist/src/typeGuards/number.d.ts +0 -66
  1125. package/dist/src/typeGuards/string.d.ts +0 -15
  1126. package/dist/src/untokenizer/index.d.ts +0 -2
  1127. package/dist/src/utils/arity.d.ts +0 -10
  1128. package/dist/src/utils/debug/debugTools.d.ts +0 -1
  1129. package/dist/src/utils/debug/getCodeMarker.d.ts +0 -2
  1130. package/dist/src/utils/debug/getSourceCodeInfo.d.ts +0 -2
  1131. package/dist/src/utils/docString/generateDocString.d.ts +0 -4
  1132. package/dist/src/utils/getAssertionError.d.ts +0 -3
  1133. package/dist/src/utils/index.d.ts +0 -14
  1134. package/dist/src/utils/maybePromise.d.ts +0 -54
  1135. package/dist/src/utils/symbols.d.ts +0 -3
  1136. package/dist/testFramework.esm.js +0 -2
  1137. package/dist/testFramework.esm.js.map +0 -1
  1138. package/dist/testFramework.js +0 -2
  1139. package/dist/testFramework.js.map +0 -1
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";function e(e){if(!e.position||!e.code)return"";const n=e.position.column-1,t=e.code.length-n-1;return`${" ".repeat(Math.max(n,0))}^${" ".repeat(Math.max(t,0))}`}class n extends Error{params;constructor(e){super(`recur, params: ${e}`),Object.setPrototypeOf(this,n.prototype),this.name="RecurSignal",this.params=e}}class t extends Error{sourceCodeInfo;shortMessage;constructor(n,r){const o=n instanceof Error?n.message:`${n}`;super(function(n,t){if(!t)return n;const r=`${t.position.line}:${t.position.column}`;return`${n}${t.filePath?`\n${t.filePath}:${r}`:`\nLocation ${r}`}\n${t.code}\n${e(t)}`}(o,r)),this.shortMessage=o,this.sourceCodeInfo=r,Object.setPrototypeOf(this,t.prototype),this.name="DvalaError"}getCodeMarker(){return this.sourceCodeInfo&&e(this.sourceCodeInfo)}}class r extends t{userMessage;constructor(e,n){super(e,n),this.userMessage=e,Object.setPrototypeOf(this,r.prototype),this.name="UserDefinedError"}}class o extends t{constructor(e,n){super(e,n),Object.setPrototypeOf(this,o.prototype),this.name="AssertionError"}}class i extends t{symbol;constructor(e,n){super(`Undefined symbol '${e}'.`,n),this.symbol=e,Object.setPrototypeOf(this,i.prototype),this.name="UndefinedSymbolError"}}const a={Number:1,String:2,NormalExpression:3,SpecialExpression:4,UserDefinedSymbol:5,NormalBuiltinSymbol:6,SpecialBuiltinSymbol:7,ReservedSymbol:8,Binding:9,Spread:10},s=new Set(Object.values(a));function u(e){return Object.keys(a).find(n=>a[n]===e)}const l=new Set(["UserDefined","Partial","Comp","Constantly","Juxt","Complement","EveryPred","SomePred","Fnull","EffectMatcher","Builtin","SpecialBuiltin","Module"]);const c="^^fn^^",f="^^re^^",d="^^ef^^";function p(e){return null!==e&&"object"==typeof e&&(c in e&&"functionType"in e&&function(e){return"string"==typeof e&&l.has(e)}(e.functionType))}function h(e){return!(!Array.isArray(e)||e.length<2)&&function(e){return"number"==typeof e&&s.has(e)}(e[0])}function y(e){return p(e)?`<function ${e.name||"λ"}>`:h(e)?`${u(e[0])}-node`:null===e?"null":"object"==typeof e&&e instanceof RegExp?`${e}`:"object"==typeof e&&e instanceof Error?e.toString():JSON.stringify(e)}function m(e,n){return e?.sourceCodeInfo??n}function v(e,n,r){return new t(`Expected ${e}, got ${y(n)}.`,m(n,r))}function g(e,n){return b(e,n),e}function b(e,n){if(!function(e){return void 0!==e}(e))throw new t("Unexpected undefined",m(e,n))}function x(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function w(e){return null!==e&&"object"==typeof e&&!!e[c]}function k(e,n){if(!w(e))throw v("DvalaFunction",e,n)}function E(e){return w(e)&&"UserDefined"===e.functionType}function S(e,n){if(!E(e))throw v("UserDefinedFunction",e,n)}function I(e){return void 0!==e}function N(e,n){return P(e,n),e}function P(e,n){if(!I(e))throw v("not undefined",e,n)}function $(e){return Array.isArray(e)||"string"==typeof e}function A(e,n){if(!$(e))throw v("string or array",e,n)}function C(e){return!(null===e||"object"!=typeof e||Array.isArray(e)||e instanceof RegExp||w(e)||U(e)||R(e))}function j(e,n){if(!C(e))throw v("object",e,n)}function O(e){return $(e)||C(e)}function M(e,n){if(!O(e))throw v("string, array or object",e,n)}function U(e){return null!==e&&"object"==typeof e&&!!e[f]}function V(e,n){if(!function(e){return U(e)||"string"==typeof e}(e))throw v("string or RegularExpression",e,n)}function R(e){return null!==e&&"object"==typeof e&&!!e[d]}function T(e,n){if(!R(e))throw v("Effect",e,n)}function B(e,n){return D(e,n),e}function D(e,n){if(!function(e){return"number"==typeof e||!!O(e)||!!w(e)}(e))throw v("FunctionLike",e,n)}function _(e,n={}){return"string"==typeof e&&((!n.nonEmpty||0!==e.length)&&(!n.char||1===e.length))}function F(e,n,t={}){if(!_(e,t))throw v(""+(t.nonEmpty?"non empty string":t.char?"character":"string"),e,n)}function L(e,n,t={}){return F(e,n,t),e}function q(e){return"string"==typeof e||"number"==typeof e}function z(e,n){return W(e,n),e}function W(e,n){if(!q(e))throw v("string or number",e,n)}const K={assert:{evaluate:(e,n)=>{const t=e[0],r=2===e.length?e[1]:`${t}`;if(F(r,n),!t)throw new o(r,n);return N(t,n)},arity:{min:1,max:2}}};function Y(e,n={}){return"number"==typeof e&&(!Number.isNaN(e)&&(!(n.integer&&!Number.isInteger(e))&&(!(n.finite&&!Number.isFinite(e))&&((!n.zero||0===e)&&((!n.nonZero||0!==e)&&(!(n.positive&&e<=0)&&(!(n.negative&&e>=0)&&(!(n.nonPositive&&e>0)&&(!(n.nonNegative&&e<0)&&(!("number"==typeof n.gt&&e<=n.gt)&&(!("number"==typeof n.gte&&e<n.gte)&&(!("number"==typeof n.lt&&e>=n.lt)&&!("number"==typeof n.lte&&e>n.lte)))))))))))))}function G(e,n,r={}){if(!Y(e,r))throw new t(`Expected ${function(e){if(e.zero)return"zero";const n=function(e){return e.positive?"positive":e.negative?"negative":e.nonNegative?"non negative":e.nonPositive?"non positive":e.nonZero?"non zero":""}(e),t=e.integer?"integer":"number",r=e.finite?"finite":"",o=function(e){return"number"!=typeof e.gt&&"number"!=typeof e.gte||"number"!=typeof e.lt&&"number"!=typeof e.lte?"number"==typeof e.gt||"number"==typeof e.gte?"number"==typeof e.gt?`n > ${e.gt}`:`n >= ${e.gte}`:"number"==typeof e.lt||"number"==typeof e.lte?"number"==typeof e.lt?`n < ${e.lt}`:`n <= ${e.lte}`:"":`${"number"==typeof e.gt?`${e.gt} < n `:`${e.gte} <= n `}${"number"==typeof e.lt?`< ${e.lt}`:`<= ${e.lte}`}`}(e);return[n,r,t,o].filter(e=>!!e).join(" ")}(r)}, got ${y(e)}.`,m(e,n))}function H(e,n){const{min:t}=e;return!("number"==typeof t&&n<t)}function J(e,n,r){const{min:o,max:i}=e;if("number"==typeof o&&n<o)throw new t(`Wrong number of arguments, expected at least ${o}, got ${y(n)}.`,r);if("number"==typeof i&&n>i)throw new t(`Wrong number of arguments, expected at most ${i}, got ${y(n)}.`,r)}function X(e){return{min:e,max:e}}const Z={"<<":{evaluate:([e,n],t)=>(G(e,t,{integer:!0}),G(n,t,{integer:!0,nonNegative:!0}),e<<n),arity:X(2)},">>":{evaluate:([e,n],t)=>(G(e,t,{integer:!0}),G(n,t,{integer:!0,nonNegative:!0}),e>>n),arity:X(2)},">>>":{evaluate:([e,n],t)=>(G(e,t,{integer:!0}),G(n,t,{integer:!0,nonNegative:!0}),e>>>n),arity:X(2)},"&":{evaluate:([e,...n],t)=>(G(e,t,{integer:!0}),n.reduce((e,n)=>(G(n,t,{integer:!0}),e&n),e)),arity:{min:2}},"|":{evaluate:([e,...n],t)=>(G(e,t,{integer:!0}),n.reduce((e,n)=>(G(n,t,{integer:!0}),e|n),e)),arity:{min:2}},xor:{evaluate:([e,...n],t)=>(G(e,t,{integer:!0}),n.reduce((e,n)=>(G(n,t,{integer:!0}),e^n),e)),arity:{min:2}}};function Q(e,n){return!!O(e)&&("string"==typeof e||Array.isArray(e)?!!Y(n,{integer:!0})&&(n>=0&&n<e.length):!!Object.getOwnPropertyDescriptor(e,n))}function ee(e,n,r){if(W(e,r),W(n,r),"string"==typeof e&&"string"==typeof n)return e<n?-1:e>n?1:0;if("number"==typeof e&&"number"==typeof n)return Math.sign(e-n);throw new t(`Cannot compare values of different types: ${typeof e} and ${typeof n}`,r)}function ne(e,n,t){if(e===n)return!0;if("number"==typeof e&&"number"==typeof n)return function(e,n,t=ie){if(e===n)return!0;const r=Math.abs(e-n);if(0===e||0===n||r<t)return r<t;const o=Math.abs(e),i=Math.abs(n);return r/(o+i)<t}(e,n);if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r+=1)if(!ne(N(e[r],t),N(n[r],t),t))return!1;return!0}if(U(e)&&U(n))return e.s===n.s&&e.f===n.f;if(x(e)&&x(n)){const r=Object.keys(e),o=Object.keys(n);if(r.length!==o.length)return!1;for(let o=0;o<r.length;o+=1){const i=L(r[o],t);if(!ne(e[i],n[i],t))return!1}return!0}return!1}function te(e){return e??null}function re(...e){const n=new Set;for(const t of e)t.forEach(e=>n.add(e));return n}function oe(e,n){n.forEach(n=>e.add(n))}const ie=1e-10;function ae(e,n=0){const t=e.split("\n");for(;t[0]?.match(/^\s*$/);)t.shift();for(;t[t.length-1]?.match(/^\s*$/);)t.pop();const r=t.reduce((e,n)=>{if(n.match(/^\s*$/))return e;const t=n.match(/^\s*/)[0].length;return Math.min(e,t)},1/0);return t.map(e=>" ".repeat(n)+e.slice(r)).join("\n").trimEnd()}function se(e,n){if(!Array.isArray(e))throw v("array",e,n)}function ue(e,n){if(!function(e){return Array.isArray(e)&&e.every(e=>"string"==typeof e)}(e))throw v("array of strings",e,n)}function le(e,n){if(!function(e){return Array.isArray(e)&&e.every(e=>"string"==typeof e&&1===e.length)}(e))throw v("array of strings",e,n)}const ce={filter:{evaluate:()=>{throw new Error("filter is implemented in Dvala")},arity:X(2)},map:{evaluate:()=>{throw new Error("map is implemented in Dvala")},arity:{min:2}},reduce:{evaluate:()=>{throw new Error("reduce is implemented in Dvala")},arity:X(3)},get:{evaluate:(e,n)=>{const[t,r]=e,o=te(e[2]);if(W(r,n),null===t)return o;M(t,n);const i=function(e,n){if(C(e)){if("string"==typeof n&&Q(e,n))return te(e[n])}else if(Y(n,{nonNegative:!0,integer:!0})&&n>=0&&n<e.length)return te(e[n])}(t,r);return void 0===i?o:i},arity:{min:2,max:3}},count:{evaluate:([e],n)=>null===e?0:"string"==typeof e?e.length:(M(e,n),Array.isArray(e)?e.length:Object.keys(e).length),arity:X(1)},"contains?":{evaluate:([e,n],t)=>null!==e&&(M(e,t),_(e)?(F(n,t),e.includes(n)):$(e)?(P(n,t),!!e.find(e=>ne(N(e),n,t))):(F(n,t),n in e)),arity:X(2)},assoc:{evaluate:([e,n,t],r)=>(M(e,r),W(n,r),P(t,r),function(e,n,t,r){if(M(e,r),W(n,r),Array.isArray(e)||"string"==typeof e){if(G(n,r,{integer:!0}),G(n,r,{gte:0}),G(n,r,{lte:e.length}),"string"==typeof e)return F(t,r,{char:!0}),`${e.slice(0,n)}${t}${e.slice(n+1)}`;const o=[...e];return o[n]=t,o}F(n,r);const o={...e};return o[n]=t,o}(e,n,t,r)),arity:X(3)},"++":{evaluate:(e,n)=>(Y(e[0])||M(e[0],n),Array.isArray(e[0])?e.reduce((e,t)=>(se(t,n),e.concat(t)),[]):q(e[0])?e.reduce((e,t)=>(W(t,n),`${e}${t}`),""):e.reduce((e,t)=>(j(t,n),Object.assign(e,t)),{})),arity:{min:1}}},fe={range:{evaluate:(e,n)=>{const[t,r,o]=e;let i,a,s;G(t,n,{finite:!0}),1===e.length?(i=0,a=t,s=a>=0?1:-1):2===e.length?(G(r,n,{finite:!0}),i=t,a=r,s=a>=i?1:-1):(G(r,n,{finite:!0}),G(o,n,{finite:!0}),i=t,a=r,s=o,G(s,n,a>i?{positive:!0}:a<i?{negative:!0}:{nonZero:!0}));const u=[];for(let e=i;s<0?e>a:e<a;e+=s)u.push(e);return u},arity:{min:1,max:3}},repeat:{evaluate:([e,n],t)=>{G(n,t,{integer:!0,nonNegative:!0});const r=[];for(let t=0;t<n;t+=1)r.push(e);return r},arity:X(2)},flatten:{evaluate:([e,n],t)=>{se(e,t);const r=void 0===n||n===Number.POSITIVE_INFINITY?Number.POSITIVE_INFINITY:function(e,n,t={}){return G(e,n,t),e}(n,t,{integer:!0,nonNegative:!0});return e.flat(r)},arity:{min:1,max:2}},mapcat:{evaluate:()=>{throw new Error("mapcat is implemented in Dvala")},arity:X(2)},"moving-fn":{evaluate:()=>{throw new Error("moving-fn is implemented in Dvala")},arity:X(3)},"running-fn":{evaluate:()=>{throw new Error("running-fn is implemented in Dvala")},arity:X(2)}},de={nth:{evaluate:(e,n)=>{const[t,r]=e,o=te(e[2]);if(G(r,n,{integer:!0}),null===t)return o;if(A(t,n),r>=0&&r<t.length){return te(t[r])}return o},arity:{min:2,max:3}},first:{evaluate:([e],n)=>{if(null===e)return null;A(e,n);return te(e[0])},arity:X(1)},last:{evaluate:([e],n)=>{if(null===e)return null;A(e,n);return te(e.at(-1))},arity:X(1)},pop:{evaluate:([e],n)=>(A(e,n),"string"==typeof e?e.substring(0,e.length-1):e.slice(0,e.length-1)),arity:X(1)},"index-of":{evaluate:([e,n],t)=>{if(P(n,t),null===e)return null;if(A(e,t),"string"==typeof e){F(n,t);const r=e.indexOf(n);return-1!==r?r:null}{const r=e.findIndex(e=>ne(N(e,t),n),t);return-1!==r?r:null}},arity:X(2)},push:{evaluate:([e,...n],t)=>(A(e,t),"string"==typeof e?(le(n,t),[e,...n].join("")):[...e,...n]),arity:{min:2}},rest:{evaluate:([e],n)=>(A(e,n),Array.isArray(e)?e.length<=1?[]:e.slice(1):e.substring(1)),arity:X(1)},next:{evaluate:([e],n)=>(A(e,n),Array.isArray(e)?e.length<=1?null:e.slice(1):e.length<=1?null:e.substring(1)),arity:X(1)},reverse:{evaluate:([e],n)=>null===e?null:(A(e,n),Array.isArray(e)?[...e].reverse():e.split("").reverse().join("")),arity:X(1)},second:{evaluate:([e],n)=>null===e?null:(A(e,n),te(e[1])),arity:X(1)},slice:{evaluate:(e,n)=>{const[t,r,o]=e;return A(t,n),G(r,n,{integer:!0}),2===e.length?(Array.isArray(t),t.slice(r)):(G(o,n,{integer:!0}),Array.isArray(t),t.slice(r,o))},arity:{min:2,max:3}},some:{evaluate:()=>{throw new Error("some is implemented in Dvala")},arity:X(2)},sort:{evaluate:()=>{throw new Error("sort is implemented in Dvala")},arity:{min:1,max:2}},take:{evaluate:([e,n],t)=>{G(n,t),A(e,t);const r=Math.max(Math.ceil(n),0);return e.slice(0,r)},arity:X(2)},"take-last":{evaluate:([e,n],t)=>{A(e,t),G(n,t);const r=Math.max(Math.ceil(n),0),o=e.length-r;return e.slice(o)},arity:X(2)},drop:{evaluate:([e,n],t)=>{G(n,t);const r=Math.max(Math.ceil(n),0);return A(e,t),e.slice(r)},arity:X(2)},"drop-last":{evaluate:([e,n],t)=>{A(e,t),G(n,t);const r=Math.max(Math.ceil(n),0),o=e.length-r;return e.slice(0,o)},arity:X(2)},"take-while":{evaluate:()=>{throw new Error("take-while is implemented in Dvala")},arity:X(2)},"drop-while":{evaluate:()=>{throw new Error("drop-while is implemented in Dvala")},arity:X(2)}},pe=new WeakSet,he=new WeakSet,ye=new WeakSet,me=new WeakSet,ve=new WeakSet,ge=new WeakSet,be=new WeakSet;function xe(e){return Array.isArray(e)?(pe.has(e)||(we(e),Ie(e)||Se(e)),e):e}function we(e){return!!Array.isArray(e)&&(!!he.has(e)||!ye.has(e)&&(e.every(e=>Y(e))?(pe.add(e),he.add(e),!0):(ye.add(e),!1)))}function ke(e,n){if(!we(e))throw new t(`Expected a vector, but got ${e}`,n)}function Ee(e,n){if(ke(e,n),0===e.length)throw new t(`Expected a non empty vector, but got ${e}`,n)}function Se(e,n){if(!Array.isArray(e))return!1;if(ge.has(e))return!0;if(be.has(e))return!1;if(0===e.length)return be.add(e),!1;if(!Array.isArray(e[0]))return be.add(e),!1;const t=e[0].length;if(0===t)return be.add(e),!1;for(const r of e){if(!Array.isArray(r))return be.add(e),!1;if(r.length!==t)return be.add(e),!1;if(n&&r.some(e=>!n(e)))return!1}return pe.add(e),ge.add(e),!0}function Ie(e){return Se(e,Y)?(me.add(e),!0):(Array.isArray(e)&&ve.add(e),!1)}function Ne(e,n){let r=!1,o=!1;for(const i of e)if(we(i))r=!0;else if(Ie(i))o=!0;else if(!Y(i))throw new t("Invalid parameter type: "+typeof i,n);if(o){if(r)throw new t("Cannot mix vector and matrix types",n);let o=null,i=null;for(const r of e)if(Ie(r))if(null===o)o=r.length,i=r[0].length;else if(r.length!==o||r[0].length!==i)throw new t("Matrix dimensions do not match",n);return["matrix",e.map(e=>Ie(e)?e:Array.from({length:o},()=>Array.from({length:i},()=>e)))]}if(r){let r=null;for(const o of e)if(we(o))if(null===r)r=o.length;else if(o.length!==r)throw new t("Vector lengths do not match",n);return["vector",e.map(e=>we(e)?e:Array.from({length:r},()=>e))]}return["number",e]}function Pe(e){return(n,t)=>{const[r,o]=Ne(n,t);return"number"===r?e(o[0]):"vector"===r?o[0].map(n=>e(n)):o[0].map(n=>n.map(n=>e(n)))}}function $e(e){return(n,t)=>{const[r,o]=Ne(n,t);return"number"===r?e(o[0],o[1]):"vector"===r?o[0].map((n,t)=>e(n,o[1][t])):o[0].map((n,t)=>n.map((n,r)=>e(n,o[1][t][r])))}}function Ae(e,n){return(t,r)=>{if(0===t.length)return e;const[o,i]=Ne(t,r);if("number"===o)return i.reduce((e,t)=>n(e,t),e);if("vector"===o){const[e,...t]=i;return t.reduce((e,t)=>e.map((e,r)=>n(e,t[r])),e)}{const[e,...t]=i;return t.reduce((e,t)=>e.map((e,r)=>e.map((e,o)=>n(e,t[r][o]))),e)}}}const Ce={inc:{evaluate:Pe(e=>e+1),arity:X(1)},dec:{evaluate:Pe(e=>e-1),arity:X(1)},"+":{evaluate:Ae(0,(e,n)=>e+n),arity:{}},"*":{evaluate:Ae(1,(e,n)=>e*n),arity:{}},"/":{evaluate:(e,n)=>{if(0===e.length)return 1;const[t,r]=Ne(e,n);if("number"===t){const[e,...n]=r;return 0===n.length?1/e:n.reduce((e,n)=>e/n,e)}if("vector"===t){const e=r[0];return r.slice(1).reduce((e,n)=>e.map((e,t)=>e/n[t]),e)}{const e=r[0];return r.slice(1).reduce((e,n)=>e.map((e,t)=>e.map((e,r)=>e/n[t][r])),e)}},arity:{}},"-":{evaluate:(e,n)=>{if(0===e.length)return 0;const[t,r]=Ne(e,n);if("number"===t){const[e,...n]=r;return 0===n.length?-e:n.reduce((e,n)=>e-n,e)}if("vector"===t){const e=r[0];return r.slice(1).reduce((e,n)=>e.map((e,t)=>e-n[t]),e)}{const e=r[0];return r.slice(1).reduce((e,n)=>e.map((e,t)=>e.map((e,r)=>e-n[t][r])),e)}},arity:{}},quot:{evaluate:$e((e,n)=>Math.trunc(e/n)),arity:X(2)},mod:{evaluate:$e((e,n)=>e-n*Math.floor(e/n)),arity:X(2)},"%":{evaluate:$e((e,n)=>e%n),arity:X(2)},sqrt:{evaluate:Pe(e=>Math.sqrt(e)),arity:X(1)},cbrt:{evaluate:Pe(e=>Math.cbrt(e)),arity:X(1)},"^":{evaluate:$e((e,n)=>e**n),arity:X(2)},round:{evaluate:([e,n],t)=>{const[r,o]=Ne([e],t);if("number"===r){if(void 0===n||0===n)return Math.round(o[0]);{G(n,t,{integer:!0,positive:!0});const e=10**n;return Math.round(o[0]*e)/e}}if("vector"===r){const e=o[0];if(void 0===n||0===n)return e.map(e=>Math.round(e));{G(n,t,{integer:!0,positive:!0});const r=10**n;return e.map(e=>Math.round(e*r)/r)}}{const e=o[0];if(void 0===n||0===n)return e.map(e=>e.map(e=>Math.round(e)));{G(n,t,{integer:!0,positive:!0});const r=10**n;return e.map(e=>e.map(e=>Math.round(e*r)/r))}}},arity:{min:1,max:2}},trunc:{evaluate:Pe(e=>Math.trunc(e)),arity:X(1)},floor:{evaluate:Pe(e=>Math.floor(e)),arity:X(1)},ceil:{evaluate:Pe(e=>Math.ceil(e)),arity:X(1)},min:{evaluate:(e,n)=>{if(1===e.length&&we(e[0])){const t=e[0];return Ee(t,n),t.reduce((e,n)=>Math.min(e,n),1/0)}const[t,...r]=e;return G(t,n),r.reduce((e,t)=>(G(t,n),Math.min(e,t)),t)},arity:{min:1}},max:{evaluate:(e,n)=>{if(1===e.length&&we(e[0])){const t=e[0];return Ee(t,n),t.reduce((e,n)=>Math.max(e,n),-1/0)}const[t,...r]=e;return G(t,n),r.reduce((e,t)=>(G(t,n),Math.max(e,t)),t)},arity:{min:1}},abs:{evaluate:Pe(e=>Math.abs(e)),arity:X(1)},sign:{evaluate:Pe(e=>Math.sign(e)),arity:X(1)}};function je([e,...n],t){const r=N(e,t);for(const e of n)if(!ne(r,N(e,t),t))return!1;return!0}const Oe={"==":{evaluate:(e,n)=>je(e,n),arity:{min:1}},"!=":{evaluate:(e,n)=>!je(e,n),arity:{min:1}},"identical?":{evaluate:e=>function([e,...n]){for(const t of n)if(t!==e)return!1;return!0}(e),arity:{min:1}},">":{evaluate:([e,...n],t)=>{let r=z(e);for(const e of n){if(ee(r,z(e),t)<=0)return!1;r=z(e)}return!0},arity:{min:1}},"<":{evaluate:([e,...n],t)=>{let r=z(e);for(const e of n){if(ee(r,z(e),t)>=0)return!1;r=z(e)}return!0},arity:{min:1}},">=":{evaluate:([e,...n],t)=>{let r=z(e);for(const e of n){if(ee(r,z(e),t)<0)return!1;r=z(e)}return!0},arity:{min:1}},"<=":{evaluate:([e,...n],t)=>{let r=z(e);for(const e of n){if(ee(r,z(e),t)>0)return!1;r=z(e)}return!0},arity:{min:1}},not:{evaluate:([e])=>!e,arity:X(1)},"epoch->iso-date":{evaluate:([e],n)=>(G(e,n),new Date(e).toISOString()),arity:X(1)},"iso-date->epoch":{evaluate:([e],n)=>{F(e,n);const t=new Date(e).valueOf();return G(t,n,{finite:!0}),t},arity:X(1)},boolean:{evaluate:([e])=>!!e,arity:X(1)},compare:{evaluate:([e,n],t)=>(W(e,t),W(n,t),ee(e,n,t)),arity:X(2)},"json-parse":{evaluate:([e],n)=>(F(e,n),JSON.parse(e)),arity:X(1)},"json-stringify":{evaluate:([e,n],t)=>(P(e,t),void 0===n?JSON.stringify(e):(G(n,t),JSON.stringify(e,null,n))),arity:{min:1,max:2}},"effect-name":{evaluate:([e],n)=>function(e,n){return T(e,n),e}(e,n).name,arity:X(1)},"effect-matcher":{evaluate:([e],n)=>{if("string"==typeof e)return{[c]:!0,sourceCodeInfo:n,functionType:"EffectMatcher",matchType:"string",pattern:e,flags:"",arity:X(1)};if(U(e))return{[c]:!0,sourceCodeInfo:n,functionType:"EffectMatcher",matchType:"regexp",pattern:e.s,flags:e.f,arity:X(1)};throw new t("effect-matcher expects a string or regexp pattern",n)},arity:X(1)},"type-of":{evaluate:([e])=>null==e?"null":"boolean"==typeof e?"boolean":"number"==typeof e?"number":"string"==typeof e?"string":R(e)?"effect":U(e)?"regexp":w(e)?"function":Array.isArray(e)?"array":"object",arity:X(1)}},Me={keys:{evaluate:([e],n)=>(j(e,n),Object.keys(e)),arity:X(1)},vals:{evaluate:([e],n)=>(j(e,n),Object.values(e)),arity:X(1)},entries:{evaluate:([e],n)=>(j(e,n),Object.entries(e)),arity:X(1)},find:{evaluate:([e,n],t)=>(j(e,t),F(n,t),Q(e,n)?[n,e[n]]:null),arity:X(2)},dissoc:{evaluate:([e,n],t)=>{j(e,t),F(n,t);const r={...e};return delete r[n],r},arity:X(2)},merge:{evaluate:(e,n)=>{if(0===e.length)return null;const[t,...r]=e;return j(t,n),r.reduce((e,t)=>(j(t,n),{...e,...t}),{...t})},arity:{min:0}},"merge-with":{evaluate:()=>{throw new Error("merge-with is implemented in Dvala")},arity:{min:2}},zipmap:{evaluate:([e,n],t)=>{ue(e,t),se(n,t);const r=Math.min(e.length,n.length),o={};for(let i=0;i<r;i+=1){o[L(e[i],t)]=te(n[i])}return o},arity:X(2)},"select-keys":{evaluate:([e,n],t)=>(ue(n,t),j(e,t),n.reduce((n,t)=>(Q(e,t)&&(n[t]=te(e[t])),n),{})),arity:X(2)}},Ue={"function?":{evaluate:([e])=>w(e),arity:X(1)},"string?":{evaluate:([e])=>"string"==typeof e,arity:X(1)},"number?":{evaluate:([e])=>"number"==typeof e,arity:X(1)},"integer?":{evaluate:([e])=>"number"==typeof e&&Y(e,{integer:!0}),arity:X(1)},"boolean?":{evaluate:([e])=>"boolean"==typeof e,arity:X(1)},"null?":{evaluate:([e])=>null==e,arity:X(1)},"zero?":{evaluate:([e],n)=>(G(e,n,{finite:!0}),Math.abs(e)<ie),arity:X(1)},"pos?":{evaluate:([e],n)=>(G(e,n,{finite:!0}),e>0),arity:X(1)},"neg?":{evaluate:([e],n)=>(G(e,n,{finite:!0}),e<0),arity:X(1)},"even?":{evaluate:([e],n)=>(G(e,n,{finite:!0}),e%2==0),arity:X(1)},"odd?":{evaluate:([e],n)=>(G(e,n,{finite:!0}),Y(e,{integer:!0})&&e%2!=0),arity:X(1)},"array?":{evaluate:([e])=>Array.isArray(e),arity:X(1)},"collection?":{evaluate:([e])=>O(e),arity:X(1)},"sequence?":{evaluate:([e])=>$(e),arity:X(1)},"object?":{evaluate:([e])=>C(e),arity:X(1)},"regexp?":{evaluate:([e])=>U(e),arity:X(1)},"effect?":{evaluate:([e])=>R(e),arity:X(1)},"finite?":{evaluate:([e],n)=>(G(e,n),Number.isFinite(e)),arity:X(1)},"positive-infinity?":{evaluate:([e],n)=>(G(e,n),e===Number.POSITIVE_INFINITY),arity:X(1)},"negative-infinity?":{evaluate:([e],n)=>(G(e,n),e===Number.NEGATIVE_INFINITY),arity:X(1)},"true?":{evaluate:([e])=>!0===e,arity:X(1)},"false?":{evaluate:([e])=>!1===e,arity:X(1)},"empty?":{evaluate:([e],n)=>null===e||(M(e,n),"string"==typeof e||Array.isArray(e)?0===e.length:0===Object.keys(e).length),arity:X(1)},"not-empty?":{evaluate:([e],n)=>null!==e&&(M(e,n),"string"==typeof e||Array.isArray(e)?e.length>0:Object.keys(e).length>0),arity:X(1)},"vector?":{evaluate:([e])=>we(e),arity:X(1)},"matrix?":{evaluate:([e])=>Ie(e),arity:X(1)},"grid?":{evaluate:([e])=>Se(e),arity:X(1)}},Ve={regexp:{evaluate:([e,n],r)=>{F(e,r);const o=e||"(?:)",i="string"==typeof n?n:"";try{new RegExp(o,i)}catch(e){throw new t(`Invalid regular expression: ${o} ${i}`,r)}return{[f]:!0,sourceCodeInfo:r,s:o,f:i}},arity:{min:1,max:2}},"re-match":{evaluate:([e,n],t)=>{if(function(e,n){if(!U(e))throw v("RegularExpression",e,n)}(n,t),!_(e))return null;const r=new RegExp(n.s,n.f).exec(e);return r?[...r]:null},arity:X(2)},replace:{evaluate:([e,n,t],r)=>{F(e,r),V(n,r),F(t,r);const o=U(n)?new RegExp(n.s,`${n.f}`):n;return e.replace(o,t)},arity:X(3)},"replace-all":{evaluate:([e,n,t],r)=>{F(e,r),V(n,r),F(t,r);const o=U(n)?new RegExp(n.s,`${n.f.includes("g")?n.f:`${n.f}g`}`):n;return e.replaceAll(o,t)},arity:X(3)}},Re=/^\s*$/,Te={str:{evaluate:e=>e.reduce((e,n)=>e+(null==n?"":C(n)||Array.isArray(n)?JSON.stringify(n):`${n}`),""),arity:{}},number:{evaluate:([e],n)=>{F(e,n);const r=Number(e);if(Number.isNaN(r))throw new t(`Could not convert '${e}' to a number.`,n);return r},arity:X(1)},"lower-case":{evaluate:([e],n)=>(F(e,n),e.toLowerCase()),arity:X(1)},"upper-case":{evaluate:([e],n)=>(F(e,n),e.toUpperCase()),arity:X(1)},trim:{evaluate:([e],n)=>(F(e,n),e.trim()),arity:X(1)},join:{evaluate:([e,n],t)=>(se(e,t),e.forEach(e=>W(e,t)),F(n,t),e.join(n)),arity:X(2)},split:{evaluate:([e,n,t],r)=>{F(e,r),V(n,r),void 0!==t&&G(t,r,{integer:!0,nonNegative:!0});const o="string"==typeof n?n:new RegExp(n.s,n.f);return e.split(o,t)},arity:{min:2,max:3}},"blank?":{evaluate:([e],n)=>null===e||(F(e,n),Re.test(e)),arity:X(1)}},Be={"|>":{evaluate:()=>{throw new Error("|> is implemented in Dvala")},arity:X(2)},apply:{evaluate:()=>{throw new Error("apply is implemented in Dvala")},arity:{min:2}},identity:{evaluate:([e])=>te(e),arity:X(1)},comp:{evaluate:(e,n)=>{return e.forEach(e=>D(e,n)),{[c]:!0,sourceCodeInfo:n,functionType:"Comp",params:e,arity:e.length>0?(t=e.at(-1),"number"==typeof t||O(t)?X(1):t.arity):{min:1,max:1}};var t},arity:{}},constantly:{evaluate:([e],n)=>({[c]:!0,sourceCodeInfo:n,functionType:"Constantly",value:te(e),arity:{}}),arity:X(1)}};function De(e){return ae(`\n ${e.title}\n\n ${e.description.replace(/`(.+?)`/g,"$1").replace(/\$(\w+)/g,"$1").replace(/\*\*\*(.+)\*\*\*/g,"$1").replace(/\*\*(.+)\*\*/g,"$1")}\n\n Signature:\n ${function(e){const{title:n,variants:t,args:r,returns:o}=e,i=!_e(e)&&e._isOperator,a=t.map(t=>{if(_e(e)){const e=t.argumentNames.length>0?`, ${t.argumentNames.map(e=>{let n="";return r[e].rest&&(n+="..."),n+=e,n}).join(", ")}`:"";return` perform(effect(${n})${e}) -> ${Fe(o)}`}return`${` ${n}(${t.argumentNames.map(e=>{let n="";return r[e].rest&&(n+="..."),n+=e,n}).join(", ")})`} -> ${Fe(o)}`}),s=i?["","Operator:",` a ${n} b -> ${Fe(o)}`]:[];return[...a,...s]}(e).join("\n ")}\n\n Arguments:\n ${function(e){return Object.entries(e.args).map(([e,n])=>`${e}: ${Fe(n)}`)}(e).join("\n ")}\n\n Examples:\n${e.examples.map(e=>ae(e,4)).join("\n\n")}`)}function _e(e){return"effect"in e}function Fe(e){const n=e.type,t=(Array.isArray(n)?n:[n]).join(" | ");return e.array||e.rest?`Array<${t}>`:t}const Le={sum:{evaluate:([e],n)=>(ke(e,n),e.reduce((e,n)=>e+n,0)),arity:X(1)},prod:{evaluate:([e],n)=>(ke(e,n),e.reduce((e,n)=>e*n,1)),arity:X(1)},mean:{evaluate:([e],n)=>(Ee(e,n),e.reduce((e,n)=>e+n,0)/e.length),arity:X(1)},median:{evaluate:([e],n)=>(Ee(e,n),function(e){const n=[...e].sort((e,n)=>e-n),t=Math.floor(n.length/2);return n.length%2==0?(n[t-1]+n[t])/2:n[t]}(e)),arity:X(1)}},qe={...K,...Z,...ce,...fe,...de,...Ce,...function(e,n){return{doc:{evaluate:([t],r)=>{if(b(e),R(t)){const e=`-effect-${t.name}`,r=n[e];return r?De(r):""}if(D(t,r),!w(t))return"";if("Builtin"===t.functionType){const n=e[t.name];return n?De(n):""}return"UserDefined"===t.functionType?t.docString:""},arity:X(1)},"with-doc":{evaluate:([e,n],t)=>{if(D(e,t),F(n,t),!w(e)||"UserDefined"!==e.functionType)throw new Error("with-doc can only be used with user-defined functions");return{...e,[c]:!0,docString:n}},arity:X(2)},arity:{evaluate:([e],t)=>{if(R(e)){const t=`-effect-${e.name}`,r=n[t];if(!r)return{};const o=r.variants.map(e=>e.argumentNames.length);return{min:Math.min(...o),max:Math.max(...o)}}return D(e,t),w(e)?e.arity:X(1)},arity:X(1)}}}({},{}),...Oe,...Me,...Ue,...Ve,...Te,...Be,...Le};Object.entries(qe).forEach(([e,n])=>{n.name=e});const ze={...qe},We={},Ke=[];Object.entries(ze).forEach(([e,n],t)=>{We[e]=t,Ke.push(n)});const Ye={arity:{},evaluateAsNormalExpression:(e,n)=>{let t=!0;for(const r of e)if(t=N(r,n),!t)break;return t},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1],n,r,o)},Ge=11,He=12,Je=13,Xe=14,Ze=15,Qe=16;function en(e,n){return e instanceof Promise?e.then(n):n(e)}async function nn(e,n,t,r,o){n.push(await e);for(let e=o+1;e<t.length;e++)n.push(await r(t[e],e));return n}function tn(e,n,t){let r=t;for(let t=0;t<e.length;t++){const o=n(r,e[t],t);if(o instanceof Promise)return rn(o,e,n,t);r=o}return r}async function rn(e,n,t,r){let o=await e;for(let e=r+1;e<n.length;e++)o=await t(o,n[e],e);return o}function on(e,n){for(let t=0;t<e.length;t++){const r=n(e[t],t);if(r instanceof Promise)return an(r,e,n,t)}}async function an(e,n,t,r){await e;for(let e=r+1;e<n.length;e++)await t(n[e],e)}function sn(e,n){if(e[0]===Je)Object.values(e[1][0]).forEach(e=>{e[1][1]&&n(e[1][1]),sn(e,n)});else if(e[0]===Xe)for(let t=0;t<e[1][0].length;t+=1){const r=e[1][0][t]??null;null!==r&&(r[1][1]&&n(r[1][1]),sn(r,n))}}function un(e,n,t){const r=e[2],o={};return en(ln(e,n,t,r,o),()=>o)}function ln(e,n,r,o,i){if(e[0]===Je){!function(e,n){if(!x(e))throw new t(`Expected UnknownRecord, got ${y(e)}.`,m(e,n))}(n,o);const a=new Set;let s;return en(on(Object.entries(e[1][0]),([e,t])=>{if(t[0]===He)return void(s=t);a.add(e);const u=n[e];return en(void 0!==u?u:t[1][1]?r(t[1][1]):null,e=>{const n=e??null;return P(n,o),ln(t,n,r,o,i)})}),()=>{if(s){const e=Object.entries(n).filter(([e])=>!a.has(e)).reduce((e,[n,t])=>(e[n]=N(t),e),{});i[s[1][0]]=e}})}if(e[0]===Xe){let t=null;se(n,o);const a=[];for(let n=0;n<e[1][0].length;n+=1){const r=e[1][0][n]??null;if(null!==r){if(r[0]===He){t=n;break}a.push({element:r,index:n})}}return en(on(a,({element:e,index:t})=>{const a=n[t];return en(void 0!==a?a:e[1][1]?r(e[1][1]):null,n=>{const t=n??null;return P(t,o),ln(e,t,r,o,i)})}),()=>{if(null!==t){const r=n.slice(t),o=e[1][0][t];i[o[1][0]]=r}})}e[0]===He?i[e[1][0]]=N(n):i[e[1][0][1]]=N(n)}function cn(e){const n={};return fn(e,n),n}function fn(e,n){if(null!==e)if(e[0]===Xe)for(const t of e[1][0])fn(t,n);else if(e[0]===Je)for(const t of Object.values(e[1][0]))fn(t,n);else if(e[0]===He){if(n[e[1][0]])throw new t(`Duplicate binding name: ${e[1][0]}`,e[2]);n[e[1][0]]=!0}else if(e[0]===Ge){if(n[e[1][0][1]])throw new t(`Duplicate binding name: ${e[1][0]}`,e[2]);n[e[1][0][1]]=!0}}function dn(e,n,t){const r={};return en(pn(e,n,t,r),e=>e?r:null)}function pn(e,n,t,r){if(e[0]===Qe)return!0;if(e[0]===Ze){const r=e[1][0];return en(t(r),e=>ne(n,e))}if(e[0]===Ge){const o=e[1][0],i=e[1][1];if(null==n){if(i)return en(t(i),e=>(r[o[1]]=N(e),!0));r[o[1]]=n??null}else r[o[1]]=N(n);return!0}if(e[0]===Je){if(!x(n))return!1;const o=new Set;let i;const a=Object.entries(e[1][0]);let s=!0;for(const[e,u]of a)s=en(s,a=>{if(!a)return!1;if(u[0]===He)return i=u,!0;o.add(e);const s=n[e];if(void 0===s&&u[0]===Ze)return en(t(u[1][0]),e=>ne(void 0,e));return en(void 0!==s?s:u[1]&&u[1][1]?t(u[1][1]):null,e=>pn(u,e??null,t,r))});return en(s,e=>{if(!e)return!1;if(i){const e=Object.entries(n).filter(([e])=>!o.has(e)).reduce((e,[n,t])=>(e[n]=N(t),e),{});r[i[1][0]]=e}return!0})}{const o=e;if(!Array.isArray(n))return!1;const i=o[1][0];let a=null;for(let e=0;e<i.length;e+=1){const n=i[e];if(null!==n&&n[0]===He){a=e;break}}if(null===a&&n.length!==i.length)return!1;if(null!==a&&n.length<a)return!1;let s=!0;for(let e=0;e<i.length;e+=1){const o=i[e];if(null===o)continue;if(o[0]===He){r[o[1][0]]=n.slice(e);break}const a=o;s=en(s,o=>!!o&&pn(a,N(n[e]),t,r))}return s}}const hn={arity:{},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>{const i=new Set;t([e[1][1]],n,r,o).forEach(e=>i.add(e));for(const[a,s,u]of e[1][2]){const e={};Object.assign(e,cn(a));const l=n.create(e);u&&t([u],l,r,o).forEach(e=>i.add(e)),t([s],l,r,o).forEach(e=>i.add(e))}return i}},yn={arity:X(1),getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t([e[1][1]],n,r,o)},mn={arity:{},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>{const i=t(e[1][1],n.create({}),r,o),a=e[1][2];if(!a||0===a.length)return i;let s=new Set;for(const[e,i]of a){s=re(s,t([e],n,r,o),t([i],n,r,o))}return re(i,s)}},vn={arity:{},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>function(e,n,t,r,o){const i=new Set,a={self:{value:null}};e[0].forEach(e=>{Object.assign(a,cn(e)),sn(e,e=>{oe(i,t([e],n,r,o))})});const s=n.create(a),u=t(e[1],s,r,o);return oe(i,u),i}(e[1][1],n,t,r,o)};const gn={arity:X(0),getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>{const i=e[1][1],a=i[1][0],s=i[1][1],u=t([s],n,r,o);return sn(a,e=>{oe(u,t([e],n,r,o))}),n.addValues(cn(a),a[2]),u}},bn={arity:{},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>{const i=e[1][1],a=i.reduce((e,n)=>{const t=cn(n[1][0]);return Object.keys(t).forEach(n=>{e[n]={value:!0}}),e},{});return re(t(i.map(e=>e[1][1]),n,r,o),t([e[1][2]],n.create(a),r,o))}};function xn(e,n,t,r,o){const i=new Set,a={},[,s,u]=e[1];return s.forEach(e=>{const[s,u,l,c]=e,[f,d]=s[1];t([d],n.create(a),r,o).forEach(e=>i.add(e)),Object.assign(a,cn(f)),u&&u.forEach(e=>{const[s,u]=e[1];t([u],n.create(a),r,o).forEach(e=>i.add(e)),Object.assign(a,cn(s))}),l&&t([l],n.create(a),r,o).forEach(e=>i.add(e)),c&&t([c],n.create(a),r,o).forEach(e=>i.add(e))}),t([u],n.create(a),r,o).forEach(e=>i.add(e)),i}const wn={arity:X(1),getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>xn(e,n,t,r,o)},kn={arity:X(1),getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>xn(e,n,t,r,o)},En={arity:{},evaluateAsNormalExpression:(e,n)=>{let t=!1;for(const r of e)if(t=N(r,n),t)break;return t},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1],n,r,o)},Sn={arity:{min:1},evaluateAsNormalExpression:(e,n)=>{for(const t of e){const e=N(t,n);if(null!==e)return e}return null},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1],n,r,o)},In={arity:{},evaluateAsNormalExpression:e=>{throw new n(e)},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1],n,r,o)},Nn={arity:{},evaluateAsNormalExpression:(e,n)=>{const t=[];for(const r of e)t.push(N(r,n));return t},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1],n,r,o)},Pn={arity:{},getUndefinedSymbols:()=>new Set},$n={arity:{},evaluateAsNormalExpression:(e,n)=>{const t={};for(let r=0;r<e.length;r+=2){const o=e[r],i=e[r+1];F(o,n),t[o]=i??null}return t},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1],n,r,o)},An={arity:X(1),getUndefinedSymbols:()=>new Set},Cn={arity:{min:1},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>re(...e[1][1].map(e=>t([e],n,r,o)))},jn={arity:{min:1},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>{const[,i,a]=e[1];return re(t([i],n,r,o),t(a,n,r,o))}},On={arity:{min:1},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>re(...e[1][1].map(e=>t([e],n,r,o)))},Mn={"??":0,"&&":1,"||":2,array:3,cond:4,"defined?":5,block:6,doseq:7,"0_lambda":8,for:9,if:10,let:11,loop:12,object:13,recur:14,match:15,unless:16,import:17,effect:18,perform:19,parallel:20,race:21},Un=[Sn,Ye,En,Nn,{arity:{},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1].flat(),n,r,o)},yn,mn,kn,vn,wn,{arity:{min:2,max:3},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1].filter(e=>!!e),n,r,o)},gn,bn,$n,In,hn,{arity:{},getUndefinedSymbols:(e,n,{getUndefinedSymbols:t,builtin:r,evaluateNode:o})=>t(e[1][1].filter(e=>!!e),n,r,o)},An,Pn,jn,Cn,On],Vn={normalExpressions:ze,specialExpressions:Un,allNormalExpressions:Ke},Rn=Object.keys(ze),Tn=Object.keys(Mn);function Bn(e){return"object"==typeof e&&null!==e&&"string"==typeof e.program&&Array.isArray(e.fileModules)}function Dn(e){return a.UserDefinedSymbol===e[0]}function _n(e,n){return function(e,n){if(!Dn(e))throw v("UserDefinedSymbolNode",e,n)}(e,n),e}function Fn(e){return a.NormalBuiltinSymbol===e[0]}function Ln(e){return a.SpecialBuiltinSymbol===e[0]}function qn(e){return!!function(e){return e[0]===a.NormalExpression}(e)&&function(e){const n=e[0];return a.UserDefinedSymbol===n||a.NormalBuiltinSymbol===n||a.SpecialBuiltinSymbol===n}(e[1][0])}function zn(e){return e[0]===a.Spread}const Wn=(e,n,t,r)=>{const o=Array.isArray(e)?e:[[a.SpecialExpression,[Mn.block,e.body,void 0]]],i=new Set;for(const e of o)Kn(e,n,t,r)?.forEach(e=>i.add(e));return i};function Kn(e,n,r,o){const i=e[0];switch(i){case a.UserDefinedSymbol:{const t=e;return null===n.lookUp(t)?new Set([t[1]]):null}case a.NormalBuiltinSymbol:case a.SpecialBuiltinSymbol:case a.String:case a.Number:case a.ReservedSymbol:case a.Binding:return null;case a.NormalExpression:{const t=e,i=new Set;if(qn(t)){const[,[e]]=t;if(Dn(e)){null===n.lookUp(e)&&i.add(e[1])}}else{const[,[e]]=t;Kn(e,n,r,o)?.forEach(e=>i.add(e))}for(const e of t[1][1])Kn(e,n,r,o)?.forEach(e=>i.add(e));return i}case a.SpecialExpression:{const t=e,i=t[1][0];return(0,r.specialExpressions[i].getUndefinedSymbols)(t,n,{getUndefinedSymbols:Wn,builtin:r,evaluateNode:o})}case a.Spread:return Kn(e[1],n,r,o);default:throw new t(`Unhandled node type: ${i}`,e[2])}}const Yn=["^","*","/","%","+","-","<<",">>",">>>","++","<","<=","≤",">",">=","≥","==","!=","!=","&","xor","|","&&","||","??","|>"],Gn=[...Yn,"?",":","->","...",".",",","=",":",";"],Hn=new Set(["comment","cond","defined?","block","doseq","if","let","loop","recur","unless","while"]);function Jn(e){return!Hn.has(e)}const Xn=new Set(Yn);function Zn(e){return Xn.has(e)}const Qn=new Set(Gn);function et(e){return Qn.has(e)}function nt(e,n){return"Symbol"===e?.[0]&&(!n||e[1]===n)}function tt(e,n){return function(e,n){nt(e,n)||Et("Symbol",void 0,e)}(e,n),e}function rt(e,n){return"ReservedSymbol"===e?.[0]&&(!n||e[1]===n)}function ot(e,n){rt(e,n)||Et("ReservedSymbol",n,e)}function it(e,n){return ot(e,n),e}function at(e,n){return"Operator"===e?.[0]&&(!n||e[1]===n)}function st(e,n){at(e,n)||Et("Operator",n,e)}function ut(e){return"Number"===e?.[0]}function lt(e){return"BasePrefixedNumber"===e?.[0]}function ct(e){return"LParen"===e?.[0]}function ft(e){ct(e)||Et("LParen",void 0,e)}function dt(e){return"RParen"===e?.[0]}function pt(e){dt(e)||Et("RParen",void 0,e)}function ht(e){return"LBracket"===e?.[0]}function yt(e){return function(e){ht(e)||Et("LBracket",void 0,e)}(e),e}function mt(e){return"RBracket"===e?.[0]}function vt(e){mt(e)||Et("RBracket",void 0,e)}function gt(e){return"LBrace"===e?.[0]}function bt(e){return function(e){gt(e)||Et("LBrace",void 0,e)}(e),e}function xt(e){return"RBrace"===e?.[0]}function wt(e){return"string"===e?.[0]}function kt(e){return"Operator"===e?.[0]&&Zn(e[1])}function Et(e,n,r){const o=r?`${r[0]} '${r[1]}'`:"end of input";throw new t(`Unexpected token: ${o}, expected ${e}${n?` '${n}'`:""}`,r?.[2])}function St(e,n){return n&&(e[2]=n),e}function It(e,n){return void 0!==Mn[e]&&"fn"!==e&&"defn"!==e?St([a.SpecialBuiltinSymbol,Mn[e]],n):void 0!==We[e]?St([a.NormalBuiltinSymbol,We[e]],n):St([a.UserDefinedSymbol,e],n)}function Nt(e){return e.substring(1,e.length-1).replace(/(\\{2})|(\\')|\\(.)/g,(e,n,t,r)=>n?"\\":t?"'":`\\${r}`)}const Pt=Object.entries(We).reduce((e,[n,t])=>(e[t]=n,e),[]),$t=Object.entries(Mn).reduce((e,[n,t])=>(e[t]=n,e),[]);function At(e){return Dn(e)?e[1]:Fn(e)?Pt[e[1]]:$t[e[1]]}function Ct(e,n,t){const r=St([a.NormalExpression,[e,n]],t);return Fn(e)&&J(Ke[e[1]].arity,r[1][1].length,t),r}function jt(e){if(e.isAtEnd())return!0;const n=e.tryPeek();return at(n)?[";",",",":"].includes(n[1]):!!rt(n)&&["else","when","while","case","let","then","end","do"].includes(n[1])}function Ot(e,n,r,o,i){const s=e[1];switch(s){case"^":case"*":case"/":case"%":case"+":case"-":case"<<":case">>":case">>>":case"++":case"<":case"<=":case"≤":case">":case">=":case"≥":case"==":case"!=":case"&":case"xor":case"|":case"|>":return Ct(n,[r,o],i);case"&&":case"||":case"??":return St([a.SpecialExpression,[Mn[s],[r,o]]],i);default:throw new t(`Unknown binary operator: ${s}`,i)}}class Mt{tokens;position;storedPosition=0;parseExpression;constructor(e){this.tokens=e.tokens,this.position=0}advance(){this.position+=1}tryPeek(){return this.tokens[this.position]}peek(){const e=this.tokens[this.position];if(!e){const e=this.tokens.at(-1),n=e?e[2]:void 0;throw new t("Unexpected end of input",n)}return e}isAtEnd(){return this.position>=this.tokens.length}peekSourceCodeInfo(){const e=this.tryPeek();return e?e[2]:this.tokens.at(-1)?.[2]}storePosition(){return this.storedPosition=this.position}restorePosition(){this.position=this.storedPosition}peekAhead(e){return this.tokens[this.position+e]}getPosition(){return this.position}getTokenAt(e){return this.tokens[e]}}function Ut(e,n){switch(e){case"^":return 12;case"*":case"/":case"%":return 11;case"+":case"-":return 10;case"<<":case">>":case">>>":return 9;case"++":return 8;case"<":case"<=":case"≤":case">":case">=":case"≥":return 7;case"==":case"!=":return 6;case"&":case"xor":case"|":return 5;case"&&":case"||":case"??":return 4;case"|>":return 2;default:throw new t(`Unknown binary operator: ${e}`,n)}}function Vt(e,n){const r=[];for(;!e.isAtEnd()&&!Rt(e,n);)at(e.tryPeek(),";")?e.advance():r.push(e.parseExpression());if(function(e,n){if(!Rt(e,n))throw new t(`Expected ${n.map(e=>e[1]).join(" or ")}`,e.peekSourceCodeInfo())}(e,n),0===r.length)throw new t("Expected expression",e.peekSourceCodeInfo());return 1===r.length?r[0]:St([a.SpecialExpression,[Mn.block,r,void 0]],e.peekSourceCodeInfo())}function Rt(e,n){for(const t of n)if(rt(e.tryPeek(),t))return!0;return!1}function Tt(e){const n=it(e.tryPeek(),"do");e.advance();const r=[];for(;!e.isAtEnd()&&!rt(e.tryPeek(),"end")&&!rt(e.tryPeek(),"with");)if(r.push(e.parseExpression()),at(e.tryPeek(),";"))e.advance();else if(!rt(e.tryPeek(),"end")&&!rt(e.tryPeek(),"with"))throw new t("Expected end",e.peekSourceCodeInfo());let o;if(rt(e.tryPeek(),"with"))for(e.advance(),o=[];!e.isAtEnd()&&!rt(e.tryPeek(),"end");){ot(e.tryPeek(),"case"),e.advance();const n=e.parseExpression();ot(e.tryPeek(),"then"),e.advance();const t=Vt(e,["case","end"]);o.push([n,t])}return ot(e.tryPeek(),"end"),e.advance(),St([a.SpecialExpression,[Mn.block,r,o]],n[2])}function Bt(e){const n=e.peek();if(e.advance(),!nt(n))throw new t(`Expected symbol token, got ${n[0]}`,n[2]);return"'"===n[1][0]?It(Nt(n[1]),n[2]):It(n[1],n[2])}function Dt(e,n){e.advance();const t=n[1].substring(1,n[1].length-1).replace(/(\\{2})|(\\")|(\\n)|(\\t)|(\\r)|(\\b)|(\\f)|\\(.)/g,(e,n,t,r,o,i,a,s,u)=>n?"\\":r?"\n":o?"\t":i?"\r":a?"\b":s?"\f":t?'"':u);return St([a.String,t],n[2])}function _t(e){const n=e.peek();e.advance();const t=n[1],r="-"===t[0],o=(r?t.substring(1):t).replace(/_/g,"");return St([a.Number,r?-Number(o):Number(o)],n[2])}function Ft(e,{requireDefaultValue:n,noRest:r,allowLiteralPatterns:o}={}){const i=e.tryPeek();if(o&&rt(i,"_"))return e.advance(),St([Qe,[]],i[2]);if(o&&qt(i)){if(ut(i)||lt(i)){const n=_t(e);return St([Ze,[n]],i[2])}if(wt(i)){const n=Dt(e,i);return St([Ze,[n]],i[2])}if(rt(i,"true")){e.advance();const n=St([a.ReservedSymbol,"true"],i[2]);return St([Ze,[n]],i[2])}if(rt(i,"false")){e.advance();const n=St([a.ReservedSymbol,"false"],i[2]);return St([Ze,[n]],i[2])}if(rt(i,"null")){e.advance();const n=St([a.ReservedSymbol,"null"],i[2]);return St([Ze,[n]],i[2])}}if(nt(i)){const r=Bt(e);if(!Dn(r))throw new t("Expected user defined symbol",i[2]);const o=Lt(e);if(n&&!o)throw new t("Expected assignment",e.peekSourceCodeInfo());return St([Ge,[r,o]],i[2])}if(at(i,"...")){if(r)throw new t("Rest element not allowed",i[2]);e.advance();const n=_n(Bt(e));if(at(e.tryPeek(),"="))throw new t("Rest argument can not have default value",e.peekSourceCodeInfo());return St([He,[n[1],void 0]],i[2])}if(ht(i)){e.advance();const r=[];let a=e.peek(),s=!1;for(;!mt(a);){if(s)throw new t("Rest argument must be last",a[2]);if(at(a,",")){r.push(null),e.advance(),a=e.peek();continue}const n=Ft(e,{allowLiteralPatterns:o});n[0]===He&&(s=!0),r.push(n),a=e.peek(),mt(a)||(st(a,","),e.advance()),a=e.peek()}e.advance();const u=Lt(e);if(n&&!u)throw new t("Expected assignment",e.peekSourceCodeInfo());return St([Xe,[r,u]],i[2])}if(gt(i)){e.advance();const r={};let a=e.peek(),s=!1;for(;!xt(a);){if(s)throw new t("Rest argument must be last",a[2]);at(a,"...")&&(s=!0,e.advance());const n=Bt(e),u=At(n);if(a=e.peek(),rt(a,"as")){if(s)throw new t("Rest argument can not have alias",a[2]);e.advance();const n=_n(Bt(e));if(r[n[1]])throw new t(`Duplicate binding name: ${n}`,a[2]);r[u]=St([Ge,[n,Lt(e)]],i[2])}else if(xt(a)||at(a,",")||at(a,"=")){const o=_n(n,n[2]);if(r[o[1]])throw new t(`Duplicate binding name: ${o}`,a[2]);if(s&&at(e.tryPeek(),"="))throw new t("Rest argument can not have default value",e.peekSourceCodeInfo());r[o[1]]=St(s?[He,[o[1],Lt(e)]]:[Ge,[o,Lt(e)]],i[2])}else if(at(a,":")){if(e.advance(),a=e.peek(),o){if(!gt(a)&&!ht(a)&&!qt(a))throw new t("Expected literal, object or array pattern",a[2])}else if(!gt(a)&&!ht(a))throw new t("Expected object or array",a[2]);r[u]=Ft(e,{allowLiteralPatterns:o})}xt(e.peek())||(st(e.peek(),","),e.advance()),a=e.peek()}e.advance(),a=e.peek();const u=Lt(e);if(n&&!u)throw new t("Expected assignment",a[2]);return St([Je,[r,u]],i[2])}throw new t("Expected symbol",e.peekSourceCodeInfo())}function Lt(e){if(at(e.tryPeek(),"="))return e.advance(),e.parseExpression()}function qt(e){return ut(e)||lt(e)||wt(e)||rt(e,"true")||rt(e,"false")||rt(e,"null")}function zt(e,n){e.advance();const t=Ft(e,{requireDefaultValue:!0,noRest:!0}),r=t[1][1];t[1][1]=void 0;const o=St([a.Binding,[t,r]],n[2]);return St([a.SpecialExpression,[Mn.let,o]],n[2])}function Wt(e){const n=function(e){const n=tt(e.tryPeek()),t=_n(Bt(e));ot(e.tryPeek(),"in"),e.advance();const r=e.parseExpression();return St([a.Binding,[St([Ge,[t,void 0]],n[2]),r]],n[2])}(e),r=[];let o=e.peek();Kt(o,["let","when","while"]);const i=[];if("let"===o[1])for(r.push("&let");nt(o,"let");){const n=zt(e,o),r=i.flatMap(e=>Object.keys(cn(e[1][0])));if(Object.keys(cn(n[1][1][1][0])).some(e=>r.includes(e)))throw new t("Duplicate binding",n[1][1][2]);i.push(n[1][1]),o=e.peek(),Kt(o,["let","when","while"]),o=e.peek()}let s,u;for(;rt(o,"when")||rt(o,"while");){e.advance(),"when"===o[1]?(r.push("&when"),s=e.parseExpression()):(r.push("&while"),u=e.parseExpression()),o=e.peek();Kt(o,r.includes("&when")&&r.includes("&while")?[]:r.includes("&when")?["while"]:["when"]),o=e.peek()}return Kt(o,[]),[n,i,s,u]}function Kt(e,n){if(!function(e,n){if(at(e,",")||dt(e))return!0;for(const t of n){if("let"===t&&nt(e,"let"))return!0;if(["when","while"].includes(t)&&rt(e,t))return!0}return!1}(e,n)){const r=`${[...n,","].map(e=>`"${e}"`).join(", ")} or ")"`;throw new t(`Expected symbol ${r}`,e[2])}}const Yt=(1+Math.sqrt(5))/2,Gt={E:Math.E,"-E":-Math.E,"ε":Math.E,"-ε":-Math.E,PI:Math.PI,"-PI":-Math.PI,"π":Math.PI,"-π":-Math.PI,PHI:Yt,"-PHI":-Yt,"φ":Yt,"-φ":-Yt,POSITIVE_INFINITY:Number.POSITIVE_INFINITY,"∞":Number.POSITIVE_INFINITY,NEGATIVE_INFINITY:Number.NEGATIVE_INFINITY,"-∞":Number.NEGATIVE_INFINITY,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,MIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,MAX_VALUE:Number.MAX_VALUE,MIN_VALUE:Number.MIN_VALUE,NaN:Number.NaN},Ht={true:!0,false:!1,null:null,do:null,else:null,case:null,each:null,in:null,when:null,while:null,function:null,as:null,then:null,end:null,with:null,_:null,...Gt};function Jt(e){const n=it(e.tryPeek());e.advance();const t=n[1];return function(e){return e in Gt}(t)?St([a.Number,Gt[t]],n[2]):St([a.ReservedSymbol,n[1]],n[2])}const Xt=/^\$([1-9]\d?)?$/;function Zt(e){const n=e.peek();if(ct(n)&&nt(e.peekAhead(1))&&at(e.peekAhead(2),"->"))return null;try{const r=function(e){const n=e.peek();if(nt(n))return[St([Ge,[Bt(e),void 0]],n[2])];ft(n),e.advance();let r=!1,o=!1;const i=[];for(;!e.isAtEnd()&&!dt(e.peek())&&!nt(e.peek(),"let");){if(r)throw new t("Rest argument must be last",e.peekSourceCodeInfo());const n=Ft(e);if(void 0!==n[1][1]&&(o=!0),n[0]===He&&(r=!0),o&&!n[1][1])throw new t("Default arguments must be last",e.peekSourceCodeInfo());if(i.push(n),!at(e.peek(),",")&&!dt(e.peek())&&!nt(e.peek(),"let"))throw new t("Expected comma or closing parenthesis",e.peekSourceCodeInfo());at(e.peek(),",")&&e.advance()}if(!dt(e.peek()))throw new t("Expected closing parenthesis",e.peekSourceCodeInfo());return e.advance(),i}(e);if(!at(e.peek(),"->"))return null;let o;if(e.advance(),rt(e.peek(),"do")){const n=Tt(e),t=n[1][2];o=t&&t.length>0?[n]:n[1][1]}else o=[e.parseExpression()];return St([a.SpecialExpression,[Mn["0_lambda"],[r,o]]],n[2])}catch{return null}}function Qt(e,n){if(e.advance(),Ln(n)&&n[1]===Mn.effect)return function(e,n){const r=n[2],o=e.peek();if(!nt(o))throw new t("effect expects a dotted name identifier",o[2]);let i=o[1];e.advance();for(;at(e.tryPeek(),".");){e.advance();const n=e.peek();if(!nt(n))throw new t("Expected identifier after dot in effect name",n[2]);i+=`.${n[1]}`,e.advance()}if(!dt(e.tryPeek()))throw new t("Expected closing parenthesis after effect name",e.peekSourceCodeInfo());return e.advance(),St([a.SpecialExpression,[Mn.effect,i]],r)}(e,n);const r=[];for(;!e.isAtEnd()&&!dt(e.tryPeek());){at(e.tryPeek(),"...")?(e.advance(),r.push(St([a.Spread,e.parseExpression()],e.peekSourceCodeInfo()))):r.push(e.parseExpression());const n=e.tryPeek();if(!at(n,",")&&!dt(n))throw new t("Expected comma or closing parenthesis",e.tryPeek()?.[2]);at(n,",")&&e.advance()}if(!dt(e.tryPeek()))throw new t("Expected closing parenthesis",e.peekSourceCodeInfo());if(e.advance(),!Ln(n))return Fn(n)||Dn(n)?Ct(n,r,n[2]):St([a.NormalExpression,[n,r]],n[2]);{const e=n[1];if(e===Mn.import){if(1!==r.length)throw new t(`import expects exactly 1 argument, got ${r.length}`,n[2]);const o=r[0];if(!Dn(o))throw new t("import expects a module name (symbol), got a non-symbol argument",o[2]??n[2]);const i=o[1];return St([a.SpecialExpression,[e,i]],n[2])}const o=e;switch(J(Vn.specialExpressions[o].arity,r.length,n[2]),o){case Mn["||"]:case Mn["&&"]:case Mn.recur:case Mn.array:case Mn.object:case Mn["??"]:return St([a.SpecialExpression,[o,r]],n[2]);case Mn["defined?"]:{const[e]=r;return St([a.SpecialExpression,[o,e]],n[2])}case Mn.perform:{const[e,...t]=r;return St([a.SpecialExpression,[o,e,t]],n[2])}case Mn.parallel:case Mn.race:return St([a.SpecialExpression,[o,r]],n[2]);case Mn["0_lambda"]:throw new t(`${o} is not allowed`,n[2]);default:throw new t(`Unknown special expression: ${o}`,n[2])}}}function er(e){const n=bt(e.tryPeek());e.advance();const r=[];for(;!e.isAtEnd()&&!xt(e.tryPeek());){if(at(e.tryPeek(),"..."))e.advance(),r.push(St([a.Spread,e.parseExpression()],e.peekSourceCodeInfo()));else{const n=e.tryPeek();if(wt(n)){const t=Dt(e,n);r.push(St([a.String,t[1]],n[2]))}else if(nt(n)){const t=n[1].startsWith("'")?Nt(n[1]):n[1];r.push(St([a.String,t],n[2])),e.advance()}else{if(!ht(n))throw new t("Expected key to be a symbol or a string",e.peekSourceCodeInfo());e.advance(),r.push(e.parseExpression()),vt(e.tryPeek()),e.advance()}st(e.tryPeek(),":"),e.advance(),r.push(e.parseExpression())}const n=e.tryPeek();if(!at(n,",")&&!xt(n))throw new t("Expected comma or closing brace",e.peekSourceCodeInfo());at(n,",")&&e.advance()}var o;return xt(o=e.tryPeek())||Et("RBrace",void 0,o),e.advance(),St([a.SpecialExpression,[Mn.object,r]],n[2])}function nr(e){let n=function(e){const n=e.peek();if(ct(n)){e.storePosition();const n=Zt(e);if(n)return n;e.restorePosition(),e.advance();const r=e.parseExpression();if(!dt(e.peek()))throw new t("Expected closing parenthesis",e.peekSourceCodeInfo());return e.advance(),r}if(at(n)){const r=n[1];if(Zn(r))return e.advance(),St(void 0!==Mn[r]?[a.SpecialBuiltinSymbol,Mn[r]]:[a.NormalBuiltinSymbol,We[r]],n[2]);if("->"===r)return function(e){const n=e.peek();e.advance();const r=e.getPosition();let o;if(rt(e.peek(),"do")){const n=Tt(e),t=n[1][2];o=t&&t.length>0?[n]:n[1][1]}else o=[e.parseExpression()];const i=e.getPosition()-1;let s=0,u="NOT_SET";for(let o=r;o<=i;o+=1){const r=e.getTokenAt(o);if(nt(r)){const e=Xt.exec(r[1]);if(e){const r=e[1]??"1";if("1"===r){if(!e[1]&&"WITH_1"===u||e[1]&&"NAKED"===u)throw new t("Please make up your mind, either use $ or $1",n[2]);u=e[1]?"WITH_1":"NAKED"}if(s=Math.max(s,Number(r)),s>20)throw new t("Can't specify more than 20 arguments",n[2])}}}const l=[];for(let e=1;e<=s;e+=1)1===e&&"NAKED"===u?l.push(St([Ge,[[a.UserDefinedSymbol,"$"],void 0]],n[2])):l.push(St([Ge,[[a.UserDefinedSymbol,`$${e}`],void 0]],n[2]));return St([a.SpecialExpression,[Mn["0_lambda"],[l,o]]],n[2])}(e);throw new t(`Illegal operator: ${r}`,n[2])}if(gt(n))return er(e);if(ht(n))return function(e){const n=yt(e.tryPeek());e.advance();const r=[];for(;!e.isAtEnd()&&!mt(e.tryPeek());){at(e.tryPeek(),"...")?(e.advance(),r.push(St([a.Spread,e.parseExpression()],e.peekSourceCodeInfo()))):r.push(e.parseExpression());const n=e.tryPeek();if(!at(n,",")&&!mt(n))throw new t("Expected comma or closing parenthesis",e.peekSourceCodeInfo());at(n,",")&&e.advance()}return vt(e.tryPeek()),e.advance(),St([a.SpecialExpression,[Mn.array,r]],n[2])}(e);const r=n[0];switch(r){case"Number":case"BasePrefixedNumber":return _t(e);case"string":return Dt(e,n);case"Symbol":{e.storePosition();const n=Zt(e);return n||(e.restorePosition(),Bt(e))}case"ReservedSymbol":return Jt(e);case"RegexpShorthand":return function(e){const n=e.peek();e.advance();const t=n[1].lastIndexOf('"'),r=n[1].substring(2,t),o=n[1].substring(t+1),i=St([a.String,r],n[2]),s=St([a.String,o],n[2]);return St([a.NormalExpression,[St([a.NormalBuiltinSymbol,We.regexp],n[2]),[i,s]]],n[2])}(e);default:throw new t(`Unknown token type: ${r}`,n[2])}}(e),r=e.tryPeek();for(;at(r,".")||ht(r)||ct(r);)if("."===r[1]){e.advance();const o=e.tryPeek();if(!nt(o))throw new t("Expected symbol",e.peekSourceCodeInfo());n=tr(n,St([a.String,o[1]],o[2]),r[2]),e.advance(),r=e.tryPeek()}else if(ht(r)){e.advance();const o=e.parseExpression();if(!mt(e.tryPeek()))throw new t("Expected closing bracket",e.peekSourceCodeInfo());n=tr(n,o,r[2]),e.advance(),r=e.tryPeek()}else ct(r)&&(n=Qt(e,n),r=e.tryPeek());return n}function tr(e,n,t){return St([a.NormalExpression,[[a.NormalBuiltinSymbol,We.get],[e,n]]],t)}function rr(e,n=0){const r=e.tryPeek();let o;if(nt(r))switch(r[1]){case"let":return zt(e,r);case"if":case"unless":o=function(e,n){const t="unless"===n[1];e.advance();const r=e.parseExpression();ot(e.tryPeek(),"then"),e.advance();const o=Vt(e,["else","end"]);let i;return rt(e.tryPeek(),"else")&&(e.advance(),i=Vt(e,["end"])),e.advance(),St(t?[a.SpecialExpression,[Mn.unless,[r,o,i]]]:[a.SpecialExpression,[Mn.if,[r,o,i]]],n[2])}(e,r);break;case"cond":o=function(e,n){e.advance();const t=[];for(;!e.isAtEnd()&&!rt(e.tryPeek(),"end");){ot(e.tryPeek(),"case"),e.advance();const n=e.parseExpression();ot(e.tryPeek(),"then"),e.advance();const r=Vt(e,["case","end"]);if(t.push([n,r]),rt(e.tryPeek(),"end"))break}return ot(e.tryPeek()),e.advance(),St([a.SpecialExpression,[Mn.cond,t]],n[2])}(e,r);break;case"match":o=function(e,n){e.advance();const t=e.parseExpression(),r=[];for(;!e.isAtEnd()&&!rt(e.tryPeek(),"end");){ot(e.tryPeek(),"case"),e.advance();const n=Ft(e,{allowLiteralPatterns:!0});let t;rt(e.tryPeek(),"when")&&(e.advance(),t=e.parseExpression()),ot(e.tryPeek(),"then"),e.advance();const o=Vt(e,["case","end"]);if(r.push([n,o,t]),rt(e.tryPeek(),"end"))break}return ot(e.tryPeek(),"end"),e.advance(),St([a.SpecialExpression,[Mn.match,t,r]],n[2])}(e,r);break;case"for":case"doseq":o=function(e,n){const r="doseq"===n[1];e.advance(),ft(e.tryPeek()),e.advance();const o=[];for(;!e.isAtEnd()&&!dt(e.tryPeek());){const n=Wt(e),r=o.flatMap(e=>Object.keys(cn(e[0][1][0]))),i=cn(n[0][1][0]);if(Object.keys(i).some(e=>r.includes(e)))throw new t("Duplicate binding",n[0][2]);o.push(n),at(e.tryPeek(),",")&&e.advance()}pt(e.tryPeek()),e.advance(),st(e.tryPeek(),"->"),e.advance();const i=e.parseExpression();return St(r?[a.SpecialExpression,[Mn.doseq,o,i]]:[a.SpecialExpression,[Mn.for,o,i]],n[2])}(e,r);break;case"loop":o=function(e,n){e.advance(),ft(e.tryPeek()),e.advance();const r=[];let o=e.tryPeek();for(;!e.isAtEnd()&&!dt(o);){const n=Ft(e,{requireDefaultValue:!0,noRest:!0}),t=n[1][1];n[1][1]=void 0,r.push(St([a.Binding,[n,t]],n[2])),at(e.tryPeek(),",")&&e.advance(),o=e.tryPeek()}if(0===r.length)throw new t("Expected binding",e.peekSourceCodeInfo());pt(o),e.advance(),st(e.tryPeek(),"->"),e.advance();const i=e.parseExpression();return St([a.SpecialExpression,[Mn.loop,r,i]],n[2])}(e,r)}else rt(r,"do")&&(o=Tt(e));o||=nr(e);let i=e.tryPeek();for(;!jt(e);){if(kt(i)){const t=i[1],r=Ut(t,i[2]);if(r<=n&&(12!==r||12!==n))break;const s=St(Mn[t]?[a.SpecialBuiltinSymbol,Mn[t]]:[a.NormalBuiltinSymbol,We[t]],i[2]);e.advance();o=Ot(i,s,o,rr(e,r),i[2])}else if(nt(i)){if(!Jn(i[1]))break;const r=3;if(r<=n)break;const a=Bt(e),s=rr(e,r);if(Ln(a))throw new t("Special expressions are not allowed in binary functional operators",a[2]);o=Ct(a,[o,s],i[2])}else{if("?"!==i?.[1])break;{if(1<=n)break;e.advance();const r=rr(e);if(!at(e.tryPeek(),":"))throw new t("Expected :",e.peekSourceCodeInfo());e.advance();const i=rr(e);o=St([a.SpecialExpression,[Mn.if,[o,r,i]]],o[2])}}i=e.tryPeek()}return o}function or(e){e.tokens.forEach(e=>{if("Error"===e[0])throw new t(e[3],e[2])});const n=[],r=function(e){const n=new Mt(e);return n.parseExpression=(e=0)=>rr(n,e),n}(e);for(;!r.isAtEnd();)if(n.push(rr(r,0)),at(r.tryPeek(),";"))r.advance();else if(!r.isAtEnd())throw new t("Expected ;",r.peekSourceCodeInfo());return n}function ir(e,{removeWhiteSpace:n}){const t=e.tokens.filter(e=>!(function(e){return"SingleLineComment"===e?.[0]}(e)||function(e){return"MultiLineComment"===e?.[0]}(e)||function(e){return"Shebang"===e?.[0]}(e)||n&&function(e){return"Whitespace"===e?.[0]}(e)));return{...e,tokens:t}}const ar=["(",")","[","]","{","}","'",'"',"`",",",".",";"," ","\n","\r","\t"],sr=["0","1","2","3","4","5","6","7","8","9",...ar],ur=new Set(ar),lr=new Set(sr),cr=/\s/,fr=[0],dr=(e,n)=>{if('"'!==e[n])return fr;let t='"',r=1,o=e[n+r],i=!1;for(;o&&('"'!==o||i);)r+=1,i?(i=!1,t+=o):("\\"===o&&(i=!0),t+=o),o=e[n+r];return o?(t+='"',[r+1,["string",t]]):[r,["Error",t,void 0,`Unclosed string at position ${n}`]]};function pr(e,n,t,r){return n===t.slice(r,r+n.length)?[n.length,[e,n]]:fr}const hr=/\d/,yr=/[0-7]/,mr=/[0-9a-f]/i,vr=/[01]/,gr=/[\s)\]}(,;]/,br=(e,n)=>{let t=e[n];if("'"===t){let r=1,o=e[n+r],i=!1;for(;"'"!==o||i;){if(void 0===o)return[r,["Error",t,void 0,`Unclosed quoted symbol at position ${n}`]];r+=1,i?(i=!1,t+=o):("\\"===o&&(i=!0),t+=o),o=e[n+r]}return t+="'",[r+1,["Symbol",t]]}if(!lr.has(t)){const r=n;let o=e[n+=1];for(;o&&!ur.has(o);)t+=o,o=e[n+=1];return t.endsWith(":")?[n-r-1,["Symbol",t.slice(0,-1)]]:[n-r,["Symbol",t]]}return fr},xr=[(e,n)=>{let t=e[n];if(!t||!cr.test(t))return fr;let r=t;for(t=e[n+=1];t&&cr.test(t);)r+=t,t=e[n+=1];return[r.length,["Whitespace",r]]},(e,n)=>{if("/"===e[n]&&"*"===e[n+1]){let t=2,r="/*";for(;("*"!==e[n+t]||"/"!==e[n+t+1])&&n+t+1<e.length;)r+=e[n+t],t+=1;return n+t+1>=e.length?[t,["Error",r,void 0,`Unclosed multi-line comment at position ${n}`]]:(r+="*/",t+=2,[t,["MultiLineComment",r]])}return fr},(e,n)=>{if("/"===e[n]&&"/"===e[n+1]){let t=2,r="//";for(;"\n"!==e[n+t]&&n+t<e.length;)r+=e[n+t],t+=1;return[t,["SingleLineComment",r]]}return fr},(e,n)=>{const t=br(e,n);if(0===t[0]||!t[1])return fr;let r=t[1][1];r=r.startsWith("'")?r.slice(1,r.length-1):r;return void 0===Ht[r]?fr:[t[0],["ReservedSymbol",r]]},(e,n)=>pr("LParen","(",e,n),(e,n)=>pr("RParen",")",e,n),(e,n)=>pr("LBracket","[",e,n),(e,n)=>pr("RBracket","]",e,n),(e,n)=>pr("LBrace","{",e,n),(e,n)=>pr("RBrace","}",e,n),dr,(e,n)=>{if("#"!==e[n])return fr;const[t,r]=dr(e,n+1);if(!r)return fr;if("Error"===r[0]){return[t+1,["Error",`#${r[1]}`,void 0,`Unclosed regexp at position ${n}`]]}n+=t+1;let o=t+1,i="";for(;"g"===e[n]||"i"===e[n];)if(i+=e[n],o+=1,n+=1,i.includes(e[n]))return[o,["Error",`#${r[1]}${i}`,void 0,`Duplicated regexp option "${e[n]}"`]];return[o,["RegexpShorthand",`#${r[1]}${i}`]]},(e,n)=>{if("0"!==e[n])return fr;const t=e[n+1],r="b"===t||"B"===t?"binary":"o"===t||"O"===t?"octal":"x"===t||"X"===t?"hex":null;if(null===r)return fr;let o;for(o=n+2;o<e.length;o+=1){const n=e[o];if("binary"===r&&!vr.test(n))break;if("octal"===r&&!yr.test(n))break;if("hex"===r&&!mr.test(n))break}const i=o-n;if(i<=2)return fr;const a=e[o];return a&&!gr.test(a)?fr:[i,["BasePrefixedNumber",e.substring(n,o)]]},(e,n)=>{let t;const r="-"===e[n],o="+"===e[n],i=r||o?n+1:n;let a=!1,s=!1;for(t=i;t<e.length;t+=1){const r=e[t];if("_"===r){if(!hr.test(e[t-1])||!hr.test(e[t+1]))return t===i?fr:[t-n+1,["Error",e.substring(n,t+1),void 0,`Invalid number format at position ${t+1}`]]}else if("."===r){if(t===i)return fr;if(a||s)return[t-n+1,["Error",e.substring(n,t+1),void 0,`Invalid number format at position ${t+1}`]];a=!0}else if("e"===r||"E"===r){if(t===i)return fr;if(s)return[t-n+1,["Error",e.substring(n,t+1),void 0,`Invalid number format at position ${t+1}`]];if("."===e[t-1]||"+"===e[t-1]||"-"===e[t-1])return[t-n+1,["Error",e.substring(n,t+1),void 0,`Invalid number format at position ${t+1}`]];"+"!==e[t+1]&&"-"!==e[t+1]||(t+=1),s=!0}else if(!hr.test(r))break}if((r||o)&&t===i)return fr;const u=t-n;if(0===u)return fr;const l=e[t];return l&&":"!==l&&!gr.test(l)?[t-n+1,["Error",e.substring(n,t+1),void 0,`Invalid number format at position ${t+1}`]]:[u,["Number",e.substring(n,t)]]},(e,n)=>{const t=e.slice(n,n+3);if(n+2<e.length&&et(t))return[3,["Operator",t]];const r=e.slice(n,n+2);if(n+1<e.length&&et(r))return[2,["Operator",r]];const o=e[n]??"";return et(o)?[1,["Operator",o]]:fr},br];function wr(e,n,t){let r=0;const o={tokens:[],filePath:t,hasDebugData:n};for(;r<e.length;){const i=n?kr(e,r,t):void 0,a=Er(e,r),[s,u]=a;r+=s,u&&(i&&(u[2]=i),o.tokens.push(u))}return o}function kr(e,n,t){const r=e.substring(0,n+1).split(/\r\n|\r|\n/),o=r[r.length-1],i=function(e,n){return e.split(/\r\n|\r|\n/)[n]}(e,r.length-1);return{code:i,position:{line:r.length,column:o.length},filePath:t}}function Er(e,n){const t=n;if(0===n){const[r,o]=((e,n)=>{if("#"===e[n]&&"!"===e[n+1]){let t=2,r="#!";for(;"\n"!==e[n+t]&&n+t<e.length;)r+=e[n+t],t+=1;return[t,["SingleLineComment",r]]}return fr})(e,n);if(n+=r,r>0)return[n-t,o]}for(const r of xr){const[o,i]=r(e,n);if(n+=o,0!==o)return[n-t,i]}return[1,["Error",e[t],void 0,"Unrecognized character"]]}function Sr(e,n){if("*"===n)return!0;if(n.endsWith(".*")){const t=n.slice(0,-2);return e===t||e.startsWith(`${t}.`)}return e===n}function Ir(e,n){if(!n)return[];const t=[];for(const[r,o]of Object.entries(n))Sr(e,r)&&t.push([r,o]);return t}class Nr{k;snapshots;nextSnapshotIndex;meta;_brand="SuspensionSignal";constructor(e,n,t,r){this.k=e,this.snapshots=n,this.nextSnapshotIndex=t,this.meta=r}}function Pr(e){return e instanceof Nr}class $r{continuation;value;trimToIndex;_brand="ResumeFromSignal";constructor(e,n,t){this.continuation=e,this.value=n,this.trimToIndex=t}}function Ar(e){return e instanceof $r}const Cr=new Map;function jr(e){let n=Cr.get(e);return n||(n={[d]:!0,name:e},Cr.set(e,n)),n}class Or{_contexts;globalContext;values;modules;valueModules;pure;constructor({contexts:e,values:n,modules:t,valueModules:r,pure:o}){this.globalContext=g(e[0]),this._contexts=e,this.values=n,this.modules=t??new Map,this.valueModules=r??new Map,this.pure=o??!1}getContextsRaw(){return this._contexts}getHostValues(){return this.values}getModuleScopeBindings(){const e=this._contexts[0],n={};for(const[t,r]of Object.entries(e))n[t]=r.value;return n}getGlobalContextIndex(){return this._contexts.indexOf(this.globalContext)}static fromDeserialized(e){const n=new Or({contexts:e.contexts,values:e.values,modules:e.modules,pure:e.pure});return e.globalContextIndex>=0&&e.globalContextIndex<e.contexts.length&&(n.globalContext=e.contexts[e.globalContextIndex]),n}setContextsFromDeserialized(e,n){this._contexts=e,n>=0&&n<e.length&&(this.globalContext=e[n])}getModule(e){return this.modules.get(e)}getValueModule(e){return this.valueModules.has(e)?{value:this.valueModules.get(e),found:!0}:{value:void 0,found:!1}}registerValueModule(e,n){this.valueModules.set(e,n)}create(e){const n=this.globalContext,t=new Or({contexts:[e,...this._contexts],values:this.values,modules:this.modules,valueModules:this.valueModules,pure:this.pure});return t.globalContext=n,t}new(e){return new Or({contexts:[{},e],modules:this.modules,valueModules:this.valueModules,pure:this.pure})}addValues(e,n){const r=this._contexts[0];for(const[o,i]of Object.entries(e)){if(r[o])throw new t(`Cannot redefine value "${o}"`,n);const e=Mr(o);if(e)throw new t(`Cannot shadow ${e}`,n);r[o]={value:te(i)}}}getValue(e){for(const n of this._contexts){const t=n[e];if(t)return t.value}return this.values?.[e]}lookUp(e){const n=e[1];for(const e of this._contexts){const t=e[n];if(t)return t}const t=this.values?.[n];return void 0!==t?{value:te(t)}:null}evaluateSymbol(e){if(Ln(e)){const n=e[1];switch(n){case Mn["&&"]:case Mn["||"]:case Mn.array:case Mn.object:case Mn["defined?"]:case Mn.recur:case Mn["??"]:{const t=g(Vn.specialExpressions[n],e[2]);return{[c]:!0,functionType:"SpecialBuiltin",specialBuiltinSymbolType:n,sourceCodeInfo:e[2],arity:t.arity}}default:throw new t(`Unknown special builtin symbol type: ${n}`,e[2])}}if(Fn(e)){const n=e[1],t=Ke[n],r=t.name;return{[c]:!0,functionType:"Builtin",normalBuiltinSymbolType:n,sourceCodeInfo:e[2],arity:t.arity,name:r}}const n=this.lookUp(e);if(x(r=n)&&void 0!==r.value)return n.value;var r;throw new i(e[1],e[2])}}function Mr(e){return Tn.includes(e)?`special expression "${e}"`:Rn.includes(e)?`builtin function "${e}"`:"self"===e?`builtin value "${e}"`:null}function Ur(e){const n=Mr(e);if(n)throw new t(`Cannot shadow ${n}`,void 0)}function Vr(e={},n,r){const o=e.globalContext??{},i=e.contexts?[o,...e.contexts]:[o];let a;if(e.bindings)for(const[n,r]of Object.entries(e.bindings)){if(n.includes("."))throw new t(`Dots are not allowed in binding keys: "${n}"`,void 0);Ur(n),a||(a={}),a[n]=r}const s=new Or({contexts:i,values:a,modules:n,pure:r});return e.globalModuleScope?s:s.create({})}function Rr(e,n){return Math.imul(e^255&n,16777619)}function Tr(e,n){return e=Rr(e,n),e=Rr(e,n>>>8),e=Rr(e,n>>>16),e=Rr(e,n>>>24)}function Br(e,n){for(let t=0;t<n.length;t++){const r=n.charCodeAt(t);e=Rr(e,r),e=Rr(e,r>>>8)}return e}function Dr(e){let n=2166136261;if(null===e)return n=Rr(n,0),n>>>0;if(void 0===e)return n=Rr(n,7),n>>>0;const t=typeof e;if("boolean"===t)return n=Rr(n,e?1:2),n>>>0;if("number"===t)return n=Rr(n,3),n=Br(n,Object.is(e,-0)?"-0":String(e)),n>>>0;if("string"===t)return n=Rr(n,4),n=Br(n,e),n>>>0;if(Array.isArray(e)){n=Rr(n,5),n=Tr(n,e.length);for(let t=0;t<e.length;t++)n=Tr(n,Dr(e[t]));return n>>>0}n=Rr(n,6);const r=Object.keys(e).sort();n=Tr(n,r.length);for(const t of r)n=Br(n,t),n=Tr(n,Dr(e[t]));return n>>>0}function _r(e,n){if(e===n)return!0;if(null===e||null===n)return!1;if(typeof e!=typeof n)return!1;if(Array.isArray(e)){if(!Array.isArray(n))return!1;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!_r(e[t],n[t]))return!1;return!0}if("object"!=typeof e)return!1;const t=e,r=n,o=Object.keys(t),i=Object.keys(r);if(o.length!==i.length)return!1;for(const e of o){if(!(e in r))return!1;if(!_r(t[e],r[e]))return!1}return!0}function Fr(e){if(null===e)return 4;if(void 0===e)return 9;const n=typeof e;if("boolean"===n)return e?4:5;if("number"===n)return String(e).length;if("string"===n)return e.length+2;if(Array.isArray(e)){let n=2;for(let t=0;t<e.length;t++)n+=Fr(e[t])+1;return n}const t=e,r=Object.keys(t);let o=2;for(const e of r)o+=e.length+2+1+Fr(t[e])+1;return o}function Lr(e,n,t,r){if(null===e||"object"!=typeof e)return Dr(e);if(Array.isArray(e))for(let t=0;t<e.length;t++)Lr(e[t],n,{parent:e,key:t});else{const t=e;for(const e of Object.keys(t))Lr(t[e],n,{parent:t,key:e})}const o=Dr(e),i=Fr(e);if(t&&i>=1){let r,a=n.get(o);a||(a=[],n.set(o,a));for(const n of a)if(_r(n.value,e)){r=n;break}r?r.locations.push(t):a.push({hash:o,value:zr(e),size:i,locations:[t]})}return o}function qr(e,n){if(null===e||"object"!=typeof e)return e;if(function(e){return null!==e&&"object"==typeof e&&"__poolRef"in e&&"number"==typeof e.__poolRef&&1===Object.keys(e).length}(e)){const t=e.__poolRef;if(!(t in n))throw new Error(`Unknown pool ref: ${t}`);return qr(n[t],n)}if(Array.isArray(e))return e.map(e=>qr(e,n));const t=e,r={};for(const e of Object.keys(t))r[e]=qr(t[e],n);return r}function zr(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>zr(e));const n=e,t={};for(const e of Object.keys(n))t[e]=zr(n[e]);return t}function Wr(e,n){const t=new Map;let r=0;function o(e){if(e instanceof Or){if(t.has(e))return;t.set(e,r++);for(const n of e.getContextsRaw())for(const e of Object.values(n))o(e.value)}else if(Array.isArray(e))for(const n of e)o(n);else if(null!==e&&"object"==typeof e)for(const n of Object.values(e))o(n)}function i(e,n){if(e instanceof Or)return{__csRef:t.get(e)};if(Array.isArray(e))return e.map((e,n)=>i(e));if(null!==e&&"object"==typeof e){const n={};for(const[t,r]of Object.entries(e))n[t]=i(r);return n}return e}o(e),void 0!==n&&o(n);const a=Array.from(t.entries()).map(([e,n])=>({id:n,contexts:e.getContextsRaw().map((e,n)=>{const t={};for(const[n,r]of Object.entries(e))t[n]={value:i(r.value)};return t}),globalContextIndex:e.getGlobalContextIndex(),pure:e.pure})),s=i(e),u=void 0!==n?i(n):void 0;return{version:2,contextStacks:a,k:s,...void 0!==u?{meta:u}:{}}}function Kr(e,n,t,r){const o=Wr(e,r);n.length>0&&(o.snapshots=n),o.nextSnapshotIndex=t;const i=[o.contextStacks,o.k];if(void 0!==o.meta&&i.push(o.meta),o.snapshots)for(const e of o.snapshots)i.push(e);const{roots:a,pool:s}=function(e,n=200){const t=e.map(e=>zr(e)),r=new Map;for(let e=0;e<t.length;e++)Lr(t[e],r,null);const o={};let i=0;const a=Array.from(r.values()).flat().filter(e=>e.locations.length>1&&e.size>=n).sort((e,n)=>n.size-e.size),s=new Map;for(const e of a){if(s.has(e))continue;const n=i++;o[n]=e.value,s.set(e,n);for(const t of e.locations)Array.isArray(t.parent),t.parent[t.key]={__poolRef:n}}return{roots:t,pool:o}}(i,200);let u=0;if(o.contextStacks=a[u++],o.k=a[u++],void 0!==o.meta&&(o.meta=a[u++]),o.snapshots)for(let e=0;e<o.snapshots.length;e++)o.snapshots[e]=a[u++];return Object.keys(s).length>0&&(o.pool=s),o}function Yr(e,n){let r=e;if(2!==r.version)throw new t(`Unsupported suspension blob version: ${r.version} (expected 2)`,void 0);if(r.pool&&Object.keys(r.pool).length>0){const e=r.pool;r={...r,contextStacks:qr(r.contextStacks,e),k:qr(r.k,e),...void 0!==r.meta?{meta:qr(r.meta,e)}:{},...r.snapshots?{snapshots:r.snapshots.map(n=>qr(n,e))}:{}},delete r.pool}const o=new Map;for(const e of r.contextStacks){const t=e.contexts.map(()=>({})),r=Or.fromDeserialized({contexts:t,globalContextIndex:e.globalContextIndex,values:n?.values,modules:n?.modules,pure:e.pure});o.set(e.id,r)}function i(e){if(function(e){return null!==e&&"object"==typeof e&&"__csRef"in e&&"number"==typeof e.__csRef}(e)){const n=o.get(e.__csRef);if(!n)throw new t(`Invalid suspension blob: unknown context stack ref ${e.__csRef}`,void 0);return n}if(Array.isArray(e))return e.map(i);if(null!==e&&"object"==typeof e){const n={};for(const[t,r]of Object.entries(e))n[t]=i(r);return n}return e}for(const e of r.contextStacks){const n=o.get(e.id),t=e.contexts.map(e=>{const n=e,t={};for(const[e,r]of Object.entries(n))t[e]={value:i(r.value)};return t});n.setContextsFromDeserialized(t,e.globalContextIndex)}return{k:i(r.k),meta:void 0!==r.meta?i(r.meta):void 0,snapshots:r.snapshots??[],nextSnapshotIndex:r.nextSnapshotIndex??0}}function Gr(){return"undefined"!=typeof process&&"function"==typeof process.stdout?.write}function Hr(e){return"string"==typeof e?e:null===e?"null":"number"==typeof e||"boolean"==typeof e?String(e):w(e)?"Builtin"===e.functionType?`<builtin function ${e.normalBuiltinSymbolType}>`:`<function ${e.n??"λ"}>`:R(e)?`<effect ${e.name}>`:U(e)?`/${e.s}/${e.f}`:"object"==typeof e&&e instanceof RegExp?`${e}`:JSON.stringify(Jr(e),null,2)}function Jr(e){if(e===Number.POSITIVE_INFINITY)return"∞";if(e===Number.NEGATIVE_INFINITY)return"-∞";if(w(e))return Hr(e);if(R(e))return Hr(e);if(U(e))return Hr(e);if(Array.isArray(e))return e.map(Jr);if("object"==typeof e&&null!==e){const n={};for(const[t,r]of Object.entries(e))n[t]=Jr(r);return n}return e}const Xr={"dvala.io.print":{handler:function(e,n){const t=e[0],r=Hr(t);return Gr()?process.stdout.write(r):console.log(r),{type:"Value",value:t,k:n}},arity:X(1)},"dvala.io.println":{handler:function(e,n){const t=e[0],r=Hr(t);return Gr()?process.stdout.write(`${r}\n`):"function"==typeof globalThis.alert?globalThis.alert(r):console.log(r),{type:"Value",value:t,k:n}},arity:X(1)},"dvala.io.error":{handler:(e,n)=>{const t=e[0],r=Hr(t);return Gr()?process.stderr.write(`${r}\n`):console.error(r),{type:"Value",value:t,k:n}},arity:X(1)},"dvala.io.read-line":{handler:(e,n,r)=>{const o="string"==typeof e[0]?e[0]:"";if("function"==typeof globalThis.prompt){return{type:"Value",value:globalThis.prompt(o)??null,k:n}}throw new t('dvala.io.read-line is not supported in this environment. In Node.js, register a "dvala.io.read-line" host handler.',r)},arity:{min:0,max:1}},"dvala.io.read-stdin":{handler:(e,n,r)=>{if(!Gr()||!process.stdin)throw new t("dvala.io.read-stdin is not supported in this environment. Node.js is required.",r);return new Promise((e,t)=>{const r=[];process.stdin.setEncoding("utf-8"),process.stdin.on("data",e=>r.push(e)),process.stdin.on("end",()=>e({type:"Value",value:r.join(""),k:n})),process.stdin.on("error",e=>t(e)),process.stdin.resume()})},arity:X(0)},"dvala.random":{handler:(e,n)=>({type:"Value",value:Math.random(),k:n}),arity:X(0)},"dvala.random.uuid":{handler:(e,n)=>({type:"Value",value:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const n=16*Math.random()|0;return("x"===e?n:3&n|8).toString(16)}),k:n}),arity:X(0)},"dvala.random.int":{handler:(e,n,r)=>{const o=e[0],i=e[1];if("number"!=typeof o||!Number.isInteger(o))throw new t(`dvala.random.int: min must be an integer, got ${"number"==typeof o?o:typeof o}`,r);if("number"!=typeof i||!Number.isInteger(i))throw new t(`dvala.random.int: max must be an integer, got ${"number"==typeof i?i:typeof i}`,r);if(i<=o)throw new t(`dvala.random.int: max (${i}) must be greater than min (${o})`,r);return{type:"Value",value:Math.floor(Math.random()*(i-o))+o,k:n}},arity:X(2)},"dvala.random.item":{handler:(e,n,r)=>{const o=e[0];if(!Array.isArray(o))throw new t("dvala.random.item: argument must be an array, got "+typeof o,r);if(0===o.length)throw new t("dvala.random.item: cannot pick from an empty array",r);return{type:"Value",value:o[Math.floor(Math.random()*o.length)],k:n}},arity:X(1)},"dvala.random.shuffle":{handler:(e,n,r)=>{const o=e[0];if(!Array.isArray(o))throw new t("dvala.random.shuffle: argument must be an array, got "+typeof o,r);const i=Array.from(o);for(let e=i.length-1;e>0;e--){const n=Math.floor(Math.random()*(e+1)),t=i[e];i[e]=i[n],i[n]=t}return{type:"Value",value:i,k:n}},arity:X(1)},"dvala.time.now":{handler:(e,n)=>({type:"Value",value:Date.now(),k:n}),arity:X(0)},"dvala.time.zone":{handler:(e,n)=>({type:"Value",value:Intl.DateTimeFormat().resolvedOptions().timeZone,k:n}),arity:X(0)},"dvala.checkpoint":{handler:(e,n)=>({type:"Value",value:null,k:n}),arity:{min:0,max:1}},"dvala.sleep":{handler:(e,n,r)=>{const o=e[0];if("number"!=typeof o||o<0)throw new t(`dvala.sleep requires a non-negative number argument, got ${"number"==typeof o?o:typeof o}`,r);return new Promise(e=>{setTimeout(()=>e({type:"Value",value:null,k:n}),o)})},arity:X(1)}};function Zr(e,n){switch(e[0]){case a.Number:case a.String:return e[1];case a.NormalBuiltinSymbol:case a.SpecialBuiltinSymbol:case a.UserDefinedSymbol:return n.evaluateSymbol(e);case a.ReservedSymbol:return ao(e);case a.NormalExpression:{const r=function(e,n){const r=e[2];return en(function(e,n){const r=[],o=[],i=on(e,(e,i)=>zn(e)?en(Zr(e[1],n),n=>{if(!Array.isArray(n))throw new t(`Spread operator requires an array, got ${y(e)}`,e[2]);r.push(...n)}):e[0]!==a.ReservedSymbol||"_"!==e[1]?en(Zr(e,n),e=>{r.push(e)}):void o.push(i));return en(i,()=>({params:r,placeholders:o}))}(e[1][1],n),({params:o,placeholders:a})=>{if(qn(e)){const s=e[1][0];if(a.length>0){return en(Zr(s,n),e=>({[c]:!0,function:B(e,r),functionType:"Partial",params:o,placeholders:a,sourceCodeInfo:r,arity:X(a.length)}))}if(Fn(s)){const r=s[1],i=Vn.allNormalExpressions[r];if(n.pure&&!1===i.pure)throw new t(`Cannot call impure function '${i.name}' in pure mode`,e[2]);return i.dvalaImpl?no(i.dvalaImpl,o,n,e[2]):i.evaluate(o,e[2],n,{executeFunction:Qr})}{const t=n.getValue(s[1]);if(void 0!==t)return Qr(B(t,r),o,n,r);throw new i(s[1],e[2])}}return en(Zr(e[1][0],n),e=>{const t=B(e,r);if(a.length>0){return{[c]:!0,function:t,functionType:"Partial",params:o,placeholders:a,sourceCodeInfo:r,arity:X(a.length)}}return Qr(t,o,n,r)})})}(e,n);return en(r,n=>{if("number"==typeof n&&Number.isNaN(n))throw new t("Number is NaN",e[2]);return xe(n)})}case a.SpecialExpression:{const r={type:"Eval",node:e,env:n,k:[]};try{return xe(jo(r))}catch(r){if(r instanceof t&&r.message.includes("Unexpected async operation")){return Oo({type:"Eval",node:e,env:n,k:[]}).then(e=>xe(e))}throw r}}default:throw new t(`${u(e[0])}-node cannot be evaluated`,e[2])}}function Qr(e,n,r,o){if(w(e))return eo(e,n,r,o);if(Array.isArray(e))return ro(e,n,o);if(C(e))return to(e,n,o);if("string"==typeof e)return oo(e,n,o);if(Y(e))return io(e,n,o);throw new t("Unexpected function type",o)}function eo(e,n,r,o){switch(e.functionType){case"UserDefined":return no(e,n,r,o);case"Partial":return function(e,n,r,o){const i=[...e.params];if(n.length!==e.placeholders.length)throw new t(`(partial) expects ${e.placeholders.length} arguments, got ${n.length}.`,o);const a=[...n];for(const n of e.placeholders)i.splice(n,0,a.shift());return Qr(e.function,i,r,o)}(e,n,r,o);case"Comp":return function(e,n,r,o){const{params:i}=e;if(0===i.length){if(1!==n.length)throw new t(`(comp) expects one argument, got ${y(n.length)}.`,o);return N(n[0],o)}let a=n;for(let e=i.length-1;e>=0;e--){const n=i[e];a=en(a,e=>en(Qr(B(n,o),e,r,o),e=>[e]))}return en(a,e=>N(e[0],o))}(e,n,r,o);case"Constantly":return e.value;case"Juxt":return function(e,n,t,r){return function(e,n){const t=[];for(let r=0;r<e.length;r++){const o=n(e[r],r);if(o instanceof Promise)return nn(o,t,e,n,r);t.push(o)}return t}(e.params,e=>Qr(B(e,r),n,t,r))}(e,n,r,o);case"Complement":return en(Qr(e.function,n,r,o),e=>!e);case"EveryPred":return function(e,n,t,r){const o=[];for(const i of e.params)for(const e of n)o.push(()=>Qr(B(i,r),[e],t,r));return tn(o,(e,n)=>!!e&&en(n(),e=>!!e),!0)}(e,n,r,o);case"SomePred":return function(e,n,t,r){const o=[];for(const i of e.params)for(const e of n)o.push(()=>Qr(B(i,r),[e],t,r));return tn(o,(e,n)=>!!e||en(n(),e=>!!e),!1)}(e,n,r,o);case"Fnull":return function(e,n,t,r){const o=n.map((n,t)=>null===n?te(e.params[t]):n);return Qr(B(e.function,r),o,t,r)}(e,n,r,o);case"EffectMatcher":return function(e,n,t){J({min:1,max:1},n.length,e.sourceCodeInfo??t);const r=n[0];T(r,t);const o=r.name;if("string"===e.matchType)return Sr(o,e.pattern);const i=new RegExp(e.pattern,e.flags);return i.test(o)}(e,n,o);case"Builtin":{const i=Vn.allNormalExpressions[e.normalBuiltinSymbolType];return i.dvalaImpl?no(i.dvalaImpl,n,r,o):function(e,n,r,o){const i=g(Vn.allNormalExpressions[e.normalBuiltinSymbolType],o);if(r.pure&&!1===i.pure)throw new t(`Cannot call impure function '${e.name}' in pure mode`,o);if(i.dvalaImpl)return no(i.dvalaImpl,n,r,o);return i.evaluate(n,o,r,{executeFunction:Qr})}(e,n,r,o)}case"SpecialBuiltin":return function(e,n,r,o){const i=g(Vn.specialExpressions[e.specialBuiltinSymbolType],o);if(i.evaluateAsNormalExpression)return i.evaluateAsNormalExpression(n,o,r,{executeFunction:Qr});throw new t(`Special builtin function ${e.specialBuiltinSymbolType} is not supported as normal expression.`,o)}(e,n,r,o);case"Module":return function(e,n,r,o){const i=r.getModule(e.moduleName);if(!i)throw new t(`Module '${e.moduleName}' not found.`,o);const a=i.functions[e.functionName];if(!a)throw new t(`Function '${e.functionName}' not found in module '${e.moduleName}'.`,o);if(r.pure&&!1===a.pure)throw new t(`Cannot call impure function '${e.functionName}' in pure mode`,o);if(J(a.arity,n.length,o),a.dvalaImpl)return no(a.dvalaImpl,n,r,o);return a.evaluate(n,o,r,{executeFunction:Qr})}(e,n,r,o)}}function no(e,r,o,i){function a(r){if(!H(e.arity,r.length))throw new t(`Expected ${e.arity} arguments, got ${r.length}.`,i);const s=e.evaluatedfunction,u=s[0],l=u.filter(e=>e[0]!==He).length,c=o.create(e.evaluatedfunction[2]),f={self:{value:e}},d=[];let p,h;for(let e=0;e<r.length;e+=1)if(e<l){const n=e;p=en(p,()=>{const e=te(r[n]);return en(un(u[n],e,e=>Zr(e,c.create(f))),e=>{Object.entries(e).forEach(([e,n])=>{f[e]={value:n}})})})}else d.push(te(r[e]));for(let e=r.length;e<l;e++){const n=e;h=en(h,()=>{const e=u[n];return en(Zr(e[1][1],o.create(f)),n=>en(un(e,n,e=>Zr(e,o.create(f))),e=>{Object.entries(e).forEach(([e,n])=>{f[e]={value:n}})}))})}return en(p,()=>en(h,()=>{const e=u.find(e=>e[0]===He),t=void 0!==e?en(un(e,d,e=>Zr(e,o.create(f))),e=>{Object.entries(e).forEach(([e,n])=>{f[e]={value:n}})}):void 0;return en(t,()=>{const e=c.create(f),t=tn(s[1],(n,t)=>Zr(t,e),null);return t instanceof Promise?t.catch(e=>{if(e instanceof n)return a(e.params);throw e}):t})}))}for(;;)try{return a(r)}catch(e){if(e instanceof n){r=e.params;continue}throw e}}function to(e,n,r){if(1!==n.length)throw new t("Object as function requires one string parameter.",r);const o=n[0];return F(o,r),te(e[o])}function ro(e,n,r){if(1!==n.length)throw new t("Array as function requires one non negative integer parameter.",r);const o=n[0];return G(o,r,{integer:!0,nonNegative:!0}),te(e[o])}function oo(e,n,r){if(1!==n.length)throw new t("String as function requires one Obj parameter.",r);const o=te(n[0]);if(C(o))return te(o[e]);if(Y(o,{integer:!0}))return te(e[o]);throw new t(`string as function expects Obj or integer parameter, got ${y(o)}`,r)}function io(e,n,r){if(G(e,void 0,{integer:!0}),1!==n.length)throw new t("Number as function requires one Arr parameter.",r);const o=n[0];return A(o,r),te(o[e])}function ao(e){const n=e[1];if(!["true","false","null"].includes(n))throw new t(`Reserved symbol ${n} cannot be evaluated`,e[2]);return g(Ht[n],e[2])}function so(e,n,r){switch(e[0]){case a.Number:case a.String:return{type:"Value",value:e[1],k:r};case a.NormalBuiltinSymbol:case a.SpecialBuiltinSymbol:case a.UserDefinedSymbol:return{type:"Value",value:n.evaluateSymbol(e),k:r};case a.ReservedSymbol:return{type:"Value",value:ao(e),k:r};case a.NormalExpression:return function(e,n,t){const r=e[1][1],o=e[2],i={type:"NanCheck",sourceCodeInfo:o},s={type:"EvalArgs",node:e,index:0,params:[],placeholders:[],env:n,sourceCodeInfo:o};let u=0;for(;u<r.length;){const e=r[u];if(e[0]!==a.ReservedSymbol||"_"!==e[1])break;s.placeholders.push(s.params.length),u++}if(s.index=u,u>=r.length)return uo(s,[i,...t]);const l=r[u],c=[s,i,...t];if(zn(l))return{type:"Eval",node:l[1],env:n,k:c};return{type:"Eval",node:l,env:n,k:c}}(e,n,r);case a.SpecialExpression:return function(e,n,r){const o=e[2],i=e[1][0];switch(i){case Mn.if:case Mn.unless:{const[t,a,s]=e[1][1];return{type:"Eval",node:t,env:n,k:[{type:"IfBranch",thenNode:a,elseNode:s,inverted:i===Mn.unless,env:n,sourceCodeInfo:o},...r]}}case Mn["&&"]:{const t=e[1][1];if(0===t.length)return{type:"Value",value:!0,k:r};const i={type:"And",nodes:t,index:1,env:n,sourceCodeInfo:o};return 1===t.length?{type:"Eval",node:t[0],env:n,k:r}:{type:"Eval",node:t[0],env:n,k:[i,...r]}}case Mn["||"]:{const t=e[1][1];if(0===t.length)return{type:"Value",value:!1,k:r};const i={type:"Or",nodes:t,index:1,env:n,sourceCodeInfo:o};return 1===t.length?{type:"Eval",node:t[0],env:n,k:r}:{type:"Eval",node:t[0],env:n,k:[i,...r]}}case Mn["??"]:{const t=e[1][1];if(0===t.length)return{type:"Value",value:null,k:r};const i=t[0];if(Dn(i)&&null===n.lookUp(i)){if(1===t.length)return{type:"Value",value:null,k:r};const e={type:"Qq",nodes:t,index:2,env:n,sourceCodeInfo:o},i=t[1];return Dn(i)&&null===n.lookUp(i)?function(e,n){return ho(e,n)}(e,r):2===t.length?{type:"Eval",node:i,env:n,k:r}:{type:"Eval",node:i,env:n,k:[e,...r]}}const a={type:"Qq",nodes:t,index:1,env:n,sourceCodeInfo:o};return 1===t.length?{type:"Eval",node:i,env:n,k:r}:{type:"Eval",node:i,env:n,k:[a,...r]}}case Mn.cond:{const t=e[1][1];if(0===t.length)return{type:"Value",value:null,k:r};const i={type:"Cond",phase:"test",cases:t,index:0,env:n,sourceCodeInfo:o};return{type:"Eval",node:t[0][0],env:n,k:[i,...r]}}case Mn.match:{const t=e[1][1],i=e[1][2];return{type:"Eval",node:t,env:n,k:[{type:"Match",phase:"matchValue",matchValue:null,cases:i,index:0,bindings:{},env:n,sourceCodeInfo:o},...r]}}case Mn.block:{const t=e[1][1],i=e[1][2],a={},s=n.create(a);let u=r;if(i&&i.length>0){u=[{type:"TryWith",handlers:i.map(([e,t])=>({effectRef:Zr(e,n),handlerNode:t})),env:n,sourceCodeInfo:o},...r]}if(0===t.length)return{type:"Value",value:null,k:u};if(1===t.length)return{type:"Eval",node:t[0],env:s,k:u};const l={type:"Sequence",nodes:t,index:1,env:s,sourceCodeInfo:o};return{type:"Eval",node:t[0],env:s,k:[l,...u]}}case Mn.let:{const t=e[1][1],i=t[1][0];return{type:"Eval",node:t[1][1],env:n,k:[{type:"LetBind",target:i,env:n,sourceCodeInfo:o},...r]}}case Mn.loop:{const t=e[1][1],i=e[1][2];if(0===t.length){const e={},a={type:"LoopIterate",bindingNodes:t,bindingContext:e,body:i,env:n.create(e),sourceCodeInfo:o};return{type:"Eval",node:i,env:n.create(e),k:[a,...r]}}const a={type:"LoopBind",phase:"value",bindingNodes:t,index:0,context:{},body:i,env:n,sourceCodeInfo:o};return{type:"Eval",node:t[0][1][1],env:n,k:[a,...r]}}case Mn.for:case Mn.doseq:{const t=e[1][1],a=e[1][2],s=i===Mn.for;if(0===t.length)return{type:"Value",value:s?[]:null,k:r};const u={},l=n.create(u),c={type:"ForLoop",returnResult:s,bindingNodes:t,body:a,result:[],phase:"evalCollection",bindingLevel:0,levelStates:[],context:u,env:l,sourceCodeInfo:o};return{type:"Eval",node:t[0][0][1][1],env:l,k:[c,...r]}}case Mn.recur:{const t=e[1][1];if(0===t.length)return wo([],r,o);const i={type:"Recur",nodes:t,index:1,params:[],env:n,sourceCodeInfo:o};if(1===t.length){const e={...i,index:1};return{type:"Eval",node:t[0],env:n,k:[e,...r]}}return{type:"Eval",node:t[0],env:n,k:[i,...r]}}case Mn.array:{const t=e[1][1];if(0===t.length)return{type:"Value",value:[],k:r};const i=t[0],a=zn(i),s={type:"ArrayBuild",nodes:t,index:0,result:[],isSpread:a,env:n,sourceCodeInfo:o};return{type:"Eval",node:a?i[1]:i,env:n,k:[s,...r]}}case Mn.object:{const t=e[1][1];if(0===t.length)return{type:"Value",value:{},k:r};const i=t[0],a=zn(i),s={type:"ObjectBuild",nodes:t,index:0,result:{},currentKey:null,isSpread:a,env:n,sourceCodeInfo:o};return{type:"Eval",node:a?i[1]:i,env:n,k:[s,...r]}}case Mn["0_lambda"]:{const t=function(e,n){const t={},r=e[0].reduce((e,n)=>(Object.keys(cn(n)).forEach(n=>{e[n]={value:null}}),e),{});return Wn(e[1],n.new(r),Vn,Zr).forEach(e=>{const r=n.getValue(e);I(r)&&(t[e]={value:r})}),[e[0],e[1],t]}(e[1][1],n),o=t[0].filter(e=>e[0]!==He&&void 0===e[1][1]).length,i={min:o>0?o:void 0,max:t[0].some(e=>e[0]===He)?void 0:t[0].length};return{type:"Value",value:{[c]:!0,sourceCodeInfo:e[2],functionType:"UserDefined",name:void 0,evaluatedfunction:t,arity:i,docString:""},k:r}}case Mn["defined?"]:{const t=e[1][1];if(!Dn(t))return{type:"Value",value:!0,k:r};return{type:"Value",value:null!==n.lookUp(t),k:r}}case Mn.import:{const i=e[1][1],a=n.getValueModule(i);if(a.found)return{type:"Value",value:a.value,k:r};const s=n.getModule(i);if(!s)throw new t(`Unknown module: '${i}'`,o);const u={};for(const[e,n]of Object.entries(s.functions))u[e]={[c]:!0,sourceCodeInfo:o,functionType:"Module",moduleName:i,functionName:e,arity:n.arity};if(s.source){const e=or(ir(wr(s.source,!1,void 0),{removeWhiteSpace:!0})),t=n.create({}),a={type:"ImportMerge",tsFunctions:u,moduleName:i,module:s,env:n,sourceCodeInfo:o};if(1===e.length)return{type:"Eval",node:e[0],env:t,k:[a,...r]};const l={type:"Sequence",nodes:e,index:1,env:t};return{type:"Eval",node:e[0],env:t,k:[l,a,...r]}}return n.registerValueModule(i,u),{type:"Value",value:u,k:r}}case Mn.effect:return{type:"Value",value:jr(e[1][1]),k:r};case Mn.perform:{const t=[e[1][1],...e[1][2]];if(1===t.length){const e={type:"PerformArgs",argNodes:t,index:1,params:[],env:n,sourceCodeInfo:o};return{type:"Eval",node:t[0],env:n,k:[e,...r]}}const i={type:"PerformArgs",argNodes:t,index:1,params:[],env:n,sourceCodeInfo:o};return{type:"Eval",node:t[0],env:n,k:[i,...r]}}case Mn.parallel:return{type:"Parallel",branches:e[1][1],env:n,k:r};case Mn.race:return{type:"Race",branches:e[1][1],env:n,k:r};default:throw new t(`Unknown special expression type: ${i}`,o)}}(e,n,r);default:throw new t(`${u(e[0])}-node cannot be evaluated`,e[2])}}function uo(e,n){const{node:r,params:o,placeholders:a,env:s,sourceCodeInfo:u}=e;if(qn(r)){const e=r[1][0];if(a.length>0){const t=s.evaluateSymbol(e);return{type:"Value",value:{[c]:!0,function:B(t,u),functionType:"Partial",params:o,placeholders:a,sourceCodeInfo:u,arity:X(a.length)},k:n}}if(Fn(e)){const r=e[1],i=Vn.allNormalExpressions[r];if(s.pure&&!1===i.pure)throw new t(`Cannot call impure function '${i.name}' in pure mode`,u);if(i.dvalaImpl)return co(i.dvalaImpl,o,s,u,n);return Ao(i.evaluate(o,u,s,{executeFunction:Qr}),n)}const l=s.getValue(e[1]);if(void 0!==l)return lo(B(l,u),o,a,s,u,n);throw new i(e[1],u)}return{type:"Eval",node:r[1][0],env:s,k:[{type:"CallFn",params:o,placeholders:a,env:s,sourceCodeInfo:u},...n]}}function lo(e,n,r,o,i,a){if(r.length>0){return{type:"Value",value:{[c]:!0,function:e,functionType:"Partial",params:n,placeholders:r,sourceCodeInfo:i,arity:X(r.length)},k:a}}if(w(e))return function(e,n,t,r,o){switch(e.functionType){case"UserDefined":return co(e,n,t,r,o);case"Partial":case"Comp":case"Constantly":case"Juxt":case"Complement":case"EveryPred":case"SomePred":case"Fnull":case"EffectMatcher":case"SpecialBuiltin":return Ao(eo(e,n,t,r),o);case"Module":{const i=t.getModule(e.moduleName),a=i?.functions[e.functionName];if(a?.dvalaImpl)return J(a.arity,n.length,r),co(a.dvalaImpl,n,t,r,o);return Ao(eo(e,n,t,r),o)}case"Builtin":{const i=Vn.allNormalExpressions[e.normalBuiltinSymbolType];if(i.dvalaImpl)return co(i.dvalaImpl,n,t,r,o);return Ao(eo(e,n,t,r),o)}}}(e,n,o,i,a);if(Array.isArray(e))return{type:"Value",value:ro(e,n,i),k:a};if(C(e))return{type:"Value",value:to(e,n,i),k:a};if("string"==typeof e)return{type:"Value",value:oo(e,n,i),k:a};if(Y(e))return{type:"Value",value:io(e,n,i),k:a};throw new t("Unexpected function type",i)}function co(e,n,r,o,i){if(!H(e.arity,n.length))throw new t(`Expected ${e.arity} arguments, got ${n.length}.`,o);const a=e.evaluatedfunction,s=a[0],u=s.filter(e=>e[0]!==He).length,l=r.create(e.evaluatedfunction[2]),c={self:{value:e}},f=[];for(let t=0;t<n.length;t+=1)if(t<u){const a=te(n[t]),u=un(s[t],a,e=>Zr(e,l.create(c)));if(u instanceof Promise){return Ao(no(e,n,r,o),i)}Object.entries(u).forEach(([e,n])=>{c[e]={value:n}})}else f.push(te(n[t]));for(let t=n.length;t<u;t++){const a=s[t],u=Zr(a[1][1],l.create(c));if(u instanceof Promise){return Ao(no(e,n,r,o),i)}const f=un(a,u,e=>Zr(e,l.create(c)));if(f instanceof Promise){return Ao(no(e,n,r,o),i)}Object.entries(f).forEach(([e,n])=>{c[e]={value:n}})}const d=s.find(e=>e[0]===He);if(d){const t=un(d,f,e=>Zr(e,l.create(c)));if(t instanceof Promise){return Ao(no(e,n,r,o),i)}Object.entries(t).forEach(([e,n])=>{c[e]={value:n}})}const p=a[1],h=l.create(c);if(0===p.length)return{type:"Value",value:null,k:i};const y={type:"FnBody",fn:e,bodyIndex:1,env:h,outerEnv:r,sourceCodeInfo:o};return p.length,{type:"Eval",node:p[0],env:h,k:[y,...i]}}function fo(e,n,r){switch(e.type){case"Sequence":return function(e,n,t){const{nodes:r,index:o,env:i}=e;if(o>=r.length)return{type:"Value",value:n,k:t};const a={...e,index:o+1};if(o===r.length-1)return{type:"Eval",node:r[o],env:i,k:t};return{type:"Eval",node:r[o],env:i,k:[a,...t]}}(e,n,r);case"IfBranch":return function(e,n,t){const{thenNode:r,elseNode:o,inverted:i,env:a}=e,s=i?!n:n;if(s)return{type:"Eval",node:r,env:a,k:t};if(o)return{type:"Eval",node:o,env:a,k:t};return{type:"Value",value:null,k:t}}(e,n,r);case"Cond":return function(e,n,t){const{cases:r,index:o,env:i}=e;if("test"===e.phase){if(n)return{type:"Eval",node:r[o][1],env:i,k:t};const a=o+1;if(a>=r.length)return{type:"Value",value:null,k:t};const s={...e,index:a};return{type:"Eval",node:r[a][0],env:i,k:[s,...t]}}return{type:"Value",value:n,k:t}}(e,n,r);case"Match":return function(e,n,t){const{cases:r,env:o}=e;if("matchValue"===e.phase){const r=n;return po({...e,matchValue:r,phase:"guard"},t)}if("guard"===e.phase){if(!n){return po({...e,index:e.index+1,bindings:{}},t)}const i={};for(const[n,t]of Object.entries(e.bindings))i[n]={value:t};const a=o.create(i);return{type:"Eval",node:r[e.index][1],env:a,k:t}}return{type:"Value",value:n,k:t}}(e,n,r);case"And":return function(e,n,t){if(!n)return{type:"Value",value:n,k:t};const{nodes:r,index:o,env:i}=e;if(o>=r.length)return{type:"Value",value:n,k:t};if(o===r.length-1)return{type:"Eval",node:r[o],env:i,k:t};const a={...e,index:o+1};return{type:"Eval",node:r[o],env:i,k:[a,...t]}}(e,n,r);case"Or":return function(e,n,t){if(n)return{type:"Value",value:n,k:t};const{nodes:r,index:o,env:i}=e;if(o>=r.length)return{type:"Value",value:n,k:t};if(o===r.length-1)return{type:"Eval",node:r[o],env:i,k:t};const a={...e,index:o+1};return{type:"Eval",node:r[o],env:i,k:[a,...t]}}(e,n,r);case"Qq":return function(e,n,t){if(null!==n)return{type:"Value",value:n,k:t};return ho(e,t)}(e,n,r);case"ArrayBuild":return function(e,n,r){const{nodes:o,result:i,env:a,sourceCodeInfo:s}=e;if(e.isSpread){if(!Array.isArray(n))throw new t("Spread value is not an array",s);i.push(...n)}else i.push(n);const u=e.index+1;if(u>=o.length)return{type:"Value",value:i,k:r};const l=o[u],c=zn(l),f={...e,index:u,isSpread:c};return{type:"Eval",node:c?l[1]:l,env:a,k:[f,...r]}}(e,n,r);case"ObjectBuild":return function(e,n,r){const{nodes:o,result:i,env:a,sourceCodeInfo:s}=e;if(e.isSpread){if(!x(n))throw new t("Spread value is not an object",s);Object.assign(i,n);const u=e.index+1;if(u>=o.length)return{type:"Value",value:i,k:r};const l=o[u],c=zn(l),f={...e,index:u,currentKey:null,isSpread:c};return{type:"Eval",node:c?l[1]:l,env:a,k:[f,...r]}}if(null===e.currentKey){F(n,s);const i=o[e.index+1];if(void 0===i)throw new t("Missing value for key",s);return{type:"Eval",node:i,env:a,k:[{...e,currentKey:n},...r]}}{i[e.currentKey]=n;const t=e.index+2;if(t>=o.length)return{type:"Value",value:i,k:r};const s=o[t],u=zn(s),l={...e,index:t,currentKey:null,isSpread:u};return{type:"Eval",node:u?s[1]:s,env:a,k:[l,...r]}}}(e,n,r);case"LetBind":return function(e,n,t){const{target:r,env:o,sourceCodeInfo:i}=e,a=un(r,n,e=>Zr(e,o));return en(a,e=>(o.addValues(e,i),{type:"Value",value:n,k:t}))}(e,n,r);case"LoopBind":return function(e,n,t){const{bindingNodes:r,index:o,context:i,body:a,env:s,sourceCodeInfo:u}=e,l=r[o],c=un(l[1][0],n,e=>Zr(e,s.create(i)));return en(c,n=>{Object.entries(n).forEach(([e,n])=>{i[e]={value:n}});const l=o+1;if(l>=r.length){const e=s.create(i);return{type:"Eval",node:a,env:e,k:[{type:"LoopIterate",bindingNodes:r,bindingContext:i,body:a,env:e,sourceCodeInfo:u},...t]}}const c={...e,index:l};return{type:"Eval",node:r[l][1][1],env:s.create(i),k:[c,...t]}})}(e,n,r);case"LoopIterate":return function(e,n,t){return{type:"Value",value:n,k:t}}(0,n,r);case"ForLoop":return function(e,n,r){const{returnResult:o,bindingNodes:i,result:a,env:s,sourceCodeInfo:u,context:l}=e,{asColl:c,isSeq:f}={asColl:(e,n)=>{if("string"==typeof e||Array.isArray(e)||C(e))return e;throw new t(`Expected collection, got ${y(e)}`,n)},isSeq:e=>"string"==typeof e||Array.isArray(e)};switch(e.phase){case"evalCollection":{const t=c(n,u),o=f(t)?t:Object.entries(t);if(0===o.length)return yo(e,r);const a=[...e.levelStates];a[e.bindingLevel]={collection:o,index:0};const d=i[e.bindingLevel];return en(un(d[0][1][0],N(o[0],u),e=>Zr(e,s)),n=>{Object.entries(n).forEach(([e,n])=>{l[e]={value:n}});const t=d[1];return t.length>0?vo(e,a,t,0,r):go(e,a,r)})}case"evalLet":throw new t("ForLoop evalLet should not reach applyFrame",u);case"evalWhen":{if(!n)return mo(e,r);const t=i[e.bindingLevel][3];if(t){const n={...e,phase:"evalWhile"};return{type:"Eval",node:t,env:s,k:[n,...r]}}return bo(e,r)}case"evalWhile":if(!n){const n=[...e.levelStates];return n[e.bindingLevel]={...n[e.bindingLevel],index:Number.POSITIVE_INFINITY},mo({...e,levelStates:n},r)}return bo(e,r);case"evalBody":return o&&a.push(n),mo(e,r);case"evalElement":throw new t(`Unexpected ForLoop phase: ${e.phase}`,u)}return{type:"Value",value:null,k:r}}(e,n,r);case"Recur":return function(e,n,t){const{nodes:r,index:o,params:i,env:a}=e;if(i.push(n),o>=r.length)return wo(i,t,e.sourceCodeInfo);const s={...e,index:o+1};return{type:"Eval",node:r[o],env:a,k:[s,...t]}}(e,n,r);case"PerformArgs":return function(e,n,t){const{argNodes:r,index:o,params:i,env:a}=e;if(i.push(n),o>=r.length){const n=i[0];T(n,e.sourceCodeInfo);return{type:"Perform",effect:n,args:i.slice(1),k:t,sourceCodeInfo:e.sourceCodeInfo}}const s={...e,index:o+1};return{type:"Eval",node:r[o],env:a,k:[s,...t]}}(e,n,r);case"TryWith":return function(e,n){return{type:"Value",value:e,k:n}}(n,r);case"EffectResume":return function(e,n){return{type:"Value",value:n,k:e.resumeK}}(e,n);case"ParallelResume":return function(e,n,t){return{type:"ParallelResume",value:n,branchCount:e.branchCount,completedBranches:e.completedBranches,suspendedBranches:e.suspendedBranches,k:t}}(e,n,r);case"EvalArgs":return function(e,n,r){const{node:o,params:i,placeholders:s,env:u}=e,l=o[1][1],c=l[e.index];if(zn(c)){if(!Array.isArray(n))throw new t(`Spread operator requires an array, got ${y(n)}`,c[2]);i.push(...n)}else i.push(n);let f=e.index+1;for(;f<l.length;){const e=l[f];if(e[0]!==a.ReservedSymbol||"_"!==e[1])break;s.push(i.length),f++}if(f>=l.length)return uo({...e,index:f},r);const d={...e,index:f},p=l[f];if(zn(p))return{type:"Eval",node:p[1],env:u,k:[d,...r]};return{type:"Eval",node:p,env:u,k:[d,...r]}}(e,n,r);case"CallFn":return function(e,n,t){const r=B(n,e.sourceCodeInfo);return lo(r,e.params,e.placeholders,e.env,e.sourceCodeInfo,t)}(e,n,r);case"FnBody":return function(e,n,t){const{fn:r,bodyIndex:o,env:i}=e,a=r.evaluatedfunction[1];if(o>=a.length)return{type:"Value",value:n,k:t};const s={...e,bodyIndex:o+1};return{type:"Eval",node:a[o],env:i,k:[s,...t]}}(e,n,r);case"BindingDefault":return function(e,n,r){const{target:o,record:i,env:a,sourceCodeInfo:s}=e,u=un(o,n,e=>Zr(e,a));if(u instanceof Promise)throw new t("Async binding default evaluation not supported in trampoline yet",s);return Object.assign(i,u),{type:"Value",value:n,k:r}}(e,n,r);case"NanCheck":return function(e,n,r){if("number"==typeof n&&Number.isNaN(n))throw new t("Number is NaN",e.sourceCodeInfo);return{type:"Value",value:xe(n),k:r}}(e,n,r);case"DebugStep":return function(e,n,t){if("awaitValue"===e.phase){const r={expression:e.sourceCodeInfo?.code??"",value:n,location:e.sourceCodeInfo?{line:e.sourceCodeInfo.position.line,column:e.sourceCodeInfo.position.column}:{line:0,column:0},env:$o(e.env)},o={type:"DebugStep",phase:"awaitPerform",sourceCodeInfo:e.sourceCodeInfo,env:e.env};return{type:"Perform",effect:jr("dvala.debug.step"),args:[r],k:[o,...t]}}return{type:"Value",value:n,k:t}}(e,n,r);case"ImportMerge":{const t=C(n)?n:{};for(const[n,r]of Object.entries(t)){const t=e.module.functions[n];t&&E(r)&&(t.dvalaImpl=r)}const o={};for(const[n,r]of Object.entries(t))e.module.functions[n]||(o[n]=r);const i={...e.tsFunctions,...o};return e.env.registerValueModule(e.moduleName,i),{type:"Value",value:i,k:r}}default:throw new t(`Unhandled frame type: ${e.type}`,void 0)}}function po(e,n){const{matchValue:r,cases:o,index:i,env:a,sourceCodeInfo:s}=e;for(let u=i;u<o.length;u++){const[i,l,c]=o[u],f=dn(i,r,e=>Zr(e,a));if(f instanceof Promise)throw new t("Async pattern matching not supported in trampoline yet",s);if(null===f)continue;if(c){const t={};for(const[e,n]of Object.entries(f))t[e]={value:n};return{type:"Eval",node:c,env:a.create(t),k:[{...e,phase:"guard",index:u,bindings:f},...n]}}const d={};for(const[e,n]of Object.entries(f))d[e]={value:n};return{type:"Eval",node:l,env:a.create(d),k:n}}return{type:"Value",value:null,k:n}}function ho(e,n){const{nodes:t,env:r}=e;let{index:o}=e;for(;o<t.length;){const e=t[o];if(!Dn(e)||null!==r.lookUp(e))break;o++}if(o>=t.length)return{type:"Value",value:null,k:n};if(o===t.length-1)return{type:"Eval",node:t[o],env:r,k:n};const i={...e,index:o+1};return{type:"Eval",node:t[o],env:r,k:[i,...n]}}function yo(e,n){return{type:"Value",value:e.returnResult?e.result:null,k:n}}function mo(e,n){const{bindingNodes:t,env:r,sourceCodeInfo:o,context:i}=e,a=[...e.levelStates],s=e.bindingLevel,u=a[s],l=u.index+1;if(l>=u.collection.length)return 0===s?yo(e,n):mo({...e,bindingLevel:s-1},n);a[s]={...u,index:l};const c=t[s];return en(un(c[0][1][0],N(u.collection[l],o),e=>Zr(e,r)),t=>{Object.entries(t).forEach(([e,n])=>{i[e]={value:n}});const r=c[1];return r.length>0?vo({...e,levelStates:a,bindingLevel:s},a,r,0,n):go({...e,levelStates:a,bindingLevel:s},a,n)})}function vo(e,n,t,r,o){const{env:i,context:a}=e;let s;for(let e=r;e<t.length;e++){const n=e;s=en(s,()=>{const e=t[n],[r,o]=e[1];return en(Zr(o,i),e=>en(un(r,e,e=>Zr(e,i)),e=>{Object.entries(e).forEach(([e,n])=>{a[e]={value:n}})}))})}return en(s,()=>go({...e,levelStates:n},n,o))}function go(e,n,t){const{bindingNodes:r,env:o}=e,i=r[e.bindingLevel],a=i[2],s=i[3];if(a){return{type:"Eval",node:a,env:o,k:[{...e,levelStates:n,phase:"evalWhen"},...t]}}if(s){return{type:"Eval",node:s,env:o,k:[{...e,levelStates:n,phase:"evalWhile"},...t]}}return bo({...e,levelStates:n},t)}function bo(e,n){const{bindingNodes:t,body:r,env:o}=e,i=e.bindingLevel+1;if(i<t.length){return{type:"Eval",node:t[i][0][1][1],env:o,k:[{...e,phase:"evalCollection",bindingLevel:i},...n]}}const a={...e,phase:"evalBody"};return{type:"Eval",node:r,env:o.create(e.context),k:[a,...n]}}function xo(e,n,t,r,o){const i=jr("dvala.error"),a=[e.shortMessage];for(let t=0;t<n.length;t++){const r=n[t];if("TryWith"===r.type)for(const o of r.handlers)if(ko(o,i,r.env,e.sourceCodeInfo))return Eo(o,r,a,n,t,e.sourceCodeInfo)}const s=Ir("dvala.error",t);return s.length>0?Io("dvala.error",s,a,n,r,e.sourceCodeInfo,o):null}function wo(e,n,r){for(let o=0;o<n.length;o++){const i=n[o];if("LoopIterate"===i.type){const{bindingNodes:a,bindingContext:s,body:u,env:l}=i,c=n.slice(o+1);if(e.length!==a.length)throw new t(`recur expected ${a.length} parameters, got ${e.length}`,r);const f=on(a,(n,t)=>en(un(n[1][0],te(e[t]),e=>Zr(e,l)),e=>{Object.entries(e).forEach(([e,n])=>{s[e]={value:n}})}));return en(f,()=>{const e=l.getContextsRaw()[0];if(e!==s)for(const[n,t]of Object.entries(s))e[n]=t;const n={type:"LoopIterate",bindingNodes:a,bindingContext:s,body:u,env:l,sourceCodeInfo:i.sourceCodeInfo};return{type:"Eval",node:u,env:l,k:[n,...c]}})}if("FnBody"===i.type){const{fn:t,outerEnv:r}=i,a=n.slice(o+1);return co(t,e,r,i.sourceCodeInfo,a)}}throw new t("recur called outside of loop or function body",r)}function ko(e,n,r,o){if(R(e.effectRef))return e.effectRef.name===n.name;if(w(e.effectRef)){const i=Qr(e.effectRef,[n],r,o);if(i instanceof Promise)throw new t("Effect handler predicates must be synchronous",o);return!!i}return!1}function Eo(e,n,t,r,o,i){const a=[{type:"EffectResume",resumeK:r,sourceCodeInfo:i},...r.slice(o+1)];return lo(B(Zr(e.handlerNode,n.env),n.sourceCodeInfo),[t],[],n.env,i,a)}function So(e,n,o,i,a,s,u){if("dvala.checkpoint"===e.name&&u){const e=n[0],t={continuation:Wr(o),timestamp:Date.now(),index:u.nextSnapshotIndex++,runId:u.runId,...void 0!==e?{meta:e}:{}};u.snapshots.push(t),void 0!==u.maxSnapshots&&u.snapshots.length>u.maxSnapshots&&u.snapshots.shift()}for(let t=0;t<o.length;t++){const r=o[t];if("TryWith"===r.type)for(const a of r.handlers)if(ko(a,e,r.env,i))return Eo(a,r,n,o,t,i)}const l=Ir(e.name,a);if(l.length>0)return Io(e.name,l,n,o,s,i,u);const c=function(e){const n=Xr[e];if(n)return(e,t,r)=>(J(n.arity,e.length,r),n.handler(e,t,r))}(e.name);if(c)return c(n,o,i);if("dvala.error"===e.name){const e="string"==typeof n[0]?n[0]:String(n[0]??"Unknown error");throw new r(e,i)}throw new t(`Unhandled effect: '${e.name}'`,i)}function Io(e,n,o,i,a,s,u){const l=a??(new AbortController).signal,c=Array.from(o);function f(e,n){switch(e.kind){case"step":return e.step;case"asyncResume":return e.promise.then(e=>({type:"Value",value:e,k:i}),e=>({type:"Error",error:e instanceof t?e:new t(e instanceof Error?e:`${e}`,s),k:i}));case"throw":throw e.error;case"next":return d(n)}}function d(o){if(o>=n.length){if("dvala.error"===e){const e="string"==typeof c[0]?c[0]:String(c[0]??"Unknown error");throw new r(e,s)}throw new t(`Unhandled effect: '${e}'`,s)}const[,a]=n[o];let d,p=!1;function h(e){if(p)throw new t(`Effect handler called ${e}() after already calling another operation`,s);p=!0}const y=a({effectName:e,args:c,signal:l,resume:e=>{h("resume"),d=e instanceof Promise?{kind:"asyncResume",promise:e}:{kind:"step",step:{type:"Value",value:e,k:i}}},fail:n=>{h("fail");d={kind:"step",step:{type:"Error",error:new t(n??`Effect handler failed for '${e}'`,s),k:i}}},suspend:e=>{h("suspend"),d={kind:"throw",error:new Nr(i,u?u.snapshots:[],u?u.nextSnapshotIndex:0,e)}},next:()=>{h("next"),d={kind:"next"}},get snapshots(){return u?[...u.snapshots]:[]},checkpoint:e=>{if(!u)throw new t("checkpoint is not available outside effect-enabled execution",s);const n={continuation:Wr(i),timestamp:Date.now(),index:u.nextSnapshotIndex++,runId:u.runId,...void 0!==e?{meta:e}:{}};return u.snapshots.push(n),void 0!==u.maxSnapshots&&u.snapshots.length>u.maxSnapshots&&u.snapshots.shift(),n},resumeFrom:(e,n)=>{if(p)throw new t("Effect handler called resumeFrom() after already calling another operation",s);if(!u)throw new t("resumeFrom is not available outside effect-enabled execution",s);const r=u.snapshots.find(n=>n.index===e.index&&n.runId===e.runId);if(!r)throw new t(`Invalid snapshot: no snapshot with index ${e.index} found in current run`,s);p=!0,d={kind:"throw",error:new $r(r.continuation,n,r.index)}}});if(!(y instanceof Promise)){if(!d)throw new t(`Effect handler for '${e}' did not call resume(), fail(), suspend(), or next()`,s);return f(d,o+1)}return d?(y.catch(()=>{}),f(d,o+1)):y.then(()=>{if(!d)throw new t(`Effect handler for '${e}' did not call resume(), fail(), suspend(), or next()`,s);return f(d,o+1)},e=>{if(d)return f(d,o+1);if(Pr(e)||Ar(e))throw e;return{type:"Error",error:e instanceof t?e:new t(e instanceof Error?e:`${e}`,s),k:i}})}return d(0)}function No(e,n){throw new Nr(e,[],0,n)}async function Po(e,n,t,r){return Ro({type:"Eval",node:e,env:n,k:[]},t,r)}function $o(e){const n={},t=e.getHostValues();if(t)for(const[e,r]of Object.entries(t))n[e]=r;const r=e.getContextsRaw();for(let e=r.length-1;e>=0;e--)for(const[t,o]of Object.entries(r[e]))n[t]=o.value;return n}function Ao(e,n){return e instanceof Promise?e.then(e=>({type:"Value",value:e,k:n}),e=>({type:"Error",error:e instanceof t?e:new t(`${e}`,void 0),k:n})):{type:"Value",value:e,k:n}}function Co(e,n,r,o){try{switch(e.type){case"Value":{if(0===e.k.length)return e;const[n,...t]=e.k;return fo(n,e.value,t)}case"Eval":return so(e.node,e.env,e.k);case"Apply":return fo(e.frame,e.value,e.k);case"Perform":return So(e.effect,e.args,e.k,e.sourceCodeInfo,n,r,o);case"Parallel":return async function(e,n,r,o,i){const a=i??(new AbortController).signal,s=e.map(e=>Po(e,n,o,a)),u=await Promise.allSettled(s),l=[],c=[],f=[];for(let e=0;e<u.length;e++){const n=u[e];if("rejected"===n.status)f.push(new t(`${n.reason}`,void 0));else{const t=n.value;switch(t.type){case"completed":l.push({index:e,value:t.value});break;case"suspended":c.push({index:e,snapshot:t.snapshot});break;case"error":f.push(t.error)}}}if(f.length>0)throw f[0];if(c.length>0)return No([{type:"ParallelResume",branchCount:e.length,completedBranches:l,suspendedBranches:c.slice(1)},...r],c[0].snapshot.meta);const d=Array.from({length:e.length});for(const{index:e,value:n}of l)d[e]=n;return{type:"Value",value:d,k:r}}(e.branches,e.env,e.k,n,r);case"Race":return async function(e,n,r,o,i){const a=i??(new AbortController).signal,s=e.map(()=>new AbortController),u=()=>{for(const e of s)e.abort(a.reason)};a.addEventListener("abort",u,{once:!0});try{let i=-1,a=null;const u=e.map(async(e,t)=>{const r=s[t].signal,u=await Po(e,n,o,r);if("completed"===u.type&&i<0){i=t,a=u.value;for(let e=0;e<s.length;e++)e!==t&&s[e].abort("race: branch lost")}return u}),l=await Promise.allSettled(u);if(i>=0)return{type:"Value",value:a,k:r};const c=[],f=[];for(let e=0;e<l.length;e++){const n=l[e];if("rejected"===n.status)f.push(new t(`${n.reason}`,void 0));else{const e=n.value;switch(e.type){case"suspended":c.push(e.snapshot.meta??null);break;case"error":f.push(e.error)}}}c.length>0&&No(r,{type:"race",branches:c});const d=f.map(e=>e.message).join("; ");throw new t(`race: all branches failed: ${d}`,void 0)}finally{a.removeEventListener("abort",u)}}(e.branches,e.env,e.k,n,r);case"ParallelResume":return function(e){const{value:n,branchCount:t,completedBranches:r,suspendedBranches:o,k:i}=e,a=new Set(r.map(e=>e.index)),s=new Set(o.map(e=>e.index));let u=-1;for(let e=0;e<t;e++)if(!a.has(e)&&!s.has(e)){u=e;break}const l=[...r,{index:u,value:n}];if(o.length>0){const e=o[0];return No([{type:"ParallelResume",branchCount:t,completedBranches:l,suspendedBranches:o.slice(1)},...i],e.snapshot.meta)}const c=Array.from({length:t});for(const{index:e,value:n}of l)c[e]=n;return{type:"Value",value:c,k:i}}(e);case"Error":{const t=xo(e.error,e.k,n,r,o);if(null!==t)return t;throw e.error}}}catch(i){if(Pr(i))throw i;if(i instanceof t){const t=xo(i,"Value"===e.type?e.k.slice(1):e.k,n,r,o);if(null!==t)return t}throw i}}function jo(e,n){let r=e;for(;;){if(r instanceof Promise)throw new t("Unexpected async operation in synchronous context. Use async.run() for async operations.",void 0);if("Value"===r.type&&0===r.k.length)return r.value;r=Co(r,n)}}async function Oo(e){let n=e;for(;;){if(n instanceof Promise&&(n=await n),"Value"===n.type&&0===n.k.length)return n.value;n=Co(n)}}function Mo(e,n){if(0===e.length)return{type:"Value",value:null,k:[]};if(1===e.length)return{type:"Eval",node:e[0],env:n,k:[]};const t={type:"Sequence",nodes:e,index:1,env:n};return{type:"Eval",node:e[0],env:n,k:[t]}}function Uo(e,n){const r=Mo(e.body,n);try{return jo(r)}catch(r){if(r instanceof t&&r.message.includes("Unexpected async operation")){return Oo(Mo(e.body,n))}throw r}}function Vo(e,n){const r={type:"Eval",node:e,env:n,k:[]};try{return jo(r)}catch(r){if(r instanceof t&&r.message.includes("Unexpected async operation")){return Oo({type:"Eval",node:e,env:n,k:[]})}throw r}}async function Ro(e,n,r,o,i,s){const u=null!=n&&"dvala.debug.step"in n,l={snapshots:o?o.snapshots:[],nextSnapshotIndex:o?o.nextSnapshotIndex:0,runId:"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const n=16*Math.random()|0;return("x"===e?n:3&n|8).toString(16)}),...void 0!==i?{maxSnapshots:i}:{}};let c=e;for(;;)try{for(;;){if(c instanceof Promise&&(c=await c),"Value"===c.type&&0===c.k.length)return{type:"completed",value:c.value};if(u&&"Eval"===c.type&&c.node[2]){const e=c.node[0];if(e===a.NormalExpression||e===a.SpecialExpression){const e={type:"DebugStep",phase:"awaitValue",sourceCodeInfo:c.node[2],env:c.env};c={...c,k:[e,...c.k]}}}c=Co(c,n,r,l)}}catch(e){if(Ar(e)){const{k:n}=Yr(e.continuation,s),t=l.snapshots.findIndex(n=>n.index>e.trimToIndex);-1!==t&&l.snapshots.splice(t),c={type:"Value",value:e.value,k:n};continue}if(Pr(e)){return{type:"suspended",snapshot:{continuation:Kr(e.k,e.snapshots,e.nextSnapshotIndex,e.meta),timestamp:Date.now(),index:l.nextSnapshotIndex++,runId:l.runId,meta:e.meta}}}return e instanceof t?{type:"error",error:e}:{type:"error",error:new t(`${e}`,void 0)}}}new Set(Object.keys(Xr));const To=new Set([...Rn,...Tn,...Object.keys(Ht)]);class Bo{originalProgram;originalPosition;prefixProgram="";suffixProgram="";searchString="";suggestions=[];suggestionIndex=null;constructor(e,n,t={}){this.originalProgram=e,this.originalPosition=n;const r=wr(this.originalProgram.slice(0,this.originalPosition),!1,void 0).tokens.at(-1);r&&"Error"!==r[0]&&(this.searchString=r[1],this.prefixProgram=this.originalProgram.slice(0,this.originalPosition-this.searchString.length),this.suffixProgram=this.originalProgram.slice(this.prefixProgram.length+this.searchString.length),this.originalProgram.slice(this.prefixProgram.length+this.searchString.length),this.suggestions=this.generateSuggestions(t))}getNextSuggestion(){return this.getAutoCompleteSuggestionResult(this.getNextSuggestionSymbol())}getPreviousSuggestion(){return this.getAutoCompleteSuggestionResult(this.getPreviousSuggestionSymbol())}getAutoCompleteSuggestionResult(e){return null===e?null:{program:this.prefixProgram+e+this.suffixProgram,position:this.prefixProgram.length+e.length}}getNextSuggestionSymbol(){return 0===this.suggestions.length?null:(null===this.suggestionIndex?this.suggestionIndex=0:(this.suggestionIndex+=1,this.suggestionIndex>=this.suggestions.length&&(this.suggestionIndex=0)),this.suggestions[this.suggestionIndex])}getPreviousSuggestionSymbol(){return 0===this.suggestions.length?null:(null===this.suggestionIndex?this.suggestionIndex=this.suggestions.length-1:(this.suggestionIndex-=1,this.suggestionIndex<0&&(this.suggestionIndex=this.suggestions.length-1)),this.suggestions[this.suggestionIndex])}getSuggestions(){return[...this.suggestions]}getSearchString(){return this.searchString}generateSuggestions(e){const n=new Set(["0_defn","0_lambda"]),t=this.generateWithPredicate(e,e=>!n.has(e)&&e.startsWith(this.searchString));t.forEach(e=>n.add(e));const r=this.generateWithPredicate(e,e=>!n.has(e)&&e.toLowerCase().startsWith(this.searchString.toLowerCase()));r.forEach(e=>n.add(e));const o=this.generateWithPredicate(e,e=>!n.has(e)&&e.includes(this.searchString));o.forEach(e=>n.add(e));const i=this.generateWithPredicate(e,e=>!n.has(e)&&e.includes(this.searchString.toLowerCase()));return i.forEach(e=>n.add(e)),[...t,...r,...o,...i]}generateWithPredicate(e,n){const t=new Set;return To.forEach(e=>{n(e)&&t.add(e)}),Object.keys(e.bindings??{}).filter(n).forEach(e=>t.add(e)),[...t].sort((e,n)=>e.localeCompare(n))}}const Do={collection:'{\n map: (first-coll, ...args) -> do\n let fn = last(args);\n let other-colls = slice(args, 0, count(args) - 1);\n let all-colls = [first-coll, ...other-colls];\n\n cond\n case object?(first-coll) then do\n let expected-keys = keys(first-coll) |> sort;\n doseq (obj in other-colls) -> do\n if not(object?(obj)) then\n perform(effect(dvala.error), "Expected object")\n end;\n let obj-keys = keys(obj) |> sort;\n if not(obj-keys == expected-keys) then\n perform(effect(dvala.error), ++(\n "All objects must have the same keys. Expected: ",\n join(expected-keys, ", "),\n ". Found: ",\n join(obj-keys, ", ")\n ))\n end\n end;\n reduce(keys(first-coll), (acc, k) -> do\n let a = for (coll in all-colls) -> coll(k);\n assoc(acc, k, apply(fn, a))\n end, {})\n end\n\n case string?(first-coll) then do\n doseq (s in other-colls) -> do\n if not(string?(s)) then\n perform(effect(dvala.error), "Expected string")\n end\n end;\n let len = reduce(other-colls, (m, s) -> min(m, count(s)), count(first-coll));\n let mapped = for (i in range(len)) -> do\n let a = for (coll in all-colls) -> nth(coll, i);\n apply(fn, a)\n end;\n reduce(mapped, (acc, ch) -> do\n if not(string?(ch)) then\n perform(effect(dvala.error), "Expected string")\n end;\n ++(acc, ch)\n end, "")\n end\n\n case true then do\n doseq (x in other-colls) -> do\n if not(array?(x)) then\n perform(effect(dvala.error), "Expected array")\n end\n end;\n let len = reduce(other-colls, (m, x) -> min(m, count(x)), count(first-coll));\n for (i in range(len)) -> do\n let a = for (coll in all-colls) -> nth(coll, i);\n apply(fn, a)\n end\n end\n end\n end,\n\n filter: (coll, fn) -> do\n cond\n case array?(coll) then\n reduce(coll, (acc, elem) -> if fn(elem) then [...acc, elem] else acc end, [])\n\n case string?(coll) then\n reduce(coll, (acc, ch) -> if fn(ch) then ++(acc, ch) else acc end, "")\n\n case object?(coll) then\n reduce(keys(coll), (acc, k) -> do\n if fn(coll(k)) then\n assoc(acc, k, coll(k))\n else\n acc\n end\n end, {})\n\n case true then\n perform(effect(dvala.error), "Expected collection")\n end\n end,\n\n reduce: (coll, fn, initial) -> do\n cond\n case string?(coll) then\n loop (acc = initial, i = 0) -> do\n if i >= count(coll) then\n acc\n else\n recur(fn(acc, nth(coll, i)), i + 1)\n end\n end\n\n case array?(coll) then\n loop (acc = initial, i = 0) -> do\n if i >= count(coll) then\n acc\n else\n recur(fn(acc, nth(coll, i)), i + 1)\n end\n end\n\n case object?(coll) then do\n let values = vals(coll);\n loop (acc = initial, i = 0) -> do\n if i >= count(values) then\n acc\n else\n recur(fn(acc, nth(values, i)), i + 1)\n end\n end\n end\n\n case true then\n perform(effect(dvala.error), "Expected collection")\n end\n end\n}',sequence:'{\n some: (seq, fn) -> do\n if null?(seq) then null\n else do\n loop (i = 0) -> do\n if i >= count(seq) then\n null\n else do\n let elem = nth(seq, i);\n if fn(elem) then elem\n else recur(i + 1)\n end\n end\n end\n end\n end\n end\n end,\n\n take-while: (seq, fn) -> do\n let is-str = string?(seq);\n let len = count(seq);\n let idx = loop (i = 0) -> do\n if i >= len then\n len\n else if fn(nth(seq, i)) then\n recur(i + 1)\n else\n i\n end\n end\n end;\n slice(seq, 0, idx)\n end,\n\n drop-while: (seq, fn) -> do\n let is-str = string?(seq);\n let len = count(seq);\n let idx = loop (i = 0) -> do\n if i >= len then\n len\n else if fn(nth(seq, i)) then\n recur(i + 1)\n else\n i\n end\n end\n end;\n slice(seq, idx)\n end,\n\n sort: (seq, ...args) -> do\n let cmp = if count(args) == 0 then compare else first(args) end;\n let is-str = string?(seq);\n let arr = if is-str then split(seq, "") else seq end;\n let len = count(arr);\n\n // merge two sorted arrays\n let merge-arrays = (left, right) -> do\n let left-len = count(left);\n let right-len = count(right);\n loop (result = [], li = 0, ri = 0) -> do\n if li >= left-len then\n ++(result, slice(right, ri))\n else if ri >= right-len then\n ++(result, slice(left, li))\n else do\n let l = nth(left, li);\n let r = nth(right, ri);\n if cmp(l, r) <= 0 then\n recur(push(result, l), li + 1, ri)\n else\n recur(push(result, r), li, ri + 1)\n end\n end\n end\n end\n end\n end;\n\n // recursive merge-sort\n let merge-sort = (a) -> do\n let n = count(a);\n if n <= 1 then a\n else do\n let mid = floor(n / 2);\n let left = merge-sort(slice(a, 0, mid));\n let right = merge-sort(slice(a, mid));\n merge-arrays(left, right)\n end\n end\n end;\n\n let sorted = merge-sort(arr);\n if is-str then join(sorted, "") else sorted end\n end\n}\n',array:'{\n mapcat: (arr, fn) -> do\n flatten(map(arr, fn), 1)\n end,\n\n moving-fn: (arr, window-size, fn) -> do\n if window-size > count(arr) then\n perform(effect(dvala.error), "Expected window-size <= array length")\n end;\n for (i in range(count(arr) - window-size + 1)) -> do\n fn(slice(arr, i, i + window-size))\n end\n end,\n\n running-fn: (arr, fn) -> do\n for (i in range(count(arr))) -> do\n fn(slice(arr, 0, i + 1))\n end\n end\n}\n',functional:'{\n "|>": (a, b) -> b(a),\n\n apply: (fn, ...args) -> do\n let arr = last(args);\n let leading = slice(args, 0, count(args) - 1);\n fn(...leading, ...arr)\n end\n}\n',object:'{\n merge-with: (...args) -> do\n let fn = last(args);\n let objs = slice(args, 0, count(args) - 1);\n if not(function?(fn)) then\n perform(effect(dvala.error), str("Expected function, got: ", type(fn)))\n end;\n if count(objs) == 0 then\n perform(effect(dvala.error), "Expected at least one object argument")\n end;\n reduce(rest(objs), (result, obj) -> do\n if not(object?(obj)) then\n perform(effect(dvala.error), str("Expected object, got: ", type(obj)))\n end;\n reduce(keys(obj), (res, key) -> do\n if contains?(res, key) then\n assoc(res, key, fn(get(res, key), get(obj, key)))\n else\n assoc(res, key, get(obj, key))\n end\n end, result)\n end, do\n let f = first(objs);\n if not(object?(f)) then\n perform(effect(dvala.error), str("Expected object, got: ", type(f)))\n end;\n f\n end)\n end\n}\n'};let _o=!1;class Fo{cache={};firstEntry=void 0;lastEntry=void 0;_size=0;maxSize;constructor(e){var n;if(this.maxSize=null===e?null:(n=e,Math.max(0,Math.ceil(n))),"number"==typeof this.maxSize&&this.maxSize<1)throw new Error(`1 is the minimum maxSize, got ${y(e)}`)}getContent(){return Object.entries(this.cache).reduce((e,[n,t])=>(e[n]=t.value,e),{})}get size(){return this._size}get(e){return this.cache[e]?.value}clear(){this.cache={},this.firstEntry=void 0,this.lastEntry=void 0,this._size=0}has(e){return!!this.cache[e]}set(e,n){if(this.has(e))throw new Error(`AstCache - key already present: ${e}`);const t={value:n,nextEntry:void 0,key:e};for(this.cache[e]=t,this._size+=1,this.lastEntry&&(this.lastEntry.nextEntry=t),this.lastEntry=t,this.firstEntry||(this.firstEntry=this.lastEntry);null!==this.maxSize&&this.size>this.maxSize;)this.dropFirstEntry()}dropFirstEntry(){const e=this.firstEntry;delete this.cache[e.key],this._size-=1,this.firstEntry=e.nextEntry}}function Lo(e,n){const t=n?.modules?new Map(n.modules.map(e=>[e.name,e])):void 0,r=Vr({bindings:n?.bindings},t),o={body:or(ir(wr(e,!1,void 0),{removeWhiteSpace:!0})),hasDebugData:!1};return Wn(o,r,Vn,Vo)}function qo(e){if(e)for(const[n,t]of Object.entries(e))zo(t,`bindings["${n}"]`)}function zo(e,n){if(null!=e&&"boolean"!=typeof e&&"string"!=typeof e)if("number"!=typeof e){if("function"==typeof e)throw new TypeError(`${n} is not serializable (function)`);if("object"!=typeof e)throw new TypeError(`${n} is not serializable`);if(c in e||f in e||d in e)return;if(Array.isArray(e))return void e.forEach((e,t)=>zo(e,`${n}[${t}]`));if(Object.getPrototypeOf(e)!==Object.prototype)throw new TypeError(`${n} is not serializable (not a plain object)`);for(const[t,r]of Object.entries(e))zo(r,`${n}.${t}`)}else if(!Number.isFinite(e))throw new TypeError(`${n} is not serializable (${e})`)}exports.asDvalaFunction=function(e,n){return k(e,n),e},exports.asUserDefinedFunction=function(e,n){return S(e,n),e},exports.assertDvalaFunction=k,exports.assertUserDefinedFunction=S,exports.createDvala=function(e){!function(){if(!_o){_o=!0;for(const[,e]of Object.entries(Do)){const n=Uo({body:or(ir(wr(e,!1,void 0),{removeWhiteSpace:!0})),hasDebugData:!1},Vr());if(n instanceof Promise)throw new TypeError("Core dvala sources must be synchronous");if(!C(n))continue;const t=n;for(const[e,n]of Object.entries(t)){const t=ze[e];t&&w(n)&&"UserDefined"===n.functionType&&(t.dvalaImpl=n)}}}}();const n=e?.modules?new Map(e.modules.map(e=>[e.name,e])):void 0,r=e?.bindings,o=e?.effectHandlers,i=e?.debug??!1,a=e?.cache?new Fo(e.cache):null;function s(e,n){if(!n&&a){const n=a.get(e);if(n)return n}const t={body:or(ir(wr(e,i,n),{removeWhiteSpace:!0})),hasDebugData:i};return n||a?.set(e,t),t}function u(e){if(r||e)return{...r,...e}}function l(e){if(!o&&!e)return;const n={...e};if(o)for(const[e,t]of Object.entries(o))e in n||(n[e]=t);return n}function c(e,n){if(!e)return;if(n&&Object.keys(n).length>0)throw new TypeError("Cannot use pure mode with effect handlers")}return{run(e,r){qo(r?.bindings);const o=u(r?.bindings),i=l(r?.effectHandlers),a=r?.pure??!1;c(a,i);const f=Vr({bindings:o},n,a);if(Bn(e)){const n=f.pure;f.pure=!0;for(const[n,t]of e.fileModules){const e=s(t),r=f.create({});f.registerValueModule(n,Uo(e,r))}f.pure=n;const t=Uo(s(e.program),f);if(t instanceof Promise)throw new TypeError("Unexpected async result in run(). Use runAsync() for async operations.");return t}const d=s(e,r?.filePath);if(i)return function(e,n,r){const o=Mo(e.body,n);try{return jo(o,r)}catch(o){if(o instanceof t&&o.message.includes("Unexpected async operation"))return jo(Mo(e.body,n),r);throw o}}(d,f,i);const p=Uo(d,f);if(p instanceof Promise)throw new TypeError("Unexpected async result in run(). Use runAsync() for async operations.");return p},async runAsync(e,r){qo(r?.bindings);const o=u(r?.bindings),i=l(r?.effectHandlers),a=r?.pure??!1;c(a,i);try{const t=Vr({bindings:o},n,a);if(Bn(e)){const n=t.pure;t.pure=!0;for(const[n,r]of e.fileModules){const e=s(r),o=t.create({});t.registerValueModule(n,Uo(e,o))}t.pure=n}const u=s(Bn(e)?e.program:e),l=await async function(e,n,t,r,o){const i=(new AbortController).signal;return Ro(Mo(e.body,n),t,i,void 0,r,o)}(u,t,i,r?.maxSnapshots,{values:o,modules:n});return"completed"===l.type?{...l,definedBindings:t.getModuleScopeBindings()}:l}catch(e){if(e instanceof t)return{type:"error",error:e};if(e instanceof TypeError)throw e;return{type:"error",error:new t(`${e}`,void 0)}}},getUndefinedSymbols(e){const t=n?[...n.values()]:void 0;return Lo(e,{bindings:r,modules:t})},getAutoCompleter:(e,n)=>new Bo(e,n,{bindings:r})}},exports.getAutoCompleter=function(e,n,t={}){return new Bo(e,n,t)},exports.getUndefinedSymbols=Lo,exports.isBuiltinFunction=function(e){return x(e)&&"Builtin"===e.functionType},exports.isDvalaBundle=Bn,exports.isDvalaError=function(e){return e instanceof t},exports.isDvalaFunction=w,exports.isGrid=Se,exports.isMatrix=Ie,exports.isUserDefinedFunction=E,exports.isVector=we,exports.normalExpressionKeys=Rn,exports.parseTokenStream=function(e){return{body:or(ir(e,{removeWhiteSpace:!0})),hasDebugData:e.hasDebugData}},exports.resume=async function(e,n,r){try{const t=r?.modules?new Map(r.modules.map(e=>[e.name,e])):void 0,o=Yr(e.continuation,{values:r?.bindings,modules:t}),i={values:r?.bindings,modules:t};return await async function(e,n,t,r,o){return Ro({type:"Value",value:n,k:e},t,(new AbortController).signal,r,r?.maxSnapshots,o)}(o.k,n,r?.handlers,{snapshots:o.snapshots,nextSnapshotIndex:o.nextSnapshotIndex,maxSnapshots:r?.maxSnapshots},i)}catch(e){return e instanceof t?{type:"error",error:e}:{type:"error",error:new t(`${e}`,void 0)}}},exports.specialExpressionKeys=Tn,exports.tokenizeSource=function(e,n=!1,t){return wr(e,n,t)},exports.transformSymbols=function(e,n){return function(e,n){return{...e,tokens:e.tokens.map(e=>nt(e)?[e[0],n(e[1])]:e)}}(e,n)},exports.untokenize=function(e){return e.tokens.reduce((e,n)=>`${e}${n[1]}`,"")};
2
- //# sourceMappingURL=index.js.map