@shd101wyy/yo 0.1.3 → 0.1.5
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.
- package/README.md +5 -5
- package/out/cjs/index.cjs +563 -557
- package/out/cjs/yo-cli.cjs +611 -605
- package/out/esm/index.mjs +467 -461
- package/out/types/src/env.d.ts +11 -1
- package/out/types/src/evaluator/types/enum.d.ts +1 -1
- package/out/types/src/evaluator/types/synthesizer.d.ts +6 -1
- package/out/types/src/types/compatibility.d.ts +1 -1
- package/out/types/src/types/creators.d.ts +2 -1
- package/out/types/src/types/definitions.d.ts +11 -0
- package/out/types/src/types/guards.d.ts +2 -1
- package/out/types/src/types/tags.d.ts +2 -1
- package/out/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/std/prelude.yo +185 -7
package/out/types/src/env.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EvaluatorContext } from "./evaluator/context";
|
|
2
2
|
import type { Token } from "./token";
|
|
3
|
-
import type { SomeType, TraitType, Type } from "./types/definitions";
|
|
3
|
+
import type { SomeType, TraitType, Type, TypeApplicationType } from "./types/definitions";
|
|
4
4
|
import { type Value } from "./value";
|
|
5
5
|
export interface Variable {
|
|
6
6
|
id: string;
|
|
@@ -54,6 +54,16 @@ export declare function getWhereClauseConstraintsForSomeType(env: Environment, s
|
|
|
54
54
|
requiredTraits: TraitType[];
|
|
55
55
|
negativeTraits: TraitType[];
|
|
56
56
|
} | undefined;
|
|
57
|
+
export declare function addWhereClauseConstraintForTypeApplication({ env, typeApp, traitType, isNegated, }: {
|
|
58
|
+
env: Environment;
|
|
59
|
+
typeApp: TypeApplicationType;
|
|
60
|
+
traitType: TraitType;
|
|
61
|
+
isNegated: boolean;
|
|
62
|
+
}): Environment;
|
|
63
|
+
export declare function getWhereClauseConstraintsForTypeApplication(env: Environment, typeApp: TypeApplicationType): {
|
|
64
|
+
requiredTraits: TraitType[];
|
|
65
|
+
negativeTraits: TraitType[];
|
|
66
|
+
} | undefined;
|
|
57
67
|
export declare function setEnvContainingPrelude(env: Environment): void;
|
|
58
68
|
export declare function clearEnvContainingPrelude(): void;
|
|
59
69
|
export declare function createEnvContainingPrelude(): Environment;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type Environment } from "../../env";
|
|
2
|
+
import { type Token } from "../../token";
|
|
2
3
|
import type { Type } from "../../types/definitions";
|
|
3
4
|
export declare function canAssignTypeHierarchy(expected: Type, given: Type): boolean;
|
|
5
|
+
export interface SynthesizeTypesOptions {
|
|
6
|
+
setResolvedConcreteType?: boolean;
|
|
7
|
+
token?: Token;
|
|
8
|
+
}
|
|
4
9
|
export declare function synthesizeTypes(expected: {
|
|
5
10
|
type: Type;
|
|
6
11
|
env: Environment;
|
|
@@ -10,7 +15,7 @@ export declare function synthesizeTypes(expected: {
|
|
|
10
15
|
}, checkedTypePairs?: {
|
|
11
16
|
expected: Type;
|
|
12
17
|
given: Type;
|
|
13
|
-
}[]): {
|
|
18
|
+
}[], options?: SynthesizeTypesOptions): {
|
|
14
19
|
expectedEnv: Environment;
|
|
15
20
|
givenEnv: Environment;
|
|
16
21
|
};
|
|
@@ -3,7 +3,7 @@ import type { EvaluatorContext } from "../evaluator/context";
|
|
|
3
3
|
import type { Expr } from "../expr";
|
|
4
4
|
import type { FunctionValue } from "../function-value";
|
|
5
5
|
import { type Value } from "../value";
|
|
6
|
-
import type { ArcType, ArrayType, ComptimeListType, DynType, EffectsRowType, EnumType, FnTraitType, FunctionForallParameter, FunctionImplicitParameter, FunctionParameter, FunctionParameterExprs, FunctionReturn, FunctionType, FutureTraitType, IsoType, ModuleType, PtrType, SliceType, SomeType, StructType, TraitType, TupleType, Type, TypeField, TypeHierarchyType, UnionType, VoidType } from "./definitions";
|
|
6
|
+
import type { ArcType, ArrayType, ComptimeListType, DynType, EffectsRowType, EnumType, FnTraitType, FunctionForallParameter, FunctionImplicitParameter, FunctionParameter, FunctionParameterExprs, FunctionReturn, FunctionType, FutureTraitType, IsoType, ModuleType, PtrType, SliceType, SomeType, StructType, TraitType, TupleType, Type, TypeApplicationType, TypeField, TypeHierarchyType, UnionType, VoidType } from "./definitions";
|
|
7
7
|
export declare function createComptimeIntType(): Type;
|
|
8
8
|
export declare function createComptimeFloatType(): Type;
|
|
9
9
|
export declare function createComptimeStringType(): Type;
|
|
@@ -90,4 +90,5 @@ export declare function createDynType({ requiredTraits, env, negativeTraits, }:
|
|
|
90
90
|
env: Environment;
|
|
91
91
|
negativeTraits?: TraitType[];
|
|
92
92
|
}): DynType;
|
|
93
|
+
export declare function createTypeApplicationType(constructor: SomeType, args: Type[], resultKind: Type, env: Environment): TypeApplicationType;
|
|
93
94
|
export declare function clearAllCachedTypes(): void;
|
|
@@ -54,12 +54,20 @@ export interface SomeType extends Type {
|
|
|
54
54
|
argValues: Value[];
|
|
55
55
|
};
|
|
56
56
|
isEffectsRow?: boolean;
|
|
57
|
+
kindFunctionType?: FunctionType;
|
|
57
58
|
}
|
|
58
59
|
export interface EffectsRowType extends Type {
|
|
59
60
|
tag: TypeTag.EffectsRow;
|
|
60
61
|
implicitParameters: FunctionImplicitParameter[];
|
|
61
62
|
trait: TraitType;
|
|
62
63
|
}
|
|
64
|
+
export interface TypeApplicationType extends Type {
|
|
65
|
+
tag: TypeTag.TypeApplication;
|
|
66
|
+
constructor: SomeType;
|
|
67
|
+
args: Type[];
|
|
68
|
+
resultKind: Type;
|
|
69
|
+
trait: TraitType;
|
|
70
|
+
}
|
|
63
71
|
export interface ArrayType extends Type {
|
|
64
72
|
tag: TypeTag.Array;
|
|
65
73
|
childType: Type;
|
|
@@ -194,6 +202,7 @@ export interface EnumVariant {
|
|
|
194
202
|
name: string;
|
|
195
203
|
fields?: TypeField[];
|
|
196
204
|
discriminant?: bigint;
|
|
205
|
+
gadtReturnTypeArgs?: Type[];
|
|
197
206
|
}
|
|
198
207
|
export interface EnumType extends Type {
|
|
199
208
|
tag: TypeTag.Enum;
|
|
@@ -203,6 +212,8 @@ export interface EnumType extends Type {
|
|
|
203
212
|
env: Environment;
|
|
204
213
|
selectedVariantName?: string;
|
|
205
214
|
requiredVariantNames?: string[];
|
|
215
|
+
typeConstructorArgs?: Type[];
|
|
216
|
+
isGadt?: boolean;
|
|
206
217
|
}
|
|
207
218
|
export interface UnionType extends Type {
|
|
208
219
|
tag: TypeTag.Union;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FunctionValue } from "../function-value";
|
|
2
|
-
import type { ArcType, ArrayType, ComptimeListType, ConcreteModuleType, DynType, EffectsRowType, EnumType, FnTraitType, FunctionType, FutureTraitType, IsoType, ModuleType, PtrType, SliceType, SomeType, StructType, TraitType, TupleType, Type, TypeHierarchyType, UnionType, VoidType } from "./definitions";
|
|
2
|
+
import type { ArcType, ArrayType, ComptimeListType, ConcreteModuleType, DynType, EffectsRowType, EnumType, FnTraitType, FunctionType, FutureTraitType, IsoType, ModuleType, PtrType, SliceType, SomeType, StructType, TraitType, TupleType, Type, TypeApplicationType, TypeHierarchyType, UnionType, VoidType } from "./definitions";
|
|
3
3
|
export declare function isPrimitiveType(type: Type): boolean;
|
|
4
4
|
export declare function isUnitType(type?: Type): boolean;
|
|
5
5
|
export declare function isComptimeIntType(type?: Type): boolean;
|
|
@@ -47,6 +47,7 @@ export declare function isPtrType(type?: Type): type is PtrType;
|
|
|
47
47
|
export declare function isIsoType(type?: Type): type is IsoType;
|
|
48
48
|
export declare function isArcType(type?: Type): type is ArcType;
|
|
49
49
|
export declare function isDynType(type?: Type): type is DynType;
|
|
50
|
+
export declare function isTypeApplicationType(type?: Type): type is TypeApplicationType;
|
|
50
51
|
export declare function isRcType(type?: Type): boolean;
|
|
51
52
|
export declare function isIntegerType(type?: Type): boolean;
|
|
52
53
|
export declare function isFloatType(type?: Type): boolean;
|