module std/core/exnstd/core/exn
import std/core/typesstd/core/types
import std/core/hndstd/core/hnd
extern import
c file "inline/exn"
js file "inline/exn.js"
pubstd/core/exn/exn: (E, V) -> V effect exnstd/core/exn/exn: (E, V) -> V
final ctl throw-exn( exnexn: exception : exceptionstd/core/exn/exception: V ) : aa: V
pub fun error-patternstd/core/exn/error-pattern: forall<a> (location : string, definition : string) -> exn a(locationlocation: string : stringstd/core/types/string: V, definitiondefinition: string : stringstd/core/types/string: V)result: -> exn 476 : exnstd/core/exn/exn: (E, V) -> V aa: V
throwstd/core/exn/throw: (message : string, info : ? exception-info) -> exn $424(locationlocation: string ++std/core/types/(++): (x : string, y : string) -> exn string ": "literal: string
count= 2 ++std/core/types/(++): (x : string, y : string) -> exn string definitiondefinition: string ++std/core/types/(++): (x : string, y : string) -> exn string ": pattern match failure"literal: string
count= 23,
ExnPatternstd/core/exn/ExnPattern: (location : string, definition : string) -> exception-info(locationlocation: string,definitiondefinition: string))
pub value struct exceptionstd/core/exn/exception: V( messagestd/core/exn/exception/message: (exception : exception) -> string :stringstd/core/types/string: V, infostd/core/exn/exception/info: (exception : exception) -> exception-info :exception-infostd/core/exn/exception-info: V )
pub open type exception-infostd/core/exn/exception-info: V
ExnErrorstd/core/exn/ExnError: exception-info ExnAssertstd/core/exn/ExnAssert: exception-info
ExnTodostd/core/exn/ExnTodo: exception-info
ExnRangestd/core/exn/ExnRange: exception-info
ExnPatternstd/core/exn/ExnPattern: (location : string, definition : string) -> exception-info( location : stringstd/core/types/string: V, definition : stringstd/core/types/string: V )
ExnSystemstd/core/exn/ExnSystem: (errno : int) -> exception-info( errno : intstd/core/types/int: V )
ExnInternalstd/core/exn/ExnInternal: (name : string) -> exception-info( name : stringstd/core/types/string: V )
pub fun showstd/core/exn/show: (exn : exception) -> string( exnexn: exception : exceptionstd/core/exn/exception: V )result: -> total string : stringstd/core/types/string: V
exnexn: exception.messagestd/core/exn/exception/message: (exception : exception) -> string
pub fun throwstd/core/exn/throw: forall<a> (message : string, info : ? exception-info) -> exn a( messagemessage: string: stringstd/core/types/string: V, infoinfo: ? exception-info : exception-infostd/core/exn/exception-info: V = ExnErrorstd/core/exn/ExnError: exception-info )result: -> exn 419 : exnstd/core/exn/exn: (E, V) -> V aa: V
throw-exnstd/core/exn/throw-exn: (exn : exception) -> exn $395(Exceptionstd/core/exn/Exception: (message : string, info : exception-info) -> exception(messagemessage: string,infoinfo: exception-info))
pub fun handle/trystd/core/exn/handle/try: forall<a,e> (action : () -> <exn|e> a, hndl : (exception) -> e a) -> e a( actionaction: () -> <exn|$570> $569 : () -> <exnstd/core/exn/exn: (E, V) -> V|std/core/types/effect-extend: (X, E) -> Eee: E> aa: V, hndlhndl: (exception) -> $570 $569: exceptionstd/core/exn/exception: V -> ee: E aa: V )result: -> 656 655 : ee: E aa: V
withhandler: (() -> <exn|$570> $569) -> $570 $569 final ctl throw-exnthrow-exn: (exn : exception) -> $570 $569(exnexn: exception) hndlhndl: (exception) -> $570 $569(exnexn: exception)
actionaction: () -> <exn|$570> $569()
pub fun catchstd/core/exn/catch: forall<a,e> (action : () -> <exn|e> a, hndl : (exception) -> e a) -> e a( actionaction: () -> <exn|$712> $711 : () -> <exnstd/core/exn/exn: (E, V) -> V|std/core/types/effect-extend: (X, E) -> Eee: E> aa: V, hndlhndl: (exception) -> $712 $711: exceptionstd/core/exn/exception: V -> ee: E aa: V)result: -> 735 734 : ee: E aa: V
trystd/core/exn/handle/try: (action : () -> <exn|$712> $711, hndl : (exception) -> $712 $711) -> $712 $711(actionaction: () -> <exn|$712> $711,hndlhndl: (exception) -> $712 $711)
pub value type errorstd/core/exn/error: V -> V<aa: V>
Errorstd/core/exn/Error: forall<a> (exception : exception) -> error<a>( exception : exceptionstd/core/exn/exception: V )
Okstd/core/exn/Ok: forall<a> (result : a) -> error<a>( result : aa: V )
pub fun error/trystd/core/exn/error/try: forall<a,e> (action : () -> <exn|e> a) -> e error<a>( actionaction: () -> <exn|$664> $663 : () -> <exnstd/core/exn/exn: (E, V) -> V|std/core/types/effect-extend: (X, E) -> Eee: E> aa: V )result: -> 704 error<703> : ee: E errorstd/core/exn/error: V -> V<aa: V>
trystd/core/exn/handle/try: (action : () -> <exn|$664> error<$663>, hndl : (exception) -> $664 error<$663>) -> $664 error<$663>({ Okstd/core/exn/Ok: forall<a> (result : a) -> error<a>(actionaction: () -> <exn|$664> $663()) }, fnfn: (exn : exception) -> $664 error<$663>(exnexn: exception){ Errorstd/core/exn/Error: forall<a> (exception : exception) -> error<a>(exnexn: exception) })
pub fun untrystd/core/exn/untry: forall<a> (err : error<a>) -> exn a( errerr: error<$778> : errorstd/core/exn/error: V -> V<aa: V> )result: -> exn 804 : exnstd/core/exn/exn: (E, V) -> V aa: V
match errerr: error<$778>
Errorstd/core/exn/Error: forall<a> (exception : exception) -> error<a>(exnexn: exception) -> throw-exnstd/core/exn/throw-exn: (exn : exception) -> exn $778(exnexn: exception)
Okstd/core/exn/Ok: forall<a> (result : a) -> error<a>(xx: $778) -> xx: $778
pub fun exnstd/core/exn/exn: forall<a> (err : error<a>) -> exn a( errerr: error<$809> : errorstd/core/exn/error: V -> V<aa: V> )result: -> exn 824 : exnstd/core/exn/exn: (E, V) -> V aa: V
untrystd/core/exn/untry: (err : error<$809>) -> exn $809(errerr: error<$809>)
pub fun defaultstd/core/exn/default: forall<a> (t : error<a>, def : a) -> a( tt: error<$829> : errorstd/core/exn/error: V -> V<aa: V>, defdef: $829 : aa: V )result: -> total 850 : astd/core/types/total: E
match tt: error<$829>
Errorstd/core/exn/Error: forall<a> (exception : exception) -> error<a> -> defdef: $829
Okstd/core/exn/Ok: forall<a> (result : a) -> error<a>(xx: $829) -> xx: $829
pub fun maybestd/core/exn/maybe: forall<a> (t : error<a>) -> maybe<a>( tt: error<$855> : errorstd/core/exn/error: V -> V<aa: V> )result: -> total maybe<885> : maybestd/core/types/maybe: V -> V<aa: V>
match tt: error<$855>
Errorstd/core/exn/Error: forall<a> (exception : exception) -> error<a> -> Nothingstd/core/types/Nothing: forall<a> maybe<a>
Okstd/core/exn/Ok: forall<a> (result : a) -> error<a>(xx: $855) -> Juststd/core/types/Just: forall<a> (value : a) -> maybe<a>(xx: $855)
pub fun eitherstd/core/exn/either: forall<a> (t : error<a>) -> either<exception,a>( tt: error<$890> : errorstd/core/exn/error: V -> V<aa: V> )result: -> total either<exception,929> : eitherstd/core/types/either: (V, V) -> V<exceptionstd/core/exn/exception: V,aa: V>
match tt: error<$890>
Errorstd/core/exn/Error: forall<a> (exception : exception) -> error<a>(exnexn: exception) -> Leftstd/core/types/Left: forall<a,b> (left : a) -> either<a,b>(exnexn: exception)
Okstd/core/exn/Ok: forall<a> (result : a) -> error<a>(xx: $890) -> Rightstd/core/types/Right: forall<a,b> (right : b) -> either<a,b>(xx: $890)
pub fun on-exitstd/core/exn/on-exit: forall<a,e> (hndler : () -> e (), action : () -> e a) -> e a( hndlerhndler: () -> $935 () : () -> ee: E (std/core/types/unit: V)std/core/types/unit: V, actionaction: () -> $935 $934 : () -> ee: E aa: V )result: -> 956 955 : ee: E aa: V
finallystd/core/hnd/finally: (fin : () -> $935 (), action : () -> $935 $934) -> $935 $934(hndlerhndler: () -> $935 (),actionaction: () -> $935 $934)
pub fun exn-error-rangestd/core/exn/exn-error-range: forall<a> () -> exn a()result: -> exn 986 : exnstd/core/exn/exn: (E, V) -> V aa: V
throwstd/core/exn/throw: (message : string, info : ? exception-info) -> exn $963("index out-of-range"literal: string
count= 18, ExnRangestd/core/exn/ExnRange: exception-info)