@mark1russell7/coeval 0.4.1 → 0.4.2
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 +1 -0
- package/build/index.d.ts +208 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1096 -25
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/src/agree.ts +231 -0
- package/src/errors.ts +6 -1
- package/src/evaluate.ts +24 -8
- package/src/formula.ts +10 -8
- package/src/generate.ts +367 -0
- package/src/index.ts +3 -0
- package/src/reference.ts +571 -0
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ A plan evaluates many times without a trace. `evaluate(machine, doc)` gives the
|
|
|
33
33
|
| Errors | `Result`, `EvalError`, `Failure`, `failures` | An error value has a code, a reason, a place and a cause. An evaluation does not throw |
|
|
34
34
|
| The static kit | `walk`, `refsOf`, `mapRefs`, `check` | The documents of a document in linear time, its free references, and its problems before a run, each with its place and its JSON path. A check narrows the capabilities as a run does |
|
|
35
35
|
| The formula kit | `formulaMachine`, `FormulaProfile` | The shared constructs `lit`, `ref`, `record`, `list`, `let`, `fn`, `call`, `if`, `and`, `or`, and the namespaces `ops` and `ext`. A profile gives the rules of a language, for example how the errors of two parts combine. An address gives a thing, not its value |
|
|
36
|
+
| One meaning | `agree`, `reference`, `formulaDefinitions`, `generate` | A reference interpreter that compiles nothing, and `agree`, which compares a plan with it and with the second tier of a language. `generate` builds random documents from the kind contracts |
|
|
36
37
|
|
|
37
38
|
Each rule has an ID in [`docs/SPEC.md`](https://github.com/mark1russell7/coeval/blob/main/docs/SPEC.md), and each ID has a test. [The site](https://mark1russell7.github.io/coeval/) explains each idea with a live diagram.
|
|
38
39
|
|
package/build/index.d.ts
CHANGED
|
@@ -1743,5 +1743,212 @@ export declare function formulaEvaluators(profile?: FormulaProfile): Readonly<Re
|
|
|
1743
1743
|
*/
|
|
1744
1744
|
export declare function formulaMachine(profile?: FormulaProfile, more?: Partial<Machine>): Machine;
|
|
1745
1745
|
//#endregion
|
|
1746
|
-
|
|
1746
|
+
//#region src/reference.d.ts
|
|
1747
|
+
/**
|
|
1748
|
+
* The definitional code of the reference, by evaluator name. The reference cannot read compiled code, thus each
|
|
1749
|
+
* compiled evaluator or runner of a machine needs a definition here. A function evaluator needs none.
|
|
1750
|
+
*/
|
|
1751
|
+
interface Definitions {
|
|
1752
|
+
readonly evaluators?: Readonly<Record<string, EvalFn>>;
|
|
1753
|
+
readonly runners?: Readonly<Record<string, RunFn>>;
|
|
1754
|
+
}
|
|
1755
|
+
/** The options of the reference interpreter. */
|
|
1756
|
+
interface ReferenceOptions {
|
|
1757
|
+
/** The type of a bare root value. */
|
|
1758
|
+
readonly declaredType?: string;
|
|
1759
|
+
/** The definitional code of the compiled evaluators and runners of the machine. */
|
|
1760
|
+
readonly definitions?: Definitions;
|
|
1761
|
+
/** A list that gets each effect, in its order. */
|
|
1762
|
+
readonly effects?: Effect[];
|
|
1763
|
+
}
|
|
1764
|
+
/**
|
|
1765
|
+
* This function evaluates a document by the rules, without a compilation. It is the reference of the plans: a plan,
|
|
1766
|
+
* a traced plan and the second tier of a language must give its results. It covers evaluations, not runs: an effect
|
|
1767
|
+
* gives its payload, and a part that waits gives `#CALC!`.
|
|
1768
|
+
*
|
|
1769
|
+
* @param machine - The world and the code of the evaluators.
|
|
1770
|
+
* @param doc - The document.
|
|
1771
|
+
* @param context - The names and the capabilities at the root.
|
|
1772
|
+
* @param options - The type of a bare root value, the definitions of compiled code, and a list for the effects.
|
|
1773
|
+
* @returns The result.
|
|
1774
|
+
*/
|
|
1775
|
+
export declare function reference(machine: Machine, doc: unknown, context?: Context, options?: ReferenceOptions): Result;
|
|
1776
|
+
/**
|
|
1777
|
+
* This function gives the definitions of the formula kit for one profile. Each construct is a function evaluator in
|
|
1778
|
+
* the most direct style. It shares no code with the compilers of `formulaEvaluators`, thus the two readings of the
|
|
1779
|
+
* rules can disagree, and a test finds it.
|
|
1780
|
+
*
|
|
1781
|
+
* @param profile - The operations and the rules of the language.
|
|
1782
|
+
* @returns The definitions, by evaluator name.
|
|
1783
|
+
*/
|
|
1784
|
+
export declare function formulaDefinitions(profile?: FormulaProfile): Definitions;
|
|
1785
|
+
//#endregion
|
|
1786
|
+
//#region src/agree.d.ts
|
|
1787
|
+
/**
|
|
1788
|
+
* A tier that `agree` compares with the plan.
|
|
1789
|
+
*
|
|
1790
|
+
* - `reference`: the reference interpreter, which compiles nothing.
|
|
1791
|
+
* - `traced`: the traced evaluation, `evaluate`.
|
|
1792
|
+
* - `again`: a second evaluation of the same plan.
|
|
1793
|
+
* - `other`: the second tier of a language, from the option `other`.
|
|
1794
|
+
*/
|
|
1795
|
+
type Tier = "reference" | "traced" | "again" | "other";
|
|
1796
|
+
/** What a second tier gives: its result, and its effects when it records them. */
|
|
1797
|
+
interface TierResult {
|
|
1798
|
+
readonly result: Result;
|
|
1799
|
+
readonly effects?: readonly Effect[];
|
|
1800
|
+
}
|
|
1801
|
+
/** The options of `agree`. */
|
|
1802
|
+
interface AgreeOptions {
|
|
1803
|
+
/** The type of a bare root value. */
|
|
1804
|
+
readonly declaredType?: string;
|
|
1805
|
+
/** The definitional code of the compiled evaluators of the machine, for the reference. */
|
|
1806
|
+
readonly definitions?: Definitions;
|
|
1807
|
+
/** The tiers to compare with the plan. The default is the reference, the traced evaluation and a second evaluation. */
|
|
1808
|
+
readonly tiers?: readonly Exclude<Tier, "other">[];
|
|
1809
|
+
/**
|
|
1810
|
+
* This function gives the result of the second tier of a language, for example a compiler to loops.
|
|
1811
|
+
*
|
|
1812
|
+
* @param doc - The document.
|
|
1813
|
+
* @param context - The context.
|
|
1814
|
+
* @returns The result, or the result with the effects.
|
|
1815
|
+
*/
|
|
1816
|
+
readonly other?: (doc: unknown, context: Context) => Result | TierResult;
|
|
1817
|
+
/**
|
|
1818
|
+
* This function compares two values that the rules of `sameValue` do not know, for example two dates.
|
|
1819
|
+
*
|
|
1820
|
+
* @param a - The value of the plan.
|
|
1821
|
+
* @param b - The value of the other tier.
|
|
1822
|
+
* @returns `true` or `false`, or `undefined` to use the rules of `sameValue`.
|
|
1823
|
+
*/
|
|
1824
|
+
readonly equal?: (a: unknown, b: unknown) => boolean | undefined;
|
|
1825
|
+
/** `true`: two errors must also have the same reason, and each error must have a place. */
|
|
1826
|
+
readonly strict?: boolean;
|
|
1827
|
+
/**
|
|
1828
|
+
* This function gives what the host saw since its last call, for example the calls of an operation. `agree` uses
|
|
1829
|
+
* it before the plan and after each tier, and compares the results. Thus a tier that evaluates a part that the plan
|
|
1830
|
+
* does not evaluate fails.
|
|
1831
|
+
*
|
|
1832
|
+
* @returns What the host saw.
|
|
1833
|
+
*/
|
|
1834
|
+
readonly observe?: () => unknown;
|
|
1835
|
+
}
|
|
1836
|
+
/** The outcome of `agree`: the result of the plan, or the first tier that disagrees with it. */
|
|
1837
|
+
type Agreement = {
|
|
1838
|
+
readonly ok: true;
|
|
1839
|
+
readonly result: Result;
|
|
1840
|
+
readonly effects: readonly Effect[];
|
|
1841
|
+
} | {
|
|
1842
|
+
readonly ok: false;
|
|
1843
|
+
readonly tier: Tier;
|
|
1844
|
+
/** The result of the plan. */
|
|
1845
|
+
readonly plan: Result;
|
|
1846
|
+
/** The result of the tier that disagrees. */
|
|
1847
|
+
readonly other: Result;
|
|
1848
|
+
/** One sentence that tells the difference. */
|
|
1849
|
+
readonly reason: string;
|
|
1850
|
+
};
|
|
1851
|
+
/**
|
|
1852
|
+
* This function tells if two values are the same for `agree`. Lists and plain records compare item by item and field
|
|
1853
|
+
* by field, and the order of the fields does not matter. Each other leaf compares with `Object.is`, thus `-0` is not
|
|
1854
|
+
* `0`, and `NaN` is `NaN`. Two closures of `fn` are the same when they have the same parameters. Two `Held` values
|
|
1855
|
+
* are the same when their errors have the same code and place. Identity is not compared.
|
|
1856
|
+
*
|
|
1857
|
+
* @param a - The first value.
|
|
1858
|
+
* @param b - The second value.
|
|
1859
|
+
* @param equal - The rule of the caller for other values. It answers first, and `undefined` gives the rules above.
|
|
1860
|
+
* @returns `true` when the values are the same.
|
|
1861
|
+
*/
|
|
1862
|
+
export declare function sameValue(a: unknown, b: unknown, equal?: (a: unknown, b: unknown) => boolean | undefined): boolean;
|
|
1863
|
+
/**
|
|
1864
|
+
* This function evaluates a document with a plan and with other tiers, and compares the results (PLAN.AGREES). Two
|
|
1865
|
+
* results agree when they have the same value by `sameValue`, or errors with the same code, and the same place when
|
|
1866
|
+
* both have one. The effects must have the same kinds, places and payloads, in the same order. A language gives its
|
|
1867
|
+
* own tier with the option `other`.
|
|
1868
|
+
*
|
|
1869
|
+
* @param machine - The world and the code of the evaluators.
|
|
1870
|
+
* @param doc - The document.
|
|
1871
|
+
* @param context - The names and the capabilities at the root.
|
|
1872
|
+
* @param options - The tiers, the definitions for the reference, the rules of the comparison and the second tier.
|
|
1873
|
+
* @returns The result of the plan, or the first tier that disagrees and the reason.
|
|
1874
|
+
*/
|
|
1875
|
+
export declare function agree(machine: Machine, doc: unknown, context?: Context, options?: AgreeOptions): Agreement;
|
|
1876
|
+
//#endregion
|
|
1877
|
+
//#region src/generate.d.ts
|
|
1878
|
+
/** A source of random numbers with a seed. The same seed gives the same numbers. */
|
|
1879
|
+
interface Random {
|
|
1880
|
+
/** This function gives a number from 0 up to 1, without 1. */
|
|
1881
|
+
next(): number;
|
|
1882
|
+
/** This function gives a whole number from 0 up to `below`, without `below`. */
|
|
1883
|
+
int(below: number): number;
|
|
1884
|
+
/** This function gives `true` with the chance `p`. */
|
|
1885
|
+
chance(p: number): boolean;
|
|
1886
|
+
/** This function gives one item of a list that is not empty. */
|
|
1887
|
+
pick<T>(items: readonly T[]): T;
|
|
1888
|
+
}
|
|
1889
|
+
/**
|
|
1890
|
+
* This function makes a source of random numbers with a seed (the algorithm mulberry32). It needs no package.
|
|
1891
|
+
*
|
|
1892
|
+
* @param seed - The seed: a whole number.
|
|
1893
|
+
* @returns The source.
|
|
1894
|
+
*/
|
|
1895
|
+
export declare function random(seed: number): Random;
|
|
1896
|
+
/** The options of `generate`. */
|
|
1897
|
+
interface GenerateOptions {
|
|
1898
|
+
/** The seed. The same seed and the same options give the same document. */
|
|
1899
|
+
readonly seed: number;
|
|
1900
|
+
/** The types that a document can have. The default is `typesOf(world)`. A namespace with a fallback needs its keys here. */
|
|
1901
|
+
readonly types?: readonly (readonly Key[])[];
|
|
1902
|
+
/** The type of a bare root value. */
|
|
1903
|
+
readonly declaredType?: string;
|
|
1904
|
+
/** The names that the host binds at the root. */
|
|
1905
|
+
readonly names?: readonly string[];
|
|
1906
|
+
/** The deepest nesting of documents. The default is 4. */
|
|
1907
|
+
readonly maxDepth?: number;
|
|
1908
|
+
/** The most documents in one document. The default is 24. */
|
|
1909
|
+
readonly maxSize?: number;
|
|
1910
|
+
/** The chance of a malformed choice at each document. The default is 0.05. */
|
|
1911
|
+
readonly malformed?: number;
|
|
1912
|
+
/**
|
|
1913
|
+
* This function gives the data of a document of a type without parts, for example a number for the kind `number`.
|
|
1914
|
+
*
|
|
1915
|
+
* @param type - The keys of the type.
|
|
1916
|
+
* @param random - The source of random numbers.
|
|
1917
|
+
* @returns The data, or `undefined` for a random JSON value.
|
|
1918
|
+
*/
|
|
1919
|
+
readonly data?: (type: readonly Key[], random: Random) => Json | undefined;
|
|
1920
|
+
/**
|
|
1921
|
+
* This function gives the types to prefer for a part, for example a function for the field `fn` of `call`.
|
|
1922
|
+
*
|
|
1923
|
+
* @param type - The keys of the type of the parent.
|
|
1924
|
+
* @param path - The path of the part in the value of the parent.
|
|
1925
|
+
* @returns The types, or `undefined` for no preference.
|
|
1926
|
+
*/
|
|
1927
|
+
readonly hints?: (type: readonly Key[], path: readonly Key[]) => readonly (readonly Key[])[] | undefined;
|
|
1928
|
+
/** The evaluator names for own entries. The default is none. */
|
|
1929
|
+
readonly own?: readonly string[];
|
|
1930
|
+
/** The keys for the steps of a path after its root and its name. */
|
|
1931
|
+
readonly keys?: readonly Key[];
|
|
1932
|
+
}
|
|
1933
|
+
/**
|
|
1934
|
+
* This function lists the types of a world: each kind and each alias, also in a namespace. A namespace with a
|
|
1935
|
+
* fallback gives no types, because each key names a kind.
|
|
1936
|
+
*
|
|
1937
|
+
* @param world - The world.
|
|
1938
|
+
* @returns The keys of each type.
|
|
1939
|
+
*/
|
|
1940
|
+
export declare function typesOf(world: World): readonly (readonly Key[])[];
|
|
1941
|
+
/**
|
|
1942
|
+
* This function builds a random document for a world from the contracts of its kinds. It reads the shapes of the
|
|
1943
|
+
* parts, the declared types, the permitted kinds and the names that the scope rules bind. Some choices are malformed
|
|
1944
|
+
* on purpose. Examples are an unknown kind, a value without its shape, a bare value without a type and a name that
|
|
1945
|
+
* nothing binds. The depth and the size have limits.
|
|
1946
|
+
*
|
|
1947
|
+
* @param world - The world.
|
|
1948
|
+
* @param options - The seed, the types, the limits and the data of the leaves.
|
|
1949
|
+
* @returns The document, as JSON.
|
|
1950
|
+
*/
|
|
1951
|
+
export declare function generate(world: World, options: GenerateOptions): unknown;
|
|
1952
|
+
//#endregion
|
|
1953
|
+
export type { AgreeOptions, Agreement, Alias, AllOptions, Answer, AskOptions, Cap, CapsRule, CheckOptions, Classification, Closure, Code, CompileInput, CompiledEvaluator, CompiledPart, CompiledRunner, Construct, Context, Part as ContextPart, Definitions, DerefCode, DocVisit, Edge, Effect, Envelope, ErrorCode, EvalError, EvalFn, EvalInput, EvalOptions, Evaluator, ExtFn, Failed, FormulaProfile, GenerateOptions, Give, Header, Hop, HopBy, HostThing, Issue, Json, JsonRecord, KernelCode, Key, Kind, KindSource, LazyOp, Lookup, Machine, NamesSource, Namespace, Navigator, NearestOptions, OpFn, OrderProblem, Outcome, Part$1 as Part, PartInfo, Shape as PartShape, PartSlot, PartsSpec, Perform, Plan, PrepareOptions, Random, RefUse, ReferenceOptions, Resolution, ResolveCode, ResolveOptions, Result, Root, Run, RunCode, RunFn, RunInput, RunOptions, RunPart, Rung, Runner, Runtime, ScopeRule, Shape$1 as Shape, Side, Split, Step, StepSpec, Steps, StopSignal, Stored, Thing, Tier, TierResult, TraceNode, TypeRef, Use, WalkInput, WalkOptions, WalkProblem, WalkResult, Walker, World, WorldEntry };
|
|
1747
1954
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["Shape","Part"],"sources":["../src/doc.ts","../src/errors.ts","../src/deref.ts","../src/world.ts","../src/ladder.ts","../src/classify.ts","../src/parts.ts","../src/evaluate.ts","../src/stdlib.ts","../src/order.ts","../src/context.ts","../src/static.ts","../src/formula.ts"],"mappings":";;KACY,mDAAmD;YAAmC,cAAA;;;KAGtF;YAAuC,cAAA;;;KAGvC;;;;;;;;;;;KAYA,4BAA4B;WAAmB;WAAsB,gBAAgB;;;;;;KAMrF;;WAED,MAAM;;WAEN,OAAO;;WAEP;;WAEA,MAAM,SAAS;;;qBAIb;;;;;;;;wBASG,SAAS,iBAAiB,SAAS;;;;;;;;wBAanC,MAAM,QAAQ,YAAY,cAAc;;;;;;;wBAUxC,MAAM,iBAAiB,SAAS;;;;;;;;wBAWhC,UAAU,iBAAiB,SAAS;;;;;;;wBAcpC,SAAS,MAAM,mBAAmB;;;;;;;wBAalC,SAAS,MAAM;;;;;;;;;wBAqBf,WAAW,iBAAiB,SAAS,aAAa;;UAUjD;WACN,UAAU;;WAEV,QAAQ,SAAS,eAAe;;;;;;;;;;wBAW3B,OAAO,gBAAgB,4BAA4B;;;;;;;;;wBAqBnD,MAAM,MAAM,SAAS,OAAO,MAAM;WAAmB;WAAwB,MAAM;IAAgC;;;;;;;wBAUnH,OAAO,eAAe,SAAS;;;;;;;wBAU/B,OAAO,KAAK,WAAW;;;;;;;wBAevB,SAAS,iBAAiB;;;;;;;;;;wBAuB1B,UAAU,YAAY;;;;KCpO1B;;KAkBA,YAAY;;;;;;;UAQP;WACN,MAAM;WACN;WACA,iBAAiB;WACjB;;;KAIC,OAAO;WAA0B;WAAmB,OAAO;;WAAiB;WAAoB,OAAO;;;KAGvG;WAAoB;WAAoB,OAAO;;;;;;;;wBAQ3C,GAAG,GAAG,OAAO,IAAI,OAAO;;;;;;;;;wBAYxB,KAAK,MAAM,WAAW,gBAAgB;WAAiB,iBAAiB;WAAgB;IAAyB;;;;;;;;;wBAejH,OAAO,GAAG,QAAQ,OAAO,IAAI,gBAAgB,QAAQ,OAAO;;;;;qBAS/D,gBAAgB;WAClB,OAAO;;;;;;EAOhB,YAAY,OAAO;;;;;;;;wBAaL,gBAAgB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["Shape","Part"],"sources":["../src/doc.ts","../src/errors.ts","../src/deref.ts","../src/world.ts","../src/ladder.ts","../src/classify.ts","../src/parts.ts","../src/evaluate.ts","../src/stdlib.ts","../src/order.ts","../src/context.ts","../src/static.ts","../src/formula.ts","../src/reference.ts","../src/agree.ts","../src/generate.ts"],"mappings":"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"}
|