@harmoniclabs/pebble 0.1.0-dev1 → 0.1.0-dev2

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 (769) hide show
  1. package/package.json +1 -1
  2. package/dist/IR/IRHash.d.ts +0 -8
  3. package/dist/IR/IRHash.js +0 -78
  4. package/dist/IR/IRNodeKind.d.ts +0 -17
  5. package/dist/IR/IRNodeKind.js +0 -19
  6. package/dist/IR/IRNodes/BaseIRMetadata.d.ts +0 -3
  7. package/dist/IR/IRNodes/BaseIRMetadata.js +0 -1
  8. package/dist/IR/IRNodes/IRApp.d.ts +0 -36
  9. package/dist/IR/IRNodes/IRApp.js +0 -91
  10. package/dist/IR/IRNodes/IRCase.d.ts +0 -32
  11. package/dist/IR/IRNodes/IRCase.js +0 -91
  12. package/dist/IR/IRNodes/IRConst.d.ts +0 -49
  13. package/dist/IR/IRNodes/IRConst.js +0 -273
  14. package/dist/IR/IRNodes/IRConstr.d.ts +0 -30
  15. package/dist/IR/IRNodes/IRConstr.js +0 -87
  16. package/dist/IR/IRNodes/IRDelayed.d.ts +0 -31
  17. package/dist/IR/IRNodes/IRDelayed.js +0 -68
  18. package/dist/IR/IRNodes/IRError.d.ts +0 -32
  19. package/dist/IR/IRNodes/IRError.js +0 -44
  20. package/dist/IR/IRNodes/IRForced.d.ts +0 -31
  21. package/dist/IR/IRNodes/IRForced.js +0 -69
  22. package/dist/IR/IRNodes/IRFunc.d.ts +0 -33
  23. package/dist/IR/IRNodes/IRFunc.js +0 -91
  24. package/dist/IR/IRNodes/IRHoisted.d.ts +0 -55
  25. package/dist/IR/IRNodes/IRHoisted.js +0 -212
  26. package/dist/IR/IRNodes/IRLetted.d.ts +0 -108
  27. package/dist/IR/IRNodes/IRLetted.js +0 -444
  28. package/dist/IR/IRNodes/IRNative/IRNativeTag.d.ts +0 -138
  29. package/dist/IR/IRNodes/IRNative/IRNativeTag.js +0 -204
  30. package/dist/IR/IRNodes/IRNative/index.d.ts +0 -165
  31. package/dist/IR/IRNodes/IRNative/index.js +0 -240
  32. package/dist/IR/IRNodes/IRNative/isForcedNative.d.ts +0 -3
  33. package/dist/IR/IRNodes/IRNative/isForcedNative.js +0 -18
  34. package/dist/IR/IRNodes/IRRecursive.d.ts +0 -29
  35. package/dist/IR/IRNodes/IRRecursive.js +0 -90
  36. package/dist/IR/IRNodes/IRSelfCall.d.ts +0 -46
  37. package/dist/IR/IRNodes/IRSelfCall.js +0 -127
  38. package/dist/IR/IRNodes/IRVar.d.ts +0 -41
  39. package/dist/IR/IRNodes/IRVar.js +0 -93
  40. package/dist/IR/IRNodes/index.d.ts +0 -12
  41. package/dist/IR/IRNodes/index.js +0 -12
  42. package/dist/IR/IRNodes/utils/dependsByDbns.d.ts +0 -5
  43. package/dist/IR/IRNodes/utils/dependsByDbns.js +0 -29
  44. package/dist/IR/IRNodes/utils/isClosedAtDbn.d.ts +0 -2
  45. package/dist/IR/IRNodes/utils/isClosedAtDbn.js +0 -22
  46. package/dist/IR/IRNodes/utils/makeArrayLikeProxy.d.ts +0 -1
  47. package/dist/IR/IRNodes/utils/makeArrayLikeProxy.js +0 -34
  48. package/dist/IR/IRNodes/utils/mapArrayLike.d.ts +0 -1
  49. package/dist/IR/IRNodes/utils/mapArrayLike.js +0 -8
  50. package/dist/IR/IRTerm.d.ts +0 -15
  51. package/dist/IR/IRTerm.js +0 -1
  52. package/dist/IR/index.d.ts +0 -5
  53. package/dist/IR/index.js +0 -5
  54. package/dist/IR/interfaces/IHash.d.ts +0 -6
  55. package/dist/IR/interfaces/IHash.js +0 -1
  56. package/dist/IR/interfaces/IIRParent.d.ts +0 -4
  57. package/dist/IR/interfaces/IIRParent.js +0 -1
  58. package/dist/IR/interfaces/IRMetadata.d.ts +0 -3
  59. package/dist/IR/interfaces/IRMetadata.js +0 -2
  60. package/dist/IR/interfaces/ToIR.d.ts +0 -5
  61. package/dist/IR/interfaces/ToIR.js +0 -1
  62. package/dist/IR/interfaces/index.d.ts +0 -4
  63. package/dist/IR/interfaces/index.js +0 -4
  64. package/dist/IR/toUPLC/CompilerOptions.d.ts +0 -80
  65. package/dist/IR/toUPLC/CompilerOptions.js +0 -98
  66. package/dist/IR/toUPLC/_internal/_addDepth.d.ts +0 -2
  67. package/dist/IR/toUPLC/_internal/_addDepth.js +0 -58
  68. package/dist/IR/toUPLC/_internal/_irToUplc.d.ts +0 -9
  69. package/dist/IR/toUPLC/_internal/_irToUplc.js +0 -156
  70. package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.d.ts +0 -2
  71. package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.js +0 -12
  72. package/dist/IR/toUPLC/_internal/_modifyChildFromTo.d.ts +0 -10
  73. package/dist/IR/toUPLC/_internal/_modifyChildFromTo.js +0 -141
  74. package/dist/IR/toUPLC/_internal/depth.d.ts +0 -5
  75. package/dist/IR/toUPLC/_internal/depth.js +0 -8
  76. package/dist/IR/toUPLC/_internal/findAll.d.ts +0 -3
  77. package/dist/IR/toUPLC/_internal/findAll.js +0 -99
  78. package/dist/IR/toUPLC/_internal/getDebruijnInTerm.d.ts +0 -2
  79. package/dist/IR/toUPLC/_internal/getDebruijnInTerm.js +0 -51
  80. package/dist/IR/toUPLC/_internal/getDiffDbn.d.ts +0 -2
  81. package/dist/IR/toUPLC/_internal/getDiffDbn.js +0 -55
  82. package/dist/IR/toUPLC/_internal/includesLettedTerms.d.ts +0 -2
  83. package/dist/IR/toUPLC/_internal/includesLettedTerms.js +0 -50
  84. package/dist/IR/toUPLC/_internal/includesNode.d.ts +0 -2
  85. package/dist/IR/toUPLC/_internal/includesNode.js +0 -54
  86. package/dist/IR/toUPLC/_internal/iterTree.d.ts +0 -2
  87. package/dist/IR/toUPLC/_internal/iterTree.js +0 -93
  88. package/dist/IR/toUPLC/_internal/lowestCommonAncestor.d.ts +0 -3
  89. package/dist/IR/toUPLC/_internal/lowestCommonAncestor.js +0 -41
  90. package/dist/IR/toUPLC/compileIRToUPLC.d.ts +0 -4
  91. package/dist/IR/toUPLC/compileIRToUPLC.js +0 -118
  92. package/dist/IR/toUPLC/index.d.ts +0 -2
  93. package/dist/IR/toUPLC/index.js +0 -2
  94. package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.d.ts +0 -2
  95. package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.js +0 -161
  96. package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.d.ts +0 -5
  97. package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.js +0 -14
  98. package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.d.ts +0 -20
  99. package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.js +0 -107
  100. package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.d.ts +0 -9
  101. package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.js +0 -73
  102. package/dist/IR/toUPLC/subRoutines/handleLetted/index.d.ts +0 -2
  103. package/dist/IR/toUPLC/subRoutines/handleLetted/index.js +0 -304
  104. package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.d.ts +0 -3
  105. package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.js +0 -32
  106. package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.d.ts +0 -2
  107. package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.js +0 -58
  108. package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.d.ts +0 -1
  109. package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.js +0 -12
  110. package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.d.ts +0 -2
  111. package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.js +0 -82
  112. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.d.ts +0 -4
  113. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.js +0 -68
  114. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.d.ts +0 -5
  115. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.js +0 -227
  116. package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.d.ts +0 -2
  117. package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.js +0 -13
  118. package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.d.ts +0 -2
  119. package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.js +0 -11
  120. package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.d.ts +0 -2
  121. package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.js +0 -16
  122. package/dist/IR/toUPLC/subRoutines/replaceNatives/index.d.ts +0 -2
  123. package/dist/IR/toUPLC/subRoutines/replaceNatives/index.js +0 -16
  124. package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.d.ts +0 -3
  125. package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.js +0 -520
  126. package/dist/IR/toUPLC/subRoutines/sanifyTree.d.ts +0 -5
  127. package/dist/IR/toUPLC/subRoutines/sanifyTree.js +0 -84
  128. package/dist/IR/tree_utils/_ir_apps.d.ts +0 -3
  129. package/dist/IR/tree_utils/_ir_apps.js +0 -8
  130. package/dist/IR/tree_utils/_ir_lazyChooseList.d.ts +0 -3
  131. package/dist/IR/tree_utils/_ir_lazyChooseList.js +0 -5
  132. package/dist/IR/tree_utils/_ir_lazyIfThenElse.d.ts +0 -3
  133. package/dist/IR/tree_utils/_ir_lazyIfThenElse.js +0 -5
  134. package/dist/IR/tree_utils/_ir_let.d.ts +0 -3
  135. package/dist/IR/tree_utils/_ir_let.js +0 -4
  136. package/dist/IR/tree_utils/getChildren.d.ts +0 -2
  137. package/dist/IR/tree_utils/getChildren.js +0 -33
  138. package/dist/IR/tree_utils/getRoot.d.ts +0 -2
  139. package/dist/IR/tree_utils/getRoot.js +0 -6
  140. package/dist/IR/utils/MutArrayLike.d.ts +0 -5
  141. package/dist/IR/utils/MutArrayLike.js +0 -1
  142. package/dist/IR/utils/concatUint8Arr.d.ts +0 -1
  143. package/dist/IR/utils/concatUint8Arr.js +0 -11
  144. package/dist/IR/utils/equalIRTerm.d.ts +0 -12
  145. package/dist/IR/utils/equalIRTerm.js +0 -19
  146. package/dist/IR/utils/index.d.ts +0 -3
  147. package/dist/IR/utils/index.js +0 -3
  148. package/dist/IR/utils/isClosedIRTerm.d.ts +0 -2
  149. package/dist/IR/utils/isClosedIRTerm.js +0 -58
  150. package/dist/IR/utils/isIRParentTerm.d.ts +0 -12
  151. package/dist/IR/utils/isIRParentTerm.js +0 -26
  152. package/dist/IR/utils/isIRTerm.d.ts +0 -2
  153. package/dist/IR/utils/isIRTerm.js +0 -30
  154. package/dist/IR/utils/positiveIntAsBytes.d.ts +0 -5
  155. package/dist/IR/utils/positiveIntAsBytes.js +0 -27
  156. package/dist/IR/utils/showIR.d.ts +0 -43
  157. package/dist/IR/utils/showIR.js +0 -372
  158. package/dist/ast/PebbleAst.d.ts +0 -8
  159. package/dist/ast/PebbleAst.js +0 -15
  160. package/dist/ast/Source/Source.d.ts +0 -47
  161. package/dist/ast/Source/Source.js +0 -89
  162. package/dist/ast/Source/SourceRange.d.ts +0 -16
  163. package/dist/ast/Source/SourceRange.js +0 -49
  164. package/dist/ast/nodes/HasSourceRange.d.ts +0 -5
  165. package/dist/ast/nodes/HasSourceRange.js +0 -6
  166. package/dist/ast/nodes/common/Identifier.d.ts +0 -13
  167. package/dist/ast/nodes/common/Identifier.js +0 -20
  168. package/dist/ast/nodes/expr/CaseExpr.d.ts +0 -22
  169. package/dist/ast/nodes/expr/CaseExpr.js +0 -30
  170. package/dist/ast/nodes/expr/ElemAccessExpr.d.ts +0 -12
  171. package/dist/ast/nodes/expr/ElemAccessExpr.js +0 -13
  172. package/dist/ast/nodes/expr/IsExpr.d.ts +0 -1
  173. package/dist/ast/nodes/expr/IsExpr.js +0 -14
  174. package/dist/ast/nodes/expr/ParentesizedExpr.d.ts +0 -8
  175. package/dist/ast/nodes/expr/ParentesizedExpr.js +0 -8
  176. package/dist/ast/nodes/expr/PebbleExpr.d.ts +0 -18
  177. package/dist/ast/nodes/expr/PebbleExpr.js +0 -31
  178. package/dist/ast/nodes/expr/PropAccessExpr.d.ts +0 -28
  179. package/dist/ast/nodes/expr/PropAccessExpr.js +0 -46
  180. package/dist/ast/nodes/expr/TernaryExpr.d.ts +0 -10
  181. package/dist/ast/nodes/expr/TernaryExpr.js +0 -12
  182. package/dist/ast/nodes/expr/TypeConversionExpr.d.ts +0 -10
  183. package/dist/ast/nodes/expr/TypeConversionExpr.js +0 -11
  184. package/dist/ast/nodes/expr/binary/BinaryExpr.d.ts +0 -133
  185. package/dist/ast/nodes/expr/binary/BinaryExpr.js +0 -253
  186. package/dist/ast/nodes/expr/functions/ArrowKind.d.ts +0 -9
  187. package/dist/ast/nodes/expr/functions/ArrowKind.js +0 -11
  188. package/dist/ast/nodes/expr/functions/CallExpr.d.ts +0 -17
  189. package/dist/ast/nodes/expr/functions/CallExpr.js +0 -16
  190. package/dist/ast/nodes/expr/functions/FuncExpr.d.ts +0 -21
  191. package/dist/ast/nodes/expr/functions/FuncExpr.js +0 -21
  192. package/dist/ast/nodes/expr/litteral/LitArrExpr.d.ts +0 -8
  193. package/dist/ast/nodes/expr/litteral/LitArrExpr.js +0 -8
  194. package/dist/ast/nodes/expr/litteral/LitFalseExpr.d.ts +0 -6
  195. package/dist/ast/nodes/expr/litteral/LitFalseExpr.js +0 -6
  196. package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.d.ts +0 -7
  197. package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.js +0 -8
  198. package/dist/ast/nodes/expr/litteral/LitIntExpr.d.ts +0 -7
  199. package/dist/ast/nodes/expr/litteral/LitIntExpr.js +0 -8
  200. package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.d.ts +0 -12
  201. package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.js +0 -12
  202. package/dist/ast/nodes/expr/litteral/LitObjExpr.d.ts +0 -14
  203. package/dist/ast/nodes/expr/litteral/LitObjExpr.js +0 -10
  204. package/dist/ast/nodes/expr/litteral/LitStrExpr.d.ts +0 -7
  205. package/dist/ast/nodes/expr/litteral/LitStrExpr.js +0 -8
  206. package/dist/ast/nodes/expr/litteral/LitThisExpr.d.ts +0 -6
  207. package/dist/ast/nodes/expr/litteral/LitThisExpr.js +0 -6
  208. package/dist/ast/nodes/expr/litteral/LitTrueExpr.d.ts +0 -6
  209. package/dist/ast/nodes/expr/litteral/LitTrueExpr.js +0 -6
  210. package/dist/ast/nodes/expr/litteral/LitUndefExpr.d.ts +0 -6
  211. package/dist/ast/nodes/expr/litteral/LitUndefExpr.js +0 -6
  212. package/dist/ast/nodes/expr/litteral/LitVoidExpr.d.ts +0 -6
  213. package/dist/ast/nodes/expr/litteral/LitVoidExpr.js +0 -6
  214. package/dist/ast/nodes/expr/litteral/LitteralExpr.d.ts +0 -13
  215. package/dist/ast/nodes/expr/litteral/LitteralExpr.js +0 -24
  216. package/dist/ast/nodes/expr/unary/IUnaryExpression.d.ts +0 -4
  217. package/dist/ast/nodes/expr/unary/IUnaryExpression.js +0 -1
  218. package/dist/ast/nodes/expr/unary/NonNullExpr.d.ts +0 -8
  219. package/dist/ast/nodes/expr/unary/NonNullExpr.js +0 -8
  220. package/dist/ast/nodes/expr/unary/UnaryExclamation.d.ts +0 -9
  221. package/dist/ast/nodes/expr/unary/UnaryExclamation.js +0 -8
  222. package/dist/ast/nodes/expr/unary/UnaryMinus.d.ts +0 -9
  223. package/dist/ast/nodes/expr/unary/UnaryMinus.js +0 -8
  224. package/dist/ast/nodes/expr/unary/UnaryPlus.d.ts +0 -9
  225. package/dist/ast/nodes/expr/unary/UnaryPlus.js +0 -8
  226. package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.d.ts +0 -14
  227. package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.js +0 -27
  228. package/dist/ast/nodes/expr/unary/UnaryTilde.d.ts +0 -9
  229. package/dist/ast/nodes/expr/unary/UnaryTilde.js +0 -8
  230. package/dist/ast/nodes/statements/AssertStmt.d.ts +0 -15
  231. package/dist/ast/nodes/statements/AssertStmt.js +0 -14
  232. package/dist/ast/nodes/statements/AssignmentStmt.d.ts +0 -105
  233. package/dist/ast/nodes/statements/AssignmentStmt.js +0 -211
  234. package/dist/ast/nodes/statements/BlockStmt.d.ts +0 -8
  235. package/dist/ast/nodes/statements/BlockStmt.js +0 -8
  236. package/dist/ast/nodes/statements/BreakStmt.d.ts +0 -6
  237. package/dist/ast/nodes/statements/BreakStmt.js +0 -6
  238. package/dist/ast/nodes/statements/ContinueStmt.d.ts +0 -6
  239. package/dist/ast/nodes/statements/ContinueStmt.js +0 -6
  240. package/dist/ast/nodes/statements/DecrStmt.d.ts +0 -11
  241. package/dist/ast/nodes/statements/DecrStmt.js +0 -11
  242. package/dist/ast/nodes/statements/DoWhileStmt.d.ts +0 -10
  243. package/dist/ast/nodes/statements/DoWhileStmt.js +0 -10
  244. package/dist/ast/nodes/statements/EmptyStmt.d.ts +0 -6
  245. package/dist/ast/nodes/statements/EmptyStmt.js +0 -6
  246. package/dist/ast/nodes/statements/ExportImportStmt.d.ts +0 -15
  247. package/dist/ast/nodes/statements/ExportImportStmt.js +0 -15
  248. package/dist/ast/nodes/statements/ExportStarStmt.d.ts +0 -8
  249. package/dist/ast/nodes/statements/ExportStarStmt.js +0 -8
  250. package/dist/ast/nodes/statements/ExportStmt.d.ts +0 -13
  251. package/dist/ast/nodes/statements/ExportStmt.js +0 -13
  252. package/dist/ast/nodes/statements/ExprStmt.d.ts +0 -8
  253. package/dist/ast/nodes/statements/ExprStmt.js +0 -18
  254. package/dist/ast/nodes/statements/FailStmt.d.ts +0 -11
  255. package/dist/ast/nodes/statements/FailStmt.js +0 -10
  256. package/dist/ast/nodes/statements/ForOfStmt.d.ts +0 -16
  257. package/dist/ast/nodes/statements/ForOfStmt.js +0 -15
  258. package/dist/ast/nodes/statements/ForStmt.d.ts +0 -19
  259. package/dist/ast/nodes/statements/ForStmt.js +0 -19
  260. package/dist/ast/nodes/statements/IfStmt.d.ts +0 -11
  261. package/dist/ast/nodes/statements/IfStmt.js +0 -12
  262. package/dist/ast/nodes/statements/ImportStarStmt.d.ts +0 -15
  263. package/dist/ast/nodes/statements/ImportStarStmt.js +0 -15
  264. package/dist/ast/nodes/statements/ImportStmt.d.ts +0 -21
  265. package/dist/ast/nodes/statements/ImportStmt.js +0 -25
  266. package/dist/ast/nodes/statements/IncrStmt.d.ts +0 -8
  267. package/dist/ast/nodes/statements/IncrStmt.js +0 -8
  268. package/dist/ast/nodes/statements/MatchStmt.d.ts +0 -17
  269. package/dist/ast/nodes/statements/MatchStmt.js +0 -20
  270. package/dist/ast/nodes/statements/PebbleStmt.d.ts +0 -29
  271. package/dist/ast/nodes/statements/PebbleStmt.js +0 -62
  272. package/dist/ast/nodes/statements/ReturnStmt.d.ts +0 -8
  273. package/dist/ast/nodes/statements/ReturnStmt.js +0 -8
  274. package/dist/ast/nodes/statements/TestStmt.d.ts +0 -10
  275. package/dist/ast/nodes/statements/TestStmt.js +0 -10
  276. package/dist/ast/nodes/statements/TypeImplementsStmt.d.ts +0 -21
  277. package/dist/ast/nodes/statements/TypeImplementsStmt.js +0 -26
  278. package/dist/ast/nodes/statements/UsingStmt.d.ts +0 -16
  279. package/dist/ast/nodes/statements/UsingStmt.js +0 -20
  280. package/dist/ast/nodes/statements/VarStmt.d.ts +0 -10
  281. package/dist/ast/nodes/statements/VarStmt.js +0 -11
  282. package/dist/ast/nodes/statements/WhileStmt.d.ts +0 -10
  283. package/dist/ast/nodes/statements/WhileStmt.js +0 -10
  284. package/dist/ast/nodes/statements/declarations/EnumDecl.d.ts +0 -18
  285. package/dist/ast/nodes/statements/declarations/EnumDecl.js +0 -22
  286. package/dist/ast/nodes/statements/declarations/FuncDecl.d.ts +0 -8
  287. package/dist/ast/nodes/statements/declarations/FuncDecl.js +0 -9
  288. package/dist/ast/nodes/statements/declarations/InterfaceDecl.d.ts +0 -19
  289. package/dist/ast/nodes/statements/declarations/InterfaceDecl.js +0 -26
  290. package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.d.ts +0 -5
  291. package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.js +0 -8
  292. package/dist/ast/nodes/statements/declarations/StructDecl.d.ts +0 -25
  293. package/dist/ast/nodes/statements/declarations/StructDecl.js +0 -36
  294. package/dist/ast/nodes/statements/declarations/TypeAliasDecl.d.ts +0 -11
  295. package/dist/ast/nodes/statements/declarations/TypeAliasDecl.js +0 -12
  296. package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.d.ts +0 -19
  297. package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.js +0 -19
  298. package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.d.ts +0 -5
  299. package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.js +0 -7
  300. package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.d.ts +0 -24
  301. package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.js +0 -30
  302. package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.d.ts +0 -17
  303. package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.js +0 -21
  304. package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.d.ts +0 -24
  305. package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.js +0 -20
  306. package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.d.ts +0 -8
  307. package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.js +0 -13
  308. package/dist/ast/nodes/types/AstNamedTypeExpr.d.ts +0 -14
  309. package/dist/ast/nodes/types/AstNamedTypeExpr.js +0 -14
  310. package/dist/ast/nodes/types/AstNativeTypeExpr.d.ts +0 -52
  311. package/dist/ast/nodes/types/AstNativeTypeExpr.js +0 -82
  312. package/dist/ast/nodes/types/AstTypeExpr.d.ts +0 -4
  313. package/dist/ast/nodes/types/AstTypeExpr.js +0 -7
  314. package/dist/common.d.ts +0 -194
  315. package/dist/common.js +0 -224
  316. package/dist/compiler/AstCompiler/AstCompilationCtx.d.ts +0 -35
  317. package/dist/compiler/AstCompiler/AstCompilationCtx.js +0 -43
  318. package/dist/compiler/AstCompiler/AstCompiler.d.ts +0 -73
  319. package/dist/compiler/AstCompiler/AstCompiler.js +0 -532
  320. package/dist/compiler/AstCompiler/compileAst.d.ts +0 -0
  321. package/dist/compiler/AstCompiler/compileAst.js +0 -0
  322. package/dist/compiler/AstCompiler/index.d.ts +0 -1
  323. package/dist/compiler/AstCompiler/index.js +0 -1
  324. package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.d.ts +0 -5
  325. package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.js +0 -66
  326. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.d.ts +0 -5
  327. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.js +0 -36
  328. package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.d.ts +0 -6
  329. package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.js +0 -47
  330. package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.d.ts +0 -5
  331. package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.js +0 -23
  332. package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.d.ts +0 -22
  333. package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.js +0 -77
  334. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.d.ts +0 -26
  335. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.js +0 -163
  336. package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.d.ts +0 -1
  337. package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.js +0 -43
  338. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.d.ts +0 -19
  339. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.js +0 -202
  340. package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.d.ts +0 -5
  341. package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.js +0 -43
  342. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.d.ts +0 -9
  343. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.js +0 -102
  344. package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.d.ts +0 -5
  345. package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.js +0 -22
  346. package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.d.ts +0 -5
  347. package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.js +0 -25
  348. package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.d.ts +0 -5
  349. package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.js +0 -54
  350. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.d.ts +0 -5
  351. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.js +0 -9
  352. package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.d.ts +0 -3
  353. package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.js +0 -13
  354. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.d.ts +0 -5
  355. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.js +0 -20
  356. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.d.ts +0 -5
  357. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.js +0 -20
  358. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.d.ts +0 -5
  359. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.js +0 -20
  360. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.d.ts +0 -5
  361. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.js +0 -20
  362. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.d.ts +0 -5
  363. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.js +0 -20
  364. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.d.ts +0 -5
  365. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.js +0 -18
  366. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.d.ts +0 -5
  367. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.js +0 -20
  368. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.d.ts +0 -5
  369. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.js +0 -27
  370. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.d.ts +0 -5
  371. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.js +0 -26
  372. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.d.ts +0 -5
  373. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.js +0 -25
  374. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.d.ts +0 -5
  375. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.js +0 -26
  376. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.d.ts +0 -5
  377. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.js +0 -22
  378. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.d.ts +0 -5
  379. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.js +0 -22
  380. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.d.ts +0 -5
  381. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.js +0 -20
  382. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.d.ts +0 -5
  383. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.js +0 -20
  384. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.d.ts +0 -5
  385. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.js +0 -18
  386. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.d.ts +0 -5
  387. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.js +0 -60
  388. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.d.ts +0 -5
  389. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.js +0 -21
  390. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.d.ts +0 -5
  391. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.js +0 -21
  392. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.d.ts +0 -5
  393. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.js +0 -20
  394. package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.d.ts +0 -4
  395. package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.js +0 -30
  396. package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.d.ts +0 -8
  397. package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.js +0 -154
  398. package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.d.ts +0 -4
  399. package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.js +0 -14
  400. package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.d.ts +0 -4
  401. package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.js +0 -7
  402. package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.d.ts +0 -4
  403. package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.js +0 -7
  404. package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.d.ts +0 -1
  405. package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.js +0 -12
  406. package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.d.ts +0 -4
  407. package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.js +0 -18
  408. package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.d.ts +0 -4
  409. package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.js +0 -30
  410. package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.d.ts +0 -7
  411. package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.js +0 -46
  412. package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.d.ts +0 -4
  413. package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.js +0 -27
  414. package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.d.ts +0 -6
  415. package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.js +0 -182
  416. package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.d.ts +0 -4
  417. package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.js +0 -17
  418. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.d.ts +0 -11
  419. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.js +0 -73
  420. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.d.ts +0 -1
  421. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.js +0 -32
  422. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.d.ts +0 -11
  423. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.js +0 -41
  424. package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.d.ts +0 -34
  425. package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.js +0 -207
  426. package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.d.ts +0 -4
  427. package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.js +0 -19
  428. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.d.ts +0 -4
  429. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.js +0 -61
  430. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.d.ts +0 -4
  431. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.js +0 -59
  432. package/dist/compiler/AstCompiler/scope/AstScope.d.ts +0 -102
  433. package/dist/compiler/AstCompiler/scope/AstScope.js +0 -195
  434. package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.d.ts +0 -14
  435. package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.js +0 -36
  436. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.d.ts +0 -4
  437. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.js +0 -121
  438. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.d.ts +0 -39
  439. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.js +0 -129
  440. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.d.ts +0 -4
  441. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.js +0 -49
  442. package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.d.ts +0 -3
  443. package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.js +0 -12
  444. package/dist/compiler/Compiler.d.ts +0 -10
  445. package/dist/compiler/Compiler.js +0 -39
  446. package/dist/compiler/TirCompiler/TirCompilerCtx.d.ts +0 -7
  447. package/dist/compiler/TirCompiler/TirCompilerCtx.js +0 -8
  448. package/dist/compiler/TirCompiler/compileTirProgram.d.ts +0 -9
  449. package/dist/compiler/TirCompiler/compileTirProgram.js +0 -18
  450. package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.d.ts +0 -72
  451. package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.js +0 -282
  452. package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.d.ts +0 -27
  453. package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.js +0 -248
  454. package/dist/compiler/TirCompiler/expressify/expressify.d.ts +0 -15
  455. package/dist/compiler/TirCompiler/expressify/expressify.js +0 -403
  456. package/dist/compiler/TirCompiler/expressify/expressifyForStmt.d.ts +0 -8
  457. package/dist/compiler/TirCompiler/expressify/expressifyForStmt.js +0 -115
  458. package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.d.ts +0 -6
  459. package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.js +0 -105
  460. package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.d.ts +0 -5
  461. package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.js +0 -15
  462. package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.d.ts +0 -4
  463. package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.js +0 -20
  464. package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.d.ts +0 -3
  465. package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.js +0 -34
  466. package/dist/compiler/TirCompiler/expressify/expressifyVars.d.ts +0 -10
  467. package/dist/compiler/TirCompiler/expressify/expressifyVars.js +0 -320
  468. package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.d.ts +0 -9
  469. package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.js +0 -59
  470. package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.d.ts +0 -3
  471. package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.js +0 -9
  472. package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.d.ts +0 -3
  473. package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.js +0 -15
  474. package/dist/compiler/TirCompiler/index.d.ts +0 -2
  475. package/dist/compiler/TirCompiler/index.js +0 -2
  476. package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.d.ts +0 -5
  477. package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.js +0 -37
  478. package/dist/compiler/TirCompiler/internal/deps/DepsNode.d.ts +0 -13
  479. package/dist/compiler/TirCompiler/internal/deps/DepsNode.js +0 -36
  480. package/dist/compiler/index.d.ts +0 -4
  481. package/dist/compiler/index.js +0 -4
  482. package/dist/compiler/internalVar.d.ts +0 -19
  483. package/dist/compiler/internalVar.js +0 -56
  484. package/dist/compiler/io/CompilerIoApi.d.ts +0 -36
  485. package/dist/compiler/io/CompilerIoApi.js +0 -62
  486. package/dist/compiler/io/IOutputStream.d.ts +0 -28
  487. package/dist/compiler/io/IOutputStream.js +0 -45
  488. package/dist/compiler/io/index.d.ts +0 -2
  489. package/dist/compiler/io/index.js +0 -2
  490. package/dist/compiler/path/getAbsolutePath.d.ts +0 -12
  491. package/dist/compiler/path/getAbsolutePath.js +0 -114
  492. package/dist/compiler/path/path.d.ts +0 -5
  493. package/dist/compiler/path/path.js +0 -160
  494. package/dist/compiler/tir/expressions/ITirExpr.d.ts +0 -11
  495. package/dist/compiler/tir/expressions/ITirExpr.js +0 -1
  496. package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.d.ts +0 -19
  497. package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.js +0 -41
  498. package/dist/compiler/tir/expressions/TirCallExpr.d.ts +0 -17
  499. package/dist/compiler/tir/expressions/TirCallExpr.js +0 -28
  500. package/dist/compiler/tir/expressions/TirCaseExpr.d.ts +0 -36
  501. package/dist/compiler/tir/expressions/TirCaseExpr.js +0 -257
  502. package/dist/compiler/tir/expressions/TirElemAccessExpr.d.ts +0 -20
  503. package/dist/compiler/tir/expressions/TirElemAccessExpr.js +0 -43
  504. package/dist/compiler/tir/expressions/TirExpr.d.ts +0 -23
  505. package/dist/compiler/tir/expressions/TirExpr.js +0 -46
  506. package/dist/compiler/tir/expressions/TirFailExpr.d.ts +0 -19
  507. package/dist/compiler/tir/expressions/TirFailExpr.js +0 -28
  508. package/dist/compiler/tir/expressions/TirFromDataExpr.d.ts +0 -22
  509. package/dist/compiler/tir/expressions/TirFromDataExpr.js +0 -196
  510. package/dist/compiler/tir/expressions/TirFuncExpr.d.ts +0 -37
  511. package/dist/compiler/tir/expressions/TirFuncExpr.js +0 -92
  512. package/dist/compiler/tir/expressions/TirHoistedExpr.d.ts +0 -18
  513. package/dist/compiler/tir/expressions/TirHoistedExpr.js +0 -28
  514. package/dist/compiler/tir/expressions/TirInlineClosedIR.d.ts +0 -16
  515. package/dist/compiler/tir/expressions/TirInlineClosedIR.js +0 -25
  516. package/dist/compiler/tir/expressions/TirLettedExpr.d.ts +0 -18
  517. package/dist/compiler/tir/expressions/TirLettedExpr.js +0 -28
  518. package/dist/compiler/tir/expressions/TirNativeFunc.d.ts +0 -104
  519. package/dist/compiler/tir/expressions/TirNativeFunc.js +0 -805
  520. package/dist/compiler/tir/expressions/TirParentesizedExpr.d.ts +0 -17
  521. package/dist/compiler/tir/expressions/TirParentesizedExpr.js +0 -20
  522. package/dist/compiler/tir/expressions/TirPropAccessExpr.d.ts +0 -18
  523. package/dist/compiler/tir/expressions/TirPropAccessExpr.js +0 -29
  524. package/dist/compiler/tir/expressions/TirTernaryExpr.d.ts +0 -18
  525. package/dist/compiler/tir/expressions/TirTernaryExpr.js +0 -36
  526. package/dist/compiler/tir/expressions/TirToDataExpr.d.ts +0 -28
  527. package/dist/compiler/tir/expressions/TirToDataExpr.js +0 -172
  528. package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.d.ts +0 -23
  529. package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.js +0 -32
  530. package/dist/compiler/tir/expressions/TirTypeConversionExpr.d.ts +0 -16
  531. package/dist/compiler/tir/expressions/TirTypeConversionExpr.js +0 -66
  532. package/dist/compiler/tir/expressions/TirVariableAccessExpr.d.ts +0 -18
  533. package/dist/compiler/tir/expressions/TirVariableAccessExpr.js +0 -30
  534. package/dist/compiler/tir/expressions/ToIRTermCtx.d.ts +0 -29
  535. package/dist/compiler/tir/expressions/ToIRTermCtx.js +0 -77
  536. package/dist/compiler/tir/expressions/binary/TirBinaryExpr.d.ts +0 -221
  537. package/dist/compiler/tir/expressions/binary/TirBinaryExpr.js +0 -532
  538. package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.d.ts +0 -16
  539. package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.js +0 -60
  540. package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.d.ts +0 -14
  541. package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.js +0 -17
  542. package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.d.ts +0 -15
  543. package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.js +0 -19
  544. package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.d.ts +0 -15
  545. package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.js +0 -19
  546. package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.d.ts +0 -22
  547. package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.js +0 -105
  548. package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.d.ts +0 -22
  549. package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.js +0 -102
  550. package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.d.ts +0 -15
  551. package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.js +0 -20
  552. package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.d.ts +0 -14
  553. package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.js +0 -20
  554. package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.d.ts +0 -14
  555. package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.js +0 -17
  556. package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.d.ts +0 -18
  557. package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.js +0 -23
  558. package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.d.ts +0 -14
  559. package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.js +0 -17
  560. package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.d.ts +0 -13
  561. package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.js +0 -24
  562. package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.d.ts +0 -4
  563. package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.js +0 -1
  564. package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.d.ts +0 -17
  565. package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.js +0 -23
  566. package/dist/compiler/tir/expressions/unary/TirUnaryMinus.d.ts +0 -17
  567. package/dist/compiler/tir/expressions/unary/TirUnaryMinus.js +0 -22
  568. package/dist/compiler/tir/expressions/unary/TirUnaryPlus.d.ts +0 -15
  569. package/dist/compiler/tir/expressions/unary/TirUnaryPlus.js +0 -20
  570. package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.d.ts +0 -6
  571. package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.js +0 -10
  572. package/dist/compiler/tir/expressions/unary/TirUnaryTilde.d.ts +0 -17
  573. package/dist/compiler/tir/expressions/unary/TirUnaryTilde.js +0 -22
  574. package/dist/compiler/tir/expressions/utils/NamedExpr.d.ts +0 -5
  575. package/dist/compiler/tir/expressions/utils/NamedExpr.js +0 -1
  576. package/dist/compiler/tir/program/TypedProgram.d.ts +0 -44
  577. package/dist/compiler/tir/program/TypedProgram.js +0 -126
  578. package/dist/compiler/tir/program/stdScope/StdTypes.d.ts +0 -34
  579. package/dist/compiler/tir/program/stdScope/StdTypes.js +0 -40
  580. package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.d.ts +0 -0
  581. package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.js +0 -288
  582. package/dist/compiler/tir/program/stdScope/stdScope.d.ts +0 -15
  583. package/dist/compiler/tir/program/stdScope/stdScope.js +0 -730
  584. package/dist/compiler/tir/statements/TirAssertStmt.d.ts +0 -18
  585. package/dist/compiler/tir/statements/TirAssertStmt.js +0 -29
  586. package/dist/compiler/tir/statements/TirAssignmentStmt.d.ts +0 -12
  587. package/dist/compiler/tir/statements/TirAssignmentStmt.js +0 -14
  588. package/dist/compiler/tir/statements/TirBlockStmt.d.ts +0 -9
  589. package/dist/compiler/tir/statements/TirBlockStmt.js +0 -25
  590. package/dist/compiler/tir/statements/TirBreakStmt.d.ts +0 -8
  591. package/dist/compiler/tir/statements/TirBreakStmt.js +0 -11
  592. package/dist/compiler/tir/statements/TirContinueStmt.d.ts +0 -8
  593. package/dist/compiler/tir/statements/TirContinueStmt.js +0 -13
  594. package/dist/compiler/tir/statements/TirFailStmt.d.ts +0 -13
  595. package/dist/compiler/tir/statements/TirFailStmt.js +0 -14
  596. package/dist/compiler/tir/statements/TirForOfStmt.d.ts +0 -16
  597. package/dist/compiler/tir/statements/TirForOfStmt.js +0 -25
  598. package/dist/compiler/tir/statements/TirForStmt.d.ts +0 -19
  599. package/dist/compiler/tir/statements/TirForStmt.js +0 -39
  600. package/dist/compiler/tir/statements/TirIfStmt.d.ts +0 -12
  601. package/dist/compiler/tir/statements/TirIfStmt.js +0 -23
  602. package/dist/compiler/tir/statements/TirMatchStmt.d.ts +0 -27
  603. package/dist/compiler/tir/statements/TirMatchStmt.js +0 -51
  604. package/dist/compiler/tir/statements/TirReturnStmt.d.ts +0 -10
  605. package/dist/compiler/tir/statements/TirReturnStmt.js +0 -12
  606. package/dist/compiler/tir/statements/TirStmt.d.ts +0 -32
  607. package/dist/compiler/tir/statements/TirStmt.js +0 -40
  608. package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.d.ts +0 -17
  609. package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.js +0 -30
  610. package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.d.ts +0 -21
  611. package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js +0 -34
  612. package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.d.ts +0 -17
  613. package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.js +0 -22
  614. package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.d.ts +0 -17
  615. package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js +0 -30
  616. package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.d.ts +0 -10
  617. package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.js +0 -11
  618. package/dist/compiler/tir/statements/TirWhileStmt.d.ts +0 -11
  619. package/dist/compiler/tir/statements/TirWhileStmt.js +0 -19
  620. package/dist/compiler/tir/statements/utils/definitelyFails.d.ts +0 -3
  621. package/dist/compiler/tir/statements/utils/definitelyFails.js +0 -52
  622. package/dist/compiler/tir/types/TirAliasType.d.ts +0 -32
  623. package/dist/compiler/tir/types/TirAliasType.js +0 -49
  624. package/dist/compiler/tir/types/TirInterfaceImpl.d.ts +0 -44
  625. package/dist/compiler/tir/types/TirInterfaceImpl.js +0 -32
  626. package/dist/compiler/tir/types/TirInterfaceType.d.ts +0 -28
  627. package/dist/compiler/tir/types/TirInterfaceType.js +0 -36
  628. package/dist/compiler/tir/types/TirNativeType/TirNativeType.d.ts +0 -41
  629. package/dist/compiler/tir/types/TirNativeType/TirNativeType.js +0 -86
  630. package/dist/compiler/tir/types/TirNativeType/index.d.ts +0 -2
  631. package/dist/compiler/tir/types/TirNativeType/index.js +0 -2
  632. package/dist/compiler/tir/types/TirNativeType/native/Optional/data.d.ts +0 -17
  633. package/dist/compiler/tir/types/TirNativeType/native/Optional/data.js +0 -47
  634. package/dist/compiler/tir/types/TirNativeType/native/Optional/index.d.ts +0 -3
  635. package/dist/compiler/tir/types/TirNativeType/native/Optional/index.js +0 -3
  636. package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.d.ts +0 -4
  637. package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.js +0 -6
  638. package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.d.ts +0 -17
  639. package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.js +0 -48
  640. package/dist/compiler/tir/types/TirNativeType/native/bool.d.ts +0 -13
  641. package/dist/compiler/tir/types/TirNativeType/native/bool.js +0 -12
  642. package/dist/compiler/tir/types/TirNativeType/native/bytes.d.ts +0 -13
  643. package/dist/compiler/tir/types/TirNativeType/native/bytes.js +0 -12
  644. package/dist/compiler/tir/types/TirNativeType/native/data.d.ts +0 -13
  645. package/dist/compiler/tir/types/TirNativeType/native/data.js +0 -12
  646. package/dist/compiler/tir/types/TirNativeType/native/function.d.ts +0 -16
  647. package/dist/compiler/tir/types/TirNativeType/native/function.js +0 -38
  648. package/dist/compiler/tir/types/TirNativeType/native/index.d.ts +0 -10
  649. package/dist/compiler/tir/types/TirNativeType/native/index.js +0 -10
  650. package/dist/compiler/tir/types/TirNativeType/native/int.d.ts +0 -13
  651. package/dist/compiler/tir/types/TirNativeType/native/int.js +0 -12
  652. package/dist/compiler/tir/types/TirNativeType/native/linearMap.d.ts +0 -17
  653. package/dist/compiler/tir/types/TirNativeType/native/linearMap.js +0 -44
  654. package/dist/compiler/tir/types/TirNativeType/native/list.d.ts +0 -16
  655. package/dist/compiler/tir/types/TirNativeType/native/list.js +0 -38
  656. package/dist/compiler/tir/types/TirNativeType/native/string.d.ts +0 -13
  657. package/dist/compiler/tir/types/TirNativeType/native/string.js +0 -12
  658. package/dist/compiler/tir/types/TirNativeType/native/void.d.ts +0 -13
  659. package/dist/compiler/tir/types/TirNativeType/native/void.js +0 -12
  660. package/dist/compiler/tir/types/TirStructType.d.ts +0 -68
  661. package/dist/compiler/tir/types/TirStructType.js +0 -128
  662. package/dist/compiler/tir/types/TirType.d.ts +0 -34
  663. package/dist/compiler/tir/types/TirType.js +0 -16
  664. package/dist/compiler/tir/types/TirTypeParam.d.ts +0 -18
  665. package/dist/compiler/tir/types/TirTypeParam.js +0 -39
  666. package/dist/compiler/tir/types/utils/canAssignTo.d.ts +0 -24
  667. package/dist/compiler/tir/types/utils/canAssignTo.js +0 -337
  668. package/dist/compiler/tir/types/utils/canCastTo.d.ts +0 -9
  669. package/dist/compiler/tir/types/utils/canCastTo.js +0 -155
  670. package/dist/compiler/tir/types/utils/getDeconstructableType.d.ts +0 -9
  671. package/dist/compiler/tir/types/utils/getDeconstructableType.js +0 -20
  672. package/dist/compiler/tir/types/utils/getListTypeArg.d.ts +0 -2
  673. package/dist/compiler/tir/types/utils/getListTypeArg.js +0 -9
  674. package/dist/compiler/tir/types/utils/getOptTypeArg.d.ts +0 -2
  675. package/dist/compiler/tir/types/utils/getOptTypeArg.js +0 -14
  676. package/dist/compiler/tir/types/utils/getUnaliased.d.ts +0 -3
  677. package/dist/compiler/tir/types/utils/getUnaliased.js +0 -9
  678. package/dist/diagnostics/DiagnosticCategory.d.ts +0 -16
  679. package/dist/diagnostics/DiagnosticCategory.js +0 -39
  680. package/dist/diagnostics/DiagnosticEmitter.d.ts +0 -32
  681. package/dist/diagnostics/DiagnosticEmitter.js +0 -95
  682. package/dist/diagnostics/DiagnosticMessage.d.ts +0 -37
  683. package/dist/diagnostics/DiagnosticMessage.js +0 -229
  684. package/dist/diagnostics/diagnosticMessages.generated.d.ts +0 -275
  685. package/dist/diagnostics/diagnosticMessages.generated.js +0 -551
  686. package/dist/diagnostics/utils/types.d.ts +0 -5
  687. package/dist/diagnostics/utils/types.js +0 -1
  688. package/dist/index.d.ts +0 -12
  689. package/dist/index.js +0 -13
  690. package/dist/parser/Parser.d.ts +0 -150
  691. package/dist/parser/Parser.js +0 -2416
  692. package/dist/parser/Precedence.d.ts +0 -38
  693. package/dist/parser/Precedence.js +0 -98
  694. package/dist/parser/hoistStatementsInplace.d.ts +0 -14
  695. package/dist/parser/hoistStatementsInplace.js +0 -94
  696. package/dist/parser/index.d.ts +0 -1
  697. package/dist/parser/index.js +0 -1
  698. package/dist/parser/parseFile.d.ts +0 -3
  699. package/dist/parser/parseFile.js +0 -8
  700. package/dist/tokenizer/IdentifierHandling.d.ts +0 -5
  701. package/dist/tokenizer/IdentifierHandling.js +0 -6
  702. package/dist/tokenizer/OnNewLine.d.ts +0 -6
  703. package/dist/tokenizer/OnNewLine.js +0 -8
  704. package/dist/tokenizer/Token.d.ts +0 -160
  705. package/dist/tokenizer/Token.js +0 -213
  706. package/dist/tokenizer/Tokenizer.d.ts +0 -129
  707. package/dist/tokenizer/Tokenizer.js +0 -1323
  708. package/dist/tokenizer/TokenizerState.d.ts +0 -17
  709. package/dist/tokenizer/TokenizerState.js +0 -17
  710. package/dist/tokenizer/index.d.ts +0 -2
  711. package/dist/tokenizer/index.js +0 -2
  712. package/dist/tokenizer/utils/isIllegalVariableIdentifier.d.ts +0 -1
  713. package/dist/tokenizer/utils/isIllegalVariableIdentifier.js +0 -12
  714. package/dist/tokenizer/utils/operatorTokenToString.d.ts +0 -2
  715. package/dist/tokenizer/utils/operatorTokenToString.js +0 -57
  716. package/dist/tokenizer/utils/tokenFromKeyword.d.ts +0 -2
  717. package/dist/tokenizer/utils/tokenFromKeyword.js +0 -222
  718. package/dist/tokenizer/utils/tokenIsAlsoIdentifier.d.ts +0 -2
  719. package/dist/tokenizer/utils/tokenIsAlsoIdentifier.js +0 -24
  720. package/dist/utils/BasePlutsError.d.ts +0 -2
  721. package/dist/utils/BasePlutsError.js +0 -2
  722. package/dist/utils/BitUtils/index.d.ts +0 -30
  723. package/dist/utils/BitUtils/index.js +0 -60
  724. package/dist/utils/CharCode.d.ts +0 -125
  725. package/dist/utils/CharCode.js +0 -1
  726. package/dist/utils/Cloneable.d.ts +0 -6
  727. package/dist/utils/Cloneable.js +0 -4
  728. package/dist/utils/InvalidCborFormatError.d.ts +0 -3
  729. package/dist/utils/InvalidCborFormatError.js +0 -5
  730. package/dist/utils/IsSingleKey.d.ts +0 -7
  731. package/dist/utils/IsSingleKey.js +0 -1
  732. package/dist/utils/MaybePromise.d.ts +0 -2
  733. package/dist/utils/MaybePromise.js +0 -4
  734. package/dist/utils/PlutusScriptType.d.ts +0 -12
  735. package/dist/utils/PlutusScriptType.js +0 -1
  736. package/dist/utils/ToJson.d.ts +0 -4
  737. package/dist/utils/ToJson.js +0 -5
  738. package/dist/utils/UPLCFlatUtils/index.d.ts +0 -46
  739. package/dist/utils/UPLCFlatUtils/index.js +0 -124
  740. package/dist/utils/array/filterSortedStrArrInplace.d.ts +0 -7
  741. package/dist/utils/array/filterSortedStrArrInplace.js +0 -46
  742. package/dist/utils/array/keepSortedArrInplace.d.ts +0 -7
  743. package/dist/utils/array/keepSortedArrInplace.js +0 -49
  744. package/dist/utils/array/mergeSortedStrArrInplace.d.ts +0 -6
  745. package/dist/utils/array/mergeSortedStrArrInplace.js +0 -52
  746. package/dist/utils/assert.d.ts +0 -1
  747. package/dist/utils/assert.js +0 -5
  748. package/dist/utils/capitalize.d.ts +0 -1
  749. package/dist/utils/capitalize.js +0 -5
  750. package/dist/utils/combinators.d.ts +0 -37
  751. package/dist/utils/combinators.js +0 -76
  752. package/dist/utils/getCallStackAt/index.d.ts +0 -43
  753. package/dist/utils/getCallStackAt/index.js +0 -295
  754. package/dist/utils/hex.d.ts +0 -1
  755. package/dist/utils/hex.js +0 -6
  756. package/dist/utils/ints.d.ts +0 -4
  757. package/dist/utils/ints.js +0 -19
  758. package/dist/utils/isNonEmpty.d.ts +0 -1
  759. package/dist/utils/isNonEmpty.js +0 -3
  760. package/dist/utils/maybeData.d.ts +0 -4
  761. package/dist/utils/maybeData.js +0 -10
  762. package/dist/utils/stringify.d.ts +0 -2
  763. package/dist/utils/stringify.js +0 -31
  764. package/dist/utils/terminal.d.ts +0 -28
  765. package/dist/utils/terminal.js +0 -38
  766. package/dist/utils/text.d.ts +0 -172
  767. package/dist/utils/text.js +0 -672
  768. package/dist/utils/types.d.ts +0 -12
  769. package/dist/utils/types.js +0 -1
@@ -1,304 +0,0 @@
1
- import { IRApp } from "../../../IRNodes/IRApp.js";
2
- import { IRFunc } from "../../../IRNodes/IRFunc.js";
3
- import { getSortedLettedSet, getLettedTerms, IRLetted } from "../../../IRNodes/IRLetted.js";
4
- import { IRVar } from "../../../IRNodes/IRVar.js";
5
- import { _modifyChildFromTo } from "../../_internal/_modifyChildFromTo.js";
6
- import { findAllNoHoisted } from "../../_internal/findAll.js";
7
- import { getDebruijnInTerm } from "../../_internal/getDebruijnInTerm.js";
8
- import { _getMinUnboundDbn } from "./groupByScope.js";
9
- import { IRDelayed } from "../../../IRNodes/IRDelayed.js";
10
- import { IRForced } from "../../../IRNodes/IRForced.js";
11
- import { lowestCommonAncestor } from "../../_internal/lowestCommonAncestor.js";
12
- import { isIRTerm } from "../../../utils/isIRTerm.js";
13
- import { markRecursiveHoistsAsForced } from "../markRecursiveHoistsAsForced.js";
14
- import { IRConst } from "../../../IRNodes/IRConst.js";
15
- import { incrementUnboundDbns } from "./incrementUnboundDbns.js";
16
- import { equalIrHash, irHashToHex } from "../../../IRHash.js";
17
- import { sanifyTree } from "../sanifyTree.js";
18
- import { mapArrayLike } from "../../../IRNodes/utils/mapArrayLike.js";
19
- import { IRCase } from "../../../IRNodes/IRCase.js";
20
- import { IRConstr } from "../../../IRNodes/IRConstr.js";
21
- import { IRRecursive } from "../../../IRNodes/IRRecursive.js";
22
- import { IRSelfCall } from "../../../IRNodes/IRSelfCall.js";
23
- import { findHighestRecursiveParent } from "./findHighestRecursiveParent.js";
24
- export function handleLettedAndReturnRoot(term) {
25
- // console.log(" ------------------------------------------- handleLetted ------------------------------------------- ");
26
- // console.log( prettyIRText( term ))
27
- // most of the time we are just compiling small
28
- // pre-execuded terms (hence constants)
29
- if (term instanceof IRConst)
30
- return term;
31
- // TODO: should probably merge `markRecursiveHoistsAsForced` inside `getLettedTerms` to iter once
32
- markRecursiveHoistsAsForced(term);
33
- // in case there are no letted terms there is no work to do
34
- while (true) {
35
- const allDirectLetted = getLettedTerms(term, { all: false, includeHoisted: false });
36
- if (allDirectLetted.length === 0)
37
- return term;
38
- const sortedLettedSet = getSortedLettedSet(allDirectLetted);
39
- const { letted, nReferences } = sortedLettedSet.pop();
40
- /*
41
- const _lettedValue_ = letted.value;
42
- const shouldLog = (
43
- _lettedValue_ instanceof IRApp &&
44
- _lettedValue_.fn instanceof IRFunc &&
45
- _lettedValue_.fn.arity === 1 &&
46
- _lettedValue_.fn.body instanceof IRLetted &&
47
- equalIrHash( _lettedValue_.fn.body.hash, new Uint32Array( fromHex("71030a2d7560e563fe25fd782edd847f").buffer ) as IRHash ) &&
48
- _lettedValue_.arg instanceof IRLetted &&
49
- equalIrHash( _lettedValue_.arg.hash, new Uint32Array( fromHex("82dfb8a2f2703fe59fb25f8372e5e958").buffer ) as IRHash )
50
- );
51
- //*/
52
- // shouldLog && console.log("nReferences", nReferences);
53
- // console.log(` ------------------ working with ${lettedToStr(letted)} ------------------ `);
54
- if (nReferences === 1) {
55
- // console.log("inlining letted (single reference) with value", prettyIRText( letted.value ) )
56
- _modifyChildFromTo(letted.parent, letted, letted.value);
57
- continue;
58
- }
59
- const maxScope = findLettedMaxScope(letted) ?? (() => {
60
- if (letted.meta.isClosed || letted.isClosedAtDbn(0)) {
61
- // value is closed (hoisted),
62
- // so the max scope is the entire script
63
- return term;
64
- }
65
- else
66
- throw new Error(`could not find a max scope for letted value with hash ${irHashToHex(letted.hash)}`);
67
- })();
68
- const lettedTermCanBeHoisted = maxScope === term;
69
- const minScope = findHighestRecursiveParent(letted, maxScope);
70
- sanifyTree(maxScope);
71
- const lettedHash = letted.hash;
72
- const sameLettedRefs = findAllNoHoisted(maxScope, node => node instanceof IRLetted &&
73
- equalIrHash(node.hash, lettedHash));
74
- if (sameLettedRefs.length <= 0) {
75
- console.warn("how did you get here? 0 references found for letted term;\n\n" +
76
- "!!! PLEASE OPEN AN ISSUE ON GITHUB (https://github.com/HarmonicLabs/plu-ts/issues) !!!\n\n");
77
- continue;
78
- }
79
- // just in case
80
- if (sameLettedRefs.length === 1 && !minScope) {
81
- // console.log("inlining letted (single reference pedantic) with value", prettyIRText( letted.value ) )
82
- _modifyChildFromTo(letted.parent, letted, letted.value);
83
- continue;
84
- }
85
- // always inline letted vars
86
- if (letted.value instanceof IRVar ||
87
- letted.value instanceof IRSelfCall) {
88
- // console.log("inlining letted (value is var) with value", prettyIRText( letted.value ) )
89
- for (const elem of sameLettedRefs) {
90
- // inline
91
- _modifyChildFromTo(elem.parent, elem, elem.value);
92
- }
93
- continue;
94
- }
95
- let lca = minScope ?? sameLettedRefs[0];
96
- // const forceHoist = false && sameLettedRefs.some( letted => letted.meta.forceHoist === true );
97
- for (let j = 1; j < sameLettedRefs.length; j++) {
98
- const prevLca = lca;
99
- lca = lowestCommonAncestor(lca, sameLettedRefs[j], maxScope);
100
- if (!isIRTerm(lca)) {
101
- lca = prevLca;
102
- }
103
- ;
104
- }
105
- if (!isIRTerm(lca)) {
106
- throw new Error("letting nodes with hash " + irHashToHex(lettedHash) + " from different trees");
107
- }
108
- const realLca = lca;
109
- // point to the first func or delay node above the lca
110
- // (worst case scenario we hit the maxScope; which is an IRFunc)
111
- // IRFuncs should always be under IRRecursives if any
112
- while (!(lca instanceof IRFunc ||
113
- lca instanceof IRDelayed) && lca) {
114
- lca = lca?.parent ?? undefined;
115
- }
116
- if (!isIRTerm(lca)) {
117
- if (!lettedTermCanBeHoisted)
118
- throw new Error("lowest common ancestor outside the max scope");
119
- lca = realLca;
120
- const tmpRoot = handleLettedAsHoistedAndReturnRoot(letted, realLca, // lca
121
- sameLettedRefs, term);
122
- if (lca === maxScope || !lca.parent)
123
- term = tmpRoot;
124
- continue;
125
- }
126
- const parentNode = lca;
127
- const parentNodeDirectChild = (parentNode instanceof IRFunc ||
128
- parentNode instanceof IRRecursive) ? parentNode.body : parentNode.delayed;
129
- // add 1 to every var's DeBruijn that accesses stuff outside the parent node
130
- // not including the `parentNode` node
131
- // since the new function introdcued substituting the letted term
132
- // is added inside the `parentNode` node
133
- incrementUnboundDbns(parentNodeDirectChild,
134
- // `shouldNotModifyLetted` arg (given the hash returns `true` if it should NOT modify the term)
135
- // this callback is ONLY called on LETTED terms
136
- ({ hash }) => equalIrHash(hash, lettedHash));
137
- // now we replace
138
- const lettedValue = letted.value.clone();
139
- modifyValueToLetDbns(lettedValue, getDiffDbn(letted, parentNode));
140
- const newNode = new IRApp(new IRFunc(1, parentNodeDirectChild), lettedValue, { __src__: letted.meta.__src__ });
141
- // replace child with new node
142
- if (parentNode instanceof IRFunc || parentNode instanceof IRRecursive)
143
- parentNode.body = newNode;
144
- else
145
- parentNode.delayed = newNode;
146
- for (const ref of sameLettedRefs) {
147
- _modifyChildFromTo(ref.parent, ref, new IRVar(getDebruijnInTerm(parentNodeDirectChild, ref)));
148
- }
149
- // const delayed = parentNode instanceof IRDelayed;
150
- // let finalMaxScope: IRFunc | IRDelayed = parentNode;
151
- // while(!(
152
- // finalMaxScope instanceof IRFunc ||
153
- // finalMaxScope instanceof IRDelayed
154
- // ))
155
- // {
156
- // finalMaxScope = (finalMaxScope as any).parent as any
157
- // }
158
- // console.log("final max scope (delayed: " + delayed + ")" , prettyIRText( finalMaxScope ) )
159
- }
160
- }
161
- /**
162
- *
163
- * @param letted
164
- * @returns {IRFunc} the lowest `IRFunc` in the tree that defines all the variables needed for the
165
- */
166
- function findLettedMaxScope(letted) {
167
- let minUnboundDbn = _getMinUnboundDbn(letted.value);
168
- if (minUnboundDbn === undefined) {
169
- let tmp = letted;
170
- let maxScope = undefined;
171
- while (tmp.parent) {
172
- tmp = tmp.parent;
173
- if (tmp instanceof IRFunc || tmp instanceof IRDelayed)
174
- maxScope = tmp;
175
- }
176
- ;
177
- return maxScope;
178
- }
179
- let tmp = letted;
180
- let maxScope = undefined;
181
- while (minUnboundDbn >= 0) {
182
- if (!tmp.parent) {
183
- throw new Error(`could not find a max scope for letted value with hash ${irHashToHex(letted.hash)}; ` +
184
- `the max parent found leaves the term open (reached root)`);
185
- }
186
- tmp = tmp.parent;
187
- if (tmp instanceof IRRecursive) {
188
- minUnboundDbn -= tmp.arity;
189
- // maxScope = tmp; // recursive cannot be a max scope
190
- }
191
- else if (tmp instanceof IRFunc) {
192
- minUnboundDbn -= tmp.arity;
193
- maxScope = tmp;
194
- }
195
- }
196
- // just ts sillyness here
197
- if (!maxScope) {
198
- throw new Error(`could not find a max scope for letted value with hash ${irHashToHex(letted.hash)}; ` +
199
- `no IRFunc found`);
200
- }
201
- return maxScope;
202
- }
203
- function modifyValueToLetDbns(lettedValue, diffDbn) {
204
- if (diffDbn <= 0)
205
- return;
206
- // if there is any actual difference between the letted term
207
- // and the position where it will be finally placed
208
- // the value needs to be modified accoridingly
209
- const stack = [{ term: lettedValue, dbn: 0 }];
210
- while (stack.length > 0) {
211
- const { term: t, dbn } = stack.pop();
212
- if ((t instanceof IRVar ||
213
- t instanceof IRSelfCall) &&
214
- t.dbn > dbn) {
215
- t.dbn -= diffDbn;
216
- }
217
- if (t instanceof IRLetted) {
218
- t.dbn -= diffDbn;
219
- // reduce dbn in letted value too
220
- stack.push({ term: t.value, dbn });
221
- continue;
222
- }
223
- if (t instanceof IRApp) {
224
- stack.push({ term: t.arg, dbn }, { term: t.fn, dbn });
225
- continue;
226
- }
227
- if (t instanceof IRCase) {
228
- stack.push({ term: t.constrTerm, dbn }, ...mapArrayLike(t.continuations, continuation => ({ term: continuation, dbn })));
229
- continue;
230
- }
231
- if (t instanceof IRConstr) {
232
- stack.push(...mapArrayLike(t.fields, field => ({ term: field, dbn })));
233
- continue;
234
- }
235
- if (t instanceof IRDelayed) {
236
- stack.push({ term: t.delayed, dbn });
237
- continue;
238
- }
239
- if (t instanceof IRForced) {
240
- stack.push({ term: t.forced, dbn });
241
- continue;
242
- }
243
- if (t instanceof IRFunc) {
244
- stack.push({ term: t.body, dbn: dbn + t.arity });
245
- continue;
246
- }
247
- if (t instanceof IRRecursive) {
248
- stack.push({ term: t.body, dbn: dbn + t.arity });
249
- continue;
250
- }
251
- // no hoisted
252
- }
253
- }
254
- /**
255
- * @returns the difference in DeBruijn
256
- * between the maxScope and the letted term
257
- */
258
- function getDiffDbn(letted, parentNode) {
259
- // get the difference in DeBruijn
260
- // between the maxScope and the letted term
261
- let diffDbn = 0;
262
- //*
263
- let tmpNode = letted;
264
- while (tmpNode !== parentNode) {
265
- tmpNode = tmpNode.parent;
266
- if ( // is an intermediate `IRFunc`
267
- (tmpNode instanceof IRFunc ||
268
- tmpNode instanceof IRRecursive) &&
269
- tmpNode !== parentNode // avoid counting parent node arity if IRFunc
270
- ) {
271
- // increment differential in DeBruijn by n vars indroduced here
272
- diffDbn += tmpNode.arity;
273
- }
274
- }
275
- return diffDbn;
276
- }
277
- function handleLettedAsHoistedAndReturnRoot(letted, lca, sameLettedRefs, currentRoot) {
278
- const lettedHash = letted.hash;
279
- let parentNode = lca.parent;
280
- const parentNodeDirectChild = lca;
281
- // add 1 to every var's DeBruijn that accesses stuff outside the parent node
282
- // not including the `parentNode` node
283
- // since the new function introdcued substituting the letted term
284
- // is added inside the `parentNode` node
285
- incrementUnboundDbns(parentNodeDirectChild,
286
- // `shouldNotModifyLetted` arg (given the hash returns `true` if it should NOT modify the term)
287
- ({ hash }) => equalIrHash(hash, lettedHash));
288
- // now we replace
289
- const lettedValue = letted.value; //.clone();
290
- // no need to modify letted value dbns, since closed
291
- // modifyValueToLetDbns( lettedValue, getDiffDbn( letted, parentNode ) );
292
- const newNode = new IRApp(new IRFunc(1, parentNodeDirectChild), lettedValue, { __src__: letted.meta.__src__ });
293
- // replace child with new node
294
- if (parentNode) {
295
- _modifyChildFromTo(parentNode, parentNodeDirectChild, newNode);
296
- }
297
- else {
298
- currentRoot = newNode;
299
- }
300
- for (const ref of sameLettedRefs) {
301
- _modifyChildFromTo(ref.parent, ref, new IRVar(getDebruijnInTerm(parentNodeDirectChild, ref)));
302
- }
303
- return currentRoot;
304
- }
@@ -1,3 +0,0 @@
1
- import { IRTerm } from "../../IRTerm.js";
2
- export declare function handleRecursiveTerms(term: IRTerm): void;
3
- export declare function handleRootRecursiveTerm(term: IRTerm): IRTerm;
@@ -1,32 +0,0 @@
1
- import { IRApp } from "../../IRNodes/IRApp.js";
2
- import { IRFunc } from "../../IRNodes/IRFunc.js";
3
- import { IRHoisted } from "../../IRNodes/IRHoisted.js";
4
- import { IRRecursive } from "../../IRNodes/IRRecursive.js";
5
- import { IRSelfCall } from "../../IRNodes/IRSelfCall.js";
6
- import { IRVar } from "../../IRNodes/IRVar.js";
7
- import { getChildren } from "../../tree_utils/getChildren.js";
8
- import { _modifyChildFromTo } from "../_internal/_modifyChildFromTo.js";
9
- export function handleRecursiveTerms(term) {
10
- if (term instanceof IRRecursive) {
11
- const bodyPtr = term.body;
12
- _modifyChildFromTo(term.parent, term, new IRApp(new IRHoisted(new IRFunc(1, new IRApp(new IRVar(0), new IRVar(0)))), new IRFunc(1, bodyPtr)));
13
- handleRecursiveTerms(bodyPtr);
14
- return;
15
- }
16
- if (term instanceof IRSelfCall) {
17
- _modifyChildFromTo(term.parent, term, new IRApp(new IRVar(term.dbn), new IRVar(term.dbn)));
18
- return;
19
- }
20
- getChildren(term).forEach(handleRecursiveTerms);
21
- }
22
- export function handleRootRecursiveTerm(term) {
23
- if (term instanceof IRRecursive) {
24
- const bodyPtr = term.body;
25
- const newRoot = new IRApp(new IRHoisted(new IRFunc(1, new IRApp(new IRVar(0), new IRVar(0)))), new IRFunc(1, bodyPtr));
26
- handleRecursiveTerms(bodyPtr);
27
- return newRoot;
28
- }
29
- // else
30
- handleRecursiveTerms(term);
31
- return term;
32
- }
@@ -1,2 +0,0 @@
1
- import { IRTerm } from "../../IRTerm.js";
2
- export declare function hoistForcedNatives(term: IRTerm): IRTerm;
@@ -1,58 +0,0 @@
1
- import { IRApp, IRVar } from "../../IRNodes/index.js";
2
- import { IRFunc } from "../../IRNodes/IRFunc.js";
3
- import { IRNative } from "../../IRNodes/IRNative/index.js";
4
- import { IRNativeTag } from "../../IRNodes/IRNative/IRNativeTag.js";
5
- import { isForcedNative } from "../../IRNodes/IRNative/isForcedNative.js";
6
- import { IRRecursive } from "../../IRNodes/IRRecursive.js";
7
- import { isIRParentTerm } from "../../utils/isIRParentTerm.js";
8
- import { _modifyChildFromTo } from "../_internal/_modifyChildFromTo.js";
9
- import { iterTree } from "../_internal/iterTree.js";
10
- import { sanifyTree } from "./sanifyTree.js";
11
- export function hoistForcedNatives(term) {
12
- if (!isIRParentTerm(term))
13
- return term;
14
- const toHoist = {
15
- [IRNativeTag.strictIfThenElse]: [],
16
- [IRNativeTag.chooseUnit]: [],
17
- [IRNativeTag.trace]: [],
18
- [IRNativeTag.mkCons]: [],
19
- [IRNativeTag.headList]: [],
20
- [IRNativeTag.tailList]: [],
21
- [IRNativeTag.nullList]: [],
22
- [IRNativeTag.chooseData]: [],
23
- [IRNativeTag.fstPair]: [],
24
- [IRNativeTag.sndPair]: [],
25
- [IRNativeTag.strictChooseList]: [],
26
- };
27
- sanifyTree(term);
28
- // console.log( showIRText( term ) );
29
- // collect all forced natives
30
- iterTree(term, (node) => {
31
- if (isForcedNative(node)) {
32
- toHoist[node.tag].push(node);
33
- }
34
- });
35
- const tags = Object.keys(toHoist);
36
- for (const tagStr of tags) {
37
- const tag = Number(tagStr);
38
- const nodes = toHoist[tag];
39
- if (nodes.length <= 0)
40
- continue; // also single use (might be inside loop)
41
- for (const node of nodes) {
42
- _modifyChildFromTo(node.parent, node, new IRVar(getDbnToRoot(node)));
43
- }
44
- term = new IRApp(new IRFunc(1, term), new IRNative(tag));
45
- }
46
- return term;
47
- }
48
- function getDbnToRoot(node) {
49
- let dbn = 0; // if no IRFunc is found, the node is at dbn 0 (the new func will be added)
50
- let current = node;
51
- while (current) {
52
- if (current instanceof IRFunc ||
53
- current instanceof IRRecursive)
54
- dbn += current.arity;
55
- current = current.parent;
56
- }
57
- return dbn;
58
- }
@@ -1,12 +0,0 @@
1
- import { IRVar } from "../../IRNodes/IRVar.js";
2
- import { iterTree } from "../_internal/iterTree.js";
3
- function hasAtLeastNVarsAtDbn(term, baseDbn = 0) {
4
- let n = 0;
5
- iterTree(term, (node, dbn) => {
6
- if (node instanceof IRVar && node.dbn === baseDbn + dbn)
7
- n++;
8
- }, undefined, // shouldSkipNode
9
- () => n > 1 // shouldExit
10
- );
11
- return n > 1;
12
- }
@@ -1,2 +0,0 @@
1
- import { IRTerm } from "../../IRTerm.js";
2
- export declare function markRecursiveHoistsAsForced(_term: IRTerm): void;
@@ -1,82 +0,0 @@
1
- import { IRApp } from "../../IRNodes/IRApp.js";
2
- import { IRCase } from "../../IRNodes/IRCase.js";
3
- import { IRConstr } from "../../IRNodes/IRConstr.js";
4
- import { IRDelayed } from "../../IRNodes/IRDelayed.js";
5
- import { IRForced } from "../../IRNodes/IRForced.js";
6
- import { IRFunc } from "../../IRNodes/IRFunc.js";
7
- import { IRHoisted } from "../../IRNodes/IRHoisted.js";
8
- import { IRLetted } from "../../IRNodes/IRLetted.js";
9
- import { IRRecursive } from "../../IRNodes/IRRecursive.js";
10
- export function markRecursiveHoistsAsForced(_term) {
11
- const stack = [{ term: _term, isInRecursiveTerm: false }];
12
- while (stack.length > 0) {
13
- const { term: t, isInRecursiveTerm, isIRAppArg } = stack.pop();
14
- if (t instanceof IRApp) {
15
- // must push the arg first and then the fucntion
16
- // so that we can check if the function is the Z combinator before the arg is processed
17
- stack.push({ term: t.arg, isIRAppArg: true, isInRecursiveTerm }, { term: t.fn, isInRecursiveTerm });
18
- continue;
19
- }
20
- if (t instanceof IRConstr) {
21
- // must push the arg first and then the fucntion
22
- // so that we can check if the function is the Z combinator before the arg is processed
23
- stack.push(...Array.from(t.fields)
24
- .map((f, i) => ({
25
- term: f,
26
- isIRAppArg: i > 0,
27
- isInRecursiveTerm
28
- })));
29
- continue;
30
- }
31
- if (t instanceof IRCase) {
32
- // must push the arg first and then the fucntion
33
- // so that we can check if the function is the Z combinator before the arg is processed
34
- stack.push({
35
- term: t.constrTerm,
36
- isIRAppArg: false,
37
- isInRecursiveTerm
38
- }, ...Array.from(t.continuations)
39
- .map(cont => ({
40
- term: cont,
41
- isIRAppArg: true,
42
- isInRecursiveTerm
43
- })));
44
- continue;
45
- }
46
- if (t instanceof IRHoisted ||
47
- t instanceof IRLetted) {
48
- if (isInRecursiveTerm) {
49
- t.meta.forceHoist = true;
50
- // don't push anything to the stack
51
- // hoisted values are handled normally
52
- continue;
53
- }
54
- // otherwhise check in values too
55
- else if (t instanceof IRLetted) {
56
- stack.push({ term: t.value, isInRecursiveTerm });
57
- continue;
58
- }
59
- else if (t instanceof IRHoisted) {
60
- stack.push({ term: t.hoisted, isInRecursiveTerm });
61
- continue;
62
- }
63
- }
64
- if (t instanceof IRDelayed) {
65
- stack.push({ term: t.delayed, isInRecursiveTerm });
66
- continue;
67
- }
68
- if (t instanceof IRForced) {
69
- stack.push({ term: t.forced, isInRecursiveTerm });
70
- continue;
71
- }
72
- if (t instanceof IRFunc) {
73
- stack.push({ term: t.body, isInRecursiveTerm });
74
- continue;
75
- }
76
- if (t instanceof IRRecursive) {
77
- stack.push({ term: t.body, isInRecursiveTerm: true });
78
- continue;
79
- }
80
- const tsEnsureExsaustiveCheck = t;
81
- }
82
- }
@@ -1,4 +0,0 @@
1
- import { IRFunc } from "../../../IRNodes/IRFunc.js";
2
- import { IRTerm } from "../../../IRTerm.js";
3
- export declare function getExpandedIRFunc(body: IRTerm, arity: number): IRFunc;
4
- export declare function expandFuncsAndReturnRoot(root: IRTerm): IRTerm;
@@ -1,68 +0,0 @@
1
- import { IRConstr } from "../../../IRNodes/index.js";
2
- import { IRApp } from "../../../IRNodes/IRApp.js";
3
- import { IRCase } from "../../../IRNodes/IRCase.js";
4
- import { IRDelayed } from "../../../IRNodes/IRDelayed.js";
5
- import { IRForced } from "../../../IRNodes/IRForced.js";
6
- import { IRFunc } from "../../../IRNodes/IRFunc.js";
7
- import { IRHoisted } from "../../../IRNodes/IRHoisted.js";
8
- import { IRLetted } from "../../../IRNodes/IRLetted.js";
9
- import { IRRecursive } from "../../../IRNodes/IRRecursive.js";
10
- import { IRSelfCall } from "../../../IRNodes/IRSelfCall.js";
11
- import { _modifyChildFromTo } from "../../_internal/_modifyChildFromTo.js";
12
- export function getExpandedIRFunc(body, arity) {
13
- body = new IRFunc(1, body);
14
- while (--arity > 0) {
15
- body = new IRFunc(1, body);
16
- }
17
- return body;
18
- // if( arity === 1 ) return new IRFunc( 1, body );
19
- // return new IRFunc( 1, getExpandedIRFunc( body, arity - 1 ) );
20
- }
21
- export function expandFuncsAndReturnRoot(root) {
22
- const stack = [root];
23
- while (stack.length > 0) {
24
- const t = stack.pop();
25
- if (t instanceof IRFunc) {
26
- // whatever happens we continue from the body
27
- stack.push(t.body);
28
- // all good
29
- if (t.arity <= 1)
30
- continue;
31
- const expanded = getExpandedIRFunc(t.body, t.arity);
32
- if (t.parent) {
33
- _modifyChildFromTo(t.parent, t, expanded);
34
- }
35
- else {
36
- root = expanded;
37
- }
38
- continue;
39
- }
40
- if (t instanceof IRApp) {
41
- stack.push(t.fn, t.arg);
42
- continue;
43
- }
44
- if (t instanceof IRCase) {
45
- stack.push(t.constrTerm, ...t.continuations);
46
- continue;
47
- }
48
- if (t instanceof IRConstr) {
49
- stack.push(...t.fields);
50
- continue;
51
- }
52
- if (t instanceof IRDelayed) {
53
- stack.push(t.delayed);
54
- continue;
55
- }
56
- if (t instanceof IRForced) {
57
- stack.push(t.forced);
58
- continue;
59
- }
60
- if (t instanceof IRRecursive ||
61
- t instanceof IRHoisted ||
62
- t instanceof IRLetted ||
63
- t instanceof IRSelfCall) {
64
- throw new Error("Unexpected term while performing uplc optimizations");
65
- }
66
- }
67
- return root;
68
- }
@@ -1,5 +0,0 @@
1
- import { IRTerm } from "../../../IRTerm.js";
2
- import { CompilerOptions } from "../../CompilerOptions.js";
3
- export declare function performUplcOptimizationsAndReturnRoot(root: IRTerm, options: CompilerOptions): IRTerm;
4
- /** @experimental still can't figure how to make it work */
5
- export declare function groupIndipendentLets(term: IRTerm, dbn: number): [args: IRTerm[], body: IRTerm];