English
Related papers

Related papers: Haskell's overlooked object system

200 papers

One of the most attractive features of untyped languages is the flexibility in term creation and manipulation. However, with such power comes the responsibility of ensuring the correctness of these operations. A solution is adding run-time…

Programming Languages · Computer Science 2017-10-17 Nataliia Stulova , José F. Morales , Manuel V. Hermenegildo

This introduction to Haskell is written to optimize learning by programmers who already know OCaml.

Programming Languages · Computer Science 2014-07-22 Raphael Poss

It is next to impossible to develop real-life applications in just pure Prolog. With XPCE we realised a mechanism for integrating Prolog with an external object-oriented system that turns this OO system into a natural extension to Prolog.…

Software Engineering · Computer Science 2007-05-23 Jan Wielemaker , Anjo Anjewierden

Object-oriented programming (OOP) is aimed at describing the structure and behaviour of objects by hiding the mechanism of their representation and access in primitive references. In this article we describe an approach, called…

Programming Languages · Computer Science 2010-09-28 Alexandr Savinov

The inability to predict lasting languages and architectures led us to develop OCCA, a C++ library focused on host-device interaction. Using run-time compilation and macro expansions, the result is a novel single kernel language that…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-03-06 David S Medina , Amik St-Cyr , T. Warburton

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

A more realistic object detection paradigm, Open-World Object Detection, has arisen increasing research interests in the community recently. A qualified open-world object detector can not only identify objects of known categories, but also…

Computer Vision and Pattern Recognition · Computer Science 2022-02-17 Shuo Yang , Peize Sun , Yi Jiang , Xiaobo Xia , Ruiheng Zhang , Zehuan Yuan , Changhu Wang , Ping Luo , Min Xu

We report on an experience to support multiple views of programs to solve the tyranny of the dominant decomposition in a functional setting. We consider two possible architectures in Haskell for the classical example of the expression…

Software Engineering · Computer Science 2011-02-01 Julien Cohen , Rémi Douence

The Shapes Constraint Language (SHACL) is the recent W3C recommendation language for validating RDF data, by verifying certain shapes on graphs. Previous work has largely focused on the validation problem and the standard decision problems…

Artificial Intelligence · Computer Science 2022-06-16 Paolo Pareti , George Konstantinidis , Fabio Mogavero

We present an approach for a lightweight datatype-generic programming in Objective Caml programming language aimed at better code reuse. We show, that a large class of transformations usually expressed via recursive functions with pattern…

Programming Languages · Computer Science 2018-02-07 Dmitri Boulytchev

Implicit heterogeneous metaprogramming (a.k.a. offshoring) is an attractive approach for generating C with some correctness guarantees: generate OCaml code, where the correctness guarantees are easier to establish, and then map that code to…

Programming Languages · Computer Science 2022-11-09 Oleg Kiselyov

This paper introduces Hardcaml, an embedded hardware design domain specific language (DSL) implemented in the OCaml programming language. Unlike high level synthesis (HLS), Hardcaml allows for low level control of the underlying hardware…

Programming Languages · Computer Science 2023-12-27 Andy Ray , Benjamin Devlin , Fu Yong Quah , Rahul Yesantharao

This study presents a systematic approach to specifying data objects with the help of initial algebras. The primary aim is to describe the set-up to be found in modern functional programming languages such as Haskell and ML, although it can…

Logic in Computer Science · Computer Science 2009-09-22 Chris Preston

We present a generic framework that facilitates object level reasoning with logics that are encoded within the Higher Order Logic theorem proving environment of HOL Light. This involves proving statements in any logic using intuitive…

Logic in Computer Science · Computer Science 2021-01-12 Petros Papapanagiotou , Jacques Fleuriot

Extending a given language with new dedicated features is a general and quite used approach to make the programming language more adapted to problems. Being closer to the application, this leads to less programming flaws and easier…

Logic in Computer Science · Computer Science 2010-03-26 Claude Kirchner , Pierre-Etienne Moreau , Cláudia Tavares

We present a Haskell library for first-order term rewriting covering basic operations on positions, terms, contexts, substitutions and rewrite rules. This effort is motivated by the increasing number of term rewriting tools that are written…

Programming Languages · Computer Science 2013-07-10 Bertram Felgenhauer , Martin Avanzini , Christian Sternagel

A promising approach to unifying functional and imperative programming paradigms is to localize mutation using linear or affine types. Haskell, a purely functional language, was recently extended with linear types by Bernardy et al., in the…

Programming Languages · Computer Science 2026-04-28 Yusuke Matsushita , Hiromi Ishii

There is a growing need to gain insight into language model capabilities that relate to sensitive topics, such as bioterrorism or cyberwarfare. However, traditional open source benchmarks are not fit for the task, due to the associated…

Machine Learning · Computer Science 2023-12-27 Paul Bricman

Formal reasoning about the time complexity of algorithms and data structures is usually done in interactive theorem provers like Isabelle/HOL. This includes reasoning about amortized time complexity which looks at the worst case performance…

Computational Complexity · Computer Science 2024-07-19 Jan van Brügge

Statically typed languages offer significant advantages, such as bug prevention, enhanced code quality, and reduced maintenance costs. However, these benefits often come at the expense of a steep learning curve and a slower development…

Human-Computer Interaction · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey , John Grundy
‹ Prev 1 4 5 6 7 8 10 Next ›