From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Damien Mattei Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.devel Subject: Re: expression and definition context in Scheme Date: Thu, 1 Sep 2022 22:21:09 +0200 Message-ID: References: <2ed55f9c-640c-2dea-007a-51407845068d@telenet.be> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22517"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?UTF-8?Q?Linus_Bj=C3=B6rnstam?= , guile-user , guile-devel To: Maxime Devos Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Thu Sep 01 22:21:59 2022 Return-path: Envelope-to: guile-user@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 1oTqhL-0005aA-NG for guile-user@m.gmane-mx.org; Thu, 01 Sep 2022 22:21:59 +0200 Original-Received: from localhost ([::1]:37664 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oTqhK-0000nT-2X for guile-user@m.gmane-mx.org; Thu, 01 Sep 2022 16:21:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58882) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oTqgs-0000n0-7K; Thu, 01 Sep 2022 16:21:30 -0400 Original-Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]:39763) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oTqgm-0007Qa-On; Thu, 01 Sep 2022 16:21:29 -0400 Original-Received: by mail-lf1-x133.google.com with SMTP id p16so368594lfd.6; Thu, 01 Sep 2022 13:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=RbMJfBFuv7KANk8PXVqBer08z2vW6f7tqh1UPSbKC98=; b=JeHEZk2LQNqY0uI4wS/ufbpP/ofWbaksfXuoHlTCorbUy9vfIedHt6yTBsAkkrMAKZ Asze4rkMvfTjJBwgZpfFbME/DF1t4vDbJfQjDvCsbzwmABd1N7q0JLRw/B2TqMTmL0B+ gFX3fk+AZiKXuy2icLPR3ujFHumNMQGEK3hqSFc0Pys9pd7TQp+w0XsUPUrjbC+WuauL 0dR++kqyQECluUSvx9A5j+e9Vy1AKXEeuyvuxfm13hgU4XnpoOkOFVz/CrMkGwaqZzH1 PFva6WXeh0rKVeRIMH9EqivM9t4P9OeUhsNjI7fyeXx0kbHgMgzdAIpuKPQjwpd9czA2 7w2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=RbMJfBFuv7KANk8PXVqBer08z2vW6f7tqh1UPSbKC98=; b=cwSw1HeZfqGpJv3J4lAQLolz/6K95y5amTQFiavTyhFFJifcaZnTQpexQcGPeFAwoB nKysH9Srk5wHHjtMLZe/CdCMOnbkZM6zNVLOlHcJap5IKNfckJFNPHuGWs4qygLsWJTj KKUXNIVQScWAN+yT+a/p092hJKuApnmaRTtXVxJUi53RaCLcUIsx31TPSFqAx4sx24o9 BKPIo74l+EU4/auLJJl6UQ9X44PuT1mjTDEB3syPHhwlLDvTASsUoOsSIH7qx6X2iBML kFsfq1waZT0bn+H2mfCIQEJuH2ClMNDryZ70eMYWAmk5YdE6IdyzEA7jI9uzFFK06krR z/ow== X-Gm-Message-State: ACgBeo1p8GelGV4QTna9YjRfK0la0FIgWfeBGM2OghL1D9lwtcx1xr8x zD3S9zYAN9tFtwCB1n7cnytuk6LGu33dRFIImTY= X-Google-Smtp-Source: AA6agR5Qbe3DMVlq8u6eZ+JLo0Oe0EUJ0Gxt0SNZAFv0kqNuKQWZdDHVW4AueYo2E+LCeCOiKmU9HTlW/avsdsT+1Zo= X-Received: by 2002:a05:6512:1154:b0:48b:3020:b29 with SMTP id m20-20020a056512115400b0048b30200b29mr10626118lfg.338.1662063680992; Thu, 01 Sep 2022 13:21:20 -0700 (PDT) In-Reply-To: <2ed55f9c-640c-2dea-007a-51407845068d@telenet.be> Received-SPF: pass client-ip=2a00:1450:4864:20::133; envelope-from=damien.mattei@gmail.com; helo=mail-lf1-x133.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18555 gmane.lisp.guile.devel:21340 Archived-At: On Wed, Aug 31, 2022 at 5:29 PM Maxime Devos wrote: > > On 31-08-2022 09:01, Damien Mattei wrote: > > I always try to keep compatibility with RnRS and in fact except cond > > none of when, unless, cond, case, while, and do are in standart RnRS > schem > > 'when', 'unless' and 'do' are actually RnRS, see (rnrs control). > oh your're right...i was sticked to R5RS ,time i was student... > > 'case' is also RnRS, see (rnrs base). > > However, looking at (guile)while do, 'while' is indeed non-standard. > and i had rewritten last week a 'while ... do' like in C or Pascal: https://www.tutorialspoint.com/pascal/pascal_while_do_loop.htm https://www.tutorialspoint.com/cprogramming/c_while_loop.htm in my Scheme+: ;; (define do '()) ;; (while {i < 4} ;; do ;; (display i) ;; (newline) ;; {i <- {i + 1}}) ;; 0 ;; 1 ;; 2 ;; 3 ;; $1 = #f (define-syntax while (syntax-rules (while do) ((_ pred do b1 ...) (let loop () (when pred b1 ... (loop)))))) i will have to forget it! as i want to keep compatibility with standard Scheme also but i will rewrite all with (let () ...) instead of (begin ...) unless it can cause some incompatibilities, for now , i do not see problems as "who can do more can do less"...... Regards, Damien > >