We introduce a new programming language construct, Interactors, supporting the agent-oriented view that programming is a dialog between simple, self-contained, autonomous building blocks. We define Interactors as an abstraction of answer generation and refinement in Logic Engines resulting in expressive language extension and metaprogramming patterns. Interactors extend language constructs like Ruby, Python and C#'s multiple coroutining block returns through yield statements and they can emulate the action of monadic constructs and catamorphisms in functional languages. The full version of this paper [1] describes source level emulation of Prolog's dynamic database and various built-ins in terms of an Interactor API and design patterns for algorithms involving combinatorial generation and infinite answer streams. © 2008 Springer Berlin Heidelberg.
CITATION STYLE
Tarau, P. (2008). Logic engines as interactors. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5366 LNCS, pp. 703–707). https://doi.org/10.1007/978-3-540-89982-2_61
Mendeley helps you to discover research relevant for your work.