Nested Arrows in Dogelog Player (Re: Prototype-Based Programming in Dogelog Player)
Mild Shock <[email protected]> Wed, 5 Nov 2025 17:24:47 +0100
| Newsgroups | comp.lang.python |
|---|---|
| Message-ID | <[email protected]> |
Hi, This post is Dedicated to the Memory of Scheme R4RS. The ISO core standard witness calculation [7.1.1.4] is the most hated among Prolog programmers, since it produces false positive for nested (^)/2 occurences. We show how to use it nevertheless for arrow functions compilation. We identified outside-in processing as the culprit of false positives, the use of inside-out processing then shows a promissing ability to minimize free variable. We wish what we have done statically, could also be done dynamically. But we are facing serious new rational trees challenges. Bye See also: Nested Arrows in Dogelog Player https://medium.com/2989/1fd3fdc55ac3 Mild Shock schrieb: > Hi, > > We recently made public a new version of Dogelog > Player that features arrow functions via the syntax > operator (=>)/2. An interesting mark of the current > release is that the arrow functions are automatically > compiled and decompiled inside static clauses. > > Although our main use case was higher order logic > programming, an alternative use case is object > oriented logic programming. In particular we make a > short dive into the variant of so called prototype > based programming, also sometimes termed the > classless approach. > > We use arrow functions (=>)/2 with a Pythonesk > self parameter, to give dicts properties that will > behave like methods. Creating copies, as sometimes > suggested by Logtalk, might work well for value > object. But to update an arrow function inside a > prototype, we used a non-backtracking mutator. > > Bye > > See also: > > Prototype-Based Programming in Dogelog Player > https://qiita.com/j4n_bur53/items/3a68d42af9b86fce8bdf