Kind inference for the FreeST programming language

FreeST is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus far, FreeST only distinguishes two kinds of types: arbitrary types and session types. We introduce explicit channel closing operators — close a...

Full description

Saved in:
Bibliographic Details
Published in:Journal of logical and algebraic methods in programming Vol. 148; p. 101083
Main Authors: Almeida, Bernardo, Mordido, Andreia, Vasconcelos, Vasco T.
Format: Journal Article
Language:English
Published: Elsevier Inc 01.01.2026
Subjects:
ISSN:2352-2208
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:FreeST is a message-passing concurrent functional programming language where messages are exchanged on channels governed by context-free session types. Thus far, FreeST only distinguishes two kinds of types: arbitrary types and session types. We introduce explicit channel closing operators — close and wait — together with their corresponding types — Close and Wait — which call for a third kind of types, that of channel types. Type variable declaration is usually annotated with its kind. We provide a sound and complete algorithm for kind inference and prove that it terminates yielding the most general kind.
ISSN:2352-2208
DOI:10.1016/j.jlamp.2025.101083