@enspirit/elo 0.9.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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +322 -0
  3. package/bin/elo +2 -0
  4. package/bin/eloc +2 -0
  5. package/dist/src/ast.d.ts +309 -0
  6. package/dist/src/ast.d.ts.map +1 -0
  7. package/dist/src/ast.js +173 -0
  8. package/dist/src/ast.js.map +1 -0
  9. package/dist/src/bindings/javascript.d.ts +17 -0
  10. package/dist/src/bindings/javascript.d.ts.map +1 -0
  11. package/dist/src/bindings/javascript.js +350 -0
  12. package/dist/src/bindings/javascript.js.map +1 -0
  13. package/dist/src/bindings/ruby.d.ts +20 -0
  14. package/dist/src/bindings/ruby.d.ts.map +1 -0
  15. package/dist/src/bindings/ruby.js +365 -0
  16. package/dist/src/bindings/ruby.js.map +1 -0
  17. package/dist/src/bindings/sql.d.ts +20 -0
  18. package/dist/src/bindings/sql.d.ts.map +1 -0
  19. package/dist/src/bindings/sql.js +319 -0
  20. package/dist/src/bindings/sql.js.map +1 -0
  21. package/dist/src/cli.d.ts +3 -0
  22. package/dist/src/cli.d.ts.map +1 -0
  23. package/dist/src/cli.js +225 -0
  24. package/dist/src/cli.js.map +1 -0
  25. package/dist/src/compile.d.ts +47 -0
  26. package/dist/src/compile.d.ts.map +1 -0
  27. package/dist/src/compile.js +55 -0
  28. package/dist/src/compile.js.map +1 -0
  29. package/dist/src/compilers/javascript.d.ts +41 -0
  30. package/dist/src/compilers/javascript.d.ts.map +1 -0
  31. package/dist/src/compilers/javascript.js +323 -0
  32. package/dist/src/compilers/javascript.js.map +1 -0
  33. package/dist/src/compilers/ruby.d.ts +40 -0
  34. package/dist/src/compilers/ruby.d.ts.map +1 -0
  35. package/dist/src/compilers/ruby.js +326 -0
  36. package/dist/src/compilers/ruby.js.map +1 -0
  37. package/dist/src/compilers/sql.d.ts +37 -0
  38. package/dist/src/compilers/sql.d.ts.map +1 -0
  39. package/dist/src/compilers/sql.js +164 -0
  40. package/dist/src/compilers/sql.js.map +1 -0
  41. package/dist/src/elo.d.ts +3 -0
  42. package/dist/src/elo.d.ts.map +1 -0
  43. package/dist/src/elo.js +187 -0
  44. package/dist/src/elo.js.map +1 -0
  45. package/dist/src/eloc.d.ts +3 -0
  46. package/dist/src/eloc.d.ts.map +1 -0
  47. package/dist/src/eloc.js +232 -0
  48. package/dist/src/eloc.js.map +1 -0
  49. package/dist/src/eval.d.ts +3 -0
  50. package/dist/src/eval.d.ts.map +1 -0
  51. package/dist/src/eval.js +196 -0
  52. package/dist/src/eval.js.map +1 -0
  53. package/dist/src/index.d.ts +17 -0
  54. package/dist/src/index.d.ts.map +1 -0
  55. package/dist/src/index.js +36 -0
  56. package/dist/src/index.js.map +1 -0
  57. package/dist/src/ir.d.ts +295 -0
  58. package/dist/src/ir.d.ts.map +1 -0
  59. package/dist/src/ir.js +224 -0
  60. package/dist/src/ir.js.map +1 -0
  61. package/dist/src/parser.d.ts +137 -0
  62. package/dist/src/parser.d.ts.map +1 -0
  63. package/dist/src/parser.js +1266 -0
  64. package/dist/src/parser.js.map +1 -0
  65. package/dist/src/preludes/index.d.ts +14 -0
  66. package/dist/src/preludes/index.d.ts.map +1 -0
  67. package/dist/src/preludes/index.js +27 -0
  68. package/dist/src/preludes/index.js.map +1 -0
  69. package/dist/src/runtime.d.ts +23 -0
  70. package/dist/src/runtime.d.ts.map +1 -0
  71. package/dist/src/runtime.js +326 -0
  72. package/dist/src/runtime.js.map +1 -0
  73. package/dist/src/stdlib.d.ts +121 -0
  74. package/dist/src/stdlib.d.ts.map +1 -0
  75. package/dist/src/stdlib.js +237 -0
  76. package/dist/src/stdlib.js.map +1 -0
  77. package/dist/src/transform.d.ts +38 -0
  78. package/dist/src/transform.d.ts.map +1 -0
  79. package/dist/src/transform.js +322 -0
  80. package/dist/src/transform.js.map +1 -0
  81. package/dist/src/typedefs.d.ts +50 -0
  82. package/dist/src/typedefs.d.ts.map +1 -0
  83. package/dist/src/typedefs.js +294 -0
  84. package/dist/src/typedefs.js.map +1 -0
  85. package/dist/src/types.d.ts +54 -0
  86. package/dist/src/types.d.ts.map +1 -0
  87. package/dist/src/types.js +62 -0
  88. package/dist/src/types.js.map +1 -0
  89. package/package.json +66 -0
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Type Definitions for Elo
3
+ *
4
+ * This module defines the type signatures for Elo's stdlib functions and operators.
5
+ * It provides a central registry for looking up result types based on function name
6
+ * and argument types.
7
+ *
8
+ * This information is language-agnostic and used by the transform phase for type inference.
9
+ */
10
+ import { EloType } from './types';
11
+ /**
12
+ * A type signature definition: maps argument types to result type
13
+ */
14
+ export interface TypeSignature {
15
+ argTypes: EloType[];
16
+ resultType: EloType;
17
+ }
18
+ /**
19
+ * Registry of type definitions for functions and operators
20
+ */
21
+ export declare class TypeDefs {
22
+ private signatures;
23
+ private fallback;
24
+ /**
25
+ * Register a type signature for a function
26
+ */
27
+ register(name: string, argTypes: EloType[], resultType: EloType): this;
28
+ /**
29
+ * Register a fallback for unmatched signatures
30
+ */
31
+ registerFallback(handler: (name: string, argTypes: EloType[]) => EloType): this;
32
+ /**
33
+ * Look up the result type for a function call.
34
+ * Tries progressively more general type signatures before falling back.
35
+ */
36
+ lookup(name: string, argTypes: EloType[]): EloType;
37
+ /**
38
+ * Check if a function signature is registered
39
+ */
40
+ has(name: string, argTypes: EloType[]): boolean;
41
+ }
42
+ /**
43
+ * Create the standard Elo type definitions
44
+ */
45
+ export declare function createTypeDefs(): TypeDefs;
46
+ /**
47
+ * Default type definitions instance
48
+ */
49
+ export declare const eloTypeDefs: TypeDefs;
50
+ //# sourceMappingURL=typedefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedefs.d.ts","sourceRoot":"","sources":["../../src/typedefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,QAAQ,CAAiE;IAEjF;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAMtE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI;IAK/E;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO;IAYlD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO;CAOhD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CA8PzC;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,UAAmB,CAAC"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ /**
3
+ * Type Definitions for Elo
4
+ *
5
+ * This module defines the type signatures for Elo's stdlib functions and operators.
6
+ * It provides a central registry for looking up result types based on function name
7
+ * and argument types.
8
+ *
9
+ * This information is language-agnostic and used by the transform phase for type inference.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.eloTypeDefs = exports.TypeDefs = void 0;
13
+ exports.createTypeDefs = createTypeDefs;
14
+ const types_1 = require("./types");
15
+ const stdlib_1 = require("./stdlib");
16
+ /**
17
+ * Registry of type definitions for functions and operators
18
+ */
19
+ class TypeDefs {
20
+ constructor() {
21
+ this.signatures = new Map();
22
+ this.fallback = null;
23
+ }
24
+ /**
25
+ * Register a type signature for a function
26
+ */
27
+ register(name, argTypes, resultType) {
28
+ const key = (0, stdlib_1.signatureKey)(name, argTypes);
29
+ this.signatures.set(key, resultType);
30
+ return this;
31
+ }
32
+ /**
33
+ * Register a fallback for unmatched signatures
34
+ */
35
+ registerFallback(handler) {
36
+ this.fallback = handler;
37
+ return this;
38
+ }
39
+ /**
40
+ * Look up the result type for a function call.
41
+ * Tries progressively more general type signatures before falling back.
42
+ */
43
+ lookup(name, argTypes) {
44
+ for (const generalized of (0, stdlib_1.typeGeneralizations)(argTypes)) {
45
+ const key = (0, stdlib_1.signatureKey)(name, generalized);
46
+ const resultType = this.signatures.get(key);
47
+ if (resultType)
48
+ return resultType;
49
+ }
50
+ if (this.fallback) {
51
+ return this.fallback(name, argTypes);
52
+ }
53
+ return types_1.Types.any;
54
+ }
55
+ /**
56
+ * Check if a function signature is registered
57
+ */
58
+ has(name, argTypes) {
59
+ for (const generalized of (0, stdlib_1.typeGeneralizations)(argTypes)) {
60
+ const key = (0, stdlib_1.signatureKey)(name, generalized);
61
+ if (this.signatures.has(key))
62
+ return true;
63
+ }
64
+ return false;
65
+ }
66
+ }
67
+ exports.TypeDefs = TypeDefs;
68
+ /**
69
+ * Create the standard Elo type definitions
70
+ */
71
+ function createTypeDefs() {
72
+ const defs = new TypeDefs();
73
+ // ============================================
74
+ // Nullary functions (temporal)
75
+ // ============================================
76
+ defs.register('today', [], types_1.Types.date);
77
+ defs.register('now', [], types_1.Types.datetime);
78
+ // ============================================
79
+ // Period boundary functions (datetime -> datetime)
80
+ // ============================================
81
+ const periodBoundaryFns = [
82
+ 'start_of_day', 'end_of_day',
83
+ 'start_of_week', 'end_of_week',
84
+ 'start_of_month', 'end_of_month',
85
+ 'start_of_quarter', 'end_of_quarter',
86
+ 'start_of_year', 'end_of_year',
87
+ ];
88
+ for (const fn of periodBoundaryFns) {
89
+ defs.register(fn, [types_1.Types.datetime], types_1.Types.datetime);
90
+ }
91
+ // ============================================
92
+ // Arithmetic operators
93
+ // ============================================
94
+ // int op int -> int (except division)
95
+ defs.register('add', [types_1.Types.int, types_1.Types.int], types_1.Types.int);
96
+ defs.register('sub', [types_1.Types.int, types_1.Types.int], types_1.Types.int);
97
+ defs.register('mul', [types_1.Types.int, types_1.Types.int], types_1.Types.int);
98
+ defs.register('div', [types_1.Types.int, types_1.Types.int], types_1.Types.float); // division always returns float
99
+ defs.register('mod', [types_1.Types.int, types_1.Types.int], types_1.Types.int);
100
+ defs.register('pow', [types_1.Types.int, types_1.Types.int], types_1.Types.int);
101
+ // float involved -> float
102
+ defs.register('add', [types_1.Types.float, types_1.Types.float], types_1.Types.float);
103
+ defs.register('sub', [types_1.Types.float, types_1.Types.float], types_1.Types.float);
104
+ defs.register('mul', [types_1.Types.float, types_1.Types.float], types_1.Types.float);
105
+ defs.register('div', [types_1.Types.float, types_1.Types.float], types_1.Types.float);
106
+ defs.register('mod', [types_1.Types.float, types_1.Types.float], types_1.Types.float);
107
+ defs.register('pow', [types_1.Types.float, types_1.Types.float], types_1.Types.float);
108
+ defs.register('add', [types_1.Types.int, types_1.Types.float], types_1.Types.float);
109
+ defs.register('sub', [types_1.Types.int, types_1.Types.float], types_1.Types.float);
110
+ defs.register('mul', [types_1.Types.int, types_1.Types.float], types_1.Types.float);
111
+ defs.register('div', [types_1.Types.int, types_1.Types.float], types_1.Types.float);
112
+ defs.register('mod', [types_1.Types.int, types_1.Types.float], types_1.Types.float);
113
+ defs.register('pow', [types_1.Types.int, types_1.Types.float], types_1.Types.float);
114
+ defs.register('add', [types_1.Types.float, types_1.Types.int], types_1.Types.float);
115
+ defs.register('sub', [types_1.Types.float, types_1.Types.int], types_1.Types.float);
116
+ defs.register('mul', [types_1.Types.float, types_1.Types.int], types_1.Types.float);
117
+ defs.register('div', [types_1.Types.float, types_1.Types.int], types_1.Types.float);
118
+ defs.register('mod', [types_1.Types.float, types_1.Types.int], types_1.Types.float);
119
+ defs.register('pow', [types_1.Types.float, types_1.Types.int], types_1.Types.float);
120
+ // String concatenation
121
+ defs.register('add', [types_1.Types.string, types_1.Types.string], types_1.Types.string);
122
+ // String multiplication (repeat)
123
+ defs.register('mul', [types_1.Types.string, types_1.Types.int], types_1.Types.string);
124
+ defs.register('mul', [types_1.Types.int, types_1.Types.string], types_1.Types.string);
125
+ // List concatenation
126
+ defs.register('add', [types_1.Types.array, types_1.Types.array], types_1.Types.array);
127
+ // ============================================
128
+ // Temporal arithmetic
129
+ // ============================================
130
+ // date + duration -> date
131
+ defs.register('add', [types_1.Types.date, types_1.Types.duration], types_1.Types.date);
132
+ // date - duration -> date
133
+ defs.register('sub', [types_1.Types.date, types_1.Types.duration], types_1.Types.date);
134
+ // date - date -> duration
135
+ defs.register('sub', [types_1.Types.date, types_1.Types.date], types_1.Types.duration);
136
+ // datetime + duration -> datetime
137
+ defs.register('add', [types_1.Types.datetime, types_1.Types.duration], types_1.Types.datetime);
138
+ // datetime - duration -> datetime
139
+ defs.register('sub', [types_1.Types.datetime, types_1.Types.duration], types_1.Types.datetime);
140
+ // duration + duration -> duration
141
+ defs.register('add', [types_1.Types.duration, types_1.Types.duration], types_1.Types.duration);
142
+ // duration + date -> date (commutative)
143
+ defs.register('add', [types_1.Types.duration, types_1.Types.date], types_1.Types.date);
144
+ // duration + datetime -> datetime (commutative)
145
+ defs.register('add', [types_1.Types.duration, types_1.Types.datetime], types_1.Types.datetime);
146
+ // duration * number -> duration (scaling)
147
+ defs.register('mul', [types_1.Types.duration, types_1.Types.int], types_1.Types.duration);
148
+ defs.register('mul', [types_1.Types.duration, types_1.Types.float], types_1.Types.duration);
149
+ defs.register('mul', [types_1.Types.int, types_1.Types.duration], types_1.Types.duration);
150
+ defs.register('mul', [types_1.Types.float, types_1.Types.duration], types_1.Types.duration);
151
+ // duration / number -> duration (scaling)
152
+ defs.register('div', [types_1.Types.duration, types_1.Types.int], types_1.Types.duration);
153
+ defs.register('div', [types_1.Types.duration, types_1.Types.float], types_1.Types.duration);
154
+ // ============================================
155
+ // Comparison operators -> bool
156
+ // ============================================
157
+ defs.register('lt', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
158
+ defs.register('gt', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
159
+ defs.register('lte', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
160
+ defs.register('gte', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
161
+ defs.register('eq', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
162
+ defs.register('neq', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
163
+ // ============================================
164
+ // Logical operators -> bool
165
+ // ============================================
166
+ defs.register('and', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
167
+ defs.register('or', [types_1.Types.any, types_1.Types.any], types_1.Types.bool);
168
+ // ============================================
169
+ // Unary operators
170
+ // ============================================
171
+ defs.register('neg', [types_1.Types.int], types_1.Types.int);
172
+ defs.register('neg', [types_1.Types.float], types_1.Types.float);
173
+ defs.register('pos', [types_1.Types.int], types_1.Types.int);
174
+ defs.register('pos', [types_1.Types.float], types_1.Types.float);
175
+ defs.register('not', [types_1.Types.bool], types_1.Types.bool);
176
+ // Note: not(any) returns any to match old behavior (unknown operand = unknown result)
177
+ // ============================================
178
+ // Numeric functions
179
+ // ============================================
180
+ defs.register('abs', [types_1.Types.int], types_1.Types.int);
181
+ defs.register('abs', [types_1.Types.float], types_1.Types.float);
182
+ defs.register('round', [types_1.Types.int], types_1.Types.int);
183
+ defs.register('round', [types_1.Types.float], types_1.Types.int);
184
+ defs.register('floor', [types_1.Types.int], types_1.Types.int);
185
+ defs.register('floor', [types_1.Types.float], types_1.Types.int);
186
+ defs.register('ceil', [types_1.Types.int], types_1.Types.int);
187
+ defs.register('ceil', [types_1.Types.float], types_1.Types.int);
188
+ // ============================================
189
+ // Temporal component extraction (-> int)
190
+ // ============================================
191
+ defs.register('year', [types_1.Types.date], types_1.Types.int);
192
+ defs.register('year', [types_1.Types.datetime], types_1.Types.int);
193
+ defs.register('month', [types_1.Types.date], types_1.Types.int);
194
+ defs.register('month', [types_1.Types.datetime], types_1.Types.int);
195
+ defs.register('day', [types_1.Types.date], types_1.Types.int);
196
+ defs.register('day', [types_1.Types.datetime], types_1.Types.int);
197
+ defs.register('hour', [types_1.Types.datetime], types_1.Types.int);
198
+ defs.register('minute', [types_1.Types.datetime], types_1.Types.int);
199
+ // ============================================
200
+ // String functions
201
+ // ============================================
202
+ defs.register('length', [types_1.Types.string], types_1.Types.int);
203
+ defs.register('upper', [types_1.Types.string], types_1.Types.string);
204
+ defs.register('lower', [types_1.Types.string], types_1.Types.string);
205
+ defs.register('trim', [types_1.Types.string], types_1.Types.string);
206
+ defs.register('startsWith', [types_1.Types.string, types_1.Types.string], types_1.Types.bool);
207
+ defs.register('endsWith', [types_1.Types.string, types_1.Types.string], types_1.Types.bool);
208
+ defs.register('contains', [types_1.Types.string, types_1.Types.string], types_1.Types.bool);
209
+ defs.register('isEmpty', [types_1.Types.string], types_1.Types.bool);
210
+ defs.register('substring', [types_1.Types.string, types_1.Types.int, types_1.Types.int], types_1.Types.string);
211
+ defs.register('concat', [types_1.Types.string, types_1.Types.string], types_1.Types.string);
212
+ defs.register('indexOf', [types_1.Types.string, types_1.Types.string], types_1.Types.any); // Int or null
213
+ defs.register('replace', [types_1.Types.string, types_1.Types.string, types_1.Types.string], types_1.Types.string);
214
+ defs.register('replaceAll', [types_1.Types.string, types_1.Types.string, types_1.Types.string], types_1.Types.string);
215
+ defs.register('padStart', [types_1.Types.string, types_1.Types.int, types_1.Types.string], types_1.Types.string);
216
+ defs.register('padEnd', [types_1.Types.string, types_1.Types.int, types_1.Types.string], types_1.Types.string);
217
+ // ============================================
218
+ // Array functions
219
+ // ============================================
220
+ defs.register('length', [types_1.Types.array], types_1.Types.int);
221
+ defs.register('at', [types_1.Types.array, types_1.Types.int], types_1.Types.any);
222
+ defs.register('first', [types_1.Types.array], types_1.Types.any);
223
+ defs.register('last', [types_1.Types.array], types_1.Types.any);
224
+ defs.register('isEmpty', [types_1.Types.array], types_1.Types.bool);
225
+ defs.register('map', [types_1.Types.array, types_1.Types.fn], types_1.Types.array);
226
+ defs.register('filter', [types_1.Types.array, types_1.Types.fn], types_1.Types.array);
227
+ defs.register('reduce', [types_1.Types.array, types_1.Types.any, types_1.Types.fn], types_1.Types.any);
228
+ defs.register('any', [types_1.Types.array, types_1.Types.fn], types_1.Types.bool);
229
+ defs.register('all', [types_1.Types.array, types_1.Types.fn], types_1.Types.bool);
230
+ // ============================================
231
+ // Assert function -> bool
232
+ // ============================================
233
+ defs.register('assert', [types_1.Types.bool], types_1.Types.bool);
234
+ defs.register('assert', [types_1.Types.bool, types_1.Types.string], types_1.Types.bool);
235
+ defs.register('assert', [types_1.Types.any], types_1.Types.bool);
236
+ defs.register('assert', [types_1.Types.any, types_1.Types.string], types_1.Types.bool);
237
+ defs.register('assertFails', [types_1.Types.fn], types_1.Types.bool);
238
+ // ============================================
239
+ // Range membership functions -> bool
240
+ // ============================================
241
+ defs.register('in_range_inclusive', [types_1.Types.any, types_1.Types.any, types_1.Types.any], types_1.Types.bool);
242
+ defs.register('in_range_exclusive', [types_1.Types.any, types_1.Types.any, types_1.Types.any], types_1.Types.bool);
243
+ // ============================================
244
+ // Type introspection -> string
245
+ // ============================================
246
+ defs.register('typeOf', [types_1.Types.any], types_1.Types.string);
247
+ // ============================================
248
+ // Null handling
249
+ // ============================================
250
+ // isNull(x) - returns true if x is null/undefined/nil
251
+ defs.register('isNull', [types_1.Types.any], types_1.Types.bool);
252
+ // ============================================
253
+ // Error handling
254
+ // ============================================
255
+ // fail(message) - throws an error with the given message (never returns)
256
+ defs.register('fail', [types_1.Types.string], types_1.Types.any);
257
+ // ============================================
258
+ // Type selectors (information contracts)
259
+ // ============================================
260
+ // Int(x) - coerce to Int, returns null on failure
261
+ defs.register('Int', [types_1.Types.int], types_1.Types.int);
262
+ defs.register('Int', [types_1.Types.float], types_1.Types.int);
263
+ defs.register('Int', [types_1.Types.string], types_1.Types.any); // may return null
264
+ defs.register('Int', [types_1.Types.any], types_1.Types.any);
265
+ // Float(x) - coerce to Float, returns null on failure
266
+ defs.register('Float', [types_1.Types.float], types_1.Types.float);
267
+ defs.register('Float', [types_1.Types.int], types_1.Types.float);
268
+ defs.register('Float', [types_1.Types.string], types_1.Types.any); // may return null
269
+ defs.register('Float', [types_1.Types.any], types_1.Types.any);
270
+ // Bool(x) - coerce to Bool, returns null on failure
271
+ defs.register('Bool', [types_1.Types.bool], types_1.Types.bool);
272
+ defs.register('Bool', [types_1.Types.string], types_1.Types.any); // may return null
273
+ defs.register('Bool', [types_1.Types.any], types_1.Types.any);
274
+ // Date(x) - coerce to Date, returns null on failure
275
+ defs.register('Date', [types_1.Types.date], types_1.Types.date);
276
+ defs.register('Date', [types_1.Types.string], types_1.Types.any); // may return null
277
+ defs.register('Date', [types_1.Types.any], types_1.Types.any);
278
+ // Datetime(x) - coerce to Datetime, returns null on failure
279
+ defs.register('Datetime', [types_1.Types.datetime], types_1.Types.datetime);
280
+ defs.register('Datetime', [types_1.Types.string], types_1.Types.any); // may return null
281
+ defs.register('Datetime', [types_1.Types.any], types_1.Types.any);
282
+ // Duration(x) - coerce to Duration, returns null on failure
283
+ defs.register('Duration', [types_1.Types.duration], types_1.Types.duration);
284
+ defs.register('Duration', [types_1.Types.string], types_1.Types.any); // may return null
285
+ defs.register('Duration', [types_1.Types.any], types_1.Types.any);
286
+ // Fallback: unknown functions return any
287
+ defs.registerFallback(() => types_1.Types.any);
288
+ return defs;
289
+ }
290
+ /**
291
+ * Default type definitions instance
292
+ */
293
+ exports.eloTypeDefs = createTypeDefs();
294
+ //# sourceMappingURL=typedefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedefs.js","sourceRoot":"","sources":["../../src/typedefs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Elo type system
3
+ *
4
+ * Represents the types that Elo expressions can have.
5
+ * Used by the IR transformation phase to generate typed function calls.
6
+ */
7
+ /**
8
+ * Primitive type kinds in Elo
9
+ */
10
+ export type TypeKind = 'int' | 'float' | 'bool' | 'null' | 'string' | 'date' | 'datetime' | 'duration' | 'fn' | 'object' | 'array' | 'any';
11
+ /**
12
+ * A Elo type
13
+ */
14
+ export interface EloType {
15
+ kind: TypeKind;
16
+ }
17
+ /**
18
+ * Type constants for convenience
19
+ */
20
+ export declare const Types: {
21
+ readonly int: EloType;
22
+ readonly float: EloType;
23
+ readonly bool: EloType;
24
+ readonly null: EloType;
25
+ readonly string: EloType;
26
+ readonly date: EloType;
27
+ readonly datetime: EloType;
28
+ readonly duration: EloType;
29
+ readonly fn: EloType;
30
+ readonly object: EloType;
31
+ readonly array: EloType;
32
+ readonly any: EloType;
33
+ };
34
+ /**
35
+ * Check if two types are equal
36
+ */
37
+ export declare function typeEquals(a: EloType, b: EloType): boolean;
38
+ /**
39
+ * Check if a type is numeric (int or float)
40
+ */
41
+ export declare function isNumeric(t: EloType): boolean;
42
+ /**
43
+ * Check if a type is temporal (date, datetime, or duration)
44
+ */
45
+ export declare function isTemporal(t: EloType): boolean;
46
+ /**
47
+ * Check if a type is known (not 'any')
48
+ */
49
+ export declare function isKnown(t: EloType): boolean;
50
+ /**
51
+ * Get a string representation of a type for function naming
52
+ */
53
+ export declare function typeName(t: EloType): string;
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3I;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,KAAK;kBACQ,OAAO;oBACH,OAAO;mBACT,OAAO;mBACP,OAAO;qBACH,OAAO;mBACX,OAAO;uBACC,OAAO;uBACP,OAAO;iBACnB,OAAO;qBACC,OAAO;oBACT,OAAO;kBACX,OAAO;CACvB,CAAC;AAEX;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE3C"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * Elo type system
4
+ *
5
+ * Represents the types that Elo expressions can have.
6
+ * Used by the IR transformation phase to generate typed function calls.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.Types = void 0;
10
+ exports.typeEquals = typeEquals;
11
+ exports.isNumeric = isNumeric;
12
+ exports.isTemporal = isTemporal;
13
+ exports.isKnown = isKnown;
14
+ exports.typeName = typeName;
15
+ /**
16
+ * Type constants for convenience
17
+ */
18
+ exports.Types = {
19
+ int: { kind: 'int' },
20
+ float: { kind: 'float' },
21
+ bool: { kind: 'bool' },
22
+ null: { kind: 'null' },
23
+ string: { kind: 'string' },
24
+ date: { kind: 'date' },
25
+ datetime: { kind: 'datetime' },
26
+ duration: { kind: 'duration' },
27
+ fn: { kind: 'fn' },
28
+ object: { kind: 'object' },
29
+ array: { kind: 'array' },
30
+ any: { kind: 'any' },
31
+ };
32
+ /**
33
+ * Check if two types are equal
34
+ */
35
+ function typeEquals(a, b) {
36
+ return a.kind === b.kind;
37
+ }
38
+ /**
39
+ * Check if a type is numeric (int or float)
40
+ */
41
+ function isNumeric(t) {
42
+ return t.kind === 'int' || t.kind === 'float';
43
+ }
44
+ /**
45
+ * Check if a type is temporal (date, datetime, or duration)
46
+ */
47
+ function isTemporal(t) {
48
+ return t.kind === 'date' || t.kind === 'datetime' || t.kind === 'duration';
49
+ }
50
+ /**
51
+ * Check if a type is known (not 'any')
52
+ */
53
+ function isKnown(t) {
54
+ return t.kind !== 'any';
55
+ }
56
+ /**
57
+ * Get a string representation of a type for function naming
58
+ */
59
+ function typeName(t) {
60
+ return t.kind;
61
+ }
62
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAmCH,gCAEC;AAKD,8BAEC;AAKD,gCAEC;AAKD,0BAEC;AAKD,4BAEC;AAnDD;;GAEG;AACU,QAAA,KAAK,GAAG;IACnB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAa;IAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAa;IACnC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAa;IACjC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAa;IACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAa;IACrC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAa;IACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAa;IACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAa;IACzC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAa;IAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAa;IACrC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAa;IACnC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAa;CACvB,CAAC;AAEX;;GAEG;AACH,SAAgB,UAAU,CAAC,CAAU,EAAE,CAAU;IAC/C,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,CAAU;IAClC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,CAAU;IAChC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,CAAC,CAAC,IAAI,CAAC;AAChB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@enspirit/elo",
3
+ "version": "0.9.0",
4
+ "description": "A small expression language that compiles to Ruby, Javascript and PostgreSQL",
5
+ "main": "dist/src/index.js",
6
+ "types": "dist/src/index.d.ts",
7
+ "files": [
8
+ "dist/src",
9
+ "bin"
10
+ ],
11
+ "bin": {
12
+ "eloc": "./bin/eloc"
13
+ },
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "watch": "tsc --watch",
17
+ "test": "npm run test:unit && npm run test:integration && npm run test:acceptance",
18
+ "test:unit": "npm run build && node --test 'dist/test/unit/*.unit.test.js' 'dist/test/unit/**/*.unit.test.js'",
19
+ "test:integration": "npm run build && node --test 'dist/test/integration/*.integration.test.js' 'dist/test/integration/**/*.integration.test.js'",
20
+ "test:acceptance": "./test/acceptance/test-all.sh",
21
+ "test:watch": "tsc --watch & node --test --watch --test-only dist/**/*.test.js",
22
+ "docker:up": "docker compose up -d",
23
+ "docker:down": "docker compose down",
24
+ "docker:logs": "docker compose logs -f",
25
+ "fixtures:regenerate": "./scripts/regenerate-fixtures.sh",
26
+ "build:web": "cd web && npm run build",
27
+ "dev:web": "cd web && npm run dev"
28
+ },
29
+ "keywords": [
30
+ "compiler",
31
+ "expression",
32
+ "multi-target"
33
+ ],
34
+ "author": "",
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/enspirit/elo.git"
39
+ },
40
+ "homepage": "https://elo-lang.org",
41
+ "bugs": {
42
+ "url": "https://github.com/enspirit/elo/issues"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "dependencies": {
48
+ "luxon": "^3.5.0"
49
+ },
50
+ "devDependencies": {
51
+ "@codemirror/autocomplete": "^6.20.0",
52
+ "@codemirror/commands": "^6.10.1",
53
+ "@codemirror/language": "^6.12.1",
54
+ "@codemirror/state": "^6.5.3",
55
+ "@codemirror/view": "^6.39.7",
56
+ "@hotwired/stimulus": "^3.2.2",
57
+ "@lezer/highlight": "^1.2.3",
58
+ "@types/luxon": "^3.4.0",
59
+ "@types/node": "^20.10.0",
60
+ "@types/pg": "^8.10.0",
61
+ "codemirror": "^6.0.2",
62
+ "esbuild": "^0.24.0",
63
+ "pg": "^8.11.0",
64
+ "typescript": "^5.3.0"
65
+ }
66
+ }