From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Abou Samra Newsgroups: gmane.lisp.guile.devel Subject: Macro for Python-style debugging output Date: Mon, 28 Mar 2022 21:22:55 +0200 Message-ID: <8bfae8ae-3965-1fc7-1ab0-d67b1c87a831@abou-samra.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18050"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Mon Mar 28 21:23:17 2022 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nYuxQ-0004ac-Ci for guile-devel@m.gmane-mx.org; Mon, 28 Mar 2022 21:23:16 +0200 Original-Received: from localhost ([::1]:47018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nYuxP-00016v-Br for guile-devel@m.gmane-mx.org; Mon, 28 Mar 2022 15:23:15 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:53554) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nYuxA-00016g-H1 for guile-devel@gnu.org; Mon, 28 Mar 2022 15:23:00 -0400 Original-Received: from mout.kundenserver.de ([217.72.192.74]:41267) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nYux8-0003ox-EH for guile-devel@gnu.org; Mon, 28 Mar 2022 15:23:00 -0400 Original-Received: from [10.188.216.67] ([46.193.67.184]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.184]) with ESMTPSA (Nemesis) id 1MtOX2-1ntT0o1AZq-00usv3 for ; Mon, 28 Mar 2022 21:22:56 +0200 Content-Language: en-US X-Provags-ID: V03:K1:jd88N1PJgTbMJKSnXhwlp8ulxe/mK9ycPYTdXsiAgiX88m0lQVe bOihpuGweIPPlCyveoCBg8fmneRw8aEvgo2VgdQ93hSzeBp70sfxAu8zPFIzzYJpWoSAQEL QlQ8A96OIwRwBUXfoKa8ka+coPN1GDWi0GIAzzetrQOyKcVUM8UuWMYx/mjolSm8t6HyYY8 M1GL1+VfBwR7Cus5VQ/9Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:el3tEBZ4nko=:TAk7SeSS+x6cITk8KpN8a8 bx5pcVecn+wIJatw1YSpYldqpORWUMfMxhPFGefRHDHHSkLvi7ZJfnZjjEPTzL1nyG0HWOR7j Owf7pp4p70Hgt/U7NvINR3OiUa0sN5sAZHbSBXOGRaSBWiwusB332RHVvDSrtl5mmaAoyZTUz FZVWZr4S9gKvIn21yLAl6QFHTOxnMenK/QBzNrR4P8v14s27i7tDZSTjXikVMMu+BLCvXjklR TbsAvJpkYGFW9w5MWyIJRo3r9d1A1S5P/jhBGSLN8n66jeceLlZFYQKVvRJaXXEy7iyblTpNH 4Aj92jxlY5J5IBJNq5eMxa0+QPx32iI6GlxQ6T+lfTjI2NJs1AtOMwTZ75BF+1Z1bUxhD6M9U ztjVM6b6bjq5qO0tNe6i1otW8RYhXCVvIN+gE+iaTLUBQ6h2CK2U+Hx/b43A0zUcPCpcYUg8i RXqRmuJlgVnsmlF/jQAMqRoLMhLXqolT0gfs9maDT9cpFoG4Z4IgOViReu431My4htldHWBO5 +XNsIrXTX1rVSYvWjDaFvZReutoU0pd+0bQesgPb9NYx6I9en8oFvahHq+/i1xbxAwRdzUVcG vVwBD4ckpztjhmOMRWYIPFg5GUn0JOzptjjf11nwqwfn0YqgFUKivfI48zyZdFblVRTRIarF1 DdsZZ1jacLASovPfnzO1KvOVBqKeFMt0I/YbbSgGsuiFPG/Jt4qDZoXVetWdtelRlKHc= Received-SPF: none client-ip=217.72.192.74; envelope-from=jean@abou-samra.fr; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:21180 Archived-At: 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? Thanks, Jean