mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
701 B
701 B
use builtin Scope
unique ability Async t g where async : {g} Nat
unique ability Exception where raise : Nat -> x
pure.run : a -> (forall t . '{Async t g} a) ->{Exception, g} a
pure.run a0 a =
a' : forall s . '{Scope s, Exception, g} a
a' = 'a0 -- typechecks
-- make sure this builtin can still be referenced
Scope.run a'
Loading changes detected in scratch.u.
I found and typechecked these definitions in scratch.u. If you
do an `add` or `update`, here's how your codebase would
change:
⍟ These new definitions are ok to `add`:
ability Async t g
ability Exception
pure.run : a -> (∀ t. '{Async t g} a) ->{g, Exception} a