Zelphir Kaltstahl schreef op do 14-07-2022 om 23:55 [+0000]:
>           (make-assertion-failure)
>           (make-exception-with-message "assertion failed")
>           (make-exception-with-irritants (quote (op args* ...)))))]

Instead of a generic 'assertion failure', I believe a more specific
&contract-failure to be better.

Also, define*-with-contract / lambda*-with-contract would be nice.  

It would also be nice to define a global 'require' and 'ensure' and
'<?>' somewhere (e.g.: (define-syntax require (identifier-syntax
(syntax-error "'require' can only be used as part of a contract
construct")))), that way, require / ensure / <?> can be renamed during
importing, so all contract things could be prefixed with, say,
contract:.

     ;; `#t`, the neutral element of `and`.

Guile supports Unicode and UTF-8, so you can write ‘#t’ here instead of
`#t`.  Additionally, maybe #t -> #true?

Greetings,
Maxime.

Reply via email to