Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #124414
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Prototype-Based Programming in Dogelog Player (Re: ANN: Dogelog Player 2.1.2 (Arrow Functions)) |
| Date | 2025-10-29 10:27 +0100 |
| Message-ID | <10dsmmg$ohv3$2@solani.org> (permalink) |
| References | <10dnnh5$lh95$3@solani.org> |
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 Mild Shock schrieb: > Dear All, > > We are happy to announce a new edition of > the Dogelog Player: > > - Arrow Functions: > Using superintelligence in the loop, our development > cycle has reached new hights of innovation and > unprecedent delivery speed. Dogelog Player now has > 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]. > > - Arrow Compilation: > But we did not stop at interpreted arrow functions, > the Prolog system also offers ahead of time > compilation, which covers both library(yall) and > library(apply_macros) from SWI-Prolog. But it goes > beyond, there is no need for meta predicate > declarations, and compiled arrow functions can > be stored inside Prolog facts. > > - Arrow Decompilation: > The compilation compensates the additional effort > of witness calculuation and we get same execution > speed as SWI-Prolog. The code result is similarly > cryptic. The good news is, the compilation can be > easily undone. This is realized in Dogelog Player > so that clause listing and the interactive debugger > show the original arrow functions. > > Have Fun! > > Jan Burse, https://www.herbrand.ai/ , 27.10.2025
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