links icon indicating copy to clipboard operation
links copied to clipboard

Untypesettable session types

Open dhil opened this issue 2 years ago • 0 comments

The pretty printer emits session types that cannot be typesetted by the programmer, e.g.

links> fun mkChan() { fork(fun(ch) { var ch = send(42, ch); close(ch) }) };
mkChan = fun : () ~> ~!(Int).End
links> sig mkChan : () ~> ~!(Int).End fun mkChan() { fork(fun(ch) { var ch = send(42, ch); close(ch) }) };
***: Parse error: <stdin>:1

  sig mkChan : () ~> ~!(Int).End fun mkChan() { fork(fun(ch) { var ch = send(42, ch); close(ch) }) };
                       ^
links> sig mkChan : () ~> ~(!(Int).End) fun mkChan() { fork(fun(ch) { var ch = send(42, ch); close(ch) }) };
mkChan = fun : () ~> ~(!(Int).End)

dhil avatar Jun 22 '23 09:06 dhil