Ties between Parametrically Polymorphic Type Systems and Finite Control Automata

09/09/2020
by   Joseph Gil, et al.
0

We present a correspondence and bisimulation between variants of parametrically polymorphic type systems and variants of finite control automata, such as FSA, PDA, tree automata and Turing machine. Within this correspondence we show that two recent celebrated results on automatic generation of fluent API are optimal in certain senses, present new results on the studied type systems, formulate open problems, and present potential software engineering applications, other than fluent API generation, which may benefit from judicious use of type theory.

READ FULL TEXT

page 3

page 13

page 14

page 31

page 32

page 33

page 35

page 36

research
03/03/2022

Pushdown Automata and Context-Free Grammars in Bisimulation Semantics

The Turing machine models an old-fashioned computer, that does not inter...
research
04/02/2019

The minimal probabilistic and quantum finite automata recognizing uncountably many languages with fixed cutpoints

It is known that 2-state binary and 3-state unary probabilistic finite a...
research
02/07/2019

A coalgebraic take on regular and ω-regular behaviours

We present a general coalgebraic setting in which we define finite and i...
research
11/05/2020

Multicloud API binding generation from documentation

We present industry experience from implementing retargetable cloud API ...
research
07/28/2017

Human in the Loop: Interactive Passive Automata Learning via Evidence-Driven State-Merging Algorithms

We present an interactive version of an evidence-driven state-merging (E...
research
09/08/2021

Study of the Subtyping Machine of Nominal Subtyping with Variance (full version)

This is a study of the computing power of the subtyping machine behind K...
research
07/27/2021

Version Space Algebras are Acyclic Tree Automata

Version space algebras are ways of representing spaces of programs which...

Please sign up or login with your details

Forgot password? Click here to reset