Wow! I feel your pain. In the past I was not saddled with any extensive Scheme 
system. I had full control over the minuscule dictionary of offerings. And so I 
preferred to impose my own thinking on the minimal subset. I did not get 
involved in the layers of SRFI.

But I look around today and see that Scheme has grown considerably.  The folks 
in Texas don’t even call it Scheme any more. And you are right about the 
non-interoperability between versions. 

My only experiences were with STk and Gambit (from U.Montreal). STk was largely 
interpreted, while Gambit has a pretty cool compiler.

But many years ago I was asked to speak at a conference, and I suggested 
talking about alternatives to Lisp. The conference board wouldn’t hear of it. 
And today I can hardly blame them.

So why are you using Scheme? Are you under duress? Just blink twice if so…

- DM

> On Jun 18, 2024, at 02:07, Attila Lendvai <att...@lendvai.name> wrote:
> 
>> No doubt others will point this out, but Scheme pre-dated CL by
>> nearly a decade. Much like in discussions of apes and humans, the
>> correct way of putting it is that they had common ancestors.
> 
> 
> yeah, but WITH-EXCEPTION-HANDLER is defined in R6RS, which is dated 2007.
> 
> and it was defined so that when the current handler is invoked, then it 
> remains the current handler; i.e. any error in the handler leads to a 
> recursive invocation of the same handler.
> 
> R7RS seems to have fixed it. there are some more details here:
> 
> https://practical-scheme.net/gauche/man/gauche-refe/Exceptions.html#index-with_002dexception_002dhandler
> 
> it's just icing on the cake that in Guile w-e-h has a #:unwind? keyword arg 
> (i.e. at the end of the sexp) that completely changes the flow of control 
> (returning from the handler either returns to RAISE or to w-e-h).
> 
> compared to this the condition system in CL feels much cleaner and much 
> better thought out. and it predates R6RS by decades of real-world experience.
> 
> 
>> I've never attempted any substantial development in Scheme, but have
>> wondered whether I were missing anything, so Attila's observation is
>> of interest.
> 
> 
> another misconception i had was that there's a similar level of portability 
> between various scheme implementations as between CLs, but it's not even 
> comparable.
> 
> and while we are at it, the lisp-1/lisp-2 distinction (variable and function 
> namespaces) is just something to get used to, it's easy.
> 
> 
>> Your criticisms of Scheme are certainly valid. I don’t think that
>> WITH-EXCEPTION-HANDLER even exists in SRFI 7 or whatever it was
>> called.
> 
> 
> yeah, the other thing is that there are like 3 different groups of primitives 
> for exception handling, defined by various SRFIs, RxRS, or some 
> implementation-specific solutions. they often coexist in the same 
> implementation, and have a confusing web of interactions in some corner cases 
> like i mentioned above. it's often hard to even know which set of primitives 
> are obsolete, and which is the preferred one.
> 
> 
>> And I, personally, think the biggest lacking in Scheme is the macro
>> system. Oh I know all about the raging arguments about hygienic
>> macrology.
> 
> 
> yep, i admit that the argument for hygienic macros is very appealing, but i 
> find it surprisingly hard to write my macros in scheme, even though i wrote 
> countless non-trivial CL macros throughout the years.
> 
> in CL you'll write subtle bugs until you learn the domain. in scheme you 
> won't write subtle bugs, but you'll struggle to formally encode what you 
> want, even in simple cases.
> 
> but who knows, maybe i'm just too slow, or i just miss a good intro that 
> builds up my internal model of scheme macros... i don't know hygienic macros 
> well enough to judge whether the problem is with me, or with some accidental 
> complexity in the model.
> 
> -- 
> • attila lendvai
> • PGP: 963F 5D5F 45C7 DFCD 0A39
> --
> “If he controls your ideas he will soon control your actions, because every 
> action is preceded by an idea.”
>       — Silvano Arieti (1914–1981), 'The Will to Be Human'
> 

Reply via email to