From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: User-reserved element in byte code vectors Date: Mon, 17 May 2004 18:06:12 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <20040517220612.GA6421@fencepost> References: <85ekpz5twj.fsf@junk.nocrew.org> <874qqiao9o.fsf@tc-1-100.kawasaki.gol.ne.jp> <20040515231012.GA20052@fencepost> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1084832107 24918 80.91.224.253 (17 May 2004 22:15:07 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 17 May 2004 22:15:07 +0000 (UTC) Cc: lars@nocrew.org, emacs-devel@gnu.org, rms@gnu.org, Miles Bader Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Tue May 18 00:14:57 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BPqNt-0002mB-00 for ; Tue, 18 May 2004 00:14:57 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BPqNt-00072u-00 for ; Tue, 18 May 2004 00:14:57 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BPqGa-0004Br-Uu for emacs-devel@quimby.gnus.org; Mon, 17 May 2004 18:07:24 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.34) id 1BPqG8-0004A4-DZ for emacs-devel@gnu.org; Mon, 17 May 2004 18:06:56 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.34) id 1BPqFY-0003za-75 for emacs-devel@gnu.org; Mon, 17 May 2004 18:06:54 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BPqFX-0003zQ-VG for emacs-devel@gnu.org; Mon, 17 May 2004 18:06:20 -0400 Original-Received: from miles by fencepost.gnu.org with local (Exim 4.34) id 1BPqFQ-0003Z0-T9; Mon, 17 May 2004 18:06:13 -0400 Original-To: Stefan Monnier Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.28i Blat: Foop X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:23597 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:23597 On Mon, May 17, 2004 at 12:30:05PM -0400, Stefan Monnier wrote: > > My idea is that it would say where to fit the new args around the old > > args. For instance, you might want to curry args 2 and 3. This would > > be easy if the first slot has a list saying where the curried args go. > > For instance, a list of integers saying which positions to use > > the curried args in. > > We already have a very simple way to express such things: I think the case where using `lambda' becomes annoying is when you have a variable-length arglist, which with lambda would require using &rest or something, and so do lots of run-time consing. It's probably true that at this point it's over-engineering, but perhaps Richard's stance of just leaving a single nil slot available for future exploration is reasonable. A single vector slot is not very expensive. On the other hand, I'm not sure it's really better than omitting the slot now, and later adding a `super-curry' funvec-kind that has the slot -- code that cares about funvec layout would have to be amended to deal with non-nil values of the slot anyay, so making it understand `super-curry' isn't much different, right? If Stefan's intuition proves right, and `super-curry' never gets added, then it will represent a small savings. Oh bother, I'm not sure what to do... [Well, actually since it's Richard's decision in the end, and he currently wants the slot, I'll add it unless you guys convince him it's a bad idea...] -Miles -- `The suburb is an obsolete and contradictory form of human settlement'