Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #124416
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Interpreting Arrows in Dogelog Player (Re: Nested Arrows in Dogelog Player) |
| Date | 2025-11-12 01:06 +0100 |
| Message-ID | <10f0j1v$anr3$1@solani.org> (permalink) |
| References | <10dnnh5$lh95$3@solani.org> <10dsmmg$ohv3$2@solani.org> <10efu93$207$1@solani.org> |
Hi, Dogelog Player has now arrow functions using a (=>)/2 operator. The semantics is different from other offerings and based on ISO core standard witness calculation [7.1.1.4]. Its genesis is tied to formerly Jekejeke Prolog where we already experimented with this semantics. Departing from formerly Jekejeke Prolog we also provide ahead of time compilation. It turns out that this gives a better semantics, that can solve problems such as mutual recursion and nested arrows. We present a refinement for interpretative use, that shares the same properties. Nested functions have become quite popular in programming languages such as Python and JavaScript. More impressive inner functions can be returned as values and can then serve as closures for their outer context. Starting from variant keys and a new unnumbervars/3 predicate, we demonstrate the same for our preprocessed and then interpreted '$ANON'/n compounds. Bye See also: Interpreting Arrows in Dogelog Player https://qiita.com/j4n_bur53/items/c67a660f3e52dd1ba448 Mild Shock schrieb: > 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 >>
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
ANN: Dogelog Player 2.1.2 (Arrow Functions) Mild Shock <janburse@fastmail.fm> - 2025-10-27 13:11 +0100
Prototype-Based Programming in Dogelog Player (Re: ANN: Dogelog Player 2.1.2 (Arrow Functions)) Mild Shock <janburse@fastmail.fm> - 2025-10-29 10:27 +0100
Nested Arrows in Dogelog Player (Re: Prototype-Based Programming in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-11-05 17:33 +0100
Interpreting Arrows in Dogelog Player (Re: Nested Arrows in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-11-12 01:06 +0100
Strudel Coding in Dogelog Player (Was: Interpreting Arrows in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-11-23 22:23 +0100
csiph-web