edict-lang 1.2.0 → 1.5.0

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 (141) hide show
  1. package/dist/ast/nodes.d.ts +3 -3
  2. package/dist/ast/nodes.d.ts.map +1 -1
  3. package/dist/ast/nodes.js +1 -0
  4. package/dist/ast/nodes.js.map +1 -1
  5. package/dist/ast/type-constants.d.ts +12 -0
  6. package/dist/ast/type-constants.d.ts.map +1 -0
  7. package/dist/ast/type-constants.js +16 -0
  8. package/dist/ast/type-constants.js.map +1 -0
  9. package/dist/ast/types.d.ts +1 -1
  10. package/dist/ast/types.d.ts.map +1 -1
  11. package/dist/builtins/builtin-enums.d.ts +12 -0
  12. package/dist/builtins/builtin-enums.d.ts.map +1 -0
  13. package/dist/builtins/builtin-enums.js +45 -0
  14. package/dist/builtins/builtin-enums.js.map +1 -0
  15. package/dist/builtins/builtins.d.ts +24 -0
  16. package/dist/builtins/builtins.d.ts.map +1 -0
  17. package/dist/builtins/builtins.js +691 -0
  18. package/dist/builtins/builtins.js.map +1 -0
  19. package/dist/checker/check.d.ts.map +1 -1
  20. package/dist/checker/check.js +81 -38
  21. package/dist/checker/check.js.map +1 -1
  22. package/dist/checker/type-env.d.ts +2 -0
  23. package/dist/checker/type-env.d.ts.map +1 -1
  24. package/dist/checker/type-env.js +9 -0
  25. package/dist/checker/type-env.js.map +1 -1
  26. package/dist/codegen/browser-host-adapter.d.ts +29 -0
  27. package/dist/codegen/browser-host-adapter.d.ts.map +1 -0
  28. package/dist/codegen/browser-host-adapter.js +51 -0
  29. package/dist/codegen/browser-host-adapter.js.map +1 -0
  30. package/dist/codegen/builtins.d.ts +2 -26
  31. package/dist/codegen/builtins.d.ts.map +1 -1
  32. package/dist/codegen/builtins.js +2 -341
  33. package/dist/codegen/builtins.js.map +1 -1
  34. package/dist/codegen/closures.d.ts +17 -0
  35. package/dist/codegen/closures.d.ts.map +1 -0
  36. package/dist/codegen/closures.js +140 -0
  37. package/dist/codegen/closures.js.map +1 -0
  38. package/dist/codegen/codegen.d.ts +11 -30
  39. package/dist/codegen/codegen.d.ts.map +1 -1
  40. package/dist/codegen/codegen.js +154 -982
  41. package/dist/codegen/codegen.js.map +1 -1
  42. package/dist/codegen/collect-strings.d.ts +4 -0
  43. package/dist/codegen/collect-strings.d.ts.map +1 -0
  44. package/dist/codegen/collect-strings.js +76 -0
  45. package/dist/codegen/collect-strings.js.map +1 -0
  46. package/dist/codegen/compile-calls.d.ts +10 -0
  47. package/dist/codegen/compile-calls.d.ts.map +1 -0
  48. package/dist/codegen/compile-calls.js +344 -0
  49. package/dist/codegen/compile-calls.js.map +1 -0
  50. package/dist/codegen/compile-data.d.ts +22 -0
  51. package/dist/codegen/compile-data.d.ts.map +1 -0
  52. package/dist/codegen/compile-data.js +243 -0
  53. package/dist/codegen/compile-data.js.map +1 -0
  54. package/dist/codegen/compile-match.d.ts +7 -0
  55. package/dist/codegen/compile-match.d.ts.map +1 -0
  56. package/dist/codegen/compile-match.js +195 -0
  57. package/dist/codegen/compile-match.js.map +1 -0
  58. package/dist/codegen/compile-scalars.d.ts +25 -0
  59. package/dist/codegen/compile-scalars.d.ts.map +1 -0
  60. package/dist/codegen/compile-scalars.js +210 -0
  61. package/dist/codegen/compile-scalars.js.map +1 -0
  62. package/dist/codegen/hof-generators.d.ts +39 -0
  63. package/dist/codegen/hof-generators.d.ts.map +1 -0
  64. package/dist/codegen/hof-generators.js +336 -0
  65. package/dist/codegen/hof-generators.js.map +1 -0
  66. package/dist/codegen/host-adapter.d.ts +44 -0
  67. package/dist/codegen/host-adapter.d.ts.map +1 -0
  68. package/dist/codegen/host-adapter.js +9 -0
  69. package/dist/codegen/host-adapter.js.map +1 -0
  70. package/dist/codegen/host-functions.d.ts +35 -0
  71. package/dist/codegen/host-functions.d.ts.map +1 -0
  72. package/dist/codegen/host-functions.js +680 -0
  73. package/dist/codegen/host-functions.js.map +1 -0
  74. package/dist/codegen/imports.d.ts +12 -0
  75. package/dist/codegen/imports.d.ts.map +1 -0
  76. package/dist/codegen/imports.js +162 -0
  77. package/dist/codegen/imports.js.map +1 -0
  78. package/dist/codegen/node-host-adapter.d.ts +35 -0
  79. package/dist/codegen/node-host-adapter.d.ts.map +1 -0
  80. package/dist/codegen/node-host-adapter.js +155 -0
  81. package/dist/codegen/node-host-adapter.js.map +1 -0
  82. package/dist/codegen/runner.d.ts +36 -2
  83. package/dist/codegen/runner.d.ts.map +1 -1
  84. package/dist/codegen/runner.js +146 -271
  85. package/dist/codegen/runner.js.map +1 -1
  86. package/dist/codegen/types.d.ts +91 -0
  87. package/dist/codegen/types.d.ts.map +1 -0
  88. package/dist/codegen/types.js +63 -0
  89. package/dist/codegen/types.js.map +1 -0
  90. package/dist/compact/expand.d.ts +25 -0
  91. package/dist/compact/expand.d.ts.map +1 -0
  92. package/dist/compact/expand.js +198 -0
  93. package/dist/compact/expand.js.map +1 -0
  94. package/dist/compile.d.ts +2 -1
  95. package/dist/compile.d.ts.map +1 -1
  96. package/dist/compile.js +1 -1
  97. package/dist/compile.js.map +1 -1
  98. package/dist/contracts/translate.js.map +1 -1
  99. package/dist/effects/call-graph.d.ts.map +1 -1
  100. package/dist/effects/call-graph.js +6 -2
  101. package/dist/effects/call-graph.js.map +1 -1
  102. package/dist/errors/error-catalog.d.ts +1 -1
  103. package/dist/errors/error-catalog.d.ts.map +1 -1
  104. package/dist/errors/error-catalog.js +119 -0
  105. package/dist/errors/error-catalog.js.map +1 -1
  106. package/dist/errors/structured-errors.d.ts +6 -1
  107. package/dist/errors/structured-errors.d.ts.map +1 -1
  108. package/dist/errors/structured-errors.js +3 -0
  109. package/dist/errors/structured-errors.js.map +1 -1
  110. package/dist/index.d.ts +17 -9
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +24 -10
  113. package/dist/index.js.map +1 -1
  114. package/dist/lint/lint.d.ts +9 -0
  115. package/dist/lint/lint.d.ts.map +1 -0
  116. package/dist/lint/lint.js +354 -0
  117. package/dist/lint/lint.js.map +1 -0
  118. package/dist/lint/warnings.d.ts +54 -0
  119. package/dist/lint/warnings.d.ts.map +1 -0
  120. package/dist/lint/warnings.js +39 -0
  121. package/dist/lint/warnings.js.map +1 -0
  122. package/dist/mcp/create-server.d.ts.map +1 -1
  123. package/dist/mcp/create-server.js +66 -5
  124. package/dist/mcp/create-server.js.map +1 -1
  125. package/dist/mcp/handlers.d.ts +18 -4
  126. package/dist/mcp/handlers.d.ts.map +1 -1
  127. package/dist/mcp/handlers.js +54 -12
  128. package/dist/mcp/handlers.js.map +1 -1
  129. package/dist/mcp/prompts.d.ts +17 -0
  130. package/dist/mcp/prompts.d.ts.map +1 -0
  131. package/dist/mcp/prompts.js +181 -0
  132. package/dist/mcp/prompts.js.map +1 -0
  133. package/dist/mcp/server.js +1 -4
  134. package/dist/mcp/server.js.map +1 -1
  135. package/dist/resolver/resolve.d.ts.map +1 -1
  136. package/dist/resolver/resolve.js +22 -8
  137. package/dist/resolver/resolve.js.map +1 -1
  138. package/dist/validator/node-validators.d.ts.map +1 -1
  139. package/dist/validator/node-validators.js +34 -5
  140. package/dist/validator/node-validators.js.map +1 -1
  141. package/package.json +4 -2
@@ -35,7 +35,7 @@ export interface FunctionDef {
35
35
  name: string;
36
36
  params: Param[];
37
37
  effects: Effect[];
38
- returnType: TypeExpr;
38
+ returnType?: TypeExpr;
39
39
  contracts: Contract[];
40
40
  body: Expression[];
41
41
  }
@@ -102,7 +102,7 @@ export interface Param {
102
102
  kind: "param";
103
103
  id: string;
104
104
  name: string;
105
- type: TypeExpr;
105
+ type?: TypeExpr;
106
106
  }
107
107
  /**
108
108
  * Pre/post contract on a function.
@@ -252,6 +252,6 @@ export declare const VALID_DEFINITION_KINDS: readonly ["fn", "type", "record", "
252
252
  export declare const VALID_EXPRESSION_KINDS: readonly ["literal", "ident", "binop", "unop", "call", "if", "let", "match", "array", "tuple_expr", "record_expr", "enum_constructor", "access", "lambda", "block", "string_interp"];
253
253
  export declare const VALID_TYPE_KINDS: readonly ["basic", "array", "option", "result", "unit_type", "refined", "fn_type", "named", "tuple"];
254
254
  export declare const VALID_PATTERN_KINDS: readonly ["literal_pattern", "wildcard", "binding", "constructor"];
255
- export declare const VALID_BASIC_TYPE_NAMES: readonly ["Int", "Float", "String", "Bool"];
255
+ export declare const VALID_BASIC_TYPE_NAMES: readonly ["Int", "Int64", "Float", "String", "Bool"];
256
256
  export declare const ALL_VALID_KINDS: readonly ["module", "import", "fn", "type", "record", "enum", "const", "param", "field", "variant", "pre", "post", "arm", "field_init", "literal", "ident", "binop", "unop", "call", "if", "let", "match", "array", "tuple_expr", "record_expr", "enum_constructor", "access", "lambda", "block", "string_interp", "basic", "array", "option", "result", "unit_type", "refined", "fn_type", "named", "tuple", "literal_pattern", "wildcard", "binding", "constructor"];
257
257
  //# sourceMappingURL=nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
package/dist/ast/nodes.js CHANGED
@@ -74,6 +74,7 @@ export const VALID_PATTERN_KINDS = [
74
74
  ];
75
75
  export const VALID_BASIC_TYPE_NAMES = [
76
76
  "Int",
77
+ "Int64",
77
78
  "Float",
78
79
  "String",
79
80
  "Bool",
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,0EAA0E;AAC1E,uDAAuD;AAiBvD,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,OAAO;CACD,CAAC;AA4LX,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACvD,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,SAAS;CACH,CAAC;AAYX,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,GAAG,CAAU,CAAC;AA2I/E,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,eAAe;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,iBAAiB;IACjB,UAAU;IACV,SAAS;IACT,aAAa;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;CACA,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ;IACR,QAAQ;IACR,GAAG,sBAAsB;IACzB,OAAO;IACP,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,KAAK;IACL,YAAY;IACZ,GAAG,sBAAsB;IACzB,GAAG,gBAAgB;IACnB,GAAG,mBAAmB;CAChB,CAAC"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,0EAA0E;AAC1E,uDAAuD;AAiBvD,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,OAAO;CACD,CAAC;AA4LX,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACvD,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,SAAS;CACH,CAAC;AAYX,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,KAAK,EAAE,GAAG,CAAU,CAAC;AA2I/E,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,OAAO;IACP,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,eAAe;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,iBAAiB;IACjB,UAAU;IACV,SAAS;IACT,aAAa;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,KAAK;IACL,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;CACA,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,QAAQ;IACR,QAAQ;IACR,GAAG,sBAAsB;IACzB,OAAO;IACP,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,KAAK;IACL,YAAY;IACZ,GAAG,sBAAsB;IACzB,GAAG,gBAAgB;IACnB,GAAG,mBAAmB;CAChB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { TypeExpr } from "./types.js";
2
+ export declare const INT_TYPE: TypeExpr;
3
+ export declare const INT64_TYPE: TypeExpr;
4
+ export declare const FLOAT_TYPE: TypeExpr;
5
+ export declare const STRING_TYPE: TypeExpr;
6
+ export declare const BOOL_TYPE: TypeExpr;
7
+ export declare const UNKNOWN_TYPE: TypeExpr;
8
+ export declare const ARRAY_INT_TYPE: TypeExpr;
9
+ export declare const OPTION_INT_TYPE: TypeExpr;
10
+ export declare const RESULT_INT_TYPE: TypeExpr;
11
+ export declare const RESULT_STRING_TYPE: TypeExpr;
12
+ //# sourceMappingURL=type-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-constants.d.ts","sourceRoot":"","sources":["../../src/ast/type-constants.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,QAAQ,EAAE,QAAyC,CAAC;AACjE,eAAO,MAAM,UAAU,EAAE,QAA2C,CAAC;AACrE,eAAO,MAAM,UAAU,EAAE,QAA2C,CAAC;AACrE,eAAO,MAAM,WAAW,EAAE,QAA4C,CAAC;AACvE,eAAO,MAAM,SAAS,EAAE,QAA0C,CAAC;AACnE,eAAO,MAAM,YAAY,EAAE,QAA6C,CAAC;AACzE,eAAO,MAAM,cAAc,EAAE,QAA+C,CAAC;AAC7E,eAAO,MAAM,eAAe,EAAE,QAA8C,CAAC;AAC7E,eAAO,MAAM,eAAe,EAAE,QAA0D,CAAC;AACzF,eAAO,MAAM,kBAAkB,EAAE,QAAgE,CAAC"}
@@ -0,0 +1,16 @@
1
+ // =============================================================================
2
+ // Shared Type Constants — Singleton TypeExpr instances
3
+ // =============================================================================
4
+ // Avoids duplicating the same type constant objects across modules.
5
+ // Import these instead of defining local copies.
6
+ export const INT_TYPE = { kind: "basic", name: "Int" };
7
+ export const INT64_TYPE = { kind: "basic", name: "Int64" };
8
+ export const FLOAT_TYPE = { kind: "basic", name: "Float" };
9
+ export const STRING_TYPE = { kind: "basic", name: "String" };
10
+ export const BOOL_TYPE = { kind: "basic", name: "Bool" };
11
+ export const UNKNOWN_TYPE = { kind: "named", name: "unknown" };
12
+ export const ARRAY_INT_TYPE = { kind: "array", element: INT_TYPE };
13
+ export const OPTION_INT_TYPE = { kind: "option", inner: INT_TYPE };
14
+ export const RESULT_INT_TYPE = { kind: "result", ok: INT_TYPE, err: INT_TYPE };
15
+ export const RESULT_STRING_TYPE = { kind: "result", ok: STRING_TYPE, err: STRING_TYPE };
16
+ //# sourceMappingURL=type-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-constants.js","sourceRoot":"","sources":["../../src/ast/type-constants.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAChF,oEAAoE;AACpE,iDAAiD;AAIjD,MAAM,CAAC,MAAM,QAAQ,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrE,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrE,MAAM,CAAC,MAAM,WAAW,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACvE,MAAM,CAAC,MAAM,SAAS,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACzE,MAAM,CAAC,MAAM,cAAc,GAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC"}
@@ -7,7 +7,7 @@ export type TypeExpr = BasicType | ArrayType | OptionType | ResultType | UnitTyp
7
7
  */
8
8
  export interface BasicType {
9
9
  kind: "basic";
10
- name: "Int" | "Float" | "String" | "Bool";
10
+ name: "Int" | "Int64" | "Float" | "String" | "Bool";
11
11
  }
12
12
  /**
13
13
  * Homogeneous array type.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACxB;AAID,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ast/types.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,SAAS,GACT,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,QAAQ,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACxB;AAID,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { EnumDef } from "../ast/nodes.js";
2
+ /**
3
+ * Built-in Option enum: None | Some(value: Int)
4
+ */
5
+ export declare const OPTION_ENUM_DEF: EnumDef;
6
+ /**
7
+ * Built-in Result enum: Ok(value: Int) | Err(error: Int)
8
+ */
9
+ export declare const RESULT_ENUM_DEF: EnumDef;
10
+ /** All built-in enum definitions. */
11
+ export declare const BUILTIN_ENUMS: readonly EnumDef[];
12
+ //# sourceMappingURL=builtin-enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-enums.d.ts","sourceRoot":"","sources":["../../src/builtins/builtin-enums.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAY7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAgB7B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,aAAa,EAAE,SAAS,OAAO,EAAuC,CAAC"}
@@ -0,0 +1,45 @@
1
+ // =============================================================================
2
+ // Built-in Enum Definitions — shared across resolver, checker, and codegen
3
+ // =============================================================================
4
+ // Single source of truth for Option and Result enum structures.
5
+ // Any change here propagates to all pipeline stages automatically.
6
+ import { INT_TYPE } from "../ast/type-constants.js";
7
+ /**
8
+ * Built-in Option enum: None | Some(value: Int)
9
+ */
10
+ export const OPTION_ENUM_DEF = {
11
+ kind: "enum",
12
+ id: "__builtin_option",
13
+ name: "Option",
14
+ variants: [
15
+ { kind: "variant", id: "__builtin_option_none", name: "None", fields: [] },
16
+ {
17
+ kind: "variant", id: "__builtin_option_some", name: "Some", fields: [
18
+ { kind: "field", id: "__builtin_option_some_value", name: "value", type: INT_TYPE },
19
+ ],
20
+ },
21
+ ],
22
+ };
23
+ /**
24
+ * Built-in Result enum: Ok(value: Int) | Err(error: Int)
25
+ */
26
+ export const RESULT_ENUM_DEF = {
27
+ kind: "enum",
28
+ id: "__builtin_result",
29
+ name: "Result",
30
+ variants: [
31
+ {
32
+ kind: "variant", id: "__builtin_result_ok", name: "Ok", fields: [
33
+ { kind: "field", id: "__builtin_result_ok_value", name: "value", type: INT_TYPE },
34
+ ],
35
+ },
36
+ {
37
+ kind: "variant", id: "__builtin_result_err", name: "Err", fields: [
38
+ { kind: "field", id: "__builtin_result_err_error", name: "error", type: INT_TYPE },
39
+ ],
40
+ },
41
+ ],
42
+ };
43
+ /** All built-in enum definitions. */
44
+ export const BUILTIN_ENUMS = [OPTION_ENUM_DEF, RESULT_ENUM_DEF];
45
+ //# sourceMappingURL=builtin-enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-enums.js","sourceRoot":"","sources":["../../src/builtins/builtin-enums.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;AAChF,gEAAgE;AAChE,mEAAmE;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAY;IACpC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACN,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1E;YACI,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;gBAChE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtF;SACJ;KACJ;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAY;IACpC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,kBAAkB;IACtB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACN;YACI,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;aACpF;SACJ;QACD;YACI,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC9D,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;aACrF;SACJ;KACJ;CACJ,CAAC;AAEF,qCAAqC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAuB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { FunctionType } from "../ast/types.js";
2
+ export interface BuiltinFunction {
3
+ /** Edict-level function type signature (includes effects, params, returnType) */
4
+ type: FunctionType;
5
+ /** WASM import: [module, base] names */
6
+ wasmImport: [string, string];
7
+ }
8
+ /**
9
+ * All built-in functions.
10
+ *
11
+ * `print` takes a String and returns a String (the value printed).
12
+ * At the WASM level, it's imported as host.print(ptr, len) → ptr
13
+ * (returns the same pointer for passthrough).
14
+ */
15
+ export declare const BUILTIN_FUNCTIONS: ReadonlyMap<string, BuiltinFunction>;
16
+ /**
17
+ * Check if a name refers to a built-in function.
18
+ */
19
+ export declare function isBuiltin(name: string): boolean;
20
+ /**
21
+ * Get the built-in function definition, or undefined.
22
+ */
23
+ export declare function getBuiltin(name: string): BuiltinFunction | undefined;
24
+ //# sourceMappingURL=builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/builtins/builtins.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC5B,iFAAiF;IACjF,IAAI,EAAE,YAAY,CAAC;IACnB,wCAAwC;IACxC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAwpBjE,CAAC;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEpE"}