Efficient algebraic effect handlers for Prolog

Author:

SALEH AMR HANY,SCHRIJVERS TOM

Abstract

AbstractRecent 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. Unfortunately, delimited control is a rather primitive language feature that is not easy to use.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. We illustrate the expressive power of the feature and provide an implementation by means of elaboration into the delimited control primitives.The latter add a non-negligible performance overhead when used extensively. To address this issue, we present an optimised compilation approach that combines partial evaluation with dedicated rewrite rules. The rewrite rules are driven by a lightweight effect inference that analyses what effect operations may be called by a goal. We illustrate the effectiveness of this approach on a range of benchmarks.

Publisher

Cambridge University Press (CUP)

Subject

Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software

Reference18 articles.

1. Roy P. V. 1989. A useful extension to Prolog's definite clause grammar notation. In ACM SIGPLAN Notices, Vol. 24, 11, Nov. 1989, 132–134.

2. Tabling as a library with delimited control

3. Letters to the editor: go to statement considered harmful

4. Fusion for Free

5. Ivanovic D. , Morales Caballero J. F. , Carro M. and Hermenegildo M. 2009. Towards structured state threading in Prolog. In CICLOPS 2009.

Cited by 5 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Disjunctive Delimited Control;Theory and Practice of Logic Programming;2023-04-11

2. Disjunctive Delimited Control;Logic-Based Program Synthesis and Transformation;2022

3. Efficient compilation of algebraic effect handlers;Proceedings of the ACM on Programming Languages;2021-10-20

4. PRISM revisited: Declarative implementation of a probabilistic programming language using multi-prompt delimited control;International Journal of Approximate Reasoning;2018-12

5. Concurrent System Programming with Effect Handlers;Lecture Notes in Computer Science;2018

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3