@mark1russell7/coeval 0.10.0 → 0.12.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.
package/README.md CHANGED
@@ -30,7 +30,7 @@ A plan evaluates many times without a trace. `evaluate(machine, doc)` gives the
30
30
  | Merges | `mergeWorlds`, `mergeMachines`, `MergeError`, `restrictWorld`, `restrictMachine` | The one merge of worlds and machines. Equal entries merge, and namespaces merge key by key. Each other clash is a conflict, unless the later part names its path in `replaces`. A restriction removes entries and their code. [`docs/COMPOSITION.md`](https://github.com/mark1russell7/coeval/blob/main/docs/COMPOSITION.md) shows each mode of composition |
31
31
  | Ladder | `ask` | The evaluator of a verb: the own entry, then the kind, then the default. Each verb has this ladder, also `deref` and `step` |
32
32
  | References | `resolve`, `HostThing`, `Navigator` | A path from a root of the context: `self`, `names`, `world`, `event` or `caps`. A step document can have computed parts, and a walker can give the code of its failure. The optional `has` of a host thing tells a field that holds `undefined` from a missing field |
33
- | Plans | `prepare`, `planner`, `evaluate`, `run`, `PrepareOptions`, `EvalOptions`, `EvaluateOptions`, `RunOptions` | A document compiles one time into code. An evaluator is a function or a compiler. The option `perform` of `evaluate` and `plan.evaluate` is a mock: it answers each effect at once. The option `verb` of `prepare`, `evaluate` and `run` asks the ladder for another verb than `eval`, for example `format` |
33
+ | Plans | `prepare`, `planner`, `evaluate`, `run`, `PrepareOptions`, `EvalOptions`, `EvaluateOptions`, `RunOptions`, `PlanRunOptions` | A document compiles one time into code. An evaluator is a function or a compiler. The option `perform` of `evaluate` and `plan.evaluate` is a mock: it answers each effect at once. The option `verb` of `prepare`, `evaluate` and `run` asks the ladder for another verb than `eval`, for example `format` |
34
34
  | The run side | `run`, `Runner`, `Perform`, `Effect`, `permits`, `narrow`, `partCaps` | Effects in order, parts at the same time, capabilities that only narrow, and an abort. The kernel narrows the capabilities of each part by the contract of its kind. Each effect has a stable `address` and its `outcome` |
35
35
  | Record and replay | `recorder`, `replayer`, `ReplayLog`, `ReplayEntry`, `ReplaySettle`, `ReplayOptions`, `Journal`, `JOURNAL` | A recorder logs each effect of a run with its address and its outcome, and the order of the waits. A replayer answers each effect from the log, and a different request gives `#REPLAY!` |
36
36
  | Errors | `Result`, `EvalError`, `Failure`, `failures` | An error value has a code, a reason, a place and a cause. An evaluation does not throw |
package/build/index.d.ts CHANGED
@@ -467,7 +467,8 @@ export declare function context(parts?: Partial<Context>): Context;
467
467
  * - `#NAME?`: the root `names` has no such name.
468
468
  * - `#N/A`: a step reaches nothing.
469
469
  * - `#STEP?`: a step is not a key and not a step document.
470
- * - `#CYCLE!`: the references form a cycle.
470
+ * - `#CYCLE!`: the references form a cycle, or the resolution follows more than 64 references. The reason tells
471
+ * which (DEREF.CHAIN-REASON).
471
472
  *
472
473
  * @param nav - The world and the code of the evaluators.
473
474
  * @param ctx - The context.
@@ -955,7 +956,15 @@ interface World {
955
956
  readonly defaults: Readonly<Record<string, string>>;
956
957
  readonly fallback?: Kind;
957
958
  }
958
- /** The result of a lookup of a type in the world. */
959
+ /**
960
+ * The result of a lookup of a type in the world. The reasons of a failure:
961
+ *
962
+ * - `unknown`: the world has no entry for a key, and no fallback kind.
963
+ * - `cycle`: the aliases form a cycle. The lookup reached a path a second time.
964
+ * - `too-long`: the lookup followed more than 32 aliases without a path a second time (DEREF.CHAIN-REASON).
965
+ * - `not-a-kind`: the path reaches an entry of the wrong sort. An example is an alias whose target is not in the world.
966
+ * - `computed`: the type is a computed type, thus it has no keys.
967
+ */
959
968
  type Lookup = {
960
969
  readonly ok: true;
961
970
  readonly kind: Kind;
@@ -963,7 +972,7 @@ type Lookup = {
963
972
  readonly aliases: number;
964
973
  } | {
965
974
  readonly ok: false;
966
- readonly reason: "unknown" | "cycle" | "not-a-kind" | "computed";
975
+ readonly reason: "unknown" | "cycle" | "too-long" | "not-a-kind" | "computed";
967
976
  readonly path: readonly Key[];
968
977
  };
969
978
  /**
@@ -989,7 +998,8 @@ export declare function isAlias(entry: WorldEntry | undefined): entry is Alias;
989
998
  export declare function isNamespace(entry: WorldEntry | undefined): entry is Namespace;
990
999
  /**
991
1000
  * This function finds the kind that a type names. It walks the path from the root of the world, one key at a
992
- * time. An alias on the way is followed until a kind answers (collapse). A cycle of aliases stops the lookup. In a
1001
+ * time. An alias on the way is followed until a kind answers (collapse). A cycle of aliases stops the lookup, and so
1002
+ * does a chain of more than 32 aliases. In a
993
1003
  * namespace with a fallback, a key that the namespace does not have gets the fallback kind. In an open world, a first
994
1004
  * key that the world does not have gets the fallback kind of the world.
995
1005
  *
@@ -2002,17 +2012,13 @@ interface StopSignal {
2002
2012
  readonly once?: boolean;
2003
2013
  }): void;
2004
2014
  }
2005
- /** The options of a run. */
2006
- interface RunOptions {
2015
+ /**
2016
+ * The options of `plan.run`. A plan keeps the verb and the declared type of its `prepare`, thus these options do not
2017
+ * have them (PLAN.RUN-OPTIONS).
2018
+ */
2019
+ interface PlanRunOptions {
2007
2020
  /** The host code that does each effect. Without it, an effect gives its payload, as in an evaluation. */
2008
2021
  readonly perform?: Perform;
2009
- /** The type of a bare root value. */
2010
- readonly declaredType?: string;
2011
- /**
2012
- * The verb of `run`, for example `format`. The default is `eval` (VERB.PREPARE). A plan keeps the verb of its
2013
- * `prepare`, thus `plan.run` does not read this option.
2014
- */
2015
- readonly verb?: string;
2016
2022
  /** A signal of the host. When it aborts, the run stops with `#ABORT`. */
2017
2023
  readonly signal?: StopSignal;
2018
2024
  /**
@@ -2021,6 +2027,13 @@ interface RunOptions {
2021
2027
  */
2022
2028
  readonly reads?: Read[];
2023
2029
  }
2030
+ /** The options of `run`: the options of `plan.run`, and the type of a bare root value and the verb for `prepare`. */
2031
+ interface RunOptions extends PlanRunOptions {
2032
+ /** The type of a bare root value. */
2033
+ readonly declaredType?: string;
2034
+ /** The verb of `run`, for example `format`. The default is `eval` (VERB.PREPARE). */
2035
+ readonly verb?: string;
2036
+ }
2024
2037
  /** The options of an evaluation of a plan. */
2025
2038
  interface EvalOptions {
2026
2039
  /** A list that gets each effect, in its order. */
@@ -2087,7 +2100,7 @@ interface Plan {
2087
2100
  * @param options - The host code that does the effects, a signal to stop the run and a list that gets the reads.
2088
2101
  * @returns The result, when the run ends.
2089
2102
  */
2090
- run(context?: Context, options?: RunOptions): Promise<Result>;
2103
+ run(context?: Context, options?: PlanRunOptions): Promise<Result>;
2091
2104
  }
2092
2105
  /**
2093
2106
  * This function compiles a document into a plan. The ladder, the kinds and the parts are known after it. A plan
@@ -3994,5 +4007,5 @@ interface SampleOptions {
3994
4007
  */
3995
4008
  export declare function typeFromSamples(values: readonly unknown[], options?: SampleOptions): ValueType;
3996
4009
  //#endregion
3997
- export type { AgreeOptions, Agreement, Alias, AllOptions, Answer, AskOptions, AttributeDeclaration, AttributeRung, AttributeTrace, Cap, CapsRule, CheckOptions, Classification, Closure, Code, CompileInput, CompiledEvaluator, CompiledPart, CompiledRunner, ConformOptions, ConformProbe, Construct, Context, Part as ContextPart, Definitions, DerefCode, DocFacts, DocParts, DocVisit, Domain, DomainCodec, DomainExtension, Durable, DurableCounts, DurableOptions, Edge, Effect, EffectsOptions, Envelope, Epochs, ErrorCode, EvalError, EvalFn, EvalInput, EvalOptions, EvaluateOptions, Evaluator, ExtFn, FactsOptions, Failed, Finding, FormulaProfile, GenerateOptions, Give, GraphCycle, GraphEdge, GraphNode, GraphOptions, Header, Hop, HopBy, HostThing, Issue, Journal, Json, JsonRecord, KernelCode, Key, Kind, KindFacts, KindSource, LazyOp, LazyRule, Lookup, Machine, MachinePart, MergeConflict, MergePath, NamesSource, Namespace, Navigator, NearestOptions, NodeEdge, NodeGraph, NodeInfo, NodeRunOptions, Obligation, OpFn, OrderProblem, Outcome, ParseResult, Part$1 as Part, PartInfo, Shape as PartShape, PartSlot, PartType, PartsSpec, Perform, Plan, PrepareOptions, Random, Read, ReadsCheck, Recorder, RefUse, ReferenceOptions, ReplayEntry, ReplayLog, ReplayOptions, ReplaySettle, Resolution, ResolveCode, ResolveOptions, Result, Root, RootTypes, Run, RunCode, RunFn, RunInput, RunOptions, RunPart, Rung, Runner, Runtime, SampleOptions, Schedule, ScheduleCounts, ScheduleOptions, ScopeRule, Shape$1 as Shape, Side, Signature, Split, StaticRead, Step, StepSpec, Steps, StopSignal, Stored, SyntaxAssoc, SyntaxCalls, SyntaxFixity, SyntaxForm, SyntaxIssue, SyntaxLiterals, SyntaxOperator, SyntaxProfile, SyntaxRefPattern, SyntaxRefs, Thing, Tier, TierInput, TierResult, TraceNode, TreeContract, TypeInput, TypeIssue, TypeProblem, TypeReading, TypeRef, TypeRule, Typed, Typing, Use, ValueType, VerbEffects, VerifyOptions, WalkInput, WalkOptions, WalkProblem, WalkResult, Walker, World, WorldEntry, WorldIssue, WorldPart };
4010
+ export type { AgreeOptions, Agreement, Alias, AllOptions, Answer, AskOptions, AttributeDeclaration, AttributeRung, AttributeTrace, Cap, CapsRule, CheckOptions, Classification, Closure, Code, CompileInput, CompiledEvaluator, CompiledPart, CompiledRunner, ConformOptions, ConformProbe, Construct, Context, Part as ContextPart, Definitions, DerefCode, DocFacts, DocParts, DocVisit, Domain, DomainCodec, DomainExtension, Durable, DurableCounts, DurableOptions, Edge, Effect, EffectsOptions, Envelope, Epochs, ErrorCode, EvalError, EvalFn, EvalInput, EvalOptions, EvaluateOptions, Evaluator, ExtFn, FactsOptions, Failed, Finding, FormulaProfile, GenerateOptions, Give, GraphCycle, GraphEdge, GraphNode, GraphOptions, Header, Hop, HopBy, HostThing, Issue, Journal, Json, JsonRecord, KernelCode, Key, Kind, KindFacts, KindSource, LazyOp, LazyRule, Lookup, Machine, MachinePart, MergeConflict, MergePath, NamesSource, Namespace, Navigator, NearestOptions, NodeEdge, NodeGraph, NodeInfo, NodeRunOptions, Obligation, OpFn, OrderProblem, Outcome, ParseResult, Part$1 as Part, PartInfo, Shape as PartShape, PartSlot, PartType, PartsSpec, Perform, Plan, PlanRunOptions, PrepareOptions, Random, Read, ReadsCheck, Recorder, RefUse, ReferenceOptions, ReplayEntry, ReplayLog, ReplayOptions, ReplaySettle, Resolution, ResolveCode, ResolveOptions, Result, Root, RootTypes, Run, RunCode, RunFn, RunInput, RunOptions, RunPart, Rung, Runner, Runtime, SampleOptions, Schedule, ScheduleCounts, ScheduleOptions, ScopeRule, Shape$1 as Shape, Side, Signature, Split, StaticRead, Step, StepSpec, Steps, StopSignal, Stored, SyntaxAssoc, SyntaxCalls, SyntaxFixity, SyntaxForm, SyntaxIssue, SyntaxLiterals, SyntaxOperator, SyntaxProfile, SyntaxRefPattern, SyntaxRefs, Thing, Tier, TierInput, TierResult, TraceNode, TreeContract, TypeInput, TypeIssue, TypeProblem, TypeReading, TypeRef, TypeRule, Typed, Typing, Use, ValueType, VerbEffects, VerifyOptions, WalkInput, WalkOptions, WalkProblem, WalkResult, Walker, World, WorldEntry, WorldIssue, WorldPart };
3998
4011
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["Part","Shape"],"sources":["../src/doc.ts","../src/errors.ts","../src/deref.ts","../src/types.ts","../src/world.ts","../src/ladder.ts","../src/static.ts","../src/typing.ts","../src/evaluate.ts","../src/merge.ts","../src/classify.ts","../src/parts.ts","../src/stdlib.ts","../src/order.ts","../src/context.ts","../src/facts.ts","../src/effects.ts","../src/formula.ts","../src/codec.ts","../src/syntax.ts","../src/reference.ts","../src/agree.ts","../src/conform.ts","../src/same.ts","../src/reads.ts","../src/durable.ts","../src/schedule.ts","../src/graph.ts","../src/replay.ts","../src/generate.ts","../src/providers.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":["Part","Shape"],"sources":["../src/doc.ts","../src/errors.ts","../src/deref.ts","../src/types.ts","../src/world.ts","../src/ladder.ts","../src/static.ts","../src/typing.ts","../src/evaluate.ts","../src/merge.ts","../src/classify.ts","../src/parts.ts","../src/stdlib.ts","../src/order.ts","../src/context.ts","../src/facts.ts","../src/effects.ts","../src/formula.ts","../src/codec.ts","../src/syntax.ts","../src/reference.ts","../src/agree.ts","../src/conform.ts","../src/same.ts","../src/reads.ts","../src/durable.ts","../src/schedule.ts","../src/graph.ts","../src/replay.ts","../src/generate.ts","../src/providers.ts"],"mappings":"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"}
package/build/index.js CHANGED
@@ -382,6 +382,14 @@ function effectsOfVerb(kind, verb) {
382
382
  const table = kind.verbEffects;
383
383
  return table !== void 0 && Object.hasOwn(table, verb) ? table[verb] : void 0;
384
384
  }
385
+ /** The most aliases that one lookup follows (WORLD.ALIAS-LIMIT). */
386
+ const MAX_ALIASES = 32;
387
+ /** This function tells if two paths of a lookup have the same keys. */
388
+ function samePath(a, b) {
389
+ if (a.length !== b.length) return false;
390
+ for (let index = 0; index < a.length; index += 1) if (a[index] !== b[index]) return false;
391
+ return true;
392
+ }
385
393
  /**
386
394
  * This function tells if an entry of the world is a kind.
387
395
  *
@@ -415,7 +423,8 @@ function entryAt(entries, key) {
415
423
  }
416
424
  /**
417
425
  * This function finds the kind that a type names. It walks the path from the root of the world, one key at a
418
- * time. An alias on the way is followed until a kind answers (collapse). A cycle of aliases stops the lookup. In a
426
+ * time. An alias on the way is followed until a kind answers (collapse). A cycle of aliases stops the lookup, and so
427
+ * does a chain of more than 32 aliases. In a
419
428
  * namespace with a fallback, a key that the namespace does not have gets the fallback kind. In an open world, a first
420
429
  * key that the world does not have gets the fallback kind of the world.
421
430
  *
@@ -432,6 +441,7 @@ function lookupKind(world, type) {
432
441
  };
433
442
  let path = start;
434
443
  let aliases = 0;
444
+ let seen;
435
445
  for (;;) {
436
446
  let entries = world.kinds;
437
447
  let fallback = world.fallback;
@@ -455,9 +465,9 @@ function lookupKind(world, type) {
455
465
  }
456
466
  if (isAlias(entry)) {
457
467
  aliases += 1;
458
- if (aliases > 32) return {
468
+ if (aliases > MAX_ALIASES) return {
459
469
  ok: false,
460
- reason: "cycle",
470
+ reason: "too-long",
461
471
  path
462
472
  };
463
473
  const target = entry.value.slice(1);
@@ -466,7 +476,15 @@ function lookupKind(world, type) {
466
476
  reason: "not-a-kind",
467
477
  path
468
478
  };
479
+ seen ??= [];
480
+ seen.push(path);
469
481
  path = [...target, ...path.slice(index + 1)];
482
+ const next = path;
483
+ if (seen.some((before) => samePath(before, next))) return {
484
+ ok: false,
485
+ reason: "cycle",
486
+ path
487
+ };
470
488
  followed = true;
471
489
  break;
472
490
  }
@@ -2090,6 +2108,8 @@ function context(parts = {}) {
2090
2108
  };
2091
2109
  }
2092
2110
  const MAX_COLLAPSE = 64;
2111
+ /** The reason of a resolution that reaches the bound of collapses without a cycle that it found (DEREF.CHAIN-REASON). It is a plain string, thus a bundle drops it (PKG.PURE). */
2112
+ const CHAIN_REASON = "The path follows more than 64 references. One resolution follows at most 64.";
2093
2113
  const NO_HOPS$1 = /* @__PURE__ */ Object.freeze([]);
2094
2114
  /** A value that can be a reference document: a record with the type `ref`. The full check comes after. */
2095
2115
  function mayBeRef(thing) {
@@ -2249,7 +2269,8 @@ function walkersOf(nav, path) {
2249
2269
  * - `#NAME?`: the root `names` has no such name.
2250
2270
  * - `#N/A`: a step reaches nothing.
2251
2271
  * - `#STEP?`: a step is not a key and not a step document.
2252
- * - `#CYCLE!`: the references form a cycle.
2272
+ * - `#CYCLE!`: the references form a cycle, or the resolution follows more than 64 references. The reason tells
2273
+ * which (DEREF.CHAIN-REASON).
2253
2274
  *
2254
2275
  * @param nav - The world and the code of the evaluators.
2255
2276
  * @param ctx - The context.
@@ -2283,6 +2304,7 @@ function resolveFully$1(nav, ctx, path, hops, known) {
2283
2304
  hops: done
2284
2305
  });
2285
2306
  let collapses = 0;
2307
+ let open;
2286
2308
  const adopt = nav.adopt ?? ((value) => value);
2287
2309
  const collapse = (thing) => {
2288
2310
  let here = thing;
@@ -2292,9 +2314,13 @@ function resolveFully$1(nav, ctx, path, hops, known) {
2292
2314
  hops: done
2293
2315
  };
2294
2316
  while (isRef(here)) {
2317
+ if (open?.includes(here) === true) return failed("#CYCLE!", "The references form a cycle.");
2295
2318
  collapses += 1;
2296
- if (collapses > MAX_COLLAPSE) return failed("#CYCLE!", "The references form a cycle.");
2319
+ if (collapses > MAX_COLLAPSE) return failed("#CYCLE!", CHAIN_REASON);
2320
+ open ??= [];
2321
+ open.push(here);
2297
2322
  const inner = walk(here.value, void 0);
2323
+ open.pop();
2298
2324
  if (!inner.ok) return inner;
2299
2325
  here = adopt(inner.thing);
2300
2326
  hops?.push({
@@ -2893,6 +2919,24 @@ function granted(ctx) {
2893
2919
  };
2894
2920
  }
2895
2921
  /**
2922
+ * This function gives the context in which the runtime resolves a path of compiled code (CAP.CAPS-GRANT). A path from
2923
+ * the root `caps` reads the capabilities that both the context and its grant permit, and a context without a grant
2924
+ * reads none. Thus a context that compiled code widened gives the capabilities of its document, and a context that it
2925
+ * narrowed keeps its own list. Each other path, and each context whose grant is its own list, keeps the same context.
2926
+ */
2927
+ function readable(ctx, path) {
2928
+ if (path[0] !== "caps") return ctx;
2929
+ const grant = ctx[GRANT];
2930
+ if (grant === ctx.caps) return ctx;
2931
+ const caps = grant === void 0 ? NO_CAPS$2 : intersectCaps(ctx.caps, grant);
2932
+ if (caps === ctx.caps) return ctx;
2933
+ return {
2934
+ ...ctx,
2935
+ caps,
2936
+ [GRANT]: caps
2937
+ };
2938
+ }
2939
+ /**
2896
2940
  * This function gives the context of a part of a function evaluator. It is the context that the evaluator gives,
2897
2941
  * narrowed by the context of the document (CAP.NARROW), with the grant of its capabilities.
2898
2942
  */
@@ -3055,14 +3099,17 @@ var Session = class {
3055
3099
  get recording() {
3056
3100
  return this.reading !== void 0;
3057
3101
  }
3102
+ /** This function resolves a path. A path from the root `caps` reads the capabilities through the grant (CAP.CAPS-GRANT). */
3058
3103
  resolve(ctx, path, options) {
3059
- return this.read(ctx, path, void 0, options);
3104
+ return this.read(readable(ctx, path), path, void 0, options);
3060
3105
  }
3061
3106
  /**
3062
3107
  * This function resolves a compiled path (PLAN.PATH). Without a list of reads and without a trace, the compiled
3063
- * path answers at once. Each other resolution records its read, as `resolve` does.
3108
+ * path answers at once. Each other resolution records its read, as `resolve` does. A path from the root `caps` reads
3109
+ * the capabilities through the grant (CAP.CAPS-GRANT).
3064
3110
  */
3065
- resolvePath(ctx, compiled) {
3111
+ resolvePath(given, compiled) {
3112
+ const ctx = readable(given, compiled.path);
3066
3113
  if (this.reading === void 0 && !this.traced && compiled.nav === this.machine) return compiled.resolve(ctx);
3067
3114
  return this.read(ctx, compiled.path, compiled, void 0);
3068
3115
  }
@@ -3593,7 +3640,7 @@ function compileNode(c, value, place, declared, depth, address = false) {
3593
3640
  } catch (error) {
3594
3641
  return failingWith(c, meta, placed(thrown(error, `the evaluator ${name}`), place));
3595
3642
  }
3596
- const done = finish$1(c, meta, placedCode(inner, place, name), void 0);
3643
+ const done = finish$1(c, meta, TOTAL.has(inner) ? inner : placedCode(inner, place, name), void 0);
3597
3644
  if (frees === void 0 || kind === void 0 || !pureCode(c, envelope, kind, typePath, name, quick)) return done;
3598
3645
  const free = freeOf(doc, kind, split.parts, frees);
3599
3646
  if (free === void 0) return done;
@@ -3827,6 +3874,22 @@ function copyPlain(value, memo) {
3827
3874
  return out;
3828
3875
  }
3829
3876
  /**
3877
+ * The compiled code that cannot fail (PLAN.TOTAL). Such code gives a value and throws nothing. It does not read its
3878
+ * context or its runtime. Only the kits of the kernel mark code, thus the code of a host always gets its grant.
3879
+ */
3880
+ const TOTAL = /* @__PURE__ */ new WeakSet();
3881
+ /**
3882
+ * This function marks compiled code that cannot fail (PLAN.TOTAL). Then `compileNode` does not wrap the code in
3883
+ * `placedCode`, thus a literal costs one call. The kits of the kernel use it. The package does not export it.
3884
+ *
3885
+ * @param code - The code. It gives a value and throws nothing. It does not read its context or its runtime.
3886
+ * @returns The same code.
3887
+ */
3888
+ function totalCode(code) {
3889
+ TOTAL.add(code);
3890
+ return code;
3891
+ }
3892
+ /**
3830
3893
  * This function gives the code of a document: the code of its evaluator, with the place of each error and of each
3831
3894
  * exception. The code gets the context that its grant permits, thus a compiled parent cannot widen it (CAP.NARROW-CODE).
3832
3895
  */
@@ -7364,7 +7427,7 @@ function formulaCode(profile) {
7364
7427
  return {
7365
7428
  "formula.lit": compiled(({ doc }) => {
7366
7429
  const result = ok(doc.value);
7367
- return () => result;
7430
+ return totalCode(() => result);
7368
7431
  }),
7369
7432
  "formula.ref": compiled(({ doc, parts, fill, address, machine }) => {
7370
7433
  const path = doc.value;
@@ -7379,7 +7442,7 @@ function formulaCode(profile) {
7379
7442
  "formula.step": compiled(({ doc, parts, fill }) => {
7380
7443
  if (parts.length === 0) {
7381
7444
  const same = ok(doc);
7382
- return () => same;
7445
+ return totalCode(() => same);
7383
7446
  }
7384
7447
  return (ctx, rt) => {
7385
7448
  const values = valuesOf(parts, ctx, rt);
@@ -9618,9 +9681,10 @@ function generate(world, options) {
9618
9681
  const keys = options.keys ?? KEYS;
9619
9682
  const steps = options.steps ?? 2;
9620
9683
  const roots = options.roots ?? ROOTS;
9684
+ const defaultStep = Object.hasOwn(world.defaults, "step");
9621
9685
  const stepTypes = types.filter((type) => {
9622
9686
  const found = lookupKind(world, type);
9623
- return found.ok && Object.hasOwn(found.kind.verbs, "step");
9687
+ return found.ok && (defaultStep || Object.hasOwn(found.kind.verbs, "step"));
9624
9688
  });
9625
9689
  const unknownNames = Object.keys(world.kinds).filter((key) => {
9626
9690
  const entry = world.kinds[key];
@@ -9687,7 +9751,10 @@ function generate(world, options) {
9687
9751
  if (options.own !== void 0 && options.own.length > 0 && rng.chance(.03)) out["own"] = { eval: rng.pick(options.own) };
9688
9752
  return out;
9689
9753
  };
9690
- /** A path from a root (D10). It uses the names in scope, and sometimes a step document. */
9754
+ /**
9755
+ * A path from a root (D10). It uses the names in scope, and sometimes a step document. The kind of a step document
9756
+ * has the verb `step`, or the default of the world for `step` serves it.
9757
+ */
9691
9758
  const pathFor = (pos, refKind) => {
9692
9759
  if (rng.chance(malformed)) return rng.pick([
9693
9760
  "names",