From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Lars Brinkhoff Newsgroups: gmane.emacs.devel Subject: Re: User-reserved element in byte code vectors Date: 06 May 2004 08:17:32 +0200 Organization: nocrew Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <85hduu3wqr.fsf@junk.nocrew.org> References: <85smepfzqo.fsf@junk.nocrew.org> <85ad0wfkms.fsf_-_@junk.nocrew.org> <85oepcdts4.fsf_-_@junk.nocrew.org> <85vfjf9s4j.fsf@junk.nocrew.org> <20040502094316.GB2836@fencepost> <85fzaiakb9.fsf@junk.nocrew.org> <20040503195701.GD21891@fencepost> <85ekpz5twj.fsf@junk.nocrew.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1083824431 11522 80.91.224.253 (6 May 2004 06:20:31 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 6 May 2004 06:20:31 +0000 (UTC) Cc: rms@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu May 06 08:20:23 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 1BLcF5-0000qq-00 for ; Thu, 06 May 2004 08:20:23 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BLcF5-0006xF-00 for ; Thu, 06 May 2004 08:20:23 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BLcDx-0002Sd-Rn for emacs-devel@quimby.gnus.org; Thu, 06 May 2004 02:19:13 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BLcDs-0002PV-3X for emacs-devel@gnu.org; Thu, 06 May 2004 02:19:08 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BLcDP-0002Ec-Qf for emacs-devel@gnu.org; Thu, 06 May 2004 02:19:06 -0400 Original-Received: from [213.242.147.30] (helo=junk.nocrew.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BLcCN-0001i5-3c; Thu, 06 May 2004 02:17:35 -0400 Original-Received: from lars by junk.nocrew.org with local (Exim 3.35 #1 (Debian)) id 1BLcCK-0006yO-00; Thu, 06 May 2004 08:17:32 +0200 Original-To: Miles Bader In-Reply-To: Original-Lines: 27 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 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:22834 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:22834 Miles Bader writes: > I'm a bit confused by how Lars is suggesting that byte-code vectors be > used for currying. It was only an idea thrown out for consideration. I'm glad it spawned some new ideas. > From the Ffuncall code-snipped he posted, I gather that he was > saying that the curried args be just a way to attach magic arguments > to an existing byte-code vector. To curry a function, you could copy the first six elements from the byte-code object and put them into a new byte-code object along with the curried arguments. I don't think that usage would be quite as bad as you envisioned (no trampoline, no consing when calling, etc), but anway, I'm not defending it as your suggestion seems much more elegant: > How about the following: If a byte-code vector's first element is > `curry', treat the remaining elements the same way my current > (normal vector) currying implementation works, otherwise treat it as > a normal byte-code function. Sounds good to me. -- Lars Brinkhoff, Services for Unix, Linux, GCC, HTTP Brinkhoff Consulting http://www.brinkhoff.se/