package nuscr
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
A tool to manipulate and validate Scribble-style multiparty protocols
Install
dune-project
Dependency
Authors
Maintainers
Sources
nuscr-2.1.1.tbz
sha256=c5a419fd1fdea78fb63b3a3c335b0e6b0f2b08d65b79870565bdcc0f997bc728
sha512=83ef593ed514eeef1b10069af54562833d617d1c338c5adaf82ee5c3ea7ec4569b3643fcbb237b3cb79ce2f579094cbd17217efa5f4e522bd20f67e1df3a7dbd
doc/nuscr.lib/Nuscrlib/Err/index.html
Module Nuscrlib.Err
Error reporting
type user_error = | UnknownPragma of string| IncompatibleFlag of string * string| MissingFlag of string * string| PragmaNotSet of string * string| LexerError of string| ParserError of Loc.t| UnboundRecursionName of Names.TypeVariableName.t| RedefinedRecursionName of Names.TypeVariableName.t * Loc.t * Loc.t| Uncategorised of string| InvalidCommandLineParam of string| UnboundRole of Names.RoleName.t| ReflexiveMessage of Names.RoleName.t * Loc.t * Loc.t| UnableToMerge of string| RedefinedProtocol of Names.ProtocolName.t * Loc.t * Loc.t| UnboundProtocol of Names.ProtocolName.t| ArityMismatch of Names.ProtocolName.t * int * int| InconsistentNestedChoice of Names.RoleName.t * Names.RoleName.t| RoleMismatch of Names.RoleName.t * Names.RoleName.t| DuplicateLabel of Names.LabelName.t| DuplicateRoleArgs of Names.ProtocolName.t| DuplicateRoleParams of Names.ProtocolName.t| ChoiceCallRoleMismatch of Names.ProtocolName.t| DuplicatePayloadField of Names.LabelName.t * Names.VariableName.t| FileSysErr of string| ProtocolNotFound of Names.ProtocolName.t| IllFormedPayloadType of string| TypeError of string * string| UnknownVariableValue of Names.RoleName.t * Names.VariableName.t| UnsatisfiableRefinement| StuckRefinement| UnguardedTypeVariable of Names.TypeVariableName.t
A user error is an error found in the protocols
val sexp_of_user_error : user_error -> Sexplib0.Sexp.texception UserError of user_errorUserError is a user error and should be reported back so it can be fixed
val show_user_error : user_error -> stringexception Violation of string * Lexing.positionA Violation is reported when an impossible state was reached. It has to be considered a bug even when the fix is to change the Violation to a user error
exception UnImplemented of string * Lexing.positionAn Unimplemented is reported when certain features are not implemented, the string attached provides a description of the feature missing.
Shortcuts for raising exceptions
val uerr : user_error -> 'aRaise an user error
val unimpl : here:Lexing.position -> string -> 'aRaise an Unimplemented error
val violation : here:Lexing.position -> string -> 'aRaise a violation, with a reason
val violationf : here:Lexing.position -> ('a, unit, string, 'b) format4 -> 'aRaise a violation, with a reason formatted using format strings
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page