English
Related papers

Related papers: Lucretia - intersection type polymorphism for scri…

200 papers

The subtyping rules for intersection types traditionally employ a transitivity rule (Barendregt et al. 1983), which means that subtyping does not satisfy the subformula property, making it more difficult to use in filter models for compiler…

Programming Languages · Computer Science 2020-05-19 Jeremy G. Siek

Twenty years ago, in an article titled "Covariance and contravariance: conflict without a cause", I argued that covariant and contravariant specialization of method parameters in object-oriented programming had different purposes and…

Programming Languages · Computer Science 2023-06-22 Giuseppe Castagna

We describe the foundation of the metaprogramming language, Moebius, which supports the generation of polymorphic code and, more importantly the analysis of polymorphic code via pattern matching. Moebius has two main ingredients: 1) we…

Programming Languages · Computer Science 2021-11-17 Junyoung Jang , Samuel Gélineau , Stefan Monnier , Brigitte Pientka

Context-Oriented Programming (COP) is a programming paradigm to encourage modularization of context-dependent software. Key features of COP are layers---modules to describe context-dependent behavioral variations of a software system---and…

Programming Languages · Computer Science 2019-09-04 Hiroaki Inoue , Atsushi Igarashi

This study addresses the challenge of extending Large Language Models (LLMs) to non-English languages that use non-Roman scripts. We propose an approach that utilizes the romanized form of text as an interface for LLMs, hypothesizing that…

Computation and Language · Computer Science 2024-06-25 Jaavid Aktar Husain , Raj Dabre , Aswanth Kumar , Jay Gala , Thanmay Jayakumar , Ratish Puduppully , Anoop Kunchukuttan

The rise of capabilities expressed by large language models has been quickly followed by the integration of the same complex systems into application level logic. Algorithms, programs, systems, and companies are built around structured…

Software Engineering · Computer Science 2024-02-28 Kaiser Pister , Dhruba Jyoti Paul , Patrick Brophy , Ishan Joshi

Polymorphic variants are a useful feature of the OCaml language whose current definition and implementation rely on kinding constraints to simulate a subtyping relation via unification. This yields an awkward formalization and results in a…

Programming Languages · Computer Science 2016-07-06 Giuseppe Castagna , Tommaso Petrucciani , Kim Nguyen

Interactive programming with interleaved code snippet cells and natural language markdown is recently gaining popularity in the form of Jupyter notebooks, which accelerate prototyping and collaboration. To study code generation conditioned…

Machine Learning · Computer Science 2019-10-10 Rajas Agashe , Srinivasan Iyer , Luke Zettlemoyer

We introduce a novel approach for testing static typing implementations based on the concept of API-driven program synthesis. The idea is to synthesize type-intensive but small and well-typed programs by leveraging and combining application…

Programming Languages · Computer Science 2023-11-09 Thodoris Sotiropoulos , Stefanos Chaliasos , Zhendong Su

Mobile app user interfaces (UIs) are rich with action, text, structure, and image content that can be utilized to learn generic UI representations for tasks like automating user commands, summarizing content, and evaluating the…

Computer Vision and Pattern Recognition · Computer Science 2024-08-09 Andrea Burns , Kate Saenko , Bryan A. Plummer

Session types have emerged as a typing discipline for communication protocols. Existing calculi with session types come equipped with many different primitives that combine communication with the introduction or elimination of the…

Programming Languages · Computer Science 2019-11-12 Peter Thiemann , Vasco T. Vasconcelos

Session types provide a principled approach to typed communication protocols that guarantee type safety and protocol fidelity. Formalizations of session-typed communication are typically based on process calculi, concurrent lambda calculi,…

Programming Languages · Computer Science 2023-08-15 Hannes Saffrich , Peter Thiemann

In operating system development, concurrency poses significant challenges. It is difficult for humans to manually review concurrent behaviors or to write test cases covering all possible executions, often resulting in critical bugs.…

Software Engineering · Computer Science 2025-03-13 Akira Hasegawa , Ryuta Kambe , Toshiaki Aoki , Yuuki Takano

Designing programming languages that enable intuitive and safe manipulation of data structures is a critical research challenge. Conventional destructive memory operations using pointers are complex and prone to errors. Existing type…

Programming Languages · Computer Science 2026-01-21 Jin Sano , Naoki Yamamoto , Kazunori Ueda

We propose using natural language outlines as a novel modality and interaction surface for providing AI assistance to developers throughout the software development process. An NL outline for a code function comprises multiple statements…

Runtime monitoring is an essential part of guaranteeing the safety of cyber-physical systems. Recently, runtime monitoring frameworks based on formal specification languages gained momentum. These languages provide valuable abstractions for…

Programming Languages · Computer Science 2023-11-15 Bernd Finkbeiner , Florian Kohn , Malte Schledjewski

We describe an application of Prolog: a type checking tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a…

Programming Languages · Computer Science 2011-12-19 János Csorba , Zsolt Zombori , Péter Szeredi

Polymorphic types are an important feature in most strongly typed programming languages. They allow functions to be written in a way that can be used with different data types, while still enforcing the relationship and constraints between…

Programming Languages · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey

This paper presents a programming language which includes paradigms that are usually associated with declarative languages, such as sets, rules and search, into an imperative (functional) language. Although these paradigms are separately…

Programming Languages · Computer Science 2007-05-23 Yves Caseau , Francois-Xavier Josset , Francois Laburthe

System prompts have emerged as a critical control surface for specifying the behavior of LLMs in chat and agent settings. Developers depend on system prompts to specify important context, output format, personalities, guardrails, content…

Computation and Language · Computer Science 2025-02-19 Norman Mu , Jonathan Lu , Michael Lavery , David Wagner