From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Linus_Bj=C3=B6rnstam?= Newsgroups: gmane.lisp.guile.devel Subject: =?UTF-8?Q?[Patch]_definitions_in_when, _unless, _do_as_well_as_in_cond-_an?= =?UTF-8?Q?d_case-clauses?= Date: Wed, 16 Jun 2021 21:11:11 +0200 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=6437c974afbd43c5b0b4dad09d1891dd Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20206"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Cyrus-JMAP/3.5.0-alpha0-526-gf020ecf851-fm-20210616.001-gf020ecf8 To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Wed Jun 16 21:13:46 2021 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 1ltayu-00050U-Ai for guile-devel@m.gmane-mx.org; Wed, 16 Jun 2021 21:13:44 +0200 Original-Received: from localhost ([::1]:45580 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ltayt-0002OL-2F for guile-devel@m.gmane-mx.org; Wed, 16 Jun 2021 15:13:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltawz-0000ug-9P for guile-devel@gnu.org; Wed, 16 Jun 2021 15:11:46 -0400 Original-Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:40253) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltawu-0006Xk-Kv for guile-devel@gnu.org; Wed, 16 Jun 2021 15:11:43 -0400 Original-Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 495CD16AA for ; Wed, 16 Jun 2021 15:11:33 -0400 (EDT) Original-Received: from imap42 ([10.202.2.92]) by compute1.internal (MEProxy); Wed, 16 Jun 2021 15:11:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=veryfast.biz; h= mime-version:message-id:date:from:to:subject:content-type; s= fm2; bh=Uf4Dg4JlTRsIaSvFqjrqARrCLW94qNFtWGnWNv5PIHg=; b=vvAS5Zjj YMec4UC6+jM6Ff8qDWCOk9xn8KtWa8Kh9AfIJz223n1t4/I86YlYnTLUhWWt2Uz1 a4QUbk9dVU9YQMxa1LHwLgY3I8PoXFJQi5eWEWCuQ883QXXMZZgXdO8uo42tFL8N eU61xAEsWTa81YqW6Xdi4bj/qFHXX3io3tkZEOjI2Xox4pIGCR7Gp2B3iNrN6rtp pG4c1VKPbAyblvYj/GC6X7DlNJYKSXiAaeZ+h7SuBFRrdaXB8L3Gvl4BYIpFHw2n 58ZY3KMny9yRv1Lhdt8wEAUxIsGKskXNSVH4oIToPFi4TL+RrbDJ25xjzhDRYRi5 745r4gwnZnBeAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=Uf4Dg4JlTRsIaSvFqjrqARrCLW94q NFtWGnWNv5PIHg=; b=SdjUkCrcJDm3QPMq7oSsaINLal+PEeSZ4nO0oiVQJWhc0 Hy0IU9URzGbW8fp7TGUQDq9B5OWexfxrTBldtQvoMsQkqJxoP/hVNpDkHxP1ubNT dWoYn2i/QD6SxL664hr18dLIAQRZC3xavL7RPv7ZWCnwTJefELrO/seTOkOYR5nz m5fJqG+dLNWok8Hba4BpXHmkBv2IP9lXQDWQUkrqZzhqMemF+/ZJkohkfNs7BmEU updYkwtYBRNxqW0TLkw9/n5Ea5S09xaBHTE+pElbbY72cKpRE8NOcfX0v8lX6CAa NFbAdn4h1agHDtI2QlPCyPwkrL3PstGZIQ9N5EnOw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfedvledguddviecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgesmhdtre erreerjeenucfhrhhomhepnfhinhhushgpuehjnphrnhhsthgrmhcuoehlihhnuhhsrdgs jhhorhhnshhtrghmsehvvghrhihfrghsthdrsghiiieqnecuggftrfgrthhtvghrnhepie fhteeggfevfefggeegieffueelieeiheeuheelffeikeefgfefveejfffftddunecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhhinhhushdrsg hjohhrnhhsthgrmhesvhgvrhihfhgrshhtrdgsihii X-ME-Proxy: Original-Received: by mailuser.nyi.internal (Postfix, from userid 501) id 90FC33100062; Wed, 16 Jun 2021 15:11:32 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Received-SPF: pass client-ip=64.147.123.24; envelope-from=linus.bjornstam@veryfast.biz; helo=wout1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.23 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:20781 Archived-At: --6437c974afbd43c5b0b4dad09d1891dd Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi there! This patch updates some derived conditional forms (and do and and-let*) = to support definitions in expression context. Meaning it makes this vali= d code: (cond=20 ((pred? arg)=20 (define a (something arg)) (when (error-case a) (error "a is broken")) (define b (something2 a)) (when (=3D 3 *log-level*) (display "logging something1 and 2 as successful")) (define c (something3 b a)) (when (odd? c) (error "something went wrong in something3")) c) (else=20 ;;chosen by fair dice roll. Guaranteed to be random 4))) While awful, is sometimes what the world makes us do.=20 The change means cond, case, when and unless behaves like it does in rac= ket. Do was below case, so I changed that as well, and will actually bec= ome yet another way guile is superior to racket.=20 I did also change the documentation, but I learned english by watching B= everly Hills cop, so that might need some fine touches by a capable engl= ish speaker. =20 Best regards Linus Bj=C3=B6rnstam --6437c974afbd43c5b0b4dad09d1891dd Content-Disposition: attachment;filename="0001-Allow-definitions-in-derived-conditional-forms.patch" Content-Type: text/x-patch; name="0001-Allow-definitions-in-derived-conditional-forms.patch" Content-Transfer-Encoding: BASE64 RnJvbSA3YWY5NjE2MmJmNTMxYjcwZTY2MTcwODY0Y2Q1MzYwMzJiMWM4OWM3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMaW51cyA8Ympvcm5zdGFtLmxpbnVzQGZhc3RtYWls LnNlPgpEYXRlOiBXZWQsIDE2IEp1biAyMDIxIDIwOjQ3OjQxICswMjAwClN1YmplY3Q6IFtQ QVRDSF0gQWxsb3cgZGVmaW5pdGlvbnMgaW4gZGVyaXZlZCBjb25kaXRpb25hbCBmb3JtcwoK VGhpcyBhbGxvd3MgZGVmaW5pdGlvbnMgaW4gdGhlIGJvZGllcyBvZiB3aGVuLCB1bmxlc3Ms IGRvLCBhbmQKIGFuZC1sZXQqLiBJdCBhbHNvIGFkZHMgc3VwcG9ydCBmb3IgZGVmaW5pdGlv bnMgaW4gY29uZC0gYW5kCmNhc2UtY2xhdXNlcy4KCiAqIGRvYy9yZWYvYXBpLWNvbnRyb2wu dGV4aSAod2hlbiwgdW5sZXNzLCBjb25kLCBjYXNlKTogdXBkYXRlCiAgIGRvY3VtZW50YXRp b24gdG8gcmVmbGVjdCBjaGFuZ2VzLgogKiBtb2R1bGUvaWNlLTkvYW5kLWxldC1zdGFyLnNj bTogQ2hhbmdlZCAoYmVnaW4gLi4uKSB0byAobGV0ICgpIC4uLikKICogbW9kdWxlL2ljZS05 L2Jvb3QtOS5zY20gKHdoZW4sIHVubGVzcywgY29uZCwgY2FzZSwgZG8pOiBjaGFuZ2VkCiAg IChiZWdpbiAuLi4pIHRvIChsZXQgKCkgLi4uKQotLS0KIGRvYy9yZWYvYXBpLWNvbnRyb2wu dGV4aSAgICAgIHwgMTAgKysrKystLS0tLQogbW9kdWxlL2ljZS05L2FuZC1sZXQtc3Rhci5z Y20gfCAgNiArKystLS0KIG1vZHVsZS9pY2UtOS9ib290LTkuc2NtICAgICAgIHwgMTIgKysr KysrLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDE0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9yZWYvYXBpLWNvbnRyb2wudGV4aSBiL2RvYy9y ZWYvYXBpLWNvbnRyb2wudGV4aQppbmRleCA1ZGY1MzQ0YzUuLmVhYTJiNGRiZiAxMDA2NDQK LS0tIGEvZG9jL3JlZi9hcGktY29udHJvbC50ZXhpCisrKyBiL2RvYy9yZWYvYXBpLWNvbnRy b2wudGV4aQpAQCAtMTUyLDEwICsxNTIsMTAgQEAgZG9jdW1lbnRhdGlvbjoKIAogQGV4YW1w bGUKIChkZWZpbmUtc3ludGF4LXJ1bGUgKHdoZW4gdGVzdCBzdG10IHN0bXQqIC4uLikKLSAg KGlmIHRlc3QgKGJlZ2luIHN0bXQgc3RtdCogLi4uKSkpCisgIChpZiB0ZXN0IChsZXQgKCkg c3RtdCBzdG10KiAuLi4pKSkKIAogKGRlZmluZS1zeW50YXgtcnVsZSAodW5sZXNzIGNvbmRp dGlvbiBzdG10IHN0bXQqIC4uLikKLSAgKGlmIChub3QgdGVzdCkgKGJlZ2luIHN0bXQgc3Rt dCogLi4uKSkpCisgIChpZiAobm90IHRlc3QpIChsZXQgKCkgc3RtdCBzdG10KiAuLi4pKSkK IEBlbmQgZXhhbXBsZQogCiBUaGF0IGlzIHRvIHNheSwgQGNvZGV7d2hlbn0gZXZhbHVhdGVz IGl0cyBjb25zZXF1ZW50IHN0YXRlbWVudHMgaW4gb3JkZXIKQEAgLTE2NywxMSArMTY3LDEx IEBAIHN0YXRlbWVudHMgaWYgQHZhcnt0ZXN0fSBpcyBmYWxzZS4KIEVhY2ggQGNvZGV7Y29u ZH0tY2xhdXNlIG11c3QgbG9vayBsaWtlIHRoaXM6CiAKIEBsaXNwCi0oQHZhcnt0ZXN0fSBA dmFye2V4cHJlc3Npb259IEBkb3Rze30pCisoQHZhcnt0ZXN0fSBAdmFye2V4cHJlc3Npb24t b3ItZGVmaW5pdGlvbn0gQGRvdHN7fSkKIEBlbmQgbGlzcAogCi13aGVyZSBAdmFye3Rlc3R9 IGFuZCBAdmFye2V4cHJlc3Npb259IGFyZSBhcmJpdHJhcnkgZXhwcmVzc2lvbnMsIG9yIGxp a2UKLXRoaXMKK3doZXJlIEB2YXJ7dGVzdH0gaXMgYW4gYXJiaXRyYXJ5IGV4cHJlc3Npb24s IGFuZCBAdmFye2V4cHJlc3Npb24tb3ItZGVmaW5pdGlvbn0KK2lzIGFuIGFyYml0cmFyeSBl eHByZXNzaW9uIG9yIGEgZGVmaW5pdGlvbiwgbGlrZSBAY29kZXtkZWZpbmV9LgogCiBAbGlz cAogKEB2YXJ7dGVzdH0gPT4gQHZhcntleHByZXNzaW9ufSkKZGlmZiAtLWdpdCBhL21vZHVs ZS9pY2UtOS9hbmQtbGV0LXN0YXIuc2NtIGIvbW9kdWxlL2ljZS05L2FuZC1sZXQtc3Rhci5z Y20KaW5kZXggMmQ1M2ZmMzg0Li45NDI3YzE3MzMgMTAwNjQ0Ci0tLSBhL21vZHVsZS9pY2Ut OS9hbmQtbGV0LXN0YXIuc2NtCisrKyBiL21vZHVsZS9pY2UtOS9hbmQtbGV0LXN0YXIuc2Nt CkBAIC01MywxMiArNTMsMTIgQEAKICAgICAgICgoXyBvcmlnLWZvcm0gKCh2YXIgZXhwcikp IC4gYm9keSkKICAgICAgICAoaWRlbnRpZmllcj8gIyd2YXIpCiAgICAgICAgIycobGV0ICgo dmFyIGV4cHIpKQotICAgICAgICAgICAoYW5kIHZhciAoYmVnaW4gLiBib2R5KSkpKQorICAg ICAgICAgICAoYW5kIHZhciAobGV0ICgpIC4gYm9keSkpKSkKICAgICAgICgoXyBvcmlnLWZv cm0gKChleHByKSkgLiBib2R5KQotICAgICAgICMnKGFuZCBleHByIChiZWdpbiAuIGJvZHkp KSkKKyAgICAgICAjJyhhbmQgZXhwciAobGV0ICgpIC4gYm9keSkpKQogICAgICAgKChfIG9y aWctZm9ybSAodmFyKSAuIGJvZHkpCiAgICAgICAgKGlkZW50aWZpZXI/ICMndmFyKQotICAg ICAgICMnKGFuZCB2YXIgKGJlZ2luIC4gYm9keSkpKQorICAgICAgICMnKGFuZCB2YXIgKGxl dCAoKSAuIGJvZHkpKSkKIAogICAgICAgOzsgSGFuZGxlIGJhZCBjbGF1c2VzLgogICAgICAg KChfIG9yaWctZm9ybSAoYmFkLWNsYXVzZSAuIHJlc3QpIC4gYm9keSkKZGlmZiAtLWdpdCBh L21vZHVsZS9pY2UtOS9ib290LTkuc2NtIGIvbW9kdWxlL2ljZS05L2Jvb3QtOS5zY20KaW5k ZXggMjMyM2IxZWM1Li42NzVmMzg2MzMgMTAwNjQ0Ci0tLSBhL21vZHVsZS9pY2UtOS9ib290 LTkuc2NtCisrKyBiL21vZHVsZS9pY2UtOS9ib290LTkuc2NtCkBAIC00MTcsMTAgKzQxNywx MCBAQCBJZiByZXR1cm5pbmcgZWFybHksIHJldHVybiB0aGUgcmV0dXJuIHZhbHVlIG9mIEYu IgogKGluY2x1ZGUtZnJvbS1wYXRoICJpY2UtOS9xdWFzaXN5bnRheCIpCiAKIChkZWZpbmUt c3ludGF4LXJ1bGUgKHdoZW4gdGVzdCBzdG10IHN0bXQqIC4uLikKLSAgKGlmIHRlc3QgKGJl Z2luIHN0bXQgc3RtdCogLi4uKSkpCisgIChpZiB0ZXN0IChsZXQgKCkgc3RtdCBzdG10KiAu Li4pKSkKIAogKGRlZmluZS1zeW50YXgtcnVsZSAodW5sZXNzIHRlc3Qgc3RtdCBzdG10KiAu Li4pCi0gIChpZiAobm90IHRlc3QpIChiZWdpbiBzdG10IHN0bXQqIC4uLikpKQorICAoaWYg KG5vdCB0ZXN0KSAobGV0ICgpIHN0bXQgc3RtdCogLi4uKSkpCiAKIChkZWZpbmUtc3ludGF4 IGVsc2UKICAgKGxhbWJkYSAoeCkKQEAgLTQ2MSw3ICs0NjEsNyBAQCBJZiByZXR1cm5pbmcg ZWFybHksIHJldHVybiB0aGUgcmV0dXJuIHZhbHVlIG9mIEYuIgogICAgICAgICAgICAgICAg ICAgICAgICAgICgoZWxzZSBlIGUqIC4uLikKICAgICAgICAgICAgICAgICAgICAgICAgICAg KGxhbWJkYSAodGFpbCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKG51bGw/ IHRhaWwpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMnKChiZWdpbiBlIGUq IC4uLikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMnKChsZXQgKCkgZSBl KiAuLi4pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmFkLWNsYXVzZSAi ZWxzZSBtdXN0IGJlIHRoZSBsYXN0IGNsYXVzZSIpKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgKChlbHNlIC4gXykgKGJhZC1jbGF1c2UpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICgodGVzdCA9PiByZWNlaXZlcikKQEAgLTQ4OCw3ICs0ODgsNyBAQCBJZiByZXR1cm5p bmcgZWFybHksIHJldHVybiB0aGUgcmV0dXJuIHZhbHVlIG9mIEYuIgogICAgICAgICAgICAg ICAgICAgICAgICAgICgodGVzdCBlIGUqIC4uLikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGxhbWJkYSAodGFpbCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYCgoaWYg dGVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmVnaW4gZSBlKiAu Li4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKCkgZSBlKiAu Li4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMsQHRhaWwpKSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgKF8gKGJhZC1jbGF1c2UpKSkpCiAgICAgICAgICAg ICAgICAgICAgICAjJyhjbGF1c2UgY2xhdXNlcyAuLi4pKSkpKSkpKQpAQCAtNTM0LDcgKzUz NCw3IEBAIElmIHJldHVybmluZyBlYXJseSwgcmV0dXJuIHRoZSByZXR1cm4gdmFsdWUgb2Yg Ri4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg9PiByZWNlaXZlciAuLi4p CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYWQtY2xhdXNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAid3JvbmcgbnVtYmVyIG9mIHJlY2VpdmVyIGV4 cHJlc3Npb25zIikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChlIGUqIC4u LikgIycoYmVnaW4gZSBlKiAuLi4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgoZSBlKiAuLi4pICMnKGxldCAoKSBlIGUqIC4uLikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKF8gKGJhZC1jbGF1c2UpKSkpKQogICAgICAgICAgICAgICAgICAgICAg ICAgIChzeW50YXgtY2FzZSAjJ3Rlc3QgKGVsc2UpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoKGRhdHVtcyAuLi4pCkBAIC01ODUsNyArNTg1LDcgQEAgSWYgcmV0dXJuaW5nIGVh cmx5LCByZXR1cm4gdGhlIHJldHVybiB2YWx1ZSBvZiBGLiIKICAgICAgICAgICAgICAgIChi ZWdpbgogICAgICAgICAgICAgICAgICAoaWYgI2YgI2YpCiAgICAgICAgICAgICAgICAgIGV4 cHIgLi4uKQotICAgICAgICAgICAgICAgKGJlZ2luCisgICAgICAgICAgICAgICAobGV0ICgp CiAgICAgICAgICAgICAgICAgIGNvbW1hbmQKICAgICAgICAgICAgICAgICAgLi4uCiAgICAg ICAgICAgICAgICAgIChsb29wIChkbyAic3RlcCIgdmFyIHN0ZXAgLi4uKQotLSAKMi4yNS4x Cgo= --6437c974afbd43c5b0b4dad09d1891dd--