Reference. Datafun: a functional Datalog

Cite

Cite as @arntzenius-2016-datafun (helia, typst) · \cite{arntzenius-2016-datafun} (LaTeX)
BibTeX
bibtex · 1 line
@inproceedings{arntzenius-2016-datafun, series={ICFP′16}, title={Datafun: a functional Datalog}, url={http://dx.doi.org/10.1145/2951913.2951948}, DOI={10.1145/2951913.2951948}, booktitle={Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming}, publisher={ACM}, author={Arntzenius, Michael and Krishnaswami, Neelakantan R.}, year={2016}, month=Sept, pages={214–227}, collection={ICFP′16} }
hayagriva YAML (typst)
yaml · 14 lines
arntzenius-2016-datafun:
  type: article
  title: 'Datafun: a functional Datalog'
  author:
  - Arntzenius, Michael
  - Krishnaswami, Neelakantan R.
  date: 2016-09
  page-range: 214-227
  serial-number:
    doi: 10.1145/2951913.2951948
  parent:
    type: proceedings
    title: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming
    publisher: ACM
Cited by (1)

Seminaïve evaluation for a higher-order functional language arntzenius-2019-seminaive

One of the workhorse techniques for implementing bottom-up Datalog engines is seminaïve evaluation. This optimization improves the performance of Datalog’s most distinctive feature: recursively defined predicates. These are computed iteratively, and under a naïve evaluation strategy, each iteration recomputes all previous values. Seminaïve evaluation computes a safe approximation of the difference between iterations. This can asymptotically improve the performance of Datalog queries. Seminaïve evaluation is defined partly as a program transformation and partly as a modified iteration strategy, and takes advantage of the first-order nature of Datalog code. This paper extends the seminaïve transformation to higher-order programs written in the Datafun language, which extends Datalog with features like first-class relations, higher-order functions, and datatypes like sum types.
PDF · DOI · pldb
Cites 33 works (3 here)
With notes (3)

Complete and easy bidirectional typechecking for higher-rank polymorphism dunfield-2013-complete

PDF · DOI · arXiv · pldb

A judgmental reconstruction of modal logic pfenning-2001-a

DOI

Linear logic girard_linear_1987

The familiar connective of negation is broken into two operations: linear negation which is the purely negative part of negation and the modality “of course” which has the meaning of a reaffirmation. Following this basic discovery, a completely new approach to the whole area between constructive logics and programmation is initiated.
DOI
External (30)
arntzenius-2016-datafun reference entries/refs/arntzenius-2016-datafun/arntzenius-2016-datafun.hel