Filters








23 Hits in 2.2 sec

Retrofitting Parallelism onto OCaml [article]

KC Sivaramakrishnan, Stephen Dolan, Leo White, Sadiq Jaffer, Tom Kelly, Anmol Sahoo, Sudha Parimala, Atul Dhiman, Anil Madhavapeddy
2020 arXiv   pre-print
OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming.  ...  OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia.  ...  development team for their comments on the design of the Multicore OCaml GC.  ... 
arXiv:2004.11663v2 fatcat:be6scb2xtrek7iewll2fcdp5yy

Retrofitting parallelism onto OCaml

KC Sivaramakrishnan, Stephen Dolan, Leo White, Sadiq Jaffer, Tom Kelly, Anmol Sahoo, Sudha Parimala, Atul Dhiman, Anil Madhavapeddy, Apollo-University Of Cambridge Repository
2020
OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming.  ...  OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia.  ...  development team for their comments on the design of the Multicore OCaml GC.  ... 
doi:10.17863/cam.56842 fatcat:27u7etdvivh7vbpslghuxka37i

Asynchronous Proof Processing with Isabelle/Scala and Isabelle/jEdit

Makarius Wenzel
2012 Electronical Notes in Theoretical Computer Science  
Our plugins are written again in Scala for our convenience, and to leverage the Scala actor library for parallel and interactive programming.  ...  After some recent reworking of Isabelle internals, to support parallel processing of theories and proofs, the original idea of structured document processing has surfaced again.  ...  The following main virtues of our prover and the ML implementation have allowed to retrofit parallel proof processing onto the existing system. • DAG-structured development graph of the theories that form  ... 
doi:10.1016/j.entcs.2012.06.009 fatcat:7cez763725gixhgekvnzqct2ii

The challenge of cross-language interoperability

David Chisnall
2013 Communications of the ACM  
models of Parallelism Mutability and parallelism are closely related. The cardinal rule for writing maintainable, scalable, parallel code is that no object may be both mutable and aliased.  ...  This is a problem encountered by F#, which is sold as a dialect of OCaml and can integrate with other .NET languages, use classes written in C#, and so on.  ... 
doi:10.1145/2534706.2534719 fatcat:nesadtymszda5fqldf6dzgmomu

The implementation of the Mezzo type-checker

Jonathan Protzenko
2014 Proceedings of the 25th symposium on Implementation and Application of Functional Languages - IFL '13  
The Racket community, retrofitting a type system on top of Scheme, has had to deal with flow-sensitive typing [22] .  ...  Computing the mapping Computing the ψ function is done by traversing the left and right permission graphs in parallel.  ... 
doi:10.1145/2620678.2620684 dblp:conf/ifl/Protzenko13 fatcat:yymeli5n2vhpxhregyvyv63aoe

LiquidHaskell

Niki Vazou, Eric L. Seidel, Ranjit Jhala
2014 SIGPLAN notices  
Moreover, we checked deep, sophisticated properties of parallel Haskell code, e.g. program equivalence of a naïve string matcher and its parallelized version.  ...  Transforming a mature language -with optimized libraries and highly tuned parallelism -into a theorem prover enables us to verify a wide variety of properties on real world applications.  ...  theorem proving onto legacy languages, we perform a case study in deterministic parallelism.  ... 
doi:10.1145/2775050.2633366 fatcat:tczruulo3fgepeddilt6fjgtpe

LiquidHaskell

Niki Vazou, Eric L. Seidel, Ranjit Jhala
2014 Proceedings of the 2014 ACM SIGPLAN symposium on Haskell - Haskell '14  
Moreover, we checked deep, sophisticated properties of parallel Haskell code, e.g. program equivalence of a naïve string matcher and its parallelized version.  ...  Transforming a mature language -with optimized libraries and highly tuned parallelism -into a theorem prover enables us to verify a wide variety of properties on real world applications.  ...  theorem proving onto legacy languages, we perform a case study in deterministic parallelism.  ... 
doi:10.1145/2633357.2633366 dblp:conf/haskell/VazouSJ14 fatcat:5mmk4inrc5cihk65wbrho4hbzy

Linear Haskell: practical linearity in a higher-order polymorphic language

Jean-Philippe Bernardy, Mathieu Boespflug, Ryan R. Newton, Simon Peyton Jones, Arnaud Spiwack
2017 Proceedings of the ACM on Programming Languages  
Linear type systems have a long and storied history, but not a clear path forward to integrate with existing languages such as OCaml or Haskell.  ...  If it was, it applies the update directly onto ref n or creates a new imperative node.  ...  Because of this weak duality, we could have retrofitted uniqueness types to Haskell.  ... 
doi:10.1145/3158093 dblp:journals/pacmpl/BernardyBNJS18 fatcat:7s3x7hlhzvhoxenqcmbt6fnutm

Transactional Memory, 2nd edition

Tim Harris, James Larus, Ravi Rajwar
2010 Synthesis Lectures on Computer Architecture  
Consider two prevalent parallel programming models: data parallelism and task parallelism.  ...  Parallelism is implicit and abundant in data parallel programs.  ...  WWT was a DARPA and NSF-funded project investigated new approaches to simulating, building, and programming parallel shared-memory computers.  ... 
doi:10.2200/s00272ed1v01y201006cac011 fatcat:25d3gvp5zrfqlgpzdzknqouofi

Breaking up is hard to do : security and functionality in a commodity hypervisor [article]

Mihir Sudarshan Nanavati
2011
We present Xoar, a modified version of the Xen platform that retrofits the modularity and isolation principles championed by microkernels onto a mature virtualization platform.  ...  Retrofitting such a partitioning scheme onto an existing system entails considerations that would not be factors if designing a new system from the ground up.  ...  Xen's XAPI toolstack is written in OCaml and benefits from the robustness that a statically typed, functional language provides [43] .  ... 
doi:10.14288/1.0052016 fatcat:e2lruq6bwvhifeky4lnz35yvca

Dagstuhl Reports, Volume 11, Issue 6, July 2021, Complete Issue [article]

2021
Retrofitting Effect Handlers onto OCaml Sivaramakrishnan Krishnamoorthy Chandrasekaran . . . . . . . . . . . . . . . . . .  ...  These are precisely the rainbows that may not be placed onto the same page.  ...  Parallel Group Work The afternoon sessions were used to discuss certain topics in more depth in smaller groups. This section summarises the discussions of each group.  ... 
doi:10.4230/dagrep.11.6 fatcat:4ojdxh5mknhx5op4bxxc7ypgna

Foundations for programming and implementing effect handlers [article]

Daniel Hillerström, University Of Edinburgh, Sam Lindley, John Longley
2022
The case study demonstrates how effect handlers provide a high-degree of modularity and flexibility that enable substantial behavioural changes to be retrofitted onto programs without altering the existing  ...  One of the best known examples is the parallel if operation which is computable in a language with parallel evaluation but not in a typical sequential programming language [219] .  ...  They show how parallel-or [219] can be codified as a macro using spawn (and a parallel invocation primitive pcall).  ... 
doi:10.7488/era/2122 fatcat:ectvpju2yfam5k55etg2i3twp4

Kilim: Isolation-Typed Actors for Java [chapter]

Sriram Srinivasan, Alan Mycroft
Lecture Notes in Computer Science  
Exploiting parallelism.  ...  The techniques are applicable to any language with pointers and garbage collection, such as C#, Scala and OCaml.  ... 
doi:10.1007/978-3-540-70592-5_6 fatcat:5ev5cbs5arfxtnzcciiink4oua

Distributed computing and transparency rendering for large displays [article]

Daniel Kauker, Universität Stuttgart, Universität Stuttgart
2015
While the computational power of a single chip also increases steadily, the most performance is gained by parallelization of the algorithms.  ...  Bourgoin et al. [2014] present SPOC (Stream Processing with OCaml), an OCaml based GPGPU programming framework.  ...  Using mobile devices for these types of power wall retrofits these capabilities, then allowing direct user input.  ... 
doi:10.18419/opus-6465 fatcat:6s6y27exdrcybaqnh7tpruukza

LIPIcs, Volume 71, SNAPL'17, Complete Volume [article]

Benjamin S. Lerner, Rastislav Bodík, Shriram Krishnamurthi
2017
about their OCaml code.  ...  In Section 4, we partition a program onto a many-core processor.  ... 
doi:10.4230/lipics.snapl.2017 fatcat:tmxd6cpxebfbdi6xs3ki5cbgfi
« Previous Showing results 1 — 15 out of 23 results