Elements of Logic Programming in a Concatenative Functional LanguageRemote
In algebraic automata theory we model computation as semigroups, or, in the more general typed case, as semigroupoids. The mathematical theory provides hierarchical decomposition algorithms to understand computational structures. Our ultimate goal is to apply the algebraic tools directly to programs written in high level languages instead of applying them to mathematical objects like finite state automata. Functional languages do admit category theoretical representations, but those are still not natural inputs for the decomposition algorithms. We need to use concatenative languages, where the syntax is defined by a free monoid. Programs are executed the same way as we feed input words into finite state automata. Therefore, we developed a concatenative functional language, named \textsc{Con-Cat}. The language should be minimal, but at the same time capable of representing a wide range of algorithmic ideas. In this paper, to test its expressive power, we implement elements of logic programming up to the unification of nested lists with constraint propagation and unification for finite sets.
Fri 28 AugDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | |||
11:00 30mTalk | Elements of Logic Programming in a Concatenative Functional LanguageRemote LOPSTR+PPDP Attila Egri-Nagy Akita International University | ||
11:30 30mTalk | Tempo: Reconstructing Synchronous Reactive Programming with OCaml 5 EffectsRemoteRecorded LOPSTR+PPDP Frédéric Dabrowski Université d'Orléans | ||
12:00 30mTalk | Wren: A Fast Logic Programming eDSL With Host Language Garbage Collection LOPSTR+PPDP | ||