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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of logical and algebraic methods in programming Jg. 148; S. 101083
Hauptverfasser: Almeida, Bernardo, Mordido, Andreia, Vasconcelos, Vasco T.
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier Inc 01.01.2026
Schlagworte:
ISSN:2352-2208
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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