266 Hits in 2.6 sec

Efficient Algebraic Effect Handlers for Prolog [article]

Amr Hany Saleh, Tom Schrijvers
2016 arXiv   pre-print
As a remedy, this work introduces algebraic effect handlers for Prolog, as a high-level and structured way of defining new side-effects in a modular fashion.  ...  Recent work has provided delimited control for Prolog to dynamically manipulate the program control-flow, and to implement a wide range of control-flow and dataflow effects on top of.  ...  Acknowledgments This work is partly funded by the Flemish Fund for Scientific Research (FWO). We are grateful to Bart Demoen for his support of hProlog.  ... 
arXiv:1608.00816v1 fatcat:r4d6xxezenc4batanbwns7mujq

Transforming Delimited Control: Achieving Faster Effect Handlers

Amr Hany Saleh
2015 International Conference on Logic Programming  
Algebraic effect handlers are a great way for modularizing side effects in Prolog, but they suffer from poor performance due to nested use of delimited control.  ...  Our experimental evaluation indicates that merged handlers are twice as fast on average.  ...  We refer to Schrijvers et al. (2013) for more examples of effect handlers in Prolog. Combining Effect Handlers Effects become more interesting when they are combined.  ... 
dblp:conf/iclp/Saleh15 fatcat:wa43eobnxjdvzb4gjl6navbrae

Heuristics Entwined with Handlers Combined

Tom Schrijvers, Nicolas Wu, Benoit Desouter, Bart Demoen
2014 Proceedings of the 16th International Symposium on Principles and Practice of Declarative Programming - PPDP '14  
We do so by starting from a functional specification of Prolog based on monads, and extend this with the effect handlers approach to capture the dynamic search tree as syntax.  ...  Effect handlers then express heuristics in terms of tree transformations.  ...  Acknowledgments We are grateful to the members of IFIP WG 2.1 for feedback on this work, to Olivier Danvy for discussions about delimited continuations, and to Ralf Hinze for his detailed comments on an  ... 
doi:10.1145/2643135.2643145 dblp:conf/ppdp/SchrijversWDD14 fatcat:j7wsvb2oevb6jl24rn3xpfxjv4

QD-Janus: A sequential implementation of Janus in Prolog

Saumya K. Debray
1993 Software, Practice & Experience  
Janus is a language designed for distributed constraint programming. This paper describes QD-Janus, a sequential implementation of Janus in Prolog.  ...  The choice of Prolog as the target language for a compiler, although unusual, is motivated by the following: (i) the semantic gap between Janus and Prolog is much smaller than that between Janus and, say  ...  This has the desirable effect that programs become, at least in principle, efficiently implementable.  ... 
doi:10.1002/spe.4380231204 fatcat:ilfbuhusxjghdj7g6awe3rfexm

Suppl: A Flexible Language for Policies [chapter]

Robert Dockins, Andrew Tolmach
2014 Lecture Notes in Computer Science  
Suppl has been implemented as a compiler to Prolog and used to build several network security applications in a Java framework. 1 primitive type person. 2 primitive type scanner. 3 primitive type location  ...  We present the Simple Unified Policy Programming Language (Suppl), a domain-neutral language for stating, executing, and analyzing event-condition-action policies.  ...  Unlike Prolog, the Suppl predicate language is pure (no side effects), strongly typed and strongly moded.  ... 
doi:10.1007/978-3-319-12736-1_10 fatcat:5sfo3j3l45efjjau2yaqmnslvu

Attempto - From Specifications in Controlled Natural Language towards Executable Specifications [article]

Rolf Schwitter, Norbert E. Fuchs, (Department of Computer Science, University of Zurich)
1996 arXiv   pre-print
The Attempto system translates specifications in ACE into discourse representation structures and into Prolog.  ...  The resulting knowledge base can be queried in ACE for verification, and it can be executed for simulation, prototyping and validation of the specification.  ...  Instead they are represented by sets of Prolog clauses, one clause for each disjunct.  ... 
arXiv:cmp-lg/9603004v1 fatcat:lc2knd76xndezbnkbsnkq7exi4

The Functional Perspective on Advanced Logic Programming

Alexander Vandenbroucke, Marc Herbstritt
2016 International Conference on Logic Programming  
The basics of logic programming, as embodied by Prolog, are generally well-known in the programming language community.  ...  The cause for the community's seemingly limited interest lies with the presentation of these features: the literature frequently focuses on implementations and examples that do little to aid the understanding  ...  I would like to thank the reviewers for taking the time to provide insightful comments and in-depth remarks.  ... 
doi:10.4230/oasics.iclp.2016.20 dblp:conf/iclp/Vandenbroucke16 fatcat:ljbcyks7tne63kbjlbgvyf37va

Introduction to the 32nd International Conference on Logic Programming Special Issue

2016 Theory and Practice of Logic Programming  
Moreover, Picat was developed at the City University of New York, as was B-Prolog, and other logic programming-based systems, such as Ergo.  ...  hold a significant, power of two, ICLP in New York because the city has a long and distinguished association with logic programming: XSB was developed at Stony Brook, as was HiLog before that, and SB-Prolog  ...  We would also like to thank Andrei Voronkov and his staff for the EasyChair system, which helped us coordinate submission, review, discussion, and notification.  ... 
doi:10.1017/s1471068416000491 fatcat:qzindp2mnbbk3p54666cwmebee

A mathematical definition of full Prolog

Egon Börger, Dean Rosenzweig
1995 Science of Computer Programming  
The model may provide guidance for extending the established theory of logic programming to the extralogical features of Prolog.  ...  The paper provides a mathematical yet simple model for the full programming language Prolog, as apparently intended by the IS0 draft standard proposal.  ...  Special thanks to Yuri Gurevich, for permanent discussion of the whole evolving algebra approach and of several early versions of this paper.  ... 
doi:10.1016/0167-6423(95)00006-e fatcat:tlrgvdj4wjadtdzdpks76qamvi

An Ontology-Based Data Exploration Tool for Key Performance Indicators [chapter]

Claudia Diamantini, Domenico Potena, Emanuele Storti, Haotian Zhang
2014 Lecture Notes in Computer Science  
Based on this model and on reasoning capabilities, the tool provides functionalities for dynamic aggregation of data and computation of KPI values through the formula.  ...  This paper describes the main functionalities of an ontologybased data explorer for Key Performance Indicators (KPI), aimed to support users in the extraction of KPI values from a shared repository.  ...  The authors wish to thank the Commission for its support and all the project partners for their contribution in the development of various ideas and concepts presented in this paper.  ... 
doi:10.1007/978-3-662-45563-0_45 fatcat:3t6qlhicwnegnk2ql2mcsw6rvm

Specifying Logic Programs in Controlled Natural Language [article]

Norbert E. Fuchs, Rolf Schwitter (Department of Computer Science, University of Zurich)
1995 arXiv   pre-print
Writing specifications for computer programs is not easy since one has to take into account the disparate conceptual worlds of the application domain and of software development.  ...  Controlled natural language is a subset of natural language that can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage by non-specialists.  ...  of this paper for valuable advice.  ... 
arXiv:cmp-lg/9507009v1 fatcat:mvqy5asa3fapvih6yhgbfpgozq

Backtracking with cut via a distributive law and left-zero monoids

2017 Journal of functional programming  
We employ the framework of algebraic effects to augment the list monad with the pruning cut operator known from Prolog.  ...  The scope delimiter of cut arises as a handler.  ...  Acknowledgements We would like to thank Ralf Hinze, who encouraged us to write this pearl in the first place, Kwok-Ho Cheun for enlightening discussions, and the anonymous reviewers, whose comments and  ... 
doi:10.1017/s0956796817000077 fatcat:ziro3piclvg6hgwrc5xvmxx6pq

Disjunctive Delimited Control [article]

Alexander Vandenbroucke, Tom Schrijvers
2021 arXiv   pre-print
Delimited control is a powerful mechanism for programming language extension which has been recently proposed for Prolog (and implemented in SWI-Prolog).  ...  We provide a meta-interpreter that conservatively extends Prolog with delimited control and show that it enables a range of typical Prolog features and extensions, now at the library level: findall, cut  ...  This port enables powerful applications in Prolog, such as high-level implementations of both tabling [3] and algebraic effects & handlers [7] .  ... 
arXiv:2108.02972v1 fatcat:pzx2pm3rtfeppefdc52h7dyw3u

A structured alternative to Prolog with simple compositional semantics

2011 Theory and Practice of Logic Programming  
A simple interpreter for Prolog in the alternative language, and a definition ofuntilin Prolog, establish the identical expressive power of the two languages.  ...  This paves the way for a simple account of flexible module composition mechanisms.Cube, a concrete language with the exposed principles, has been implemented on top of a Prolog engine and successfully  ...  but proposed formalisations of the cut have serious problems for effective applicability.  ... 
doi:10.1017/s1471068411000202 fatcat:w35de7cjm5g3jkpi7pof4g2d4e

Pragmatics of Modular SOS [chapter]

Peter D. Mosses
2002 Lecture Notes in Computer Science  
For this purpose, the meta-notation for modular SOS rules has been made more user-friendly, and derivation of computations according to the rules is simulated using Prolog.  ...  Modular SOS is being used for teaching operational semantics at the undergraduate level.  ...  Bartek Klin suggested the novel technique for dealing with exceptions. Leonardo de Moura suggested implementing MSOS directly in Prolog.  ... 
doi:10.1007/3-540-45719-4_3 fatcat:upach7lywrcnxdehaldkjuxoyu
« Previous Showing results 1 — 15 out of 266 results