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