package nuscr

  1. Overview
  2. Docs
A tool to manipulate and validate Scribble-style multiparty protocols

Install

Dune Dependency

Authors

Maintainers

Sources

nuscr-2.1.1.tbz
sha256=c5a419fd1fdea78fb63b3a3c335b0e6b0f2b08d65b79870565bdcc0f997bc728
sha512=83ef593ed514eeef1b10069af54562833d617d1c338c5adaf82ee5c3ea7ec4569b3643fcbb237b3cb79ce2f579094cbd17217efa5f4e522bd20f67e1df3a7dbd

CHANGES.md.html

UNRELEASED

2.1.1 (2022-07-18)

Added

  • New ways to convert global/local types into LaTeX macros, using mpstmacros

Changed

  • Improve documentation for some modules

  • scr_module is now an abstract type, whose definition is not exposed

  • File name will not be reported in error messages if there is none

  • JavaScript files in the web version are now minified

  • Improve the list of examples in the web version

Fixed

  • Fix a panic when duplicate recursion variable exists

  • Stacktraces is printed correctly when NUSCRDEBUG or DEBUG env variable is set

  • Error is raised gracefully when an unbound role is found in the expansion of an do block

2.1.0 (2022-05-18)

Added

  • A new module LiteratureSyntax where global and local type constructors that similar to those used in literature (without extensions) are provided for the convenience of developers.

  • New command line options to output global and local types in the format of mpstk.

Changed

  • Following a change in cmdliner, user errors will result in an error code of 124 instead of 1

  • Improved documentation

Fixed

  • Fixed an issue that breaks parser generation with menhir

  • Unguarded recursions should be correctly reported as errors

2.0.0 (2021-09-03)

Added

  • A new pragma system for extensions: (*# PRAGMA #*) at the beginning of the input file can enable theory extensions.

  • Nested Protocol extension, via NestedProtocols pragma (by Benito Echarren Serrano)

  • Refinement Type extension, via RefinementTypes pragma (by Fangyi Zhou)

Changed

  • New, improved command line interface with cmdliner

  • Reorganise code layout

  • Recursions immediately after a choice is permitted under some circumstances

Fixed

  • Non-distinct choice prefixes now raise an error

  • Degenerate recursions in protocols will be removed

  • Catch an uncaught exception when user enters a non-existent protocol from CLI

  • Merging [end] and [\mu t.t] after projection is now possible

1.1.0 (2020-01-10)

Added

  • Export code generation APIs in Lib

Changed

  • Modernised Web Interface

  • Change signature of generate_fsm in Lib

  • Annotate signature of project_role, generate_fsm with names

  • Update ppxlib dependency version

  • Remove js_of_ocaml dependencies

Deprecated

Fixed

  • Fix usage in executable

  • Fix non-monadic code generation

Removed

Security

1.0.0 (2019-12-04)

Initial Release