From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: Growable arrays? Date: Mon, 11 Jun 2012 13:25:57 +0200 Message-ID: <87zk8accoq.fsf@pobox.com> References: <87hauku0mb.fsf@fencepost.gnu.org> <87fwa2dxmh.fsf@pobox.com> <87mx4aqijf.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1339413986 26151 80.91.229.3 (11 Jun 2012 11:26:26 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 11 Jun 2012 11:26:26 +0000 (UTC) Cc: guile-devel@gnu.org To: David Kastrup Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jun 11 13:26:25 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Se2lM-0002KE-6d for guile-devel@m.gmane.org; Mon, 11 Jun 2012 13:26:24 +0200 Original-Received: from localhost ([::1]:34596 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Se2lM-00065Y-2L for guile-devel@m.gmane.org; Mon, 11 Jun 2012 07:26:24 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:48233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Se2lI-00065E-Se for guile-devel@gnu.org; Mon, 11 Jun 2012 07:26:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Se2lG-0005ia-Ru for guile-devel@gnu.org; Mon, 11 Jun 2012 07:26:20 -0400 Original-Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:36031 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Se2lC-0005hS-M3; Mon, 11 Jun 2012 07:26:14 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 7EC2D7AD6; Mon, 11 Jun 2012 07:26:11 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=hBSsIRpHLFOD6e3nKi+gt3hgCM4=; b=LsVwSS hWyKY8bMFdwAdZMy4d38b8yqrTRaUzU0ttVoY3TFXIjsAh7IyNl8czjEh6omGCTS f9qgDZMDP6iCYWfjGPqkPsiacywdxCnGYzyibjo3UHFDSpy2xTvd3Kk9kj2rIHIW 2QLcCxPM1PE4kurfFUaAqd8waOQPCf0PMqLEM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=Xjte1YR9kq6bY0xQzW+6wjZpROGn+w80 CYSk3m6CA5pWm2hWX5Zn4dPT393AAFd0rHN/DX3SiJ2W36pvGifla2+FmXclojpg SGm6Q3pfhhS1bcpxiO7v/Z683yDP3AC6+bcidg79VOveCSQbIqajG2xETvCjunnq VcC6JThDlPY= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 71FCF7AD5; Mon, 11 Jun 2012 07:26:11 -0400 (EDT) Original-Received: from badger (unknown [85.50.237.55]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 06E607AD3; Mon, 11 Jun 2012 07:25:59 -0400 (EDT) In-Reply-To: <87mx4aqijf.fsf@fencepost.gnu.org> (David Kastrup's message of "Mon, 11 Jun 2012 11:55:48 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) X-Pobox-Relay-ID: 388A0CB4-B3B8-11E1-BFAB-8DF2579FE65A-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 74.115.168.62 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:14586 Archived-At: Hi, On Mon 11 Jun 2012 11:55, David Kastrup writes: > Tables are a superset of what I need here. I need the "growable vector" > aspect, not the "hash part" aspect. Guile 1.8 only offers subsets: > "growable" does not come together with "vector". Why not just make your own growable vectors, then? It will be just as efficient. Guile's hash tables are not designed to be addressed by index. I guess to summarize: if you want an abstraction like tables, you would build it out of vectors and hash tables. But vectors and hash tables themselves are the lower-level building blocks. >> Lua (and JS) implementations typically have many different >> implementation strategies for their table-like objects. For example, >> V8 has over two dozen. > > Uh what? Lua has one implementation "strategy". Array part, and hash > part. LuaJIT doesn't pack unboxed numerics in the array part? I would be surprised. I would also be surprised if it didn't do clever things in the "properties" part, as V8 also does. > There has been some sort of a language shootout on the LilyPond > developer list. With regard to the question Guile/Lua, my respective > pro/contra list for suitability for extensions was [...] Pretty good observations here. Andy -- http://wingolog.org/