From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 17B6D3858D28 for ; Fri, 3 Nov 2023 23:48:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 17B6D3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 17B6D3858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699055326; cv=none; b=FwQn3qElvw+HxdJe1/2ch93rGgDqw5Q8uZ59SGAU2QyldTFFdQZosYhtuBg9SgnoZbonqG5lbr8svI+so0vR48SEZZsLmUD99hYnKaLujwYkkOXFcevQX6xcYDZufTQ86tEjgHHD9GnMZkk+WH0aY06o2hQM9vUf4XoalpTDTtU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699055326; c=relaxed/simple; bh=oTyRvpGj7Qwbwp8xLO7IWZdw2anqO8IyL1d9KDfiNG0=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=RVoueOckMWSXigPhook8CQuw5FhMG7jESkybCriqbRQxNNWytWE6+5uG0VSWV1+4tnpK8X3D3xMVO0lNVHWRHKJc9/olqHdVObiFgHJLeL7J9j1x9ZJ3w1yM6qn5q4AvZ+Mhbt6xJgnW4GVJyHVDsNCMxngWnJVwuzkVCl29Gjw= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-9c603e2354fso514364266b.1 for ; Fri, 03 Nov 2023 16:48:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699055324; x=1699660124; darn=sourceware.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oTyRvpGj7Qwbwp8xLO7IWZdw2anqO8IyL1d9KDfiNG0=; b=KBo1XolI3OmbENRZ2B6z/0sewyNi35nJbZ/tIXsQZ9eBpzPhKYcEHHRK6Nq053klls gWYga/K+ouSaxyI8z7SmYT67smj9PSKqoncHWvB+bHmJQMmQum1vOx3P2t+vwxIqK5bZ 9HjnTWEc+PMLJw093ebqwHttVUa6Ej9dMrbaa7zWhArioc7fa2PoX56yEJUDupTuAsIg UQhap961rKOV8MAw9utDbResACEhE+Yd6Ho93XcNS4k4RcEoYmFe98NRWJFRocAn6ElZ bNGFwOXpZ/5B1t771E1YBKXlK30slFuZfP607NVtz2X7MFFHRYde05ImxjQStqYMS7wD HUKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699055324; x=1699660124; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oTyRvpGj7Qwbwp8xLO7IWZdw2anqO8IyL1d9KDfiNG0=; b=oAQdrDuNCm0P+1fe+CDPIYEfUL/Ui/Mpoc1IqHh1HueYkVnO6txfsiEapvkVviKTc5 i+drMfmKnFA3FMu/8VU50KcFL7ADijnzG75trkT7IoJQ00CL5D9YkSsB+RdnEHiMIcbG tCPyqwnoXWZHaMe923RkB0AyUl6oClWKm7Jy7EsD1zZiK6cUzVccosiysJ+UdYYm1uo1 QmcVI/Zye0M6UoeMdmbYpC+mw7rAo0IWvya7revTRC8bGVavgqx3hg2GL8B+nEmETHax pRYkisn5t1OTYCXGeQFyG/Q1TDt65h8BkFktbg+8x9UfiOQQMILJW04JXyNKyc8T2UHK GmAw== X-Gm-Message-State: AOJu0Yzbd9qatecQCDGKK/jsModfOsROzJPHycVSWsCYec0NSEB0QJGg qazYtOspAu72ndCkuLQofJYo/pzUkyYSxDWoJIxqQMFT0ik= X-Google-Smtp-Source: AGHT+IFmigFRqaOr1Qf/hTlahIgN+YUKDHkAI1Td6p/A5VxqQUMpRSMkAPw8/gpf0DvjgOuA1Jbq6xLjKTvNKzq/GnM= X-Received: by 2002:a17:906:5346:b0:9dd:b919:79bf with SMTP id j6-20020a170906534600b009ddb91979bfmr1458431ejo.36.1699055323478; Fri, 03 Nov 2023 16:48:43 -0700 (PDT) MIME-Version: 1.0 References: <65a5c611-8d7a-4066-ad44-5f1a72283fd7@bothner.com> In-Reply-To: <65a5c611-8d7a-4066-ad44-5f1a72283fd7@bothner.com> From: Damien Mattei Date: Sat, 4 Nov 2023 00:48:29 +0100 Message-ID: Subject: Re: duplicate version reference - was # To: Per Bothner Cc: kawa@sourceware.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Fri, Nov 3, 2023 at 7:29=E2=80=AFPM Per Bothner wrote: > First, I think using + for vector-append is a bad idea. not part to be always defined like that > It's questionable for strings, but if + on vectors would be > better to mean vector addition - i.e. mapping + element-by-element. just to port from Python a test example as in python + is used to append ve= ctors > (Of course my exposure to APL is influencing me here.) :-) > > Second, Kawa has some half-assed support for "multi-methods": > https://www.gnu.org/software/kawa/Generic-procedures.html > That could be enhanced. sounds great, a fast test give good results: #|kawa:1|# (import (rename (scheme base) (+ orig+))) #|kawa:4|# (define + (make-procedure method: (lambda (x ::number y ::number) (orig+ x y)) #|.....5|# method: (lambda (x ::vector y ::vector) (vector-append x y)))) #|kawa:6|# (+ 2 3) 5 #|kawa:7|# (+ #(1 2) #(3 4 5)) #(1 2 3 4 5) could be enhanced for associative n-arity operator of course, the way i did it in overload procedures Damien