9 citations · 37 across the 32 of their papers we have counts for
9 papers · 1 filter
Natlog: a Lightweight Logic Programming Language with a Neuro-symbolic Touch
Paul Tarau
We introduce Natlog, a lightweight Logic Programming language, sharing Prolog's unification-driven execution model, but with a simplified syntax and semantics. Our proof-of-concept…
Lazy Stream Programming in Prolog
Paul Tarau, Jan Wielemaker, Tom Schrijvers
In recent years, stream processing has become a prominent approach for incrementally handling large amounts of data, with special support and libraries in many programming language…
On Uniquely Closable and Uniquely Typable Skeletons of Lambda Terms
Olivier Bodini, Paul Tarau
Uniquely closable skeletons of lambda terms are Motzkin-trees that predetermine the unique closed lambda term that can be obtained by labeling their leaves with de Bruijn indices.…
A Hiking Trip Through the Orders of Magnitude: Deriving Efficient Generators for Closed Simply-Typed Lambda Terms and Normal Forms
Paul Tarau
Contrary to several other families of lambda terms, no closed formula or generating function is known and none of the sophisticated techniques devised in analytic combinatorics can…
A Prolog Specification of Giant Number Arithmetic
Paul Tarau
The tree based representation described in this paper, hereditarily binary numbers, applies recursively a run-length compression mechanism that enables computations limited by the…
Tree-based Arithmetic and Compressed Representations of Giant Numbers
Paul Tarau
Can we do arithmetic in a completely different way, with a radically different data structure? Could this approach provide practical benefits, like operations on giant numbers whil…
Bijective Term Encodings
Paul Tarau
We encode/decode Prolog terms as unique natural numbers. Our encodings have the following properties: a) are bijective b) natural numbers always decode to syntactically valid terms…
Computing with Hereditarily Finite Sequences
Paul Tarau
e use Prolog as a flexible meta-language to provide executable specifications of some fundamental mathematical objects and their transformations. In the process, isomorphisms are u…
Logic Engines as Interactors
Paul Tarau
We introduce a new programming language construct, Interactors, supporting the agent-oriented view that programming is a dialog between simple, self-contained, autonomous building…