English
Related papers

Related papers: GopCaml: A Structural Editor for OCaml

200 papers

We present our work on the collaborative use of dynamic and static analysis tools for the verification of software written in the OCaml language. We build upon Gospel, a specification language for OCaml that can be used both in dynamic and…

Logic in Computer Science · Computer Science 2024-07-29 Tiago Lopes Soares , Ion Chirica , Mário Pereira

We present modular implicits, an extension to the OCaml language for ad-hoc polymorphism inspired by Scala implicits and modular type classes. Modular implicits are based on type-directed implicit module parameters, and elaborate…

Programming Languages · Computer Science 2015-12-08 Leo White , Frédéric Bour , Jeremy Yallop

In this paper, we provide a comprehensive, hands-on tutorial on how to apply deductive verification to programs written in OCaml. In particular, we show how one can use the GOSPEL specification language and the Cameleer tool to conduct…

Logic in Computer Science · Computer Science 2024-07-23 Mário Pereira

OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming.…

Programming Languages · Computer Science 2020-07-03 KC Sivaramakrishnan , Stephen Dolan , Leo White , Sadiq Jaffer , Tom Kelly , Anmol Sahoo , Sudha Parimala , Atul Dhiman , Anil Madhavapeddy

We present FunTAL, the first multi-language system to formalize safe interoperability between a high-level functional language and low-level assembly code while supporting compositional reasoning about the mix. A central challenge in…

Programming Languages · Computer Science 2017-11-13 Daniel Patterson , Jamie Perconti , Christos Dimoulas , Amal Ahmed

We report on the experience of developing Merlin, a language server for the OCaml programming language in development since 2013. Merlin is a daemon that connects to your favourite text editor and provides services that require a…

Programming Languages · Computer Science 2018-10-03 Frédéric Bour , Thomas Refis , Gabriel Scherer

We propose a harmonious extension of OCaml's 'open' construct. OCaml's existing construct 'open M' imports the names exported by the module 'M' into the current scope. At present 'M' is required to be the path to a module. We propose…

Programming Languages · Computer Science 2019-05-17 Runhang Li , Jeremy Yallop

This paper introduces GIMP-ML v1.1, a set of Python plugins for the widely popular GNU Image Manipulation Program (GIMP). It enables the use of recent advances in computer vision to the conventional image editing pipeline. Applications from…

Computer Vision and Pattern Recognition · Computer Science 2020-10-27 Kritik Soman

We present a library for generic programming in OCaml, adapting some techniques borrowed from other functional languages. The library makes use of three recent additions to OCaml: generalised abstract datatypes are essential to reflect…

Programming Languages · Computer Science 2019-01-01 Florent Balestrieri , Michel Mauny

In this paper we present a Prolog plugin for Eclipse based upon BE4, and providing many features such as semantic-aware syntax highlighting, outline view, error marking, content assist, hover information, documentation generation, and quick…

Programming Languages · Computer Science 2009-03-13 Jens Bendisposto , Ian Endrijautzki , Michael Leuschel , David Schneider

The OCaml language comes with a facility for interfacing with C code -- the Foreign Function Interface or FFI. The primitives for working with the OCaml runtime -- and, in particular, with the garbage collector (GC) -- strive for a minimal…

Programming Languages · Computer Science 2019-04-29 Frédéric Bour

We propose a series of features for the graphical user interface (GUI) of the COmputational MOdule Integrator (COMODI) \cite{Synasc05a}\cite{COMODI}. In view of the special requirements that a COMODI type of framework for scientific…

Human-Computer Interaction · Computer Science 2016-08-16 Zsolt I. Lázár , Andreea Fanea , Dragoş Petraşcu , Vladiela Ciobotariu-Boer , Bazil Pârv

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

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

Image editing involves a variety of complex tasks and requires efficient and precise manipulation techniques. In this paper, we present MagicQuill, an integrated image editing system that enables swift actualization of creative ideas. Our…

Computer Vision and Pattern Recognition · Computer Science 2025-03-25 Zichen Liu , Yue Yu , Hao Ouyang , Qiuyu Wang , Ka Leong Cheng , Wen Wang , Zhiheng Liu , Qifeng Chen , Yujun Shen

Effect handlers have been gathering momentum as a mechanism for modular programming with user-defined effects. Effect handlers allow for non-local control flow mechanisms such as generators, async/await, lightweight threads and coroutines…

Programming Languages · Computer Science 2021-04-02 KC Sivaramakrishnan , Stephen Dolan , Leo White , Tom Kelly , Sadiq Jaffer , Anil Madhavapeddy

We present here in a thorough analysis of the Mool language, covering not only its implementation but also the formalisation (syntax, operational semantics, and type system). The objective is to detect glitches in both the implementation…

Programming Languages · Computer Science 2016-09-23 Cláudio Vasconcelos , António Ravara

Manually ensuring that the implementation of a software system is consistent with the software architecture is a laborious and error-prone task. Thus, a variety of approaches towards automated consistency checking have been developed to…

Software Engineering · Computer Science 2015-10-30 Timo Greifenberg , Klaus Müller , Bernhard Rumpe

Document structure editing involves manipulating localized textual, visual, and layout components in document images based on the user's requests. Past works have shown that multimodal grounding of user requests in the document image and…

Computation and Language · Computer Science 2024-10-23 Manan Suri , Puneet Mathur , Franck Dernoncourt , Rajiv Jain , Vlad I Morariu , Ramit Sawhney , Preslav Nakov , Dinesh Manocha

Sound exhaustiveness checking of pattern-matching is an essential feature of functional programming languages, and OCaml supports it for GADTs. However this check is incomplete, in that it may fail to detect that a pattern can match no…

Programming Languages · Computer Science 2017-02-09 Jacques Garrigue , Jacques Le Normand

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
‹ Prev 1 2 3 10 Next ›