Re: Support for SRFI 253

"Dr. Arne Babenhauserheide" <[email protected]> Sun, 31 May 2026 00:06:40 +0200
Newsgroups gmane.lisp.guile.devel
Message-ID <[email protected]>
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Artyom Bologov <[email protected]> writes:
> I wonder if it=E2=80=99s possible to have SRFI 253
> <https://srfi.schemers.org/srfi-253/srfi-253.html> support in Guile in
> an efficient/correct way, instead of simply packaging the sample
> implementation?

Sorry for the late reply. The path I took for define-typed (with
exceptions thrown) offers the same performance improvements as
handwritted guards following
<https://dthompson.us/posts/optimizing-guile-scheme.html>.

So if you didn=E2=80=99t do it already by now, you might be able to borrow =
code
from the implementation of define-typed (you have my OK for that, also
to use the license needed for a SRFI):

https://www.draketo.de/software/guile-define-typed

There=E2=80=99s also a simple benchmark included to check whether the
performance holds up to optimizing with guards by hand.

Best wishes,
Arne
=2D-=20
Unpolitisch sein
hei=C3=9Ft politisch sein,
ohne es zu merken.
https://www.draketo.de

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmobX3EQHGFybmVfYmFi
QHdlYi5kZQAKCRAT741FJAPD6/r8EADQCtFqdwEHuxXwVNgjJGq1PsIFTEzjuEMM
sQLFkjm5jciQRoLJtp3Zb7x/OdwTIXEAjNfy78l84FCNWWAZiHAH3wCq/v2JZA7w
vupQTiWdpzfsYC5Ro4PJIPULbQ8+w5JXSffUam+3XBqmwtipbsBJzc51Xt2qFkAB
hRf9JkrkLUKIU6hvlhELTCHRKV3BH2r0mgPrOQsvnEMu2YXgbWLCg5QtbB+DAtaa
/+9z+sufKlRGp/PR4t8ddQKn6Qu9XnLInJJSFf1HHbW7o1VYV84RdibUs8tY9mdJ
+1qMPupeeRQx17qqQYPBRH3u8V1IjYzZvXgsOxSBj0Xj0Z7K9gIsCsIfpDOSYqpr
cUaUHhf275sFAXRR3K8TRbRTBrnpy4K3xpQIn3UhB+TK5lyvOGwT98ibgfD4+11t
NEHGukRso9nrBBrcA5ZK97cRsFz58cM91GbBDXwmPwA1+hL60jl/YQAUq0VVnKX2
9gBIOf/kNVvETMAOOvtj3GUamOktKbl4UyROW5CFFEzOfahdam4J7qmcW0jA0EnU
gaRnfgx0IvMl4HXSsT3VhMkDZW5CkWNHb1B/PGcbqohBTxxW8A3SeSG2/0rIHhi4
b+NDRs1bfaTWU6gRTgBcNo1CUGzm8gf0JDWslx5CgBddxTzns8rhWbuy6x6T9jJr
AVVGk/D/OIjEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmobX3EQHGFy
bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSHmDA/4ksw/nazPX6QguV5t8I8eS/Lsl
NFARDTfjSPHxFe+viQ2V6g5hunop/0xd5ULpa3JHa4GhO72NuQiMMV04AMtQ0+P4
55+a8gkN4YkD3KSEukRtWD5y62nhvS67wE5EyIgtvkqBvQA4Vi3wFt3bhDOoL5u7
VoKmSz82vEUp4zKdKg==
=tOqn
-----END PGP SIGNATURE-----
--=-=-=--