436 Hits in 6.0 sec

A concurrent constraint handling rules implementation in Haskell with software transactional memory

Edmund S. L. Lam, Martin Sulzmann
2007 Proceedings of the 2007 workshop on Declarative aspects of multicore architectures - DAMP '07  
We give a concurrent CHR implementation using GHC (Glasgow Haskell Compiler) with support for Software Transactional Memory.  ...  Constraint Handling Rules (CHR) is a concurrent committedchoice constraint logic programming language to describe transformations (rewritings) among multi-sets of constraints (atomic formulae).  ...  We enforce consistency by implementing the shared constraint store as a shared linked list stored using Haskell with Software Transactional Memory (STM).  ... 
doi:10.1145/1248648.1248653 dblp:conf/popl/LamS07 fatcat:j5o7aeh4d5gbtowdvmj5a4da3q

Parallelism, Concurrency and Distribution in Constraint Handling Rules: A Survey [article]

Thom Fruehwirth
2018 arXiv   pre-print
Constraint Handling Rules is an effective concurrent declarative programming language and a versatile computational logic formalism.  ...  The CHR formalism can also be used to implement and reason with models for concurrency.  ...  Software Transactional Memory (STM). Optimistic concurrency control is based on transactions that can either commit or rollback and restart. We use the STM transactions provided in Haskell.  ... 
arXiv:1703.10959v4 fatcat:hw4zegjtzzdnvh4aw7pmcrbnkq

The limits of software transactional memory (STM)

Cristian Perfumo, Nehir Sönmez, Srdjan Stipic, Osman Unsal, Adrián Cristal, Tim Harris, Mateo Valero
2008 Proceedings of the 2008 conference on Computing frontiers - CF '08  
In this paper, we present a Haskell Transactional Memory benchmark to provide a comprehensive application suite for the use of Software Transactional Memory (STM) researchers.  ...  Using a composite of the collected raw data, we propose new transactional performance metrics.  ...  The applications marked with (CCHR) were taken from a Concurrent Constraint Handling Rules implementation [15] , where the basic idea is to derive a set of rules and apply them until the most simplified  ... 
doi:10.1145/1366230.1366241 dblp:conf/cf/PerfumoSSUCHV08 fatcat:oghmhrxq2besrddvgstjhgjb5e

Parallelism, concurrency and distribution in constraint handling rules: A survey

2018 Theory and Practice of Logic Programming  
In CHR, guarded reactive rules rewrite a multi-set of constraints. Concurrency is inherent, since rules can be applied to the constraints in parallel.  ...  AbstractConstraint Handling Rules (CHR) is both an effective concurrent declarative programming language and a versatile computational logic formalism.  ...  Software transactional memory (STM). Optimistic concurrency control is based on transactions that can either commit or rollback and restart. We use the STM transactions provided in Haskell.  ... 
doi:10.1017/s1471068418000078 fatcat:ze2r4fx3wjc5zfwlxlhkxiusta

Actors with Multi-headed Message Receive Patterns [chapter]

Martin Sulzmann, Edmund S. L. Lam, Peter Van Weert
2008 Lecture Notes in Computer Science  
The various semantics are inspired by the multi-set constraint matching semantics found in Constraint Handling Rules.  ...  The system can be implemented efficiently and we have built a prototype as a library-extension to Haskell.  ...  A transacted channel is a linked list in shared memory where access is protected by Software Transactional Memory.  ... 
doi:10.1007/978-3-540-68265-3_20 fatcat:4bhd3ygqr5hudkw27ps5hhuqxe

A feature model of actor, agent, functional, object, and procedural programming languages

Howell Jordan, Goetz Botterweck, John Noll, Andrew Butterfield, Rem Collier
2015 Science of Computer Programming  
However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture.  ...  The feature model is derived from the existing literature on general concepts of programming, and validated with concrete mappings of well-known languages in each of these categories.  ...  This work was supported, in part, by Science Foundation Ireland grant 10/CE/I1855 to Lero -the Irish Software Engineering Research Centre ( and by Siemens Corporate Technology CT T CEE  ... 
doi:10.1016/j.scico.2014.02.009 fatcat:f7odvseunfcezjsa376q7mrn74

Parallel and Concurrent Programming in Haskell [chapter]

Simon Marlow
2012 Lecture Notes in Computer Science  
Software Transactional Memory Software Transactional Memory (STM) is a technique for simplifying concurrent programming by allowing multiple state-changing operations to be grouped together and performed  ...  6) • GPU programming with the Accelerate library (Section 7) • Basic Concurrent Haskell (Part II) • Asynchronous exceptions (Section 10) • Software Transactional Memory (Section 11) • Concurrency and  ...  This would introduce a vast amount of complexity in the implementation, and it is not at all clear that it is a good feature to allow.  ... 
doi:10.1007/978-3-642-32096-5_7 fatcat:vaj62c3ijre3nof5dchrrlfv4m

Extending the Consistency Property of Software Transactional Memory Systems with business constraints in OCL and incremental checking

Alberto-Manuel Fernandez-Alvarez, Daniel Fernandez-Lanvin, Manuel Quintela-Pumares
2017 Zenodo  
We propose a way to extend current STM systems with a consistency subsystem able to verify business constraints expressed in OCL by the development team.  ...  Keywords: Constraints, Transactional Memory, Consistency checking, Incremental checking.  ...  INTRODUCTION Software Transactional Memory (STM) [1] systems bring the ACID properties to the mainstream programming: the wellknown Atomicity, Consistency, Isolation and Duration properties.  ... 
doi:10.5281/zenodo.3228150 fatcat:om746o7grvegphgqffh6tmufjy

As time goes by: Constraint Handling Rules - A survey of CHR research from 1998 to 2007 [article]

Jon Sneyers, Peter Van Weert, Tom Schrijvers, Leslie De Koninck
2009 arXiv   pre-print
Constraint Handling Rules (CHR) is a high-level programming language based on multi-headed multiset rewrite rules.  ...  Covering more than 180 publications, this new survey provides an overview of recent results in a wide range of research areas, from semantics and analysis to systems, extensions and applications.  ...  A language for experimenting with declarative paradigms. In  ... 
arXiv:0906.4474v2 fatcat:pmadjyra3vdublffzz5pjzlbxa

Functional programming: An angry half-dozen [chapter]

Philip Wadler
1998 Lecture Notes in Computer Science  
The Glasgow Haskell compiler is about 90K lines of Haskell. Caml, another dialect of ML, is implemented in Caml. Erlang is implemented in Erlang, and some versions of Scheme in Scheme.  ...  Code quality ranges from a shade better than C to an order of magnitude worse, with the typical case hovering at a factor of two or so slower.  ...  The first step was to introduce PRL (Population Rule Language) to describe constraints and transactions.  ... 
doi:10.1007/3-540-64823-2_2 fatcat:w2l5t4fitbb6zpghccfea57lpq

CUFP'13 scribe's report

2015 Journal of functional programming  
Operators use a thin, stateless client to interface with the device. The server software is written in Scheme. It implements Erlang's message-passing concurrency model.  ...  Ermine has a Haskell-like type system, but with row types, constraint kinds, and rank-N types. It also provides a built-in database support sub-system.  ... 
doi:10.1017/s0956796815000052 fatcat:dfx6bu3qv5b4bnwvdixe2yyfpu

How Enterprises Use Functional Languages, and Why They Don't [chapter]

Philip Wadler
1999 The Logic Programming Paradigm  
Logic programming and functional programming row in the same boat. Methods used to achieve success with one often transpose to the other, and both face similar obstacles.  ...  Here I offer a compendium of success stories for functional programs, followed by a list of obstacles to more widespread use of functional programming, in the belief that much of this experience is relevant  ...  Special thanks to the organizers, Krzysztof Apt, David Warren, Vitek Marek and Mirek Truszczyński, and the participants of the workshop on the Logic Programming Paradigm held in Shakertown, Kentucky, a  ... 
doi:10.1007/978-3-642-60085-2_9 fatcat:6i7uh5rtcre6xk4fp2ousmdlam

As time goes by: Constraint Handling Rules

2009 Theory and Practice of Logic Programming  
AbstractConstraint Handling Rules (CHR) is a high-level programming language based on multiheaded multiset rewrite rules.  ...  Constraint Handling Rules related research has surged during the decade following the previous survey by Frühwirth (J.  ...  With the advent of software transactional memories (STM) in Haskell, two prototype systems with parallel execution strategies have been developed: STMCHR 4 and Concurrent CHR .  ... 
doi:10.1017/s1471068409990123 fatcat:jlx6gexqqzht5blkoxzzelst6e

Cwmwl, a LINDA-based PaaS Fabric for the Cloud

Joerg Fritsch, Coral Walker
2014 Journal of Communications  
In the implementation a tuple space plays a central role in introducing deterministic services for basic parallel programming, including message passing, persistent infinite message pools and transactions  ...  Abstract -In this paper we introduce a new Platform-as-a-Service cloud environment that combines the LINDA coordination language, an in-memory key-value store, with functional programming to facilitate  ...  At the end of this section we will look at possible units of scale and advanced formalisms, including the algebra of communicating processes (ACP) or constraint handling rules (CHR), that may be used to  ... 
doi:10.12720/jcm.9.4.286-298 fatcat:omuxe7bab5hf3o3kxhkrd3sg5q

PhD Abstracts

2014 Journal of functional programming  
As a service to the community, JFP is launching a new feature, in the form of a regular publication of abstracts from PhD dissertations that were completed during the previous year.  ...  If a student or advisor would like to submit a dissertation abstract for publication in this series, please contact the editor for further details.  ...  Finally, we show how bisimulation can be used to establish the correctness of a low-level implementation of software transactional memory.  ... 
doi:10.1017/s0956796814000215 fatcat:rs2j5wgm5ndf7ek2zls5pmg2w4
« Previous Showing results 1 — 15 out of 436 results