[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