From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Arne Babenhauserheide Newsgroups: gmane.lisp.guile.user Subject: Re: GOOPS functional setter Date: Sat, 14 Jan 2017 18:25:22 +0100 Message-ID: <87r345mu4d.fsf@web.de> References: <871sw6g4je.fsf@dustycloud.org> <20170113205646.GB10416@tuxteam.de> <87vatie6gf.fsf@dustycloud.org> <20170114100839.GA3366@tuxteam.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Trace: blaine.gmane.org 1484414769 21112 195.159.176.226 (14 Jan 2017 17:26:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 14 Jan 2017 17:26:09 +0000 (UTC) User-Agent: mu4e 0.9.16; emacs 24.5.1 Cc: guile-user@gnu.org To: tomas@tuxteam.de Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Jan 14 18:26:06 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cSS5a-0004oT-LH for guile-user@m.gmane.org; Sat, 14 Jan 2017 18:26:02 +0100 Original-Received: from localhost ([::1]:48801 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cSS5f-0008Ai-57 for guile-user@m.gmane.org; Sat, 14 Jan 2017 12:26:07 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34621) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cSS5I-0008AR-GZ for guile-user@gnu.org; Sat, 14 Jan 2017 12:25:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cSS5E-0000iE-Ei for guile-user@gnu.org; Sat, 14 Jan 2017 12:25:44 -0500 Original-Received: from mout.web.de ([212.227.15.3]:59043) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cSS5E-0000f0-1n for guile-user@gnu.org; Sat, 14 Jan 2017 12:25:40 -0500 Original-Received: from fluss ([85.212.83.111]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MRUC0-1bzoLw3Xvk-00SjWp; Sat, 14 Jan 2017 18:25:29 +0100 In-reply-to: <20170114100839.GA3366@tuxteam.de> X-Provags-ID: V03:K0:FNCSn3dFk4iZhey1TtDaiSWXZGmdi+/FOmMLMq47oHH2bXujSGj yIyObq1foKN9FnN/l0M1/tq1KrAswXCiWb4MSNwud1agnnDdX5AM401NExGX0oGbrVWFhOS /T9lepxfNDuKuwUfFiXXi5jazjAYT3WNlKInlNcv+ZDOlpDyxaCueULF4bYwUxO5/6pJIUU NroKDbDqCdC+IdEXmFAfg== X-UI-Out-Filterresults: notjunk:1;V01:K0:XLPTTiL3Es4=:5rpXeeU0PwKsR+B6znZmvW Q7mcDRdGYxYKI1GyObNs0+HnOLYUgxcMa6S+OshBuKMdJ8ejYSwqbLRb3RW3z/8DHuGu2NDHR 78eDfB8xpHI5CmVrCBIDIRO1UOz9CAUp1e3iEkMyYNlKGc79aeg0RnpH6Jl04sqvZ1kRGgexs 3Dq5qY9cFRMj5zl3L18YctScL73ot/b40doRyoQgN9teUsp1re6ixFDHHofw3XYPBvCCUKne5 pEeR3nvPhTKfJrJu6nhEZZkOOXqoowXH9u5Qf1vBx7IWYUGmzoFRm8HXaJlPq/66QpuUZSFvV LYSndM4Q5+jdKJomNXU25SBGj2aEgRYe+PkogBorKuIR2qaTQS7hLlITUSbZX2iJG/C++NeuM vaPF31RKhXUrsMRgHuFj2FpMQKFSaxAiP3en1slt0OXowRK3MrQkRYUdi1uoD3zIb6ru2DuSc pdlqr6oGDzHKrJFu3fmKk2ifikXZC0Pp+XPEPn4zvwGMPcKYXMuGouGQrWE7Cc0Mbbc++o65z 5y1QWtocoXD9R63Y2uWhtdccGRPzDuAPOnOFGNid1FmXsqVvZq3xsq3sVS9cSVVlNfjYavyT+ AhwVgWFVhZxTaNaH7rqK1RHaXbLJjq9sYdmktoiXuovPZOhsqZwvJ6W07NXCDaiXSyqRU7JBj sDJgMxTISHotUbxah/9AZoCKavlgg9YJccaLfTBo+n5bCBjlFgaji/Odx4kVQnyWuV5sj0hJY XZb02x+xW9/62427p2uJ8ZkKGGAXmLHut8i0bou/kheajC/5lzLvBldAjtA= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.15.3 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13100 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable tomas@tuxteam.de writes: > [fset vs clone] > >> I think cloning isn't as clear; what we want is something that's the >> same as the previous instance of the object, but with one field changed. > Yes, and after having read your post I understood where you came from. > The naming wouldn't have been discovrable for me right off. =E2=80=A6 > Now I'm not trying to imply that "clone" is "more right"; actually > I believe that there are two "modes" at work here. Let me speculate > a bit: > > Perhaps from the more "strictly functional" point of view, the clone > operation is less important, because, whether the thing is cloned > behind the scenes or things are arranged by deep compiler magic and > the clone doesn't happen after all is none of our business. Not the > cloning is important, but the changed fields. In this world, the > mutating counterpart (set) doesn't even exists. Clone wouldn't be > an appropriate name here. > > - From the more "naive", "imperative" point of view, it's the clone > operation what keeps us awake: allocating memory and things. Here > "clone" is the right word, it seems. > > Perhaps what irritates me most is that "fset" is named after > an imperative operation (set) and lives in a functional world. > Or something. If I did not need a short name, I=E2=80=99d use something like slot-copy-with-changed. I had an immutable datatype in Python where I used something equivalent to (changed event #: new-value #: other-new-value) I know that this does not provide a better name by itself, but I hope it helps finding one. Best wishes, Arne =2D-=20 Unpolitisch sein hei=C3=9Ft politisch sein ohne es zu merken --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCAAGBQJYel8FAAoJEBPvjUUkA8PrHTgQAKcpAtxvA1W1UdPNigbvaWRK B0WlTQlG0H6dGfhye81MNj2ogGmBtK+eOwP6RvXxNXehuJ6UWEyYbmEXYcZ1z4sY O+Rh5vfi4WfwYHBU9UecrCJc4SPRxa9OV/vKoahT+5dclfiRQWzjaDUrb0Wqtf9R ib3VmRwVEckV1v4BhdTmYKLfM7XohKJgD9L4ypM4mNI1aPTaiPt1+WDKNYM5WLNt aLZu3hg7n8v1i035A0e54Y6I2JY4284r4BcCaS4ZrIt7wQfDhWI/XLs+VindIDQ+ lb9Wzkuj/mNiArl6rrkqXED0Wc5VEiwnq4coFCJd4m6bEgdhGoiLdTodKCXhQ6Oy 9IZfHqbNfY8fM/J8Zv/s5XbnWlWKAZFrLupjbnCNGoccyxGdPTTRTzpVuP0BslS7 rClXUivESf1mSi9M0gIabFmQVvaeqCYUvTeELEhqoTWlQmAOcXYD68G42RCt3giA SJNFO5MxfkDH3Ch1Q3KbdVtI/TfllCqV/1zJ27fJOK6PiaX8W3bDs4zJGgEh9sqh ROYOLoGPDv7NFP60lCFYFpiWiAR9u0QPiPWQLYdWSZ5yz0p1P4s26ZKRZYObONcl B/C+zd3ffYn0Jo00yv4CreG3BnxfBm92LOqOIxzDMhAturDe/tEd7d15EOmt8hAc ShNyfLROm7fDelanKHpj =O2xe -----END PGP SIGNATURE----- --=-=-=--