Am Montag, dem 28.03.2022 um 21:22 +0200 schrieb Jean Abou Samra:
> The following macro is a variant of peek that mimics Python's =
> format specifier (e.g. print(f"{a=} {a+b=}")) by printing expressions
> and the values they evaluate to.
> 
> (define-syntax-rule (db arg ...)
>    (begin
>      (let ((evaluated-arg arg))
>        (format (current-error-port) ";;; ~s => ~s\n" (quote arg) 
> evaluated-arg)
>        evaluated-arg)
>      ...))
> 
> Am I reinventing the wheel? Does anyone see value in this
> being added to Guile?
I think using plain old 'peek' might be preferable in most cases. 
While you're missing out on the LHS expression, you can mix it with
symbols arbitrarily, e.g. (peek 'my-function a b 'args+kwargs= rest)

Cheers

Reply via email to