@shd101wyy/yo 0.0.13 → 0.0.14

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 (222) hide show
  1. package/README.md +4 -1
  2. package/out/cjs/index.cjs +5598 -45
  3. package/out/cjs/yo-cli.cjs +755 -764
  4. package/out/esm/index.mjs +5595 -42
  5. package/out/types/src/codegen/async/state-code-gen.d.ts +3 -3
  6. package/out/types/src/codegen/async/state-machine.d.ts +4 -4
  7. package/out/types/src/codegen/c/collection.d.ts +1 -1
  8. package/out/types/src/codegen/codegen-c.d.ts +1 -1
  9. package/out/types/src/codegen/constants.d.ts +1 -1
  10. package/out/types/src/codegen/exprs/{and_or.d.ts → and-or.d.ts} +2 -2
  11. package/out/types/src/codegen/exprs/{array_fns.d.ts → array-fns.d.ts} +2 -2
  12. package/out/types/src/codegen/exprs/assignment.d.ts +2 -2
  13. package/out/types/src/codegen/exprs/async.d.ts +2 -2
  14. package/out/types/src/codegen/exprs/atom.d.ts +2 -2
  15. package/out/types/src/codegen/exprs/await.d.ts +2 -2
  16. package/out/types/src/codegen/exprs/begin.d.ts +2 -2
  17. package/out/types/src/codegen/exprs/binding.d.ts +2 -2
  18. package/out/types/src/codegen/exprs/closures.d.ts +3 -3
  19. package/out/types/src/codegen/exprs/comptime-value.d.ts +4 -0
  20. package/out/types/src/codegen/exprs/cond.d.ts +2 -2
  21. package/out/types/src/codegen/exprs/consume.d.ts +2 -2
  22. package/out/types/src/codegen/exprs/{drop_dup.d.ts → drop-dup.d.ts} +4 -4
  23. package/out/types/src/codegen/exprs/dyn.d.ts +2 -2
  24. package/out/types/src/codegen/exprs/expr.d.ts +2 -2
  25. package/out/types/src/codegen/exprs/gc.d.ts +2 -2
  26. package/out/types/src/codegen/exprs/generation.d.ts +2 -2
  27. package/out/types/src/codegen/exprs/{initialization_assignment.d.ts → initialization-assignment.d.ts} +2 -2
  28. package/out/types/src/codegen/exprs/{inline_fns.d.ts → inline-fns.d.ts} +2 -2
  29. package/out/types/src/codegen/exprs/iso.d.ts +2 -2
  30. package/out/types/src/codegen/exprs/match.d.ts +2 -2
  31. package/out/types/src/codegen/exprs/open.d.ts +2 -2
  32. package/out/types/src/codegen/exprs/{other_fn_call.d.ts → other-fn-call.d.ts} +2 -2
  33. package/out/types/src/codegen/exprs/panic.d.ts +2 -2
  34. package/out/types/src/codegen/exprs/parallelism.d.ts +2 -2
  35. package/out/types/src/codegen/exprs/{property_access.d.ts → property-access.d.ts} +2 -2
  36. package/out/types/src/codegen/exprs/{ptr_fns.d.ts → ptr-fns.d.ts} +2 -2
  37. package/out/types/src/codegen/exprs/{rc_fns.d.ts → rc-fns.d.ts} +2 -2
  38. package/out/types/src/codegen/exprs/recur.d.ts +2 -2
  39. package/out/types/src/codegen/exprs/return.d.ts +2 -2
  40. package/out/types/src/codegen/exprs/sizeof.d.ts +2 -2
  41. package/out/types/src/codegen/exprs/{tuple_fn.d.ts → tuple-fn.d.ts} +2 -2
  42. package/out/types/src/codegen/exprs/while.d.ts +2 -2
  43. package/out/types/src/codegen/functions/collection.d.ts +4 -3
  44. package/out/types/src/codegen/functions/context.d.ts +6 -6
  45. package/out/types/src/codegen/functions/declarations.d.ts +4 -4
  46. package/out/types/src/codegen/functions/dyn.d.ts +1 -1
  47. package/out/types/src/codegen/functions/generation.d.ts +5 -5
  48. package/out/types/src/codegen/types/collection.d.ts +4 -4
  49. package/out/types/src/codegen/types/dyn.d.ts +2 -2
  50. package/out/types/src/codegen/types/generation.d.ts +2 -2
  51. package/out/types/src/codegen/utils/fixup.d.ts +1 -1
  52. package/out/types/src/codegen/utils/index.d.ts +6 -6
  53. package/out/types/src/env.d.ts +34 -5
  54. package/out/types/src/error.d.ts +1 -1
  55. package/out/types/src/evaluator/async/await-analysis-types.d.ts +1 -1
  56. package/out/types/src/evaluator/async/await-analysis.d.ts +1 -1
  57. package/out/types/src/evaluator/builtins/alignof.d.ts +3 -3
  58. package/out/types/src/evaluator/builtins/{and_or.d.ts → and-or.d.ts} +3 -3
  59. package/out/types/src/evaluator/builtins/{array_fns.d.ts → array-fns.d.ts} +3 -3
  60. package/out/types/src/evaluator/builtins/as.d.ts +3 -3
  61. package/out/types/src/evaluator/builtins/{async_fns.d.ts → async-fns.d.ts} +3 -3
  62. package/out/types/src/evaluator/builtins/comptime-assert.d.ts +8 -0
  63. package/out/types/src/evaluator/builtins/comptime-bool-fns.d.ts +8 -0
  64. package/out/types/src/evaluator/builtins/comptime-expect-error.d.ts +8 -0
  65. package/out/types/src/evaluator/builtins/comptime-fn.d.ts +8 -0
  66. package/out/types/src/evaluator/builtins/comptime-list-fns.d.ts +33 -0
  67. package/out/types/src/evaluator/builtins/comptime-numeric-fns.d.ts +8 -0
  68. package/out/types/src/evaluator/builtins/comptime-print.d.ts +8 -0
  69. package/out/types/src/evaluator/builtins/comptime-string-fns.d.ts +8 -0
  70. package/out/types/src/evaluator/builtins/consume.d.ts +3 -3
  71. package/out/types/src/evaluator/builtins/drop.d.ts +3 -3
  72. package/out/types/src/evaluator/builtins/dup.d.ts +3 -3
  73. package/out/types/src/evaluator/builtins/{expr_fns.d.ts → expr-fns.d.ts} +3 -3
  74. package/out/types/src/evaluator/builtins/{future_fns.d.ts → future-fns.d.ts} +3 -3
  75. package/out/types/src/evaluator/builtins/gc.d.ts +3 -3
  76. package/out/types/src/evaluator/builtins/gensym.d.ts +3 -3
  77. package/out/types/src/evaluator/builtins/{impl_constraint.d.ts → impl-constraint.d.ts} +3 -3
  78. package/out/types/src/evaluator/builtins/{macro_expand.d.ts → macro-expand.d.ts} +3 -3
  79. package/out/types/src/evaluator/builtins/panic.d.ts +3 -3
  80. package/out/types/src/evaluator/builtins/process.d.ts +3 -3
  81. package/out/types/src/evaluator/builtins/{ptr_fns.d.ts → ptr-fns.d.ts} +3 -3
  82. package/out/types/src/evaluator/builtins/quote.d.ts +3 -3
  83. package/out/types/src/evaluator/builtins/{rc_fns.d.ts → rc-fns.d.ts} +3 -3
  84. package/out/types/src/evaluator/builtins/rc.d.ts +3 -3
  85. package/out/types/src/evaluator/builtins/sizeof.d.ts +3 -3
  86. package/out/types/src/evaluator/builtins/the.d.ts +3 -3
  87. package/out/types/src/evaluator/builtins/{type_fns.d.ts → type-fns.d.ts} +3 -3
  88. package/out/types/src/evaluator/builtins/{va_start.d.ts → va-start.d.ts} +3 -3
  89. package/out/types/src/evaluator/builtins/{var_fns.d.ts → var-fns.d.ts} +3 -3
  90. package/out/types/src/evaluator/calls/{array_type.d.ts → array-type.d.ts} +4 -4
  91. package/out/types/src/evaluator/calls/array.d.ts +5 -5
  92. package/out/types/src/evaluator/calls/{closure_type.d.ts → closure-type.d.ts} +4 -4
  93. package/out/types/src/evaluator/calls/comptime-fn.d.ts +19 -0
  94. package/out/types/src/evaluator/calls/comptime-list-type.d.ts +11 -0
  95. package/out/types/src/evaluator/calls/{function_type.d.ts → function-type.d.ts} +5 -5
  96. package/out/types/src/evaluator/calls/function.d.ts +6 -6
  97. package/out/types/src/evaluator/calls/helper.d.ts +6 -6
  98. package/out/types/src/evaluator/calls/iso.d.ts +4 -4
  99. package/out/types/src/evaluator/calls/{module_type.d.ts → module-type.d.ts} +4 -4
  100. package/out/types/src/evaluator/calls/{numeric_type.d.ts → numeric-type.d.ts} +4 -4
  101. package/out/types/src/evaluator/calls/{pointer_type.d.ts → pointer-type.d.ts} +4 -4
  102. package/out/types/src/evaluator/calls/pointer.d.ts +3 -3
  103. package/out/types/src/evaluator/calls/{trait_type.d.ts → trait-type.d.ts} +4 -4
  104. package/out/types/src/evaluator/calls/type.d.ts +4 -4
  105. package/out/types/src/evaluator/context.d.ts +6 -6
  106. package/out/types/src/evaluator/ctfe/ctfe-analysis.d.ts +5 -5
  107. package/out/types/src/evaluator/exprs/_expr.d.ts +3 -3
  108. package/out/types/src/evaluator/exprs/assignment.d.ts +3 -3
  109. package/out/types/src/evaluator/exprs/begin.d.ts +3 -3
  110. package/out/types/src/evaluator/exprs/binding.d.ts +3 -3
  111. package/out/types/src/evaluator/exprs/{c_include.d.ts → c-include.d.ts} +3 -3
  112. package/out/types/src/evaluator/exprs/cond.d.ts +3 -3
  113. package/out/types/src/evaluator/exprs/{destructuring_assignment.d.ts → destructuring-assignment.d.ts} +5 -5
  114. package/out/types/src/evaluator/exprs/expr.d.ts +3 -3
  115. package/out/types/src/evaluator/exprs/extern.d.ts +3 -3
  116. package/out/types/src/evaluator/exprs/{identifer_and_operator.d.ts → identifer-and-operator.d.ts} +3 -3
  117. package/out/types/src/evaluator/exprs/import.d.ts +3 -3
  118. package/out/types/src/evaluator/exprs/{initialization_assignment.d.ts → initialization-assignment.d.ts} +3 -3
  119. package/out/types/src/evaluator/exprs/match.d.ts +3 -3
  120. package/out/types/src/evaluator/exprs/open.d.ts +3 -3
  121. package/out/types/src/evaluator/exprs/{property_access.d.ts → property-access.d.ts} +3 -3
  122. package/out/types/src/evaluator/exprs/recur.d.ts +3 -3
  123. package/out/types/src/evaluator/exprs/runtime.d.ts +3 -3
  124. package/out/types/src/evaluator/exprs/subtype-of.d.ts +8 -0
  125. package/out/types/src/evaluator/exprs/test.d.ts +3 -3
  126. package/out/types/src/evaluator/exprs/typeof.d.ts +3 -3
  127. package/out/types/src/evaluator/exprs/while.d.ts +3 -3
  128. package/out/types/src/evaluator/index.d.ts +4 -4
  129. package/out/types/src/evaluator/trait-checking.d.ts +31 -0
  130. package/out/types/src/evaluator/types/array.d.ts +3 -3
  131. package/out/types/src/evaluator/types/closure.d.ts +3 -3
  132. package/out/types/src/evaluator/types/comptime-list.d.ts +8 -0
  133. package/out/types/src/evaluator/types/{concrete_trait.d.ts → concrete-trait.d.ts} +3 -3
  134. package/out/types/src/evaluator/types/dyn.d.ts +3 -3
  135. package/out/types/src/evaluator/types/enum.d.ts +3 -3
  136. package/out/types/src/evaluator/types/{expr_synthesizer.d.ts → expr-synthesizer.d.ts} +4 -4
  137. package/out/types/src/evaluator/types/field.d.ts +4 -4
  138. package/out/types/src/evaluator/types/{fn_trait.d.ts → fn-trait.d.ts} +3 -3
  139. package/out/types/src/evaluator/types/function.d.ts +16 -10
  140. package/out/types/src/evaluator/types/{future_trait.d.ts → future-trait.d.ts} +3 -3
  141. package/out/types/src/evaluator/types/module.d.ts +4 -4
  142. package/out/types/src/evaluator/types/newtype.d.ts +3 -3
  143. package/out/types/src/evaluator/types/object.d.ts +3 -3
  144. package/out/types/src/evaluator/types/slice.d.ts +3 -3
  145. package/out/types/src/evaluator/types/struct.d.ts +3 -3
  146. package/out/types/src/evaluator/types/synthesizer.d.ts +2 -2
  147. package/out/types/src/evaluator/types/trait.d.ts +4 -4
  148. package/out/types/src/evaluator/types/tuple.d.ts +4 -4
  149. package/out/types/src/evaluator/types/union.d.ts +3 -3
  150. package/out/types/src/evaluator/types/utils.d.ts +84 -5
  151. package/out/types/src/evaluator/types/validation.d.ts +2 -2
  152. package/out/types/src/evaluator/utils/closure.d.ts +7 -7
  153. package/out/types/src/evaluator/utils.d.ts +2 -2
  154. package/out/types/src/evaluator/values/{anonymous_function.d.ts → anonymous-function.d.ts} +3 -3
  155. package/out/types/src/evaluator/values/{anonymous_module.d.ts → anonymous-module.d.ts} +5 -5
  156. package/out/types/src/evaluator/values/{anonymous_struct.d.ts → anonymous-struct.d.ts} +3 -3
  157. package/out/types/src/evaluator/values/array.d.ts +3 -3
  158. package/out/types/src/evaluator/values/boolean.d.ts +2 -2
  159. package/out/types/src/evaluator/values/char.d.ts +2 -2
  160. package/out/types/src/evaluator/values/{clone_value.d.ts → clone-value.d.ts} +1 -1
  161. package/out/types/src/evaluator/values/comptime-list.d.ts +8 -0
  162. package/out/types/src/evaluator/values/dyn.d.ts +3 -3
  163. package/out/types/src/evaluator/values/float.d.ts +3 -3
  164. package/out/types/src/evaluator/values/impl.d.ts +5 -5
  165. package/out/types/src/evaluator/values/integer.d.ts +3 -3
  166. package/out/types/src/evaluator/values/string.d.ts +2 -2
  167. package/out/types/src/evaluator/values/tuple.d.ts +5 -5
  168. package/out/types/src/expr.d.ts +283 -283
  169. package/out/types/src/function-value.d.ts +6 -6
  170. package/out/types/src/index.d.ts +3 -0
  171. package/out/types/src/lexer.d.ts +1 -1
  172. package/out/types/src/module-manager.d.ts +1 -1
  173. package/out/types/src/parser.d.ts +2 -2
  174. package/out/types/src/test-runner.d.ts +1 -1
  175. package/out/types/src/type-value.d.ts +1 -1
  176. package/out/types/src/types/compatibility.d.ts +2 -2
  177. package/out/types/src/types/creators.d.ts +29 -16
  178. package/out/types/src/types/definitions.d.ts +29 -26
  179. package/out/types/src/types/env-lookup.d.ts +4 -0
  180. package/out/types/src/types/guards.d.ts +6 -6
  181. package/out/types/src/types/hierarchy.d.ts +2 -2
  182. package/out/types/src/types/tags.d.ts +4 -4
  183. package/out/types/src/types/utils.d.ts +13 -38
  184. package/out/types/src/unit-value.d.ts +1 -1
  185. package/out/types/src/value-tag.d.ts +4 -4
  186. package/out/types/src/value.d.ts +32 -26
  187. package/out/types/tsconfig.tsbuildinfo +1 -1
  188. package/package.json +3 -1
  189. package/std/allocator.yo +5 -5
  190. package/std/collections/array_list.yo +394 -390
  191. package/std/collections/hash_map.yo +411 -406
  192. package/std/collections/hash_set.yo +646 -642
  193. package/std/collections/linked_list.yo +347 -341
  194. package/std/io.yo +55 -53
  195. package/std/path.yo +17 -16
  196. package/std/prelude.yo +1587 -1455
  197. package/std/string/rune.yo +25 -24
  198. package/std/string/string.yo +46 -43
  199. package/std/sync.yo +50 -30
  200. package/std/thread.yo +6 -5
  201. package/std/time.yo +1 -1
  202. package/out/types/src/codegen/exprs/compt_value.d.ts +0 -4
  203. package/out/types/src/codegen/types/index.d.ts +0 -3
  204. package/out/types/src/codegen/values/index.d.ts +0 -1
  205. package/out/types/src/evaluator/builtins/compt_assert.d.ts +0 -8
  206. package/out/types/src/evaluator/builtins/compt_boolean_fns.d.ts +0 -8
  207. package/out/types/src/evaluator/builtins/compt_expect_error.d.ts +0 -8
  208. package/out/types/src/evaluator/builtins/compt_fn.d.ts +0 -8
  209. package/out/types/src/evaluator/builtins/compt_list_fns.d.ts +0 -33
  210. package/out/types/src/evaluator/builtins/compt_numeric_fns.d.ts +0 -8
  211. package/out/types/src/evaluator/builtins/compt_print.d.ts +0 -8
  212. package/out/types/src/evaluator/builtins/compt_string_fns.d.ts +0 -8
  213. package/out/types/src/evaluator/calls/compt_function.d.ts +0 -19
  214. package/out/types/src/evaluator/calls/compt_list_type.d.ts +0 -11
  215. package/out/types/src/evaluator/exprs/subtype_of.d.ts +0 -21
  216. package/out/types/src/evaluator/types/compt_list.d.ts +0 -8
  217. package/out/types/src/evaluator/values/anonymous_trait.d.ts +0 -17
  218. package/out/types/src/evaluator/values/compt_list.d.ts +0 -8
  219. package/out/types/src/types/constants.d.ts +0 -5
  220. package/out/types/src/types/index.d.ts +0 -8
  221. package/std/allocators/c_allocator.yo +0 -118
  222. package/std/index.yo +0 -12
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateComptimeAssert({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateYoComptimeBooleanFunctions({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateComptimeExpectError({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import type { FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateComptimeFn({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -0,0 +1,33 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateYoComptimeListCar({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
9
+ export declare function evaluateYoComptimeListCdr({ expr, env, context, }: {
10
+ expr: FnCallExpr;
11
+ env: Environment;
12
+ context: EvaluatorContext;
13
+ }): FnCallExpr;
14
+ export declare function evaluateYoComptimeListCons({ expr, env, context, }: {
15
+ expr: FnCallExpr;
16
+ env: Environment;
17
+ context: EvaluatorContext;
18
+ }): FnCallExpr;
19
+ export declare function evaluateYoComptimeListAppend({ expr, env, context, }: {
20
+ expr: FnCallExpr;
21
+ env: Environment;
22
+ context: EvaluatorContext;
23
+ }): FnCallExpr;
24
+ export declare function evaluateYoComptimeListLength({ expr, env, context, }: {
25
+ expr: FnCallExpr;
26
+ env: Environment;
27
+ context: EvaluatorContext;
28
+ }): FnCallExpr;
29
+ export declare function evaluateYoComptimeListElementType({ expr, env, context, }: {
30
+ expr: FnCallExpr;
31
+ env: Environment;
32
+ context: EvaluatorContext;
33
+ }): FnCallExpr;
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateYoComptimeNumericFunctions({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateComptimePrint({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -0,0 +1,8 @@
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
+ export declare function evaluateYoComptimeStringFunctions({ expr, env, context, }: {
5
+ expr: FnCallExpr;
6
+ env: Environment;
7
+ context: EvaluatorContext;
8
+ }): FnCallExpr;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateConsume({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateDrop({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateDup({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateYoExprIsAtom({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import type { FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateAwait({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateYoGcCollect({ expr, env, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateGensym({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateImplConstraint({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateMacroExpand({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import type { FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluatePanic({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateYoProcessFunctions({ expr, env, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateAddressCall({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function processUnquotesInExpr({ expr, env, context, }: {
5
5
  expr: Expr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateYoDecrRc({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateRc({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateSizeOf({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateThe({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateYoTypeToString({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateVaStart({ expr, env, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateYoVarPrintInfo({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { ArrayType } from "../../types";
4
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { ArrayType } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
5
  export declare function tryToImplementArrayByArrayType({ expr, arrayType, argExprs, callerEnv, context, }: {
6
6
  expr: FnCallExpr;
7
7
  arrayType: ArrayType;
@@ -1,8 +1,8 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { ArrayType, SliceType } from "../../types";
4
- import { ArrayValue, SliceValue } from "../../value";
5
- import { ArrayCallResult, EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { ArrayType, SliceType } from "../../types/definitions";
4
+ import { type ArrayValue, type SliceValue } from "../../value";
5
+ import type { ArrayCallResult, EvaluatorContext } from "../context";
6
6
  export declare function tryToCallArrayWithArguments({ expr, arrayType, arrayValue, sliceValue, argExprs, callerEnv, context, }: {
7
7
  expr: FnCallExpr;
8
8
  arrayType: ArrayType | SliceType;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { DynType, FnTraitType, SomeType } from "../../types";
4
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { DynType, FnTraitType, SomeType } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
5
  export declare function tryToImplementClosureByFnModuleType({ expr, fnModuleType, wrapperType, callerEnv, context, }: {
6
6
  expr: FnCallExpr;
7
7
  fnModuleType: FnTraitType;
@@ -0,0 +1,19 @@
1
+ import type { Environment } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import { type FunctionValue } from "../../function-value";
4
+ import { type FunctionType } from "../../types/definitions";
5
+ import { type Value } from "../../value";
6
+ import type { ArgValues, EvaluatorContext } from "../context";
7
+ export declare function evaluateComptimeFunctionCall({ functionCalleeExpr, functionType, functionValue, argValues: argValues_, callerEnv, calleeEnv, context, }: {
8
+ functionCalleeExpr: Expr | undefined;
9
+ functionType: FunctionType;
10
+ functionValue: FunctionValue;
11
+ argValues: ArgValues;
12
+ callerEnv: Environment;
13
+ calleeEnv: Environment;
14
+ context: EvaluatorContext;
15
+ }): {
16
+ value: Value;
17
+ callerEnv: Environment;
18
+ calleeEnv: Environment;
19
+ };
@@ -0,0 +1,11 @@
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { ComptimeListType } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
+ export declare function tryToImplementComptimeListByComptimeListType({ expr, comptimeListType, argExprs, callerEnv, context, }: {
6
+ expr: FnCallExpr;
7
+ comptimeListType: ComptimeListType;
8
+ argExprs: Expr[];
9
+ callerEnv: Environment;
10
+ context: EvaluatorContext;
11
+ }): Expr;
@@ -1,8 +1,8 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { FunctionValue } from "../../function-value";
4
- import { FunctionType } from "../../types";
5
- import { EvaluatorContext, FunctionEvaluationContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { FunctionValue } from "../../function-value";
4
+ import type { FunctionType } from "../../types/definitions";
5
+ import { type EvaluatorContext, type FunctionEvaluationContext } from "../context";
6
6
  export declare function createFunctionBodyEvaluationContext(context: EvaluatorContext, functionType: FunctionType, functionValue: FunctionValue, env: Environment): {
7
7
  evaluationContext: EvaluatorContext;
8
8
  functionBodyContext: FunctionEvaluationContext;
@@ -1,9 +1,9 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { FunctionValue } from "../../function-value";
4
- import { TypeValue } from "../../type-value";
5
- import { Type } from "../../types";
6
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { FunctionValue } from "../../function-value";
4
+ import type { TypeValue } from "../../type-value";
5
+ import type { Type } from "../../types/definitions";
6
+ import { type EvaluatorContext } from "../context";
7
7
  export declare function evaluateFunctionCall({ expr, env, context, givenFunc, forMacroExpansion, }: {
8
8
  expr: FnCallExpr;
9
9
  env: Environment;
@@ -1,9 +1,9 @@
1
- import { Environment } from "../../env";
2
- import { Expr } from "../../expr";
3
- import { FunctionValue } from "../../function-value";
4
- import { FunctionParameter, FunctionType, Type } from "../../types";
5
- import { Value } from "../../value";
6
- import { EvaluatorContext, FunctionCallResult } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import type { FunctionValue } from "../../function-value";
4
+ import type { FunctionParameter, FunctionType, Type } from "../../types/definitions";
5
+ import { type Value } from "../../value";
6
+ import type { EvaluatorContext, FunctionCallResult } from "../context";
7
7
  export declare function checkIfFunctionParameterMatchesArgument({ functionType, parameter, argExprs, argIndex, calleeEnv, callerEnv, context, isMethodCall, runtimeArgExprsInOrder, }: {
8
8
  functionType: FunctionType;
9
9
  parameter: FunctionParameter;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { IsoType } from "../../types";
4
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { IsoType } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
5
  export declare function evaluateIsoTypeCall({ expr, env, context, }: {
6
6
  expr: FnCallExpr;
7
7
  env: Environment;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr } from "../../expr";
3
- import { ModuleType } from "../../types";
4
- import { EvaluatorContext, ModuleTypeCallResult } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import type { ModuleType } from "../../types/definitions";
4
+ import type { EvaluatorContext, ModuleTypeCallResult } from "../context";
5
5
  export declare function tryToImplementModuleWithArgumentsByModuleType({ moduleExpr, moduleType, argExprs, callerEnv, context, }: {
6
6
  moduleExpr: Expr;
7
7
  moduleType: ModuleType;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { Type } from "../../types";
4
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { Type } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
5
  export declare function getNumericBounds(type: Type): {
6
6
  min: number | bigint;
7
7
  max: number | bigint;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr, FnCallExpr } from "../../expr";
3
- import { Type } from "../../types";
4
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr, type FnCallExpr } from "../../expr";
3
+ import type { Type } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
5
  export declare function tryToConvertToPointerType({ targetType, argExpr, expr, callerEnv, context, }: {
6
6
  targetType: Type;
7
7
  argExpr: Expr;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type FnCallExpr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateRawPointerCall({ expr, env, context, }: {
5
5
  expr: FnCallExpr;
6
6
  env: Environment;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr } from "../../expr";
3
- import { TraitType } from "../../types";
4
- import { EvaluatorContext, TraitTypeCallResult } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import type { TraitType } from "../../types/definitions";
4
+ import type { EvaluatorContext, TraitTypeCallResult } from "../context";
5
5
  export declare function tryToImplementTraitWithArgumentsByTraitType({ traitExpr, traitType, argExprs, callerEnv, context, }: {
6
6
  traitExpr: Expr;
7
7
  traitType: TraitType;
@@ -1,7 +1,7 @@
1
- import { Environment } from "../../env";
2
- import { Expr } from "../../expr";
3
- import { TypeField } from "../../types";
4
- import { EvaluatorContext, TypeCallResult } from "../context";
1
+ import type { Environment } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import type { TypeField } from "../../types/definitions";
4
+ import type { EvaluatorContext, TypeCallResult } from "../context";
5
5
  export declare function tryToCallTypeWithArguments({ typeFields, functionCalleeExpr, argExprs, callerEnv, context, isUnionType, }: {
6
6
  typeFields: TypeField[];
7
7
  functionCalleeExpr: Expr;
@@ -1,10 +1,10 @@
1
- import { Environment } from "../env";
1
+ import type { Environment } from "../env";
2
2
  import { YoError } from "../error";
3
- import { Expr, FnCallExpr, PathCollection } from "../expr";
4
- import { FunctionValue } from "../function-value";
5
- import { Token } from "../token";
6
- import { FunctionType, Type } from "../types";
7
- import { ArrayValue, ModuleValue, TraitValue, Value } from "../value";
3
+ import type { Expr, FnCallExpr, PathCollection } from "../expr";
4
+ import type { FunctionValue } from "../function-value";
5
+ import type { Token } from "../token";
6
+ import type { FunctionType, Type } from "../types/definitions";
7
+ import type { ArrayValue, ModuleValue, TraitValue, Value } from "../value";
8
8
  export interface FunctionEvaluationContext {
9
9
  kind: "function-body";
10
10
  type: FunctionType;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { FunctionValue } from "../../function-value";
3
- import { FunctionType } from "../../types";
4
- import { EvaluatorContext } from "../context";
5
- export declare function createComptFunctionType(functionType: FunctionType): FunctionType;
1
+ import { type Environment } from "../../env";
2
+ import type { FunctionValue } from "../../function-value";
3
+ import type { FunctionType } from "../../types/definitions";
4
+ import type { EvaluatorContext } from "../context";
5
+ export declare function createComptimeFunctionType(functionType: FunctionType): FunctionType;
6
6
  export declare function analyzeCtfeCapability(functionValue: FunctionValue, env: Environment, context: EvaluatorContext): FunctionValue | undefined;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { Expr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function _evaluateExpression({ expr, env, context, }: {
5
5
  expr: Expr;
6
6
  env: Environment;
@@ -1,6 +1,6 @@
1
- import { Environment } from "../../env";
2
- import { ControlFlowKind, Expr, FnCallExpr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment } from "../../env";
2
+ import { type ControlFlowKind, type Expr, type FnCallExpr } from "../../expr";
3
+ import { type EvaluatorContext } from "../context";
4
4
  export declare function throwRhsContainsControlFlowExpressionError(rhs: Expr, controlFlow: ControlFlowKind): void;
5
5
  export declare function evaluateAssignment({ expr, env, context, }: {
6
6
  expr: FnCallExpr;
@@ -1,6 +1,6 @@
1
- import { Environment, Variable } from "../../env";
2
- import { Expr } from "../../expr";
3
- import { EvaluatorContext } from "../context";
1
+ import { type Environment, type Variable } from "../../env";
2
+ import { type Expr } from "../../expr";
3
+ import type { EvaluatorContext } from "../context";
4
4
  export declare function evaluateBeginExpression({ expr, env, context, variablesToAdd, isEvaluatingFunctionBodyBeginBlock, }: {
5
5
  expr: Expr;
6
6
  env: Environment;