diff --git a/actor.ts b/actor.ts index ea88300..28cf806 100644 --- a/actor.ts +++ b/actor.ts @@ -1,13 +1,11 @@ -import { - Dictionary, - IdentitySet, - Record, - Value, - is, -} from 'preserves'; +import { Dictionary, IdentitySet, Record, Tuple, Value, is, preserves } from 'preserves'; //--------------------------------------------------------------------------- +if ('stackTraceLimit' in Error) { + Error.stackTraceLimit = Infinity; +} + export type Assertion = Value; export type Handle = number; export type ExitReason = null | { ok: true } | { ok: false, err: Error }; @@ -69,7 +67,7 @@ export const Lit = Record.makeConstructor<{value: Assertion}, Ref>()( export const _PCompound = Symbol.for('compound'); export const PCompound = - Record.makeConstructor<{ctor: ConstructorSpec, members: Dictionary}, Ref>()( + Record.makeConstructor<{ctor: ConstructorSpec, members: Dictionary}, Ref>()( _PCompound, ['ctor', 'members']); export type Pattern = @@ -78,7 +76,7 @@ export type Pattern = | Record | Record | Record - | Record], Ref>; + | Record], Ref>; export const _TRef = Symbol.for('ref'); export const TRef = Record.makeConstructor<{name: string}, Ref>()( @@ -86,13 +84,13 @@ export const TRef = Record.makeConstructor<{name: string}, Ref>()( export const _TCompound = Symbol.for('compound'); export const TCompound = - Record.makeConstructor<{ctor: ConstructorSpec, members: Dictionary