From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mikael Djurfeldt Newsgroups: gmane.lisp.guile.user,gmane.lisp.guile.devel Subject: Re: Keywords in GOOPS methods v2 Date: Sun, 24 Nov 2024 15:43:01 +0100 Message-ID: References: Reply-To: mikael@djurfeldt.com 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="6754"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Jan Nieuwenhuizen , Tomas Volf <~@wolfsden.cz>, Maxime Devos , David Pirotte To: guile-user , guile-devel , =?UTF-8?Q?Ludovic_Court=C3=A8s?= , Andy Wingo Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun Nov 24 15:43:37 2024 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 1tFDpp-0001Zx-3D for guile-user@m.gmane-mx.org; Sun, 24 Nov 2024 15:43:37 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tFDpg-0006Ar-Af; Sun, 24 Nov 2024 09:43:29 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tFDpX-0006AR-7s; Sun, 24 Nov 2024 09:43:19 -0500 Original-Received: from mail-vs1-f52.google.com ([209.85.217.52]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tFDpV-0005Q9-Ft; Sun, 24 Nov 2024 09:43:18 -0500 Original-Received: by mail-vs1-f52.google.com with SMTP id ada2fe7eead31-4aefdbf8134so424692137.2; Sun, 24 Nov 2024 06:43:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732459392; x=1733064192; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RlyyCpnZdMcCKoUbuJ2qmiZTt5to4p1ilpROQzefmrw=; b=ODQdDlQrYgmlKUEHHoQZQi66KG6sOu1ajkwo+7iBLqkV6ALJ2Pn9Zdj0htNFW03OYB cBx4IJO7AVq5fvII5E2QXBDf106srpYhh+g4HEsg/8hNw9LtrpLf9iW+ixgnZRvtcjcL eQ3+6Usd8pMur2TjNAKTByPjR81fcGwvI0gCqeP407uvv55tZ22nvMXwebeJPQCBwWwb 387ymXVb+Zhzz5ewPguf39R6otrJEQKTeECNfleuh5Z3CGLisGYO+EBeMQsTH3ar4/mI 1LVneG9KsJaWPCgxAj4v5089DgwqHil1QEInouCGIEmD6mKDQ7eMV4ClUWjNGh5vMEQw zD0g== X-Forwarded-Encrypted: i=1; AJvYcCUEyeqzLmB1Pwr4kzu1nJClROIKyJOd7dQL4jqXRdtMajYvgPXlfnzgIJhZ+rgDMdVxdUL5nT1wRGL5Bg==@gnu.org, AJvYcCW0LJrSmpE3dMjdeqIb/DKIIOgJ0JmZWfu4KyIt/DsEkHYZx01BpF52dRNNrYQxmtDf1rE/SQ==@gnu.org X-Gm-Message-State: AOJu0YxJqGGvYy+5WfECAbCQRiRFLUayc/OeKM22W7J1l6VetESceTv/ 4w7DYv4dfoOwbZ293jevdtgdTKFoc1D1qMFAlajSqHFspl65CKIPrE+5P/JF+fYd/6clnWKvlpv sxCoRqM0XZhau58YIjdBZbcVyDvQp4A== X-Gm-Gg: ASbGncsaqv/JgkUFwAa9IcQs+zJlAfG9b6H5Wvh0KyTLheDuAf5f0A0L89xG008GReL XGNlxAxag0sB4raJKel7LoMAF3F0hMtKX X-Google-Smtp-Source: AGHT+IFXOwmQucNNuat3dxrmwssGgIo7241NXcLZrFe9isoF0dL+bsa5gHvky6dk9xGw6NpLxCfnTAIcASFfiK+92E4= X-Received: by 2002:a05:6102:1606:b0:4af:2578:f370 with SMTP id ada2fe7eead31-4af2579006amr436475137.16.1732459392402; Sun, 24 Nov 2024 06:43:12 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=209.85.217.52; envelope-from=mdjurfeldt@gmail.com; helo=mail-vs1-f52.google.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, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.93, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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-bounces+guile-user=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.user:19921 gmane.lisp.guile.devel:22795 Archived-At: Guile maintainers might want to consider if we should time this kind of change in the API with a particular release. For my part, I think we could just add it. On Sun, Nov 24, 2024 at 3:40=E2=80=AFPM Mikael Djurfeldt wrote: > This is my second attempt at introducing keyword aware methods in GOOPS. > > I was split but finally decided to go with keeping keyword non-aware > define-method and method and introducing keyword aware new syntax method* > and define-method*. Arguments are: > > 1. It preserves simplicity in method and define-method such that other > implementations (like guile-hoot) can choose to only define these (and > possibly provide something like Mark's macro doe define-method*). > 2. It aligns with lambda* and define*. > 3. It is somewhat better at protecting backward compatibility. > 4. It preserves the option to also in the internal implementation use > something like Mark's macro once this gives equal performance. > > I've also committed these changes to > > https://github.com/mdjurfeldt/guile/tree/goops-keyword > > I'm going to start documenting this now and will then commit it to the > Guile repo. > > Best regards, > Mikael > >