Spell-out the names of APIs?
Artyom Bologov 01 Sep 2026 12:10 UTC
Hi Hernán,
I realize this is a kind of drive-by comment, but I think that /m suffix
should be consistent with spelled-out make-monad, monad-unit, monad-bind
etc. While the /m syntaxes are convenient, I think that such a syntax
should be left to the user of the library. I do that with e.g. SRFI-253
spelled-out forms:
(import (rename (srfi 253)
(define-checked define/c)))
Using spelled-out names is also consistent with Scheme / Lisp naming
traditions. Your proposed names are consistent with another monadic
library you mention, and with e.g. some Racket conventions (around
contracts with their /c suffix, for example,) but I feel like these are
too opinionated to be taken literally.
So the forms should rather be define-monad(ic), do-monad(ic), and
return-monad(ic).
What do you think?
Disclosure: I haven’t read much of the SRFI because I am too stupid to
understand monads.
Best of luck,
--
Artyom Bologov
https://aartaka.me