SRFI proposal: a prototype object system
Daniel Ziltener
(02 Feb 2025 09:36 UTC)
|
Re: SRFI proposal: a prototype object system
John Cowan
(02 Feb 2025 15:21 UTC)
|
Re: SRFI proposal: a prototype object system
Faré
(02 Feb 2025 15:57 UTC)
|
Re: SRFI proposal: a prototype object system
Arthur A. Gleckler
(02 Feb 2025 18:06 UTC)
|
Re: SRFI proposal: a prototype object system
Daniel Ziltener
(06 Feb 2025 19:30 UTC)
|
Re: SRFI proposal: a prototype object system
Daphne Preston-Kendal
(07 Apr 2025 11:03 UTC)
|
Re: SRFI proposal: a prototype object system
Daniel Ziltener
(11 Apr 2025 00:07 UTC)
|
Re: SRFI proposal: a prototype object system
Daniel Ziltener
(19 May 2025 15:07 UTC)
|
Re: SRFI proposal: a prototype object system
John Cowan
(19 May 2025 20:20 UTC)
|
Re: SRFI proposal: a prototype object system
Faré
(21 May 2025 11:42 UTC)
|
Re: SRFI proposal: a prototype object system
John Cowan
(21 May 2025 19:48 UTC)
|
Re: SRFI proposal: a prototype object system Faré (22 May 2025 01:07 UTC)
|
Re: SRFI proposal: a prototype object system
Daniel Ziltener
(28 May 2025 22:42 UTC)
|
Re: SRFI proposal: a prototype object system
Daniel Ziltener
(03 Feb 2025 09:46 UTC)
|
(define (fix p b) (define f (p (lambda i (apply f i)) b)) f) (define (mix c p) (lambda (f b) (c f (p f b)))) It can be made even shorter. Or to avoid exponentially bad performance without having to think, it can use force and delay everywhere rather than sparingly. Explanations: https://github.com/metareflection/poof/ Looks at util/coop.scm there (with a shorter prefix in coop.rkt or coop.ss) for a complete example with plenty of helper functions, that I now use for all my (pure functional) slides. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org “Think you can, or think you can’t — either way, you’ll be right.” — Henry Ford On Wed, May 21, 2025 at 9:49 PM John Cowan <xxxxxx@ccil.org> wrote: > > This SRFI is about fine-tuning the existing Prometheus design, which is based on Self, not about something completely minimal. It's not like we are going to wind up with a single standardized object system, after all. It's too easy to build whatever object system suits you. > > What are your two lines? > > On Wed, May 21, 2025, 7:42 AM Faré <xxxxxx@gmail.com> wrote: >> >> Strong disagree. Why need a root object at all? >> >> My prototype object system Gerbil-POO has no notion of "root object", >> no need for "system-defined slots". You get the slots you ask for, no >> more no less. >> >> My other prototype object system, COOP, has no notion of object >> either. Just mixin inheritance of prototypes that you can instantiate >> into records with a simple fixed-point operation. OOP without objects, >> in two lines of code—plus a few helpers to make it more usable. >> >> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org >> “One has not only a legal but a moral responsibility to obey just laws. >> Conversely, one has a moral responsibility to disobey unjust laws.” >> — Martin Luther King, Letters From Birmingham Jail >> >> >> On Mon, May 19, 2025 at 10:20 PM John Cowan <xxxxxx@ccil.org> wrote: >> > >> > Looking good! However, I don't see the benefit of having multiple root objects. If by convention *the-root-object* has no slots except the system-defined ones, then any alternative roots can be direct children of the unique root with no loss of function. Removing everything in that section except *the-root-object* would achieve a useful simplification. >> > >> > On Mon, May 19, 2025, 11:08 AM Daniel Ziltener - dziltener at lyrion.ch (via srfi-discuss list) <xxxxxx@srfi.schemers.org> wrote: >> >> >> >> I updated the proposal. I added a mirror interface for additional >> >> reflection functionality. Please have a look, feedback, advice and >> >> additions welcome; unless further time for discussion is needed, this >> >> will be handed in on the 26th. >> >> >> >> The proposal can be found here: >> >> https://forgejo.lyrion.ch/zilti/srfi-object-system-proposal/src/branch/master/spec.org >> >>