English
Related papers

Related papers: Towards Gradually Typed Capabilities in the Pi-Cal…

200 papers

Gradually-typed languages feature a dynamic type that supports implicit coercions, greatly weakening the type system but making types easier to adopt. Understanding how developers use this dynamic type is a critical question for the design…

Programming Languages · Computer Science 2025-03-13 Dibri Nsofor , Ben Greenman

We present gradual type theory, a logic and type theory for call-by-name gradual typing. We define the central constructions of gradual typing (the dynamic type, type casts and type error) in a novel way, by universal properties relative to…

Programming Languages · Computer Science 2023-06-22 Max S. New , Daniel R. Licata

Elixir is a functional programming language with dynamic typing. We propose a gradual type system that makes it possible to perform type-checking on a significant fragment of the language. An important feature of the type system is that it…

Programming Languages · Computer Science 2021-04-20 Mauricio Cassola , Agustín Talagorria , Alberto Pardo , Marcos Viera

It is important to enable reasoning about the meaning and possible effects of updates to ensure that the updated system operates correctly. A formal, mathematical model of dynamic update should be developed, in order to understand by both…

Logic in Computer Science · Computer Science 2010-12-01 Xiaohui Xu , Linpeng Huang , Dejun Wang , Junqing Chen

The depth-bounded fragment of the pi-calculus is an expressive class of systems enjoying decidability of some important verification problems. Unfortunately membership of the fragment is undecidable. We propose a novel type system,…

Logic in Computer Science · Computer Science 2015-02-24 Emanuele D'Osualdo , Luke Ong

We propose an automated method for proving termination of $\pi$-calculus processes, based on a reduction to termination of sequential programs: we translate a $\pi$-calculus process to a sequential program, so that the termination of the…

Programming Languages · Computer Science 2021-09-02 Tsubasa Shoshi , Takuma Ishikawa , Naoki Kobayashi , Ken Sakayori , Ryosuke Sato , Takeshi Tsukada

We present a type checking algorithm for establishing a session-based discipline in the pi calculus of Milner, Parrow and Walker. Our session types are qualified as linear or unrestricted. Linearly typed communication channels are…

Programming Languages · Computer Science 2011-08-12 Marco Giunti

A key challenge when statically typing so-called dynamic languages is the ubiquity of value-based overloading, where a given function can dynamically reflect upon and behave according to the types of its arguments. Thus, to establish basic…

Programming Languages · Computer Science 2015-05-01 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

Using a dependently typed host language, we give a well scoped-and-typed by construction presentation of a minimal two level simply typed calculus with a static and a dynamic stage. The staging function partially evaluating the part of a…

Programming Languages · Computer Science 2024-01-12 Guillaume Allais

Dependent types help programmers write highly reliable code. However, this reliability comes at a cost: it can be challenging to write new prototypes in (or migrate old code to) dependently-typed programming languages. Gradual typing makes…

Programming Languages · Computer Science 2019-08-23 Joseph Eremondi , Éric Tanter , Ronald Garcia

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Situation calculus has been widely applied in Artificial Intelligence related fields. This formalism is considered as a dialect of logic programming language and mostly used in dynamic domain modeling. However, type systems are hardly…

Programming Languages · Computer Science 2012-06-19 Li Tan

Modern languages are equipped with static type checking/inference that helps programmers to keep a clean programming style and to reduce errors. However, the ever-growing size of programs and their continuous evolution require building fast…

Programming Languages · Computer Science 2018-11-28 Matteo Busi , Pierpaolo Degano , Letterio Galletta

This thesis embarks on a comprehensive exploration of formal computational models that underlie typed programming languages. We focus on programming calculi, both functional (sequential) and concurrent, as they provide a compelling rigorous…

Logic in Computer Science · Computer Science 2024-08-16 Joseph William Neal Paulus

We present a gradually typed language, GrEff, with effects and handlers that supports migration from unchecked to checked effect typing. This serves as a simple model of the integration of an effect typing discipline with an existing…

Programming Languages · Computer Science 2023-04-06 Max S. New , Eric Giovannini , Daniel R. Licata

Garcia and Cimini study a type inference problem for the ITGL, an implicitly and gradually typed language with let-polymorphism, and develop a sound and complete inference algorithm for it. Soundness and completeness mean that, if the…

Programming Languages · Computer Science 2019-09-04 Yusuke Miyazaki , Taro Sekiyama , Atsushi Igarashi

We describe a type system for the linear-algebraic lambda-calculus. The type system accounts for the part of the language emulating linear operators and vectors, i.e. it is able to statically describe the linear combinations of terms…

Logic in Computer Science · Computer Science 2012-08-01 Pablo Arrighi , Alejandro Díaz-Caro , Benoît Valiron

We describe a type system for the linear-algebraic $\lambda$-calculus. The type system accounts for the linear-algebraic aspects of this extension of $\lambda$-calculus: it is able to statically describe the linear combinations of terms…

Logic in Computer Science · Computer Science 2017-05-12 Pablo Arrighi , Alejandro Díaz-Caro , Benoît Valiron

This paper presents the Pi-graphs, a visual paradigm for the modelling and verification of mobile systems. The language is a graphical variant of the Pi-calculus with iterators to express non-terminating behaviors. The operational semantics…

Formal Languages and Automata Theory · Computer Science 2010-11-02 Frédéric Peschanski , Hanna Klaudel , Raymond Devillers