English
Related papers

Related papers: Structural Induction Principles for Functional Pro…

200 papers

We present a marriage of functional and structured imperative programming that embeds in pure lambda calculus. We describe how we implement the core of this language in a monadic DSL which is structurally equivalent to our intended source…

Programming Languages · Computer Science 2017-03-17 Phil Scott , Steven Obua , Jacques Fleuriot

A fertile field of research in theoretical computer science investigates the representation of general recursive functions in intensional type theories. Among the most successful approaches are: the use of wellfounded relations,…

Logic in Computer Science · Computer Science 2017-01-11 Venanzio Capretta

Applicative functors are a generalisation of monads. Both allow the expression of effectful computations into an otherwise pure language, like Haskell. Applicative functors are to be preferred to monads when the structure of a computation…

Programming Languages · Computer Science 2014-06-10 Paolo Capriotti , Ambrus Kaposi

Functional logic programming (FLP) languages use non-terminating and non-confluent constructor systems (CS's) as programs in order to define non-strict non-determi-nistic functions. Two semantic alternatives have been usually considered for…

Programming Languages · Computer Science 2020-02-19 Adrián Riesco , Juan Rodríguez-Hortalá

A functional hardware description language enables students to gain a working understanding of computer systems, and to see how the levels of abstraction fit together. By simulating circuits, digital design becomes a living topic, like…

Computers and Society · Computer Science 2013-01-23 John T. O'Donnell

The differentiable implementation of logic yields a seamless combination of symbolic reasoning and deep neural networks. Recent research, which has developed a differentiable framework to learn logic programs from examples, can even acquire…

Artificial Intelligence · Computer Science 2021-03-03 Hikaru Shindo , Masaaki Nishino , Akihiro Yamamoto

Probabilistic logic programs are logic programs where some facts hold with a specified probability. Here, we investigate these programs with a causal framework that allows counterfactual queries. Learning the program structure from…

Logic in Computer Science · Computer Science 2023-08-31 Kilian Rückschloß , Felix Weitkämper

Users of program analyses expect that results change predictably in response to changes in their programs, but many analyses fail to provide such robustness. This paper introduces a theoretical framework that provides a unified language to…

Programming Languages · Computer Science 2026-04-14 Zachary Kincaid , Shaowei Zhu

Programming with dependent types is a blessing and a curse. It is a blessing to be able to bake invariants into the definition of data-types: we can finally write correct-by-construction software. However, this extreme accuracy is also a…

Programming Languages · Computer Science 2019-02-20 Dagand Pierre-Evariste , McBride Conor

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

This book is a graduate-level introduction to probabilistic programming. It not only provides a thorough background for anyone wishing to use a probabilistic programming system, but also introduces the techniques needed to design and build…

Machine Learning · Statistics 2021-10-20 Jan-Willem van de Meent , Brooks Paige , Hongseok Yang , Frank Wood

This paper is a tutorial introducing the underlying technology and the use of the tool Liquid Haskell, a type-checker for the functional language Haskell that can help programmers to verify non-trivial properties of their programs with a…

Programming Languages · Computer Science 2017-01-13 Ricardo Peña

Recursive Neural Networks are non-linear adaptive models that are able to learn deep structured information. However, these models have not yet been broadly accepted. This fact is mainly due to its inherent complexity. In particular, not…

Neural and Evolutionary Computing · Computer Science 2009-11-18 Alejandro Chinea

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

Different types of reasoning impose different structural demands on representational systems, yet no systematic account of these demands exists across psychology, AI, and philosophy of mind. I propose a framework identifying four structural…

Artificial Intelligence · Computer Science 2026-04-03 Yiling Wu

Most modern formalisms used in Databases and Artificial Intelligence for describing an application domain are based on the notions of class (or concept) and relationship among classes. One interesting feature of such formalisms is the…

Artificial Intelligence · Computer Science 2009-09-25 G. DeGiacomo , M. Lenzerini

We provide a new approach to training neural models to exhibit transparency in a well-defined, functional manner. Our approach naturally operates over structured data and tailors the predictor, functionally, towards a chosen family of…

Machine Learning · Computer Science 2019-02-27 Guang-He Lee , Wengong Jin , David Alvarez-Melis , Tommi S. Jaakkola

Push/enter and eval/apply are two calling conventions used in implementations of functional languages. In this paper, we explore the following observation: when considering functions with multiple arguments, the stack under the push/enter…

Programming Languages · Computer Science 2016-06-22 Maciej Piróg , Jeremy Gibbons

We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive…

Programming Languages · Computer Science 2015-01-16 Ranald Clouston , Aleš Bizjak , Hans Bugge Grathwohl , Lars Birkedal

The concept of functionality oriented programming is proposed, and some of its aspects are discussed, such as: (1) implementation independent basic types and generic collection types; (2) syntax requirements and recommendations for…

Programming Languages · Computer Science 2011-02-21 Chengpu Wang