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 Subject: Scheme+ version 3.0 Date: Wed, 10 Aug 2022 15:15:37 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35613"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Wed Aug 10 15:42:37 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 1oLlym-00096W-GQ for guile-user@m.gmane-mx.org; Wed, 10 Aug 2022 15:42:36 +0200 Original-Received: from localhost ([::1]:42164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLlyh-0000GG-GQ for guile-user@m.gmane-mx.org; Wed, 10 Aug 2022 09:42:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53492) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLlYv-0002PV-C7 for guile-user@gnu.org; Wed, 10 Aug 2022 09:15:54 -0400 Original-Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]:42816) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLlYt-0003kh-Ec for guile-user@gnu.org; Wed, 10 Aug 2022 09:15:53 -0400 Original-Received: by mail-lf1-x12c.google.com with SMTP id z6so13749971lfu.9 for ; Wed, 10 Aug 2022 06:15:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc; bh=m7HAZvA6MENQx4tgaxuofVqrXngkiTvmTKQ6+FFoB0U=; b=H6qE0J4wYuBWor02WSZ5X7zZKOOg87diUG4nrOdwusYKDK9gfeWBNTRVs6u7+srwRQ vuNxktpyhIl7BrMzZYxjCva2VyDPcwvWHhKZmVYnOfpPz4EXs/sg5D9wbmV9foiW65Be LSEYkq2759oAsNJy3uY25EXKWIUxhT3bm7l8M56XR5vT6BRZPc0XJDTZ2+GsPRQFx+FL 1Mc2AlhWpzrpgnzjvMmL2JQaVTfpUuzNc6JdAJOapLZNlghjojDlPZ+Gjt2CAlf4BVR8 ELqeaZiwU2jj0+V2N7/Algc3VaUnhYCPyWd5dyHK9X4fObF4bs3K62eEK4Ly+8WG8zrx 57rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc; bh=m7HAZvA6MENQx4tgaxuofVqrXngkiTvmTKQ6+FFoB0U=; b=j/ocgbC1W7zQgO0VEkQUCszj0+n4Rnk05b00HURXH6uAOCbTYte6u1YG65jQYbfaMJ heqAAn/FcTqdDWs2GvOx5TyW4hS9NK3251ojGOurp7JH/xfYhNJA3IeWGwqWFWeeQD9H Nolj3GDbf9x54lUqIBSR0qb5ILMDuu3ITzstDWR3Qiy4tkVrdPXwJGZUzTKRXxATVddo QapdXm3NEjmRdVdBN22NX3UeBmPIGNSLSr7GvOv2/Xgu6AQCdpCDLSPu6+ROuw7Mnrdz SievMoHojasqyH+MTnf51pjNmph5YIBCl8q4C9SD1pNjKVz5XtxF2VAfrN246lUF9XHK tM8g== X-Gm-Message-State: ACgBeo0K64FZAXDAOBV2F43px67vBOsQbkGSg+6loeG+TCQZTfrK6deQ Z1UKUnPqPisDCPrWOrOk+dBGjVBdK5HCFeZZhNk0VRDA6Ak= X-Google-Smtp-Source: AA6agR5kxP4KcuIItG2Qwu+gM/NjRU6RRRjepzNOvge4DBW7SM6EY9KgTE0pfZHlb0uWkzI/iDua5KZ329myVMp0Jkw= X-Received: by 2002:a05:6512:1319:b0:482:b8ce:a278 with SMTP id x25-20020a056512131900b00482b8cea278mr9954932lfu.8.1660137348916; Wed, 10 Aug 2022 06:15:48 -0700 (PDT) Received-SPF: pass client-ip=2a00:1450:4864:20::12c; envelope-from=damien.mattei@gmail.com; helo=mail-lf1-x12c.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_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-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:18511 Archived-At: It's a minor upgrade of Scheme+ available for Guile Scheme. TL;DR: Scheme+ is an extension of the syntax of the Scheme language. Scheme+ makes it easy the assignment of Scheme objects in infix (works also in prefix) notation with a few new operators =E2=86=90 (or <-), [ ],=E2=A5=86 (or <+) = . https://damien-mattei.github.io/Scheme-PLUS-for-Guile/Scheme+io.html and soon for Chicken and Sagittarius Scheme because it is easy to port it when SRFI-105 is already implemented for the Scheme, ports for other Scheme implementation will be more hard. already for Racket too: https://damien-mattei.github.io/Scheme-PLUS-for-Racket/Scheme+io.html I give too some examples of Scheme+ for Guile in real conditions: https://github.com/damien-mattei/library-FunctProg/blob/master/guile/logiki= %2B.scm#L1978 A Petrick's method implementation: https://github.com/damien-mattei/library-FunctProg/blob/master/guile/logiki= %2B.scm#L2239 A Quine - Mc Cluskey's implementation: https://github.com/damien-mattei/library-FunctProg/blob/master/guile/logiki= %2B.scm#L2177 (cnf-infix-symb '{A =E2=8A=95 B =E2=8A=95 Ci}) '((=C2=ACA =E2=88=A8 B =E2=88=A8 =C2=ACCi) =E2=88=A7 (=C2=ACA =E2=88=A8 =C2= =ACB =E2=88=A8 Ci) =E2=88=A7 (A =E2=88=A8 =C2=ACB =E2=88=A8 =C2=ACCi) =E2= =88=A7 (A =E2=88=A8 B =E2=88=A8 Ci)) (infix-symb-bool-min-dnf '{{(not a) and (not b) and (not c) and (not d)} or {(not a) and (not b) and (not c) and d} or {(not a) and (not b) and c and (not d)} or {(not a) and b and (not c) and d} or {(not a) and b and c and (not d)} or {(not a) and b and c and d} or {a and (not b) and (not c) and (not d)} or {a and (not b) and (not c) and d} or {a and (not b) and c and (not d)} or {c and (not d)}} ) ((a=CC=85 =C2=B7 b =C2=B7 d) =E2=9E=95 (b=CC=85 =C2=B7 c=CC=85) =E2=9E=95 (= c =C2=B7 d=CC=85)) Damien