@elaraai/east 0.0.1-beta.1 → 0.0.1-beta.11

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 (125) hide show
  1. package/LICENSE.md +15 -666
  2. package/README.md +15 -6
  3. package/dist/src/analyze.d.ts +4 -4
  4. package/dist/src/analyze.d.ts.map +1 -1
  5. package/dist/src/analyze.js +142 -44
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/ast.d.ts +18 -7
  8. package/dist/src/ast.d.ts.map +1 -1
  9. package/dist/src/ast.js +1 -146
  10. package/dist/src/ast.js.map +1 -1
  11. package/dist/src/ast_to_ir.d.ts +7 -0
  12. package/dist/src/ast_to_ir.d.ts.map +1 -1
  13. package/dist/src/ast_to_ir.js +80 -11
  14. package/dist/src/ast_to_ir.js.map +1 -1
  15. package/dist/src/builtins.d.ts +1 -1
  16. package/dist/src/builtins.d.ts.map +1 -1
  17. package/dist/src/builtins.js +89 -64
  18. package/dist/src/builtins.js.map +1 -1
  19. package/dist/src/comparison.d.ts.map +1 -1
  20. package/dist/src/comparison.js +19 -2
  21. package/dist/src/comparison.js.map +1 -1
  22. package/dist/src/compile.d.ts.map +1 -1
  23. package/dist/src/compile.js +137 -221
  24. package/dist/src/compile.js.map +1 -1
  25. package/dist/src/default.d.ts.map +1 -1
  26. package/dist/src/default.js +2 -0
  27. package/dist/src/default.js.map +1 -1
  28. package/dist/src/eastir.d.ts +12 -10
  29. package/dist/src/eastir.d.ts.map +1 -1
  30. package/dist/src/eastir.js +20 -19
  31. package/dist/src/eastir.js.map +1 -1
  32. package/dist/src/expr/array.d.ts +66 -0
  33. package/dist/src/expr/array.d.ts.map +1 -1
  34. package/dist/src/expr/array.js +161 -51
  35. package/dist/src/expr/array.js.map +1 -1
  36. package/dist/src/expr/ast.d.ts.map +1 -1
  37. package/dist/src/expr/ast.js +6 -0
  38. package/dist/src/expr/ast.js.map +1 -1
  39. package/dist/src/expr/asyncfunction.d.ts +49 -0
  40. package/dist/src/expr/asyncfunction.d.ts.map +1 -0
  41. package/dist/src/expr/asyncfunction.js +60 -0
  42. package/dist/src/expr/asyncfunction.js.map +1 -0
  43. package/dist/src/expr/blob.d.ts +25 -1
  44. package/dist/src/expr/blob.d.ts.map +1 -1
  45. package/dist/src/expr/blob.js +36 -1
  46. package/dist/src/expr/blob.js.map +1 -1
  47. package/dist/src/expr/block.d.ts +82 -8
  48. package/dist/src/expr/block.d.ts.map +1 -1
  49. package/dist/src/expr/block.js +278 -16
  50. package/dist/src/expr/block.js.map +1 -1
  51. package/dist/src/expr/dict.js +47 -47
  52. package/dist/src/expr/dict.js.map +1 -1
  53. package/dist/src/expr/expr.d.ts +9 -0
  54. package/dist/src/expr/expr.d.ts.map +1 -1
  55. package/dist/src/expr/expr.js +5 -1
  56. package/dist/src/expr/expr.js.map +1 -1
  57. package/dist/src/expr/index.d.ts +112 -2
  58. package/dist/src/expr/index.d.ts.map +1 -1
  59. package/dist/src/expr/index.js +110 -8
  60. package/dist/src/expr/index.js.map +1 -1
  61. package/dist/src/expr/libs/array.js +1 -1
  62. package/dist/src/expr/libs/array.js.map +1 -1
  63. package/dist/src/expr/libs/dict.js +3 -3
  64. package/dist/src/expr/libs/dict.js.map +1 -1
  65. package/dist/src/expr/libs/integer.d.ts +19 -0
  66. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  67. package/dist/src/expr/libs/integer.js +47 -0
  68. package/dist/src/expr/libs/integer.js.map +1 -1
  69. package/dist/src/expr/libs/set.js +2 -2
  70. package/dist/src/expr/libs/set.js.map +1 -1
  71. package/dist/src/expr/ref.js +1 -1
  72. package/dist/src/expr/ref.js.map +1 -1
  73. package/dist/src/expr/set.js +38 -38
  74. package/dist/src/expr/set.js.map +1 -1
  75. package/dist/src/expr/struct.d.ts +2 -0
  76. package/dist/src/expr/struct.d.ts.map +1 -1
  77. package/dist/src/expr/types.d.ts +8 -5
  78. package/dist/src/expr/types.d.ts.map +1 -1
  79. package/dist/src/expr/variant.d.ts +53 -0
  80. package/dist/src/expr/variant.d.ts.map +1 -1
  81. package/dist/src/expr/variant.js +56 -0
  82. package/dist/src/expr/variant.js.map +1 -1
  83. package/dist/src/fuzz.d.ts.map +1 -1
  84. package/dist/src/fuzz.js +5 -0
  85. package/dist/src/fuzz.js.map +1 -1
  86. package/dist/src/internal.d.ts +8 -0
  87. package/dist/src/internal.d.ts.map +1 -1
  88. package/dist/src/internal.js +8 -0
  89. package/dist/src/internal.js.map +1 -1
  90. package/dist/src/ir.d.ts +231 -33
  91. package/dist/src/ir.d.ts.map +1 -1
  92. package/dist/src/ir.js +3 -1
  93. package/dist/src/ir.js.map +1 -1
  94. package/dist/src/serialization/beast.d.ts.map +1 -1
  95. package/dist/src/serialization/beast.js +59 -18
  96. package/dist/src/serialization/beast.js.map +1 -1
  97. package/dist/src/serialization/beast2-stream.d.ts.map +1 -1
  98. package/dist/src/serialization/beast2-stream.js +5 -0
  99. package/dist/src/serialization/beast2-stream.js.map +1 -1
  100. package/dist/src/serialization/beast2.d.ts.map +1 -1
  101. package/dist/src/serialization/beast2.js +10 -4
  102. package/dist/src/serialization/beast2.js.map +1 -1
  103. package/dist/src/serialization/csv.d.ts +139 -0
  104. package/dist/src/serialization/csv.d.ts.map +1 -0
  105. package/dist/src/serialization/csv.js +615 -0
  106. package/dist/src/serialization/csv.js.map +1 -0
  107. package/dist/src/serialization/east.d.ts.map +1 -1
  108. package/dist/src/serialization/east.js +9 -1
  109. package/dist/src/serialization/east.js.map +1 -1
  110. package/dist/src/serialization/index.d.ts +1 -0
  111. package/dist/src/serialization/index.d.ts.map +1 -1
  112. package/dist/src/serialization/index.js +1 -0
  113. package/dist/src/serialization/index.js.map +1 -1
  114. package/dist/src/serialization/json.d.ts.map +1 -1
  115. package/dist/src/serialization/json.js +8 -2
  116. package/dist/src/serialization/json.js.map +1 -1
  117. package/dist/src/type_of_type.d.ts +20 -3
  118. package/dist/src/type_of_type.d.ts.map +1 -1
  119. package/dist/src/type_of_type.js +101 -13
  120. package/dist/src/type_of_type.js.map +1 -1
  121. package/dist/src/types.d.ts +59 -16
  122. package/dist/src/types.d.ts.map +1 -1
  123. package/dist/src/types.js +141 -91
  124. package/dist/src/types.js.map +1 -1
  125. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"dict.js","sourceRoot":"","sources":["../../../src/expr/dict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dict.js","sourceRoot":"","sources":["../../../src/expr/dict.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { type BooleanType, type StringType, type NeverType, type StructType, Arr
9
9
  import type { BlockBuilder } from "./block.js";
10
10
  import type { CallableFunctionExpr } from "./function.js";
11
11
  import type { NeverExpr } from "./never.js";
12
+ import type { CallableAsyncFunctionExpr } from "./asyncfunction.js";
12
13
  /**
13
14
  * Simple factory function type for creating expressions from AST
14
15
  */
@@ -67,6 +68,14 @@ export declare abstract class Expr<T = any> {
67
68
  static function<const I extends any[], O>(input_types: I, output_type: O, body: ($: BlockBuilder<O>, ...inputs: {
68
69
  [K in keyof I]: ExprType<I[K]>;
69
70
  }) => SubtypeExprOrValue<O> | void): CallableFunctionExpr<I, O>;
71
+ /** Create a function expression. */
72
+ /** @internal */
73
+ static asyncFunction<const I extends any[], F extends ($: BlockBuilder<NeverType>, ...inputs: {
74
+ [K in keyof I]: ExprType<I[K]>;
75
+ }) => any>(input_types: I, output_type: undefined, body: F): CallableAsyncFunctionExpr<I, TypeOf<ReturnType<F> extends void ? NeverType : ReturnType<F>>>;
76
+ static asyncFunction<const I extends any[], O>(input_types: I, output_type: O, body: ($: BlockBuilder<O>, ...inputs: {
77
+ [K in keyof I]: ExprType<I[K]>;
78
+ }) => SubtypeExprOrValue<O> | void): CallableAsyncFunctionExpr<I, O>;
70
79
  /** Print an expression as a string. */
71
80
  static print(expr: any): ExprType<StringType>;
72
81
  /** Perform string interpolation. */
@@ -1 +1 @@
1
- {"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../../src/expr/expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expr.d.ts","sourceRoot":"","sources":["../../../src/expr/expr.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ArrayType, FunctionType, IntegerType, VariantType } from "../types.js";
1
+ import { ArrayType, FunctionType, IntegerType, VariantType, AsyncFunctionType } from "../types.js";
2
2
  export const TypeSymbol = Symbol("type");
3
3
  export const AstSymbol = Symbol("ast");
4
4
  export const FactorySymbol = Symbol("factory");
@@ -74,6 +74,10 @@ export class Expr {
74
74
  // Note that this static method is overridden later
75
75
  throw new Error("Method used before initialization");
76
76
  }
77
+ static asyncFunction(_input_types, _output_type, _body) {
78
+ // Note that this static method is overridden later
79
+ throw new Error("Method used before initialization");
80
+ }
77
81
  //
78
82
  // Standard library functions
79
83
  //
@@ -1 +1 @@
1
- {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../../src/expr/expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expr.js","sourceRoot":"","sources":["../../../src/expr/expr.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,24 @@
5
5
  export * from './types.js';
6
6
  import { Expr } from './expr.js';
7
7
  export { Expr } from './expr.js';
8
- import { from, equal, notEqual, less, lessEqual, print, is, greaterEqual, greater, func, str, platform } from './block.js';
9
- export { BlockBuilder } from './block.js';
8
+ export { NeverExpr } from './never.js';
9
+ export { NullExpr } from './null.js';
10
+ export { BooleanExpr } from './boolean.js';
11
+ export { IntegerExpr } from './integer.js';
12
+ export { FloatExpr } from './float.js';
13
+ export { DateTimeExpr } from './datetime.js';
14
+ export { StringExpr } from './string.js';
15
+ export { BlobExpr } from './blob.js';
16
+ export { RefExpr } from './ref.js';
17
+ export { ArrayExpr } from './array.js';
18
+ export { SetExpr } from './set.js';
19
+ export { DictExpr } from './dict.js';
20
+ export { StructExpr } from './struct.js';
21
+ export { VariantExpr } from './variant.js';
22
+ export { type CallableFunctionExpr, FunctionExpr } from './function.js';
23
+ export { type CallableAsyncFunctionExpr, AsyncFunctionExpr } from './asyncfunction.js';
24
+ import { from, equal, notEqual, less, lessEqual, print, is, greaterEqual, greater, func, str, platform, asyncFunction, asyncPlatform, compile, compileAsync } from './block.js';
25
+ export { BlockBuilder, type AsyncPlatformDefinition, type PlatformDefinition } from './block.js';
10
26
  export type { ToExpr as ExprFactory } from './expr.js';
11
27
  /**
12
28
  * Standard entry point for constructing East expressions.
@@ -32,6 +48,44 @@ export type { ToExpr as ExprFactory } from './expr.js';
32
48
  * ```
33
49
  */
34
50
  export declare const East: {
51
+ /**
52
+ * Compiles an East function into JavaScript function.
53
+ *
54
+ * @param f the function expression to compile
55
+ * @param platform the platform functions available during compilation
56
+ * @returns the compiled function
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const add = East.function(
61
+ * [IntegerType, IntegerType],
62
+ * IntegerType,
63
+ * ($, a, b) => $.return(a.add(b))
64
+ * );
65
+ * const compiledAdd = East.compile(add, []);
66
+ * console.log(compiledAdd(2n, 3n));
67
+ *
68
+ **/
69
+ compile: typeof compile;
70
+ /**
71
+ * Compiles an asyncronous East function into an asynchronous JavaScript function.
72
+ *
73
+ * @param f the async function expression to compile
74
+ * @param platform the platform functions available during compilation
75
+ * @returns the compiled async function
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const add = East.asyncFunction(
80
+ * [IntegerType, IntegerType],
81
+ * IntegerType,
82
+ * ($, a, b) => $.return(a.add(b))
83
+ * );
84
+ * const compiledAdd = East.compileAsync(add, []);
85
+ * console.log(await compiledAdd(2n, 3n));
86
+ *
87
+ **/
88
+ compileAsync: typeof compileAsync;
35
89
  /**
36
90
  * Creates an East expression from a JavaScript value.
37
91
  * Type is inferred from the value, or can be explicitly specified.
@@ -88,6 +142,29 @@ export declare const East: {
88
142
  * ```
89
143
  */
90
144
  function: typeof func;
145
+ /**
146
+ * Creates an async East function with typed inputs and output.
147
+ * Functions can be nested, serialized to IR, and compiled to JavaScript.
148
+ *
149
+ * @param inputs - Array of East types for function parameters
150
+ * @param output - East type for function return value
151
+ * @param body - Function body using block builder and parameters
152
+ * @returns An AsyncFunctionExpr that can be compiled or serialized
153
+ *
154
+ * @example
155
+ * ```ts
156
+ * // An async function that pauses the program for a given number of milliseconds
157
+ * const sleep = East.asyncPlatform("sleep", [IntegerType], NullType);
158
+ *
159
+ * // Wrap it in an async East function to wait whole number of seconds
160
+ * const sleepSeconds = East.asyncFunction(
161
+ * [IntegerType],
162
+ * NullType,
163
+ * ($, seconds) => $(sleep(seconds.multiply(1000n)))
164
+ * );
165
+ * ```
166
+ */
167
+ asyncFunction: typeof asyncFunction;
91
168
  /**
92
169
  * Defines a platform function that can be called from East code.
93
170
  * Platform functions allow East code to interact with the external environment.
@@ -97,6 +174,8 @@ export declare const East: {
97
174
  * @param output - East type for the function return value
98
175
  * @returns A callable platform function helper
99
176
  *
177
+ * @see {@link asyncPlatform} for defining async platform functions.
178
+ *
100
179
  * @example
101
180
  * ```ts
102
181
  * const log = East.platform("log", [StringType], NullType);
@@ -114,6 +193,36 @@ export declare const East: {
114
193
  * ```
115
194
  */
116
195
  platform: typeof platform;
196
+ /**
197
+ * Defines an asynchronous platform function that can be called from East code.
198
+ * Platform functions allow East code to interact with the external environment.
199
+ * East will handle awaiting the result automatically, but the platform function can only
200
+ * be called from async East functions.
201
+ *
202
+ * @param name - The name of the platform function
203
+ * @param inputs - Array of East types for the function parameters
204
+ * @param output - East type for the function return value
205
+ * @returns A callable platform function helper
206
+ *
207
+ * @see {@link platform} for synchronous platform functions.
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * const log = East.platform("log", [StringType], NullType);
212
+ * const readFile = East.asyncPlatform("readFile", [StringType], StringType);
213
+ *
214
+ * const myFunction = East.asyncFunction([StringType], NullType, ($, msg) => {
215
+ * $(log(East.str`Message: ${msg}`));
216
+ * $.return(null);
217
+ * });
218
+ *
219
+ * const asyncPlatform = [
220
+ * log.implement(console.log),
221
+ * readFile.implement(fs.promises.readFile),
222
+ * ];
223
+ * ```
224
+ */
225
+ asyncPlatform: typeof asyncPlatform;
117
226
  /**
118
227
  * Converts any East expression to its string representation.
119
228
  * Uses the East serialization format (not JSON).
@@ -294,6 +403,7 @@ export declare const East: {
294
403
  */
295
404
  Integer: {
296
405
  printCommaSeperated: import("./function.js").CallableFunctionExpr<[import("../types.js").IntegerType], import("../types.js").StringType>;
406
+ printCurrency: import("./function.js").CallableFunctionExpr<[import("../types.js").IntegerType], import("../types.js").StringType>;
297
407
  printCompact: import("./function.js").CallableFunctionExpr<[import("../types.js").IntegerType], import("../types.js").StringType>;
298
408
  printCompactSI: import("./function.js").CallableFunctionExpr<[import("../types.js").IntegerType], import("../types.js").StringType>;
299
409
  printCompactComputing: import("./function.js").CallableFunctionExpr<[import("../types.js").IntegerType], import("../types.js").StringType>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expr/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3H,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB1C,YAAY,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAwBvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI;IAGf;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;IAUH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;;OAeG;;IAGH;;;;;;;;;;;;;OAaG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;OAcG;;IAKH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;OAcG;;IAKH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;;;;;IAGH;;;;;;;;OAQG;;;;IAGH;;;;;;;;;;OAUG;;;;;;IAGH;;;;;;;;OAQG;;;;IAGH;;;;;;;;;;;;;;OAcG;;;;CAEJ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expr/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChL,OAAO,EAAE,YAAY,EAAE,KAAK,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAcjG,YAAY,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAwBvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI;IAGf;;;;;;;;;;;;;;;;;QAiBI;;IAGJ;;;;;;;;;;;;;;;;;QAiBI;;IAGJ;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;;;;;;;;;OAsBG;;IAGH;;;;;;;;;;;;;;;;;;;;;OAqBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;;;;OAeG;;IAGH;;;;;;;;;;;;;OAaG;;IAGH;;;;;;;;;;;;;;OAcG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;OAcG;;IAKH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;;;;OAcG;;IAKH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;;;;;IAGH;;;;;;;;OAQG;;;;IAGH;;;;;;;;;;OAUG;;;;;;IAGH;;;;;;;;OAQG;;;;IAGH;;;;;;;;;;;;;;OAcG;;;;CAEJ,CAAC"}
@@ -7,10 +7,25 @@ export * from './types.js';
7
7
  // Re-export abstract base and concrete classes
8
8
  import { Expr } from './expr.js';
9
9
  export { Expr } from './expr.js';
10
+ export { NeverExpr } from './never.js';
11
+ export { NullExpr } from './null.js';
12
+ export { BooleanExpr } from './boolean.js';
13
+ export { IntegerExpr } from './integer.js';
14
+ export { FloatExpr } from './float.js';
15
+ export { DateTimeExpr } from './datetime.js';
16
+ export { StringExpr } from './string.js';
17
+ export { BlobExpr } from './blob.js';
18
+ export { RefExpr } from './ref.js';
19
+ export { ArrayExpr } from './array.js';
20
+ export { SetExpr } from './set.js';
21
+ export { DictExpr } from './dict.js';
22
+ export { StructExpr } from './struct.js';
23
+ export { VariantExpr } from './variant.js';
24
+ export { FunctionExpr } from './function.js';
25
+ export { AsyncFunctionExpr } from './asyncfunction.js';
10
26
  // Import factory implementation
11
- import { from, equal, notEqual, less, lessEqual, print, is, greaterEqual, greater, func, str, platform } from './block.js';
27
+ import { from, equal, notEqual, less, lessEqual, print, is, greaterEqual, greater, func, str, platform, asyncFunction, asyncPlatform, compile, compileAsync } from './block.js';
12
28
  export { BlockBuilder } from './block.js';
13
- // import type { FunctionExpr } from './function.js';
14
29
  // Import standard libraries
15
30
  import IntegerLib from './libs/integer.js';
16
31
  import FloatLib from './libs/float.js';
@@ -66,6 +81,44 @@ import DictLib from './libs/dict.js';
66
81
  */
67
82
  export const East = {
68
83
  // Expr factories
84
+ /**
85
+ * Compiles an East function into JavaScript function.
86
+ *
87
+ * @param f the function expression to compile
88
+ * @param platform the platform functions available during compilation
89
+ * @returns the compiled function
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * const add = East.function(
94
+ * [IntegerType, IntegerType],
95
+ * IntegerType,
96
+ * ($, a, b) => $.return(a.add(b))
97
+ * );
98
+ * const compiledAdd = East.compile(add, []);
99
+ * console.log(compiledAdd(2n, 3n));
100
+ *
101
+ **/
102
+ compile: compile,
103
+ /**
104
+ * Compiles an asyncronous East function into an asynchronous JavaScript function.
105
+ *
106
+ * @param f the async function expression to compile
107
+ * @param platform the platform functions available during compilation
108
+ * @returns the compiled async function
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * const add = East.asyncFunction(
113
+ * [IntegerType, IntegerType],
114
+ * IntegerType,
115
+ * ($, a, b) => $.return(a.add(b))
116
+ * );
117
+ * const compiledAdd = East.compileAsync(add, []);
118
+ * console.log(await compiledAdd(2n, 3n));
119
+ *
120
+ **/
121
+ compileAsync: compileAsync,
69
122
  /**
70
123
  * Creates an East expression from a JavaScript value.
71
124
  * Type is inferred from the value, or can be explicitly specified.
@@ -122,6 +175,29 @@ export const East = {
122
175
  * ```
123
176
  */
124
177
  function: func,
178
+ /**
179
+ * Creates an async East function with typed inputs and output.
180
+ * Functions can be nested, serialized to IR, and compiled to JavaScript.
181
+ *
182
+ * @param inputs - Array of East types for function parameters
183
+ * @param output - East type for function return value
184
+ * @param body - Function body using block builder and parameters
185
+ * @returns An AsyncFunctionExpr that can be compiled or serialized
186
+ *
187
+ * @example
188
+ * ```ts
189
+ * // An async function that pauses the program for a given number of milliseconds
190
+ * const sleep = East.asyncPlatform("sleep", [IntegerType], NullType);
191
+ *
192
+ * // Wrap it in an async East function to wait whole number of seconds
193
+ * const sleepSeconds = East.asyncFunction(
194
+ * [IntegerType],
195
+ * NullType,
196
+ * ($, seconds) => $(sleep(seconds.multiply(1000n)))
197
+ * );
198
+ * ```
199
+ */
200
+ asyncFunction,
125
201
  /**
126
202
  * Defines a platform function that can be called from East code.
127
203
  * Platform functions allow East code to interact with the external environment.
@@ -131,6 +207,8 @@ export const East = {
131
207
  * @param output - East type for the function return value
132
208
  * @returns A callable platform function helper
133
209
  *
210
+ * @see {@link asyncPlatform} for defining async platform functions.
211
+ *
134
212
  * @example
135
213
  * ```ts
136
214
  * const log = East.platform("log", [StringType], NullType);
@@ -148,12 +226,36 @@ export const East = {
148
226
  * ```
149
227
  */
150
228
  platform,
151
- // compile,
152
- // block,
153
- // error,
154
- // tryCatch,
155
- // match: matchExpr,
156
- // builtins
229
+ /**
230
+ * Defines an asynchronous platform function that can be called from East code.
231
+ * Platform functions allow East code to interact with the external environment.
232
+ * East will handle awaiting the result automatically, but the platform function can only
233
+ * be called from async East functions.
234
+ *
235
+ * @param name - The name of the platform function
236
+ * @param inputs - Array of East types for the function parameters
237
+ * @param output - East type for the function return value
238
+ * @returns A callable platform function helper
239
+ *
240
+ * @see {@link platform} for synchronous platform functions.
241
+ *
242
+ * @example
243
+ * ```ts
244
+ * const log = East.platform("log", [StringType], NullType);
245
+ * const readFile = East.asyncPlatform("readFile", [StringType], StringType);
246
+ *
247
+ * const myFunction = East.asyncFunction([StringType], NullType, ($, msg) => {
248
+ * $(log(East.str`Message: ${msg}`));
249
+ * $.return(null);
250
+ * });
251
+ *
252
+ * const asyncPlatform = [
253
+ * log.implement(console.log),
254
+ * readFile.implement(fs.promises.readFile),
255
+ * ];
256
+ * ```
257
+ */
258
+ asyncPlatform,
157
259
  /**
158
260
  * Converts any East expression to its string representation.
159
261
  * Uses the East serialization format (not JSON).
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/expr/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sBAAsB;AACtB,cAAc,YAAY,CAAC;AAE3B,+CAA+C;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,gCAAgC;AAChC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3H,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,qDAAqD;AAGrD,4BAA4B;AAC5B,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAMrC,yDAAyD;AACzD,KAAK;AACL,yEAAyE;AACzE,KAAK;AACL,8CAA8C;AAC9C,kGAAkG;AAClG,6FAA6F;AAC7F,KAAK;AACL,cAAc;AACd,WAAW;AACX,gGAAgG;AAChG,6CAA6C;AAC7C,4CAA4C;AAC5C,SAAS;AACT,MAAM;AACN,oDAAoD;AACpD,4BAA4B;AAC5B,sDAAsD;AACtD,WAAW;AACX,wCAAwC;AACxC,IAAI;AAEJ;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,iBAAiB;IAEjB;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,EAAE,IAAI;IAEX;;;;;;;;;;;;OAYG;IACH,GAAG;IAEH;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,IAAI;IAEd;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,YAAY;IACZ,oBAAoB;IAEpB,WAAW;IAEX;;;;;;;;;;;;;;OAcG;IACH,KAAK;IAEL;;;;;;;;;;;;;;;OAeG;IACH,KAAK;IAEL;;;;;;;;;;;;;OAaG;IACH,QAAQ;IAER;;;;;;;;;;;;;;OAcG;IACH,IAAI;IAEJ;;;;;;;;;;;;OAYG;IACH,SAAS;IAET;;;;;;;;;;;;OAYG;IACH,OAAO;IAEP;;;;;;;;;;;;OAYG;IACH,YAAY;IAEZ;;;;;;;;;;;;;;OAcG;IACH,EAAE;IAEF,cAAc;IAEd;;;;;;;;;;;;OAYG;IACH,GAAG,EAAE,IAAI,CAAC,GAAG;IAEb;;;;;;;;;;;;OAYG;IACH,GAAG,EAAE,IAAI,CAAC,GAAG;IAEb;;;;;;;;;;;;;;OAcG;IACH,KAAK,EAAE,IAAI,CAAC,KAAK;IAEjB,eAAe;IAEf;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,UAAU;IAEnB;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,QAAQ;IAEf;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,WAAW;IAErB;;;;;;;;OAQG;IACH,MAAM,EAAE,SAAS;IAEjB;;;;;;;;OAQG;IACH,IAAI,EAAE,OAAO;IAEb;;;;;;;;;;OAUG;IACH,KAAK,EAAE,QAAQ;IAEf;;;;;;;;OAQG;IACH,GAAG,EAAE,MAAM;IAEX;;;;;;;;;;;;;;OAcG;IACH,IAAI,EAAE,OAAO;CACd,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/expr/index.ts"],"names":[],"mappings":"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"}