English
Related papers

Related papers: Let Functions Speak: Lightweight Parametric Polymo…

200 papers

We present Turnstile+, a high-level, macros-based metaDSL for building dependently typed languages. With it, programmers may rapidly prototype and iterate on the design of new dependently typed features and extensions. Or they may create…

Programming Languages · Computer Science 2021-07-06 Stephen Chang , Michael Ballantyne , Milo Turner , William J. Bowman

Most programming languages were designed before the age of web. This matters because the web changes many assumptions that typed functional language designers take for granted. For example, programs do not run in a closed world, but must…

Programming Languages · Computer Science 2015-12-08 Tomas Petricek , Don Syme , Zach Bray

Decoder-only language models have the ability to dynamically switch between various computational tasks based on input prompts. Despite many successful applications of prompting, there is very limited understanding of the internal mechanism…

Computation and Language · Computer Science 2025-02-13 Artem Kirsanov , Chi-Ning Chou , Kyunghyun Cho , SueYeon Chung

People rely heavily on context to enrich meaning beyond what is literally said, enabling concise but effective communication. To interact successfully and naturally with people, user-facing artificial intelligence systems will require…

Computation and Language · Computer Science 2023-11-23 Daniel Fried , Nicholas Tomlin , Jennifer Hu , Roma Patel , Aida Nematzadeh

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

A common way to use large pre-trained language models for downstream tasks is to fine tune them using additional layers. This may not work well if downstream domain is a specialized domain whereas the large language model has been…

Computation and Language · Computer Science 2023-05-31 Vanessa Liao , Syed Shariyar Murtaza , Yifan Nie , Jimmy Lin

We consider the problem of type-directed component based synthesis where, given a set of (typed) components and a query type, the goal is to synthesize a term that inhabits the query. Classical approaches based on proof search in…

Programming Languages · Computer Science 2022-04-01 Zheng Guo , Michael James , David Justo , Jiaxiao Zhou , Ziteng Wang , Ranjit Jhala , Nadia Polikarpova

Recent advancements in large language models have heavily relied on the large reward model from reinforcement learning from human feedback for fine-tuning. However, the use of a single reward model across various domains may not always be…

Machine Learning · Computer Science 2024-07-26 Hyuk Namgoong , Jeesu Jung , Sangkeun Jung , Yoonhyung Roh

Large Language Models (LLMs) are central to reasoning, writing, and decision-support workflows, yet users lack consistent control over how they reason and express outputs. Conventional prompt engineering relies on verbose natural-language…

Programming Languages · Computer Science 2025-10-24 Mostapha Kalami Heris

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and productivity. Lack of static typing can cause run-time exceptions and is a major factor for weak IDE support. To alleviate these issues, PEP…

Machine Learning · Computer Science 2022-01-20 Amir M. Mir , Evaldas Latoskinas , Sebastian Proksch , Georgios Gousios

Mixed-typed languages enable programmers to link typed and untyped components in various ways. Some offer rich type systems to facilitate the smooth migration of untyped code to the typed world; others merely provide a convenient form of…

Programming Languages · Computer Science 2021-11-23 Ben Greenman , Lukas Lazarek , Christos Dimoulas , Matthias Felleisen

Dynamic Programming Languages are quite popular because they increase the programmer's productivity. However, the absence of types in the source code makes the program written in these languages difficult to understand and virtual machines…

Programming Languages · Computer Science 2019-01-17 Abhinav Jangda , Gaurav Anand

Dynamically typed programming languages like R allow programmers to write generic, flexible and concise code and to interact with the language using an interactive Read-eval-print-loop (REPL). However, this flexibility has its price: As the…

Computation · Statistics 2021-01-14 Michel Lang

We present the approach underlying a course on "Domain-Specific Languages of Mathematics", currently being developed at Chalmers in response to difficulties faced by third-year students in learning and applying classical mathematics (mainly…

Computers and Society · Computer Science 2016-11-30 Cezar Ionescu , Patrik Jansson

Some type-based approaches to termination use sized types: an ordinal bound for the size of a data structure is stored in its type. A recursive function over a sized type is accepted if it is visible in the type system that recursive calls…

Programming Languages · Computer Science 2015-07-01 Andreas Abel

General purpose language models (LMs) encounter difficulties when processing domain-specific jargon and terminology, which are frequently utilized in specialized fields such as medicine or industrial settings. Moreover, they often find it…

Computation and Language · Computer Science 2023-11-02 Daniel Eitan , Menachem Pirchi , Neta Glazer , Shai Meital , Gil Ayach , Gidon Krendel , Aviv Shamsian , Aviv Navon , Gil Hetz , Joseph Keshet

Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey , Patricia Johann , Neil Ghani

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic…

Programming Languages · Computer Science 2022-02-25 Giuseppe Castagna , Victor Lanvin , Mickaël Laurent , Kim Nguyen

Dependent Object Types (DOT) is intended to be a core calculus for modelling Scala. Its distinguishing feature is abstract type members, fields in objects that hold types rather than values. Proving soundness of DOT has been surprisingly…

Programming Languages · Computer Science 2017-06-14 Marianna Rapoport , Ifaz Kabir , Paul He , Ondřej Lhoták