Filters








290 Hits in 2.4 sec

Extending OCaml's open

R Li, Jeremy Yallop, Apollo-University Of Cambridge Repository, Apollo-University Of Cambridge Repository
2019
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.  ...  We propose extending open to instead accept an arbitrary module expression, making it possible to succinctly address a number of existing scope-related difficulties that arise when writing OCaml programs  ...  A similar situation arises with the extended open construct, which inherits OCaml's approach towards elimination of modules in signatures.  ... 
doi:10.17863/cam.40531 fatcat:7tzi6unz2jfnlohixqa7jwtxz4

ROTOR: A Tool for Renaming Values in OCaml's Module System

Reuben N.S. Rowe, Hugo Feree, Simon J. Thompson, Scott Owens
2019 2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)  
We present ROTOR, a tool for automatically renaming toplevel value definitions in OCaml's module system.  ...  It is publicly available as an open source software project [6] . ROTOR is itself written in OCaml and is easily installed via Opam, OCaml's package manager.  ...  We therefore had to generalise OCaml's path notation in two ways.  ... 
doi:10.1109/iwor.2019.00013 dblp:conf/icse/RoweFTO19 fatcat:savvenz775c6dnxwk4pqo3yd6m

Modular implicits

Leo White, Frédéric Bour, Jeremy Yallop
2015 Electronic Proceedings in Theoretical Computer Science  
Modular implicits are based on type-directed implicit module parameters, and elaborate straightforwardly into OCaml's first-class functors.  ...  Basing the design on OCaml's modules leads to a system that naturally supports many features from other languages with systematic ad-hoc overloading, including inheritance, instance constraints, constructor  ...  However, since modular implicits extend the signature language with new constructs (Figure 3 ), the matching relation must also be extended.  ... 
doi:10.4204/eptcs.198.2 fatcat:fha5fyedfrd6phdrdsotd6omha

Experience report

Pascal Cuoq, Julien Signoles, Patrick Baudin, Richard Bonichon, Géraud Canet, Loïc Correnson, Benjamin Monate, Virgile Prevosto, Armand Puccetti
2009 SIGPLAN notices  
An initial one-person internal prototype was able to produce results that convinced management to extend the experiment to two programmers.  ...  Technical context Expressivity OCaml's expressivity was crucial in the adoption phase of the language.  ... 
doi:10.1145/1631687.1596591 fatcat:cx7rnla4zjbwjlyev3u3tlz3tm

Programs Using Syntax with First-Class Binders [chapter]

Francisco Ferreira, Brigitte Pientka
2017 Lecture Notes in Computer Science  
FreshML [22] and Cαml [20] extend OCaml's data types with the ideas of names and binders from nominal logic [18] .  ...  It therefore shows how to extend a functional programming language such as OCaml with the syntactic framework with minimal impact on OCaml's compiler.  ... 
doi:10.1007/978-3-662-54434-1_19 fatcat:wh6koipi6ncddftib6n3ujir2m

Experience report

Pascal Cuoq, Julien Signoles, Patrick Baudin, Richard Bonichon, Géraud Canet, Loïc Correnson, Benjamin Monate, Virgile Prevosto, Armand Puccetti
2009 Proceedings of the 14th ACM SIGPLAN international conference on Functional programming - ICFP '09  
An initial one-person internal prototype was able to produce results that convinced management to extend the experiment to two programmers.  ...  Technical context Expressivity OCaml's expressivity was crucial in the adoption phase of the language.  ... 
doi:10.1145/1596550.1596591 dblp:conf/icfp/CuoqSBBCCMPP09 fatcat:2akuxynspzbfxe4kkpnkdxovyi

Serializing C intermediate representations for efficient and portable parsing

Jeffrey A. Meister, Jeffrey S. Foster, Michael Hicks
2010 Software, Practice & Experience  
Our work opens the possibility of using the CIL IR in languages other than OCaml.  ...  Our benchmark suite is composed of 21 open-source C applications totaling 843,850 lines of code.  ... 
doi:10.1002/spe.954 fatcat:y4xgqkvbcre55gpeeepge3deeu

Programming Unikernels in the Large via Functor Driven Development [article]

Gabriel Radanne, Thomas Gazagnaire, Anil Madhavapeddy, Jeremy Yallop, Richard Mortier, Hannes Mehnert, Mindy Preston, David Scott
2019 arXiv   pre-print
Fig. 5 .Fig. 6 . 56 Store extended with modular error handling.  ...  Scott Figure 5 extends the Store signature to use these extensible error types.  ... 
arXiv:1905.02529v1 fatcat:a6vmsxnmazgj7m3mjhll34qjey

A modular foreign function interface

Jeremy Yallop, David Sheets, Anil Madhavapeddy
2018 Science of Computer Programming  
The internal complexity of the implementation was well-protected by OCaml's type system (notably GADTs), and the use of OCaml's functors to encode program stages scaled extremely well.  ...  Community Uses We released the first version of Cmeleon as an open-source library in June 2013.  ... 
doi:10.1016/j.scico.2017.04.002 fatcat:7vmukszpivck3kjoghrfsjtipa

Owl: A General-Purpose Numerical Library in OCaml [article]

Liang Wang
2018 arXiv   pre-print
OCaml's static type checking significantly reduces potential bugs and accelerate the development cycle.  ...  The most important extended module is Algodiff, which implements the algorithmic differentiation functionality [9] .  ... 
arXiv:1707.09616v3 fatcat:33n7qemhvrgwjnfkkyg3pb2toy

QuickChecking Static Analysis Properties

Jan Midtgaard, Anders Moller
2015 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST)  
We can then achieve an "object-oriented sub-classing effect" by means of OCaml's module system: quickchecking code defines extended lattice modules that include the original lattice modules and extend  ...  OCaml's underlying AST. Figure 6 . 6 Figure 6. Relaxed argument signature.  ... 
doi:10.1109/icst.2015.7102603 dblp:conf/icst/MidtgaardM15 fatcat:sfpdlupzifhl5jrj4xebx3yg3a

Catch Me If You Can [chapter]

David Teller, Arnaud Spiwack, Till Varoquaux
2011 Lecture Notes in Computer Science  
Unfortunately, this fragility is shared by elements of both OCaml's, SML's or Haskell's standard libraries.  ...  Unfortunately, OCaml's type system disallows the definition of exceptions with polymorphic type variables.  ... 
doi:10.1007/978-3-642-24452-0_14 fatcat:3wthprbtinep3gq3gngtsfarra

Building reliable, high-performance networks with the Nuprl proof development system

CHRISTOPH KREITZ
2004 Journal of functional programming  
We also intend to extend our work on formalizing the semantics of programming languages.  ...  Module definitions and the open command are instructions that influence the behavior of these object generators and make sure that named references within type-theoretical expressions are linked to the  ... 
doi:10.1017/s0956796803004854 fatcat:luufbvrfsfb6bcnaaat5lpizxy

QuickChecking static analysis properties

Jan Midtgaard, Anders Møller
2017 Software testing, verification & reliability  
We can then achieve an "object-oriented sub-classing effect" by means of OCaml's module system: quickchecking code defines extended lattice modules that include the original lattice modules and extend  ...  Doing so, would open up for testing for soundness -another central property of static analyses. Concretely, we receivedtwo bug reports related to soundness of the Lua analysis.  ... 
doi:10.1002/stvr.1640 fatcat:wrudyzjdafhanjx4nhzxggmd7q

Experience report

Vincent Balat, Jérôme Vouillon, Boris Yakobowski
2009 Proceedings of the 14th ACM SIGPLAN international conference on Functional programming - ICFP '09  
It can therefore be extended very easily just by writing new modules in Ocaml.  ...  In section 3, we show how some very strong correctness properties can be encoded using Ocaml's type system.  ... 
doi:10.1145/1596550.1596595 dblp:conf/icfp/BalatVY09 fatcat:n6ljnbh4c5fmze2q4ri2hh4inq
« Previous Showing results 1 — 15 out of 290 results