guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Macro for Python-style debugging output


From: Liliana Marie Prikler
Subject: Re: Macro for Python-style debugging output
Date: Wed, 30 Mar 2022 21:08:12 +0200
User-agent: Evolution 3.42.1

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

[Prev in Thread] Current Thread [Next in Thread]