From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: scm_i_* in Snd Date: Wed, 04 Jun 2008 09:27:34 +0200 Message-ID: <873antslqx.fsf@gnu.org> References: <87mym450zh.fsf@unknownlamer.org> <20080602104202.12874@Mirddin.farlep.net> <874p8cgo58.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1212564490 29953 80.91.229.12 (4 Jun 2008 07:28:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Jun 2008 07:28:10 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Jun 04 09:28:52 2008 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1K3nQP-0003nX-O9 for guile-devel@m.gmane.org; Wed, 04 Jun 2008 09:28:50 +0200 Original-Received: from localhost ([127.0.0.1]:35456 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K3nPd-0004q6-AN for guile-devel@m.gmane.org; Wed, 04 Jun 2008 03:28:01 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K3nPX-0004pr-Aj for guile-devel@gnu.org; Wed, 04 Jun 2008 03:27:55 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K3nPU-0004oz-NB for guile-devel@gnu.org; Wed, 04 Jun 2008 03:27:53 -0400 Original-Received: from [199.232.76.173] (port=56644 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K3nPU-0004od-GN for guile-devel@gnu.org; Wed, 04 Jun 2008 03:27:52 -0400 Original-Received: from mx20.gnu.org ([199.232.41.8]:38670) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K3nPU-0003ko-JU for guile-devel@gnu.org; Wed, 04 Jun 2008 03:27:52 -0400 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1K3nPT-00009O-BW for guile-devel@gnu.org; Wed, 04 Jun 2008 03:27:51 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1K3nPJ-00062Z-RO for guile-devel@gnu.org; Wed, 04 Jun 2008 07:27:41 +0000 Original-Received: from 193.50.110.120 ([193.50.110.120]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 04 Jun 2008 07:27:41 +0000 Original-Received: from ludo by 193.50.110.120 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 04 Jun 2008 07:27:41 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 36 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 193.50.110.120 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 Prairial an 216 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: i686-pc-linux-gnu User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) Cancel-Lock: sha1:W1GSkyyuHgsCkXA4JEiKKKJLXN0= X-detected-kernel: by mx20.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7304 Archived-At: Hi, Han-Wen Nienhuys writes: > Ludovic Courtès escreveu: >>> That's great, but what if I need to get a "raw" string contents, >>> that is a string of bytes as it is? >> >> "Raw string contents" is undefined, as Clinton said. I could be >> whatever internal representation Guile chooses. > > Please explain what the canonical representation for a byte array > is. Are we expected to do all our 8-bit data manipulations on uniform > vectors or similar? I'm not sure I understand your question. As suggested earlier, strings are *not* "byte arrays". In the future, we will (hopefully) support Unicode, and we'll have to choose one or several internal representations, which we do not want to expose so as to keep freedom precisely about what implementation strategy and string representation we choose. The manual reads this: Right now, Guile simply equates Scheme characters and bytes, ignoring the possibility of multi-byte encodings completely. This will change in the future, where Guile will use Unicode codepoints as its characters and UTF-8 or some other encoding as its internal encoding. When you exclusively use the functions listed in this section, you are `future-proof'. http://www.gnu.org/software/guile/manual/html_node/Conversion-to_002ffrom-C.html Thanks, Ludovic.