Skip to content

Parser and library for the sesstype type language in Go

License

Notifications You must be signed in to change notification settings

nickng/sesstype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sesstype Build Status GoDoc

sesstype is a parser and library for the sesstype type language.

The sesstype type language for Multiparty Session Types is defined in sesstype.

To get:

go get -u go.nickng.io/sesstype/...

By default the parse-sesstype command will also be installed.

Syntax

The basic syntax of sesstype language is given below, for details see godoc

Global Types

G   ::= P->Q: { l(U).G , ... } Interaction between P and Q with message l(U)
      | *T.G                   Recursion with label T, body G
      | T                      Type variable
      | end                    End type

Local Types

L   ::= Q &{ ?l(U).L, ... }    Branching, receive l(U) from role Q
      | P +{ !l(U).L, ... }    Selection, send l(U) to role P
      | *T.L                   Recursion with label T, body L
      | T                      Type variable
      | end                    End type

License

sesstype is licensed under the Apache License.

About

Parser and library for the sesstype type language in Go

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published