Faré’s comment (“R6RS … broke the community”) is apt. As far as I can tell (and 
I have discussed this with a few members of the Scheme community), Scheme is 
the language for people to experiment with language design. So no one wants a 
standard — they want to have their own variants.

Lisp was in that state early on. Then people decided they wanted to be able to 
do more “professional” stuff with Lisp. They agreed that a standard was needed, 
and Common Lisp was born.


I personally have moved on from the Lisp community and am using Julia. Julia 
macros are broken (Moon provided a fix, but they are unwilling to incorporate 
it because it might break existing uses), but they are usable. And the 
ecosystem around Julia is pretty good and improving. The community is quite 
active and very welcoming and supportive.



> On Jun 25, 2024, at 4:55 PM, Faré <fah...@gmail.com> wrote:
> 
> On Tue, Jun 18, 2024, 05:08 Attila Lendvai <att...@lendvai.name> wrote:
>> 
>> yeah, but WITH-EXCEPTION-HANDLER is defined in R6RS, which is dated 2007.
> 
> Almost no one uses R6RS. It's the standard that broke the community
> (Racket left at that time).
> 
> I don't think either Gambit Scheme or Gerbil Scheme (that builds upon
> it) uses with-exception-handler natively, though we do provide it
> (the R7RS variant, through a compatibility layer).
> 
> Also speaking for Gerbil Scheme, we only just systematized exceptions
> as objects underneath, and don't use them well everywhere, notably
> because the built-in printer (inherited from Gambit) requires much
> love to reach the level of functionality of CL's (and surpass it? We
> need not just print-readable but print-evalable, or some more general
> print context object).
> 
>> 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.
> 
> Lisp-1 is slightly annoying at first, but it works decently with the
> hygienic macros.
> 
>> 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.
> 
> While we're at it, I'd like to say that I used to think I understood
> macros well, but that was before I started using hygienic macros
> seriously. I still don't understand syntax-local-introduce — can
> someone explain it to me? That said, there's no doubt that hygienic is
> superior for writing modular macros-that-write-macros, etc.
> 
>> 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.
>> 
> I don't have this difference. I adapted quite well from CL to Gerbil
> Scheme, probably because it has "batteries included", mostly.
> 
>> 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.
>> 
> syntax-rules is pretty simple to master, I think (though there are
> "interesting" corner cases if you go looking for them).
> Add my with-id and with-id/expr macros, that cover 80% of the
> non-hygienic cases, and now you're left with hairy macros being
> written with the ugly but effective syntax-case.
> 
> —♯ƒ • François-René Rideau • Chief Scientist, MuKn.com/fare
> “The first lesson of economics is scarcity: there is never enough of anything
> to fully satisfy all those who want it. The first lesson of politics is to
> disregard the first lesson of economics.”  — Thomas Sowell

Reply via email to