@elaraai/east 0.0.1-beta.3 → 0.0.1-beta.31

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 (191) hide show
  1. package/LICENSE.md +15 -666
  2. package/README.md +30 -8
  3. package/dist/src/analyze.d.ts +3 -0
  4. package/dist/src/analyze.d.ts.map +1 -1
  5. package/dist/src/analyze.js +76 -15
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/ast.d.ts +37 -33
  8. package/dist/src/ast.d.ts.map +1 -1
  9. package/dist/src/ast_to_ir.d.ts +6 -0
  10. package/dist/src/ast_to_ir.d.ts.map +1 -1
  11. package/dist/src/ast_to_ir.js +135 -101
  12. package/dist/src/ast_to_ir.js.map +1 -1
  13. package/dist/src/builtins.d.ts +1 -1
  14. package/dist/src/builtins.d.ts.map +1 -1
  15. package/dist/src/builtins.js +32 -0
  16. package/dist/src/builtins.js.map +1 -1
  17. package/dist/src/comparison.d.ts.map +1 -1
  18. package/dist/src/comparison.js +12 -4
  19. package/dist/src/comparison.js.map +1 -1
  20. package/dist/src/compile.d.ts +26 -1
  21. package/dist/src/compile.d.ts.map +1 -1
  22. package/dist/src/compile.js +388 -257
  23. package/dist/src/compile.js.map +1 -1
  24. package/dist/src/datetime_format/types.d.ts +23 -23
  25. package/dist/src/eastir.d.ts +4 -0
  26. package/dist/src/eastir.d.ts.map +1 -1
  27. package/dist/src/eastir.js +27 -7
  28. package/dist/src/eastir.js.map +1 -1
  29. package/dist/src/error.d.ts +12 -1
  30. package/dist/src/error.d.ts.map +1 -1
  31. package/dist/src/error.js +31 -1
  32. package/dist/src/error.js.map +1 -1
  33. package/dist/src/expr/array.d.ts +109 -1
  34. package/dist/src/expr/array.d.ts.map +1 -1
  35. package/dist/src/expr/array.js +204 -44
  36. package/dist/src/expr/array.js.map +1 -1
  37. package/dist/src/expr/ast.d.ts +1 -1
  38. package/dist/src/expr/ast.d.ts.map +1 -1
  39. package/dist/src/expr/ast.js +16 -28
  40. package/dist/src/expr/ast.js.map +1 -1
  41. package/dist/src/expr/asyncfunction.js +1 -1
  42. package/dist/src/expr/asyncfunction.js.map +1 -1
  43. package/dist/src/expr/blob.d.ts +73 -1
  44. package/dist/src/expr/blob.d.ts.map +1 -1
  45. package/dist/src/expr/blob.js +97 -7
  46. package/dist/src/expr/blob.js.map +1 -1
  47. package/dist/src/expr/block.d.ts +232 -12
  48. package/dist/src/expr/block.d.ts.map +1 -1
  49. package/dist/src/expr/block.js +646 -140
  50. package/dist/src/expr/block.js.map +1 -1
  51. package/dist/src/expr/boolean.d.ts +44 -0
  52. package/dist/src/expr/boolean.d.ts.map +1 -1
  53. package/dist/src/expr/boolean.js +57 -5
  54. package/dist/src/expr/boolean.js.map +1 -1
  55. package/dist/src/expr/datetime.d.ts +135 -0
  56. package/dist/src/expr/datetime.d.ts.map +1 -1
  57. package/dist/src/expr/datetime.js +183 -33
  58. package/dist/src/expr/datetime.js.map +1 -1
  59. package/dist/src/expr/dict.d.ts +42 -0
  60. package/dist/src/expr/dict.d.ts.map +1 -1
  61. package/dist/src/expr/dict.js +105 -55
  62. package/dist/src/expr/dict.js.map +1 -1
  63. package/dist/src/expr/expr.d.ts +1 -1
  64. package/dist/src/expr/expr.d.ts.map +1 -1
  65. package/dist/src/expr/expr.js.map +1 -1
  66. package/dist/src/expr/float.d.ts +153 -0
  67. package/dist/src/expr/float.d.ts.map +1 -1
  68. package/dist/src/expr/float.js +190 -16
  69. package/dist/src/expr/float.js.map +1 -1
  70. package/dist/src/expr/function.d.ts +7 -2
  71. package/dist/src/expr/function.d.ts.map +1 -1
  72. package/dist/src/expr/function.js +1 -1
  73. package/dist/src/expr/function.js.map +1 -1
  74. package/dist/src/expr/index.d.ts +202 -2
  75. package/dist/src/expr/index.d.ts.map +1 -1
  76. package/dist/src/expr/index.js +207 -2
  77. package/dist/src/expr/index.js.map +1 -1
  78. package/dist/src/expr/integer.d.ts +180 -0
  79. package/dist/src/expr/integer.d.ts.map +1 -1
  80. package/dist/src/expr/integer.js +188 -17
  81. package/dist/src/expr/integer.js.map +1 -1
  82. package/dist/src/expr/libs/blob.js +2 -2
  83. package/dist/src/expr/libs/blob.js.map +1 -1
  84. package/dist/src/expr/libs/integer.d.ts +19 -0
  85. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  86. package/dist/src/expr/libs/integer.js +47 -0
  87. package/dist/src/expr/libs/integer.js.map +1 -1
  88. package/dist/src/expr/libs/string.js +1 -1
  89. package/dist/src/expr/libs/string.js.map +1 -1
  90. package/dist/src/expr/recursive.d.ts +83 -0
  91. package/dist/src/expr/recursive.d.ts.map +1 -0
  92. package/dist/src/expr/recursive.js +99 -0
  93. package/dist/src/expr/recursive.js.map +1 -0
  94. package/dist/src/expr/ref.js +3 -3
  95. package/dist/src/expr/ref.js.map +1 -1
  96. package/dist/src/expr/set.d.ts +44 -2
  97. package/dist/src/expr/set.d.ts.map +1 -1
  98. package/dist/src/expr/set.js +97 -47
  99. package/dist/src/expr/set.js.map +1 -1
  100. package/dist/src/expr/string.d.ts +134 -0
  101. package/dist/src/expr/string.d.ts.map +1 -1
  102. package/dist/src/expr/string.js +172 -22
  103. package/dist/src/expr/string.js.map +1 -1
  104. package/dist/src/expr/struct.d.ts +1 -1
  105. package/dist/src/expr/struct.d.ts.map +1 -1
  106. package/dist/src/expr/struct.js +1 -1
  107. package/dist/src/expr/struct.js.map +1 -1
  108. package/dist/src/expr/types.d.ts +7 -6
  109. package/dist/src/expr/types.d.ts.map +1 -1
  110. package/dist/src/expr/variant.d.ts +123 -1
  111. package/dist/src/expr/variant.d.ts.map +1 -1
  112. package/dist/src/expr/variant.js +66 -2
  113. package/dist/src/expr/variant.js.map +1 -1
  114. package/dist/src/fuzz.d.ts +36 -2
  115. package/dist/src/fuzz.d.ts.map +1 -1
  116. package/dist/src/fuzz.js +344 -77
  117. package/dist/src/fuzz.js.map +1 -1
  118. package/dist/src/index.d.ts +1 -0
  119. package/dist/src/index.d.ts.map +1 -1
  120. package/dist/src/index.js +1 -0
  121. package/dist/src/index.js.map +1 -1
  122. package/dist/src/internal.d.ts +12 -0
  123. package/dist/src/internal.d.ts.map +1 -1
  124. package/dist/src/internal.js +13 -0
  125. package/dist/src/internal.js.map +1 -1
  126. package/dist/src/ir.d.ts +1551 -1505
  127. package/dist/src/ir.d.ts.map +1 -1
  128. package/dist/src/ir.js +49 -34
  129. package/dist/src/ir.js.map +1 -1
  130. package/dist/src/location.d.ts +30 -10
  131. package/dist/src/location.d.ts.map +1 -1
  132. package/dist/src/location.js +70 -28
  133. package/dist/src/location.js.map +1 -1
  134. package/dist/src/patch/apply.d.ts +15 -0
  135. package/dist/src/patch/apply.d.ts.map +1 -0
  136. package/dist/src/patch/apply.js +380 -0
  137. package/dist/src/patch/apply.js.map +1 -0
  138. package/dist/src/patch/compose.d.ts +15 -0
  139. package/dist/src/patch/compose.d.ts.map +1 -0
  140. package/dist/src/patch/compose.js +480 -0
  141. package/dist/src/patch/compose.js.map +1 -0
  142. package/dist/src/patch/diff.d.ts +15 -0
  143. package/dist/src/patch/diff.d.ts.map +1 -0
  144. package/dist/src/patch/diff.js +328 -0
  145. package/dist/src/patch/diff.js.map +1 -0
  146. package/dist/src/patch/fuzz.d.ts +73 -0
  147. package/dist/src/patch/fuzz.d.ts.map +1 -0
  148. package/dist/src/patch/fuzz.js +159 -0
  149. package/dist/src/patch/fuzz.js.map +1 -0
  150. package/dist/src/patch/index.d.ts +18 -0
  151. package/dist/src/patch/index.d.ts.map +1 -0
  152. package/dist/src/patch/index.js +20 -0
  153. package/dist/src/patch/index.js.map +1 -0
  154. package/dist/src/patch/invert.d.ts +15 -0
  155. package/dist/src/patch/invert.d.ts.map +1 -0
  156. package/dist/src/patch/invert.js +302 -0
  157. package/dist/src/patch/invert.js.map +1 -0
  158. package/dist/src/patch/type_of_patch.d.ts +17 -0
  159. package/dist/src/patch/type_of_patch.d.ts.map +1 -0
  160. package/dist/src/patch/type_of_patch.js +143 -0
  161. package/dist/src/patch/type_of_patch.js.map +1 -0
  162. package/dist/src/patch/types.d.ts +166 -0
  163. package/dist/src/patch/types.d.ts.map +1 -0
  164. package/dist/src/patch/types.js +69 -0
  165. package/dist/src/patch/types.js.map +1 -0
  166. package/dist/src/platform.d.ts +6 -0
  167. package/dist/src/platform.d.ts.map +1 -1
  168. package/dist/src/serialization/beast.d.ts.map +1 -1
  169. package/dist/src/serialization/beast.js +53 -18
  170. package/dist/src/serialization/beast.js.map +1 -1
  171. package/dist/src/serialization/beast2.d.ts +39 -3
  172. package/dist/src/serialization/beast2.d.ts.map +1 -1
  173. package/dist/src/serialization/beast2.js +241 -18
  174. package/dist/src/serialization/beast2.js.map +1 -1
  175. package/dist/src/serialization/csv.d.ts +139 -0
  176. package/dist/src/serialization/csv.d.ts.map +1 -0
  177. package/dist/src/serialization/csv.js +615 -0
  178. package/dist/src/serialization/csv.js.map +1 -0
  179. package/dist/src/serialization/index.d.ts +2 -1
  180. package/dist/src/serialization/index.d.ts.map +1 -1
  181. package/dist/src/serialization/index.js +2 -1
  182. package/dist/src/serialization/index.js.map +1 -1
  183. package/dist/src/type_of_type.d.ts +45 -34
  184. package/dist/src/type_of_type.d.ts.map +1 -1
  185. package/dist/src/type_of_type.js +62 -1
  186. package/dist/src/type_of_type.js.map +1 -1
  187. package/dist/src/types.d.ts +8 -8
  188. package/dist/src/types.d.ts.map +1 -1
  189. package/dist/src/types.js +4 -4
  190. package/dist/src/types.js.map +1 -1
  191. package/package.json +4 -5
@@ -2,6 +2,7 @@ import { get_location } from "../location.js";
2
2
  import { FloatType, IntegerType, isTypeEqual, printType } from "../types.js";
3
3
  import { AstSymbol, Expr, FactorySymbol } from "./expr.js";
4
4
  import { valueOrExprToAstTyped } from "./ast.js";
5
+ import { equal, notEqual, less, lessEqual, greater, greaterEqual } from "./block.js";
5
6
  /**
6
7
  * Expression representing floating-point values and operations (IEEE 754 double-precision).
7
8
  *
@@ -53,7 +54,7 @@ export class FloatExpr extends Expr {
53
54
  return this[FactorySymbol]({
54
55
  ast_type: "Builtin",
55
56
  type: FloatType,
56
- location: get_location(2),
57
+ location: get_location(),
57
58
  builtin: "FloatNegate",
58
59
  type_parameters: [],
59
60
  arguments: [this[AstSymbol]],
@@ -111,7 +112,7 @@ export class FloatExpr extends Expr {
111
112
  return this[FactorySymbol]({
112
113
  ast_type: "Builtin",
113
114
  type: FloatType,
114
- location: get_location(2),
115
+ location: get_location(),
115
116
  builtin: "FloatAdd",
116
117
  type_parameters: [],
117
118
  arguments: [this[AstSymbol], rightAst],
@@ -163,7 +164,7 @@ export class FloatExpr extends Expr {
163
164
  return this[FactorySymbol]({
164
165
  ast_type: "Builtin",
165
166
  type: FloatType,
166
- location: get_location(2),
167
+ location: get_location(),
167
168
  builtin: "FloatSubtract",
168
169
  type_parameters: [],
169
170
  arguments: [this[AstSymbol], rightAst],
@@ -215,7 +216,7 @@ export class FloatExpr extends Expr {
215
216
  return this[FactorySymbol]({
216
217
  ast_type: "Builtin",
217
218
  type: FloatType,
218
- location: get_location(2),
219
+ location: get_location(),
219
220
  builtin: "FloatMultiply",
220
221
  type_parameters: [],
221
222
  arguments: [this[AstSymbol], rightAst],
@@ -270,7 +271,7 @@ export class FloatExpr extends Expr {
270
271
  return this[FactorySymbol]({
271
272
  ast_type: "Builtin",
272
273
  type: FloatType,
273
- location: get_location(2),
274
+ location: get_location(),
274
275
  builtin: "FloatDivide",
275
276
  type_parameters: [],
276
277
  arguments: [this[AstSymbol], rightAst],
@@ -322,7 +323,7 @@ export class FloatExpr extends Expr {
322
323
  return this[FactorySymbol]({
323
324
  ast_type: "Builtin",
324
325
  type: FloatType,
325
- location: get_location(2),
326
+ location: get_location(),
326
327
  builtin: "FloatRemainder",
327
328
  type_parameters: [],
328
329
  arguments: [this[AstSymbol], rightAst],
@@ -375,7 +376,7 @@ export class FloatExpr extends Expr {
375
376
  return this[FactorySymbol]({
376
377
  ast_type: "Builtin",
377
378
  type: FloatType,
378
- location: get_location(2),
379
+ location: get_location(),
379
380
  builtin: "FloatPow",
380
381
  type_parameters: [],
381
382
  arguments: [this[AstSymbol], rightAst],
@@ -402,7 +403,7 @@ export class FloatExpr extends Expr {
402
403
  return this[FactorySymbol]({
403
404
  ast_type: "Builtin",
404
405
  type: FloatType,
405
- location: get_location(2),
406
+ location: get_location(),
406
407
  builtin: "FloatAbs",
407
408
  type_parameters: [],
408
409
  arguments: [this[AstSymbol]],
@@ -429,7 +430,7 @@ export class FloatExpr extends Expr {
429
430
  return this[FactorySymbol]({
430
431
  ast_type: "Builtin",
431
432
  type: FloatType,
432
- location: get_location(2),
433
+ location: get_location(),
433
434
  builtin: "FloatSign",
434
435
  type_parameters: [],
435
436
  arguments: [this[AstSymbol]],
@@ -458,7 +459,7 @@ export class FloatExpr extends Expr {
458
459
  return this[FactorySymbol]({
459
460
  ast_type: "Builtin",
460
461
  type: FloatType,
461
- location: get_location(2),
462
+ location: get_location(),
462
463
  builtin: "FloatSqrt",
463
464
  type_parameters: [],
464
465
  arguments: [this[AstSymbol]],
@@ -485,7 +486,7 @@ export class FloatExpr extends Expr {
485
486
  return this[FactorySymbol]({
486
487
  ast_type: "Builtin",
487
488
  type: FloatType,
488
- location: get_location(2),
489
+ location: get_location(),
489
490
  builtin: "FloatExp",
490
491
  type_parameters: [],
491
492
  arguments: [this[AstSymbol]],
@@ -515,7 +516,7 @@ export class FloatExpr extends Expr {
515
516
  return this[FactorySymbol]({
516
517
  ast_type: "Builtin",
517
518
  type: FloatType,
518
- location: get_location(2),
519
+ location: get_location(),
519
520
  builtin: "FloatLog",
520
521
  type_parameters: [],
521
522
  arguments: [this[AstSymbol]],
@@ -542,7 +543,7 @@ export class FloatExpr extends Expr {
542
543
  return this[FactorySymbol]({
543
544
  ast_type: "Builtin",
544
545
  type: FloatType,
545
- location: get_location(2),
546
+ location: get_location(),
546
547
  builtin: "FloatSin",
547
548
  type_parameters: [],
548
549
  arguments: [this[AstSymbol]],
@@ -569,7 +570,7 @@ export class FloatExpr extends Expr {
569
570
  return this[FactorySymbol]({
570
571
  ast_type: "Builtin",
571
572
  type: FloatType,
572
- location: get_location(2),
573
+ location: get_location(),
573
574
  builtin: "FloatCos",
574
575
  type_parameters: [],
575
576
  arguments: [this[AstSymbol]],
@@ -596,7 +597,7 @@ export class FloatExpr extends Expr {
596
597
  return this[FactorySymbol]({
597
598
  ast_type: "Builtin",
598
599
  type: FloatType,
599
- location: get_location(2),
600
+ location: get_location(),
600
601
  builtin: "FloatTan",
601
602
  type_parameters: [],
602
603
  arguments: [this[AstSymbol]],
@@ -627,11 +628,184 @@ export class FloatExpr extends Expr {
627
628
  return this[FactorySymbol]({
628
629
  ast_type: "Builtin",
629
630
  type: IntegerType,
630
- location: get_location(2),
631
+ location: get_location(),
631
632
  builtin: "FloatToInteger",
632
633
  type_parameters: [],
633
634
  arguments: [this[AstSymbol]],
634
635
  });
635
636
  }
637
+ // ─────────────────────────────────────────────────────────────────────────────
638
+ // Comparison methods
639
+ // ─────────────────────────────────────────────────────────────────────────────
640
+ /**
641
+ * Checks if this float equals another value.
642
+ *
643
+ * @param other - The value to compare against
644
+ * @returns A BooleanExpr that is true if the values are equal
645
+ *
646
+ * @example
647
+ * ```ts
648
+ * const checkEqual = East.function([FloatType, FloatType], BooleanType, ($, x, y) => {
649
+ * $.return(x.equals(y));
650
+ * });
651
+ * const compiled = East.compile(checkEqual.toIR(), []);
652
+ * compiled(3.14, 3.14); // true
653
+ * compiled(3.14, 2.0); // false
654
+ * ```
655
+ */
656
+ equals(other) {
657
+ return equal(this, other);
658
+ }
659
+ /**
660
+ * Checks if this float does not equal another value.
661
+ *
662
+ * @param other - The value to compare against
663
+ * @returns A BooleanExpr that is true if the values are not equal
664
+ *
665
+ * @example
666
+ * ```ts
667
+ * const checkNotEqual = East.function([FloatType, FloatType], BooleanType, ($, x, y) => {
668
+ * $.return(x.notEquals(y));
669
+ * });
670
+ * const compiled = East.compile(checkNotEqual.toIR(), []);
671
+ * compiled(3.14, 2.0); // true
672
+ * compiled(3.14, 3.14); // false
673
+ * ```
674
+ */
675
+ notEquals(other) {
676
+ return notEqual(this, other);
677
+ }
678
+ /**
679
+ * Checks if this float is greater than another value.
680
+ *
681
+ * @param other - The value to compare against
682
+ * @returns A BooleanExpr that is true if this value is greater
683
+ *
684
+ * @example
685
+ * ```ts
686
+ * const checkGreater = East.function([FloatType, FloatType], BooleanType, ($, x, y) => {
687
+ * $.return(x.greaterThan(y));
688
+ * });
689
+ * const compiled = East.compile(checkGreater.toIR(), []);
690
+ * compiled(3.14, 2.0); // true
691
+ * compiled(2.0, 3.14); // false
692
+ * compiled(3.14, 3.14); // false
693
+ * ```
694
+ */
695
+ greaterThan(other) {
696
+ return greater(this, other);
697
+ }
698
+ /**
699
+ * Checks if this float is less than another value.
700
+ *
701
+ * @param other - The value to compare against
702
+ * @returns A BooleanExpr that is true if this value is less
703
+ *
704
+ * @example
705
+ * ```ts
706
+ * const checkLess = East.function([FloatType, FloatType], BooleanType, ($, x, y) => {
707
+ * $.return(x.lessThan(y));
708
+ * });
709
+ * const compiled = East.compile(checkLess.toIR(), []);
710
+ * compiled(2.0, 3.14); // true
711
+ * compiled(3.14, 2.0); // false
712
+ * compiled(3.14, 3.14); // false
713
+ * ```
714
+ */
715
+ lessThan(other) {
716
+ return less(this, other);
717
+ }
718
+ /**
719
+ * Checks if this float is greater than or equal to another value.
720
+ *
721
+ * @param other - The value to compare against
722
+ * @returns A BooleanExpr that is true if this value is greater than or equal
723
+ *
724
+ * @example
725
+ * ```ts
726
+ * const checkGte = East.function([FloatType, FloatType], BooleanType, ($, x, y) => {
727
+ * $.return(x.greaterThanOrEqual(y));
728
+ * });
729
+ * const compiled = East.compile(checkGte.toIR(), []);
730
+ * compiled(3.14, 2.0); // true
731
+ * compiled(3.14, 3.14); // true
732
+ * compiled(2.0, 3.14); // false
733
+ * ```
734
+ */
735
+ greaterThanOrEqual(other) {
736
+ return greaterEqual(this, other);
737
+ }
738
+ /**
739
+ * Checks if this float is less than or equal to another value.
740
+ *
741
+ * @param other - The value to compare against
742
+ * @returns A BooleanExpr that is true if this value is less than or equal
743
+ *
744
+ * @example
745
+ * ```ts
746
+ * const checkLte = East.function([FloatType, FloatType], BooleanType, ($, x, y) => {
747
+ * $.return(x.lessThanOrEqual(y));
748
+ * });
749
+ * const compiled = East.compile(checkLte.toIR(), []);
750
+ * compiled(2.0, 3.14); // true
751
+ * compiled(3.14, 3.14); // true
752
+ * compiled(3.14, 2.0); // false
753
+ * ```
754
+ */
755
+ lessThanOrEqual(other) {
756
+ return lessEqual(this, other);
757
+ }
758
+ // ============================================================================
759
+ // Aliases for comparison operations
760
+ // ============================================================================
761
+ /** Alias for {@link equals} */
762
+ eq = this.equals;
763
+ /** Alias for {@link equals} */
764
+ equal = this.equals;
765
+ /** Alias for {@link notEquals} */
766
+ ne = this.notEquals;
767
+ /** Alias for {@link notEquals} */
768
+ notEqual = this.notEquals;
769
+ /** Alias for {@link greaterThan} */
770
+ gt = this.greaterThan;
771
+ /** Alias for {@link greaterThan} */
772
+ greater = this.greaterThan;
773
+ /** Alias for {@link lessThan} */
774
+ lt = this.lessThan;
775
+ /** Alias for {@link lessThan} */
776
+ less = this.lessThan;
777
+ /** Alias for {@link greaterThanOrEqual} */
778
+ gte = this.greaterThanOrEqual;
779
+ /** Alias for {@link greaterThanOrEqual} */
780
+ ge = this.greaterThanOrEqual;
781
+ /** Alias for {@link greaterThanOrEqual} */
782
+ greaterEqual = this.greaterThanOrEqual;
783
+ /** Alias for {@link lessThanOrEqual} */
784
+ lte = this.lessThanOrEqual;
785
+ /** Alias for {@link lessThanOrEqual} */
786
+ le = this.lessThanOrEqual;
787
+ /** Alias for {@link lessThanOrEqual} */
788
+ lessEqual = this.lessThanOrEqual;
789
+ // ============================================================================
790
+ // Aliases for arithmetic operations
791
+ // ============================================================================
792
+ /** Alias for {@link add} */
793
+ plus = this.add;
794
+ /** Alias for {@link subtract} */
795
+ sub = this.subtract;
796
+ /** Alias for {@link subtract} */
797
+ minus = this.subtract;
798
+ /** Alias for {@link multiply} */
799
+ mul = this.multiply;
800
+ /** Alias for {@link multiply} */
801
+ times = this.multiply;
802
+ /** Alias for {@link divide} */
803
+ div = this.divide;
804
+ /** Alias for {@link remainder} */
805
+ mod = this.remainder;
806
+ /** Alias for {@link remainder} */
807
+ rem = this.remainder;
808
+ /** Alias for {@link remainder} */
809
+ modulo = this.remainder;
636
810
  }
637
811
  //# sourceMappingURL=float.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"float.js","sourceRoot":"","sources":["../../../src/expr/float.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"float.js","sourceRoot":"","sources":["../../../src/expr/float.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ import { EastIR } from "../eastir.js";
7
7
  import { FunctionType } from "../types.js";
8
8
  import { Expr, type ToExpr } from "./expr.js";
9
9
  import type { ExprType, SubtypeExprOrValue } from "./types.js";
10
+ /**
11
+ * Return type for function calls - uses ExprType for all types including RecursiveType
12
+ */
13
+ type FunctionReturnType<O> = ExprType<O>;
10
14
  /**
11
15
  * Expression representing the Function type.
12
16
  * Used for function calls, composition, etc.
@@ -20,7 +24,7 @@ export declare class FunctionExpr<I extends any[], O extends any> extends Expr<F
20
24
  * @internal */
21
25
  call(...args: {
22
26
  [K in keyof I]: SubtypeExprOrValue<I[K]>;
23
- }): ExprType<O>;
27
+ }): FunctionReturnType<O>;
24
28
  /** Convert the function to East's "intermediate representation" (IR). This can then be serialized or compiled.
25
29
  *
26
30
  * Note that the function must be a "free" function, with no captures.
@@ -35,7 +39,7 @@ export declare class FunctionExpr<I extends any[], O extends any> extends Expr<F
35
39
  */
36
40
  export type CallableFunctionExpr<I extends any[], O> = FunctionExpr<I, O> & ((...args: {
37
41
  [K in keyof I]: SubtypeExprOrValue<I[K]>;
38
- }) => ExprType<O>);
42
+ }) => FunctionReturnType<O>);
39
43
  /**
40
44
  * Factory producing a callable FunctionExpr so users can invoke it directly.
41
45
  * Prototype chain preserved for instanceof checks.
@@ -43,4 +47,5 @@ export type CallableFunctionExpr<I extends any[], O> = FunctionExpr<I, O> & ((..
43
47
  * @internal
44
48
  */
45
49
  export declare function createFunctionExpr<I extends any[], O extends any>(input_types: I, output_type: O, ast: AST, createExpr: ToExpr): CallableFunctionExpr<I, O>;
50
+ export {};
46
51
  //# sourceMappingURL=function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/expr/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAa,IAAI,EAAiB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/D;;;EAGE;AACF,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,WAAW;IAAK,OAAO,CAAC,WAAW;gBAAnC,WAAW,EAAE,CAAC,EAAU,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAIxF;;mBAEe;IACf,IAAI,CAAC,GAAG,IAAI,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;IAgBxE;;;MAGE;IACF,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAIrB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAErJ;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAC/D,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAO5B"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/expr/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAa,IAAI,EAAiB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,KAAK,kBAAkB,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEzC;;;EAGE;AACF,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,CAAE,SAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,WAAW;IAAK,OAAO,CAAC,WAAW;gBAAnC,WAAW,EAAE,CAAC,EAAU,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAIxF;;mBAEe;IACf,IAAI,CAAC,GAAG,IAAI,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAgBlF;;;MAGE;IACF,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAIrB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/J;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAC/D,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAO5B"}
@@ -27,7 +27,7 @@ export class FunctionExpr extends Expr {
27
27
  return this[FactorySymbol]({
28
28
  ast_type: "Call",
29
29
  type: this.output_type,
30
- location: get_location(2),
30
+ location: get_location(),
31
31
  function: this[AstSymbol],
32
32
  arguments: inputs,
33
33
  });
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/expr/function.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAe,MAAM,WAAW,CAAC;AAGxE;;;EAGE;AACF,MAAM,OAAO,YAA6C,SAAQ,IAAwB;IACpE;IAAwB;IAA5C,YAAoB,WAAc,EAAU,WAAc,EAAE,GAAQ,EAAE,UAAkB;QACtF,KAAK,CAAC,GAAG,CAAC,IAA0B,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QADrC,gBAAW,GAAX,WAAW,CAAG;QAAU,gBAAW,GAAX,WAAW,CAAG;IAE1D,CAAC;IAED;;mBAEe;IACf,IAAI,CAAC,GAAG,IAAkD;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAE7G,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI,CAAC,WAAuB;YAClC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;YACzB,SAAS,EAAE,MAAM;SAClB,CAAgB,CAAC;IACpB,CAAC;IAED;;;MAGE;IACF,IAAI;QACF,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAe,CAAC;QACpD,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF;AAUD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAc,EACd,WAAc,EACd,GAAQ,EACR,UAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,YAAY,CAAO,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAkD;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAI,IAAY,CAAC,CAAC;IACrC,CAA0C,CAAC;IAC3C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/expr/function.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAe,MAAM,WAAW,CAAC;AAQxE;;;EAGE;AACF,MAAM,OAAO,YAA6C,SAAQ,IAAwB;IACpE;IAAwB;IAA5C,YAAoB,WAAc,EAAU,WAAc,EAAE,GAAQ,EAAE,UAAkB;QACtF,KAAK,CAAC,GAAG,CAAC,IAA0B,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QADrC,gBAAW,GAAX,WAAW,CAAG;QAAU,gBAAW,GAAX,WAAW,CAAG;IAE1D,CAAC;IAED;;mBAEe;IACf,IAAI,CAAC,GAAG,IAAkD;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAE7G,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI,CAAC,WAAuB;YAClC,QAAQ,EAAE,YAAY,EAAE;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;YACzB,SAAS,EAAE,MAAM;SAClB,CAA0B,CAAC;IAC9B,CAAC;IAED;;;MAGE;IACF,IAAI;QACF,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAe,CAAC;QACpD,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF;AAUD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAc,EACd,WAAc,EACd,GAAQ,EACR,UAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,YAAY,CAAO,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAkD;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAI,IAAY,CAAC,CAAC;IACrC,CAA0C,CAAC;IAC3C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC"}