From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Chris Vine Newsgroups: gmane.lisp.guile.user Subject: Re: "Missing" libraries/concepts found in other languages/ecosystems? Date: Sat, 11 Jul 2020 11:14:00 +0100 Message-ID: <20200711111400.a4f538669d375d5714cad3f1@gmail.com> References: <20200710112109.b2ffa630699452541835924b@gmail.com> <14a24bd8-2664-c7bf-eff8-ca3f4e068ef8@posteo.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8609"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sat Jul 11 12:14:39 2020 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 1juCWk-00027q-Bd for guile-user@m.gmane-mx.org; Sat, 11 Jul 2020 12:14:38 +0200 Original-Received: from localhost ([::1]:47012 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juCWj-0004Tm-Dr for guile-user@m.gmane-mx.org; Sat, 11 Jul 2020 06:14:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44474) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juCWR-0004Su-DZ for guile-user@gnu.org; Sat, 11 Jul 2020 06:14:19 -0400 Original-Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:33771) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juCWP-0008UV-R1 for guile-user@gnu.org; Sat, 11 Jul 2020 06:14:19 -0400 Original-Received: by mail-wm1-x336.google.com with SMTP id a6so10096277wmm.0 for ; Sat, 11 Jul 2020 03:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=arummn+UNHapMeD2h8ChfOeQ0hqZ7qycRvEl9CM7e3Q=; b=lp1oYPMED7FovgmmbMOBC+EmOZSKea47tYHwkMkn731Bb7qgpDZoIDd/7HDh3vSyJX 2h48TkqaVaMzvjNAoVTaUbEIYTyBU8eN5OGLHhQn4lB9DgDvuTgJMg+X1FdQErktUSjd ROrGTFH8C2uQzmcZ6cW2PXCYx0liu8HwmNj6pV5uAWBF/PwO1d5/ngHCTsFUGCPR3yyl 4qbfv7ihkDx++ibyRjU3xIjuru/T7R5mheD7aaSt5Rv2RWv2jNv2cM8zHgQrpmnNYPoJ XOxe3qKwtmF/3wkSqwhdPMEJNU9d3wLfQ9GiYRjq2F505sCHmrOXk4lClHHmLf+eXgyH qgZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=arummn+UNHapMeD2h8ChfOeQ0hqZ7qycRvEl9CM7e3Q=; b=CNVaF/OMtd8701kuPjVOxofhieaZpexMU+HbwMOuiZY6KxYgmxvT2VAmCSVAirJDPk quFPajFFwuP3eKjE69C+DSMkLnUOGcRfO6cgeSKKOUnzOnCEjawn546guuynJC0jLIDr +hJCfupvf9I8wLv+ghqmtkvRgcDSWZO71MGbLHKwMc5ErqoPyR8EMNMntzSiiANl+Vop p7CHTd29bdtJ/hxcBvVxwRu3M5a13UkTxOc7tdMbWTrB13pyZyvKqTLBU838gnogpQDY ZBaufupmfiRCPxp2jl0VwgkjYHWoyyGcJkqiR4HcNqtLLhmv5oGmz8s0i+ZLJOVXWMlI H6SQ== X-Gm-Message-State: AOAM532Z1xy7SmRegnQ/D5AviYl9liGvhLiKUUMs/1lAEbgjjEx8fkQI MecIJGrxvd+8ICXjQ4OvDl7DSG01 X-Google-Smtp-Source: ABdhPJwWQeBrU1cMJOSGQrvvtLya0AGOG60+hpmiIT+CCgaWr7IXxjKZy2YsgyJm8vo4jzwGCiFv6Q== X-Received: by 2002:a1c:1b0d:: with SMTP id b13mr8979802wmb.169.1594462456321; Sat, 11 Jul 2020 03:14:16 -0700 (PDT) Original-Received: from dell.homenet ([2002:545d:25cc:10:e7f1:8e2b:7f7c:f6fe]) by smtp.gmail.com with ESMTPSA id y7sm13875333wrt.11.2020.07.11.03.14.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 03:14:15 -0700 (PDT) Original-Received: from dell.homenet (localhost [127.0.0.1]) by dell.homenet (Postfix) with SMTP id 89F094241D7 for ; Sat, 11 Jul 2020 11:14:00 +0100 (BST) In-Reply-To: X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=vine35792468@gmail.com; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -7 X-Spam_score: -0.8 X-Spam_bar: / X-Spam_report: (-0.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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, PDS_OTHER_BAD_TLD=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 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:16662 Archived-At: On Sat, 11 Jul 2020 02:34:22 +0200 Zelphir Kaltstahl wrote: > The comments about exception handling also reminded me of the following > blog post: > > https://blog.sulami.xyz/posts/common-lisp-restarts/ > > Pretty cool concept as well. > > If there anything like it in Guile or is something like it possible > (probably, right?)? I think common lisp restarts are by and large useless. They rely on the assumption that the caller of a procedure which throws knows better how to handle an exception arising in that procedure than the procedure itself. That is rarely the case. Usually the code at the site of the error should do what it can to remedy the problem and then (if it cannot be fully rectified) throw an exception which unwinds the stack, for the exception to be picked up elsewhere. That is how most exception systems work. Scheme's continuable exceptions are analogous to restarts (albeit only having the exception site as their destination) and suffer from the same problem in my view. The only place I have seen restarts used in action are in building REPLs.