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