On Fri, Oct 25, 2019 at 4:39 AM Amirouche Boubekki <xxxxxx@gmail.com> wrote:

>    ((engine-set engine) okvs ((engine-pack engine) string uid)
> ((engine-pack engine) #t))))

Ah, I thought the issue was extensibility.  SRFI 128 solves this problem by providing invokers as well as accessors, and in hindsight maybe I should have skipped the accessors.  The general pattern is that the short names like engine-set and engine-pack take an engine object as the first argument and apply the appropriate procedure from the object to the other arguments.  So the lines above become:

(engine-set engine okvs (engine-pack engine string uid) (engine-pack engine) #t).

If you still want accessors, call them engine-setter, engine-packer, etc.

 

I will work on pre-SRFI for single dispatch and publish in on the
scheme newsgroup to collect more thoughts.

We already have SRFIs 99, 131, 136, 150, and R6RS.  I would suggest working on something other than this can of worms.



John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
Lope de Vega: "It wonders me I can speak at all.  Some caitiff rogue
did rudely yerk me on the knob, wherefrom my wits yet wander."
An Englishman: "Ay, belike a filchman to the nab'll leave you
crank for a spell." --Harry Turtledove, Ruled Britannia