From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Hartwig Newsgroups: gmane.lisp.guile.user Subject: Re: guile-json 0.2.0 released Date: Mon, 8 Apr 2013 10:11:44 +0800 Message-ID: References: <871uaqha98.fsf@taylan.dyndns.org> <8738v63pj4.fsf@taylan.dyndns.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1365445674 4262 80.91.229.3 (8 Apr 2013 18:27:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Apr 2013 18:27:54 +0000 (UTC) Cc: guile-user To: Panicz Maciej Godek Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Apr 08 20:27:58 2013 Return-path: Envelope-to: guile-user@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 1UPGnA-0000pw-K0 for guile-user@m.gmane.org; Mon, 08 Apr 2013 20:27:44 +0200 Original-Received: from localhost ([::1]:60013 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UP1Yp-0003s7-LZ for guile-user@m.gmane.org; Sun, 07 Apr 2013 22:11:55 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37073) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UP1Yh-0003rq-3o for guile-user@gnu.org; Sun, 07 Apr 2013 22:11:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UP1Yf-0003yo-To for guile-user@gnu.org; Sun, 07 Apr 2013 22:11:47 -0400 Original-Received: from mail-ia0-x22e.google.com ([2607:f8b0:4001:c02::22e]:54679) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UP1Yf-0003yk-OU for guile-user@gnu.org; Sun, 07 Apr 2013 22:11:45 -0400 Original-Received: by mail-ia0-f174.google.com with SMTP id b35so4765537iac.33 for ; Sun, 07 Apr 2013 19:11:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type:content-transfer-encoding; bh=fD/WoZeiY7OkR4ldnYqg1jEK3ASwC7v1zVzt9pJars4=; b=Ds4KnvsuNIkrD6Lb8IaUuLgrPBcvWrFpdh/Ij4lMdr0tQ2Hqg6jcamX02dPCPA5dx1 NxZZfC7GxQdCpDeK0g6gAMAReeEL69RF+mBC1GaLNd4HATmAJovoTubP3AItyZ0FVkQ7 R6BtqRT/J+Wx4MKPpi0g7ggx0O7J99QSvVLf2tE1AtH0BVAxR+59PPZsE5KY7ASy0+/w 7JJM3K2O3KXGq22w44NNGC6ShQ9sExDNxxeasAF6JlDiwh4RpBXW32x75T4yz9A+YgWI EMVdk1dtB4ATUOfaZSdXrowOdlFFJdqX+IftORdQtP1D9Euo3Q0adqiwUxad00sVZ3Lk pmAQ== X-Received: by 10.42.70.74 with SMTP id e10mr10615843icj.38.1365387105081; Sun, 07 Apr 2013 19:11:45 -0700 (PDT) Original-Received: by 10.64.26.168 with HTTP; Sun, 7 Apr 2013 19:11:44 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c02::22e X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:10246 Archived-At: On 7 April 2013 19:40, Panicz Maciej Godek wrote: > > 2013/4/5 Taylan Ulrich B. > > >> >> > All in all, you don't write vector->list and list->vector to get a >> > nice printable representation of vectors -- there was an issue, and it >> > has been solved. There was never an issue. Vectors have a read syntax that any vector can be unambiguously displayed as. Hash tables do not share this property. >> > Racket has its printable representation of hashes, >> > which is much nicer than the one of guile (although still not >> > perfect). >> >> How important these matters are is very subjective I guess. To be >> honest, I don't have a strong opinion at all, but was writing what I >> believe would be the stance of most Guile developers. If you believe >> these features to be important for the larger Guile user-base, you might >> want to bring that to the attention of developers (perhaps already >> achieved with these mails), or send patches. :) > > > Well, actually I was hoping to bring attention of developers :) > After the discussion I agree that ordered hashes aren't so important, but > the printable representation and read syntax for hashes (or at least some > sort of hashes) and unordered sets would be comfortable and I believe it > wouldn't hurt (although Daniel Hartwig in one of this posts' follow-ups > claims that it could be misleading, but I'm not sure if we understood eac= h > other entirely) To clarify: it is misleading to have a format that will display the contents of some hash tables, and not others. This is, e.g. defining a read syntax for a blessed type of hash-table. Just which pair of equality and hash procedures constitutes the =E2=80=9Ccommon case=E2=80=9D for Scheme code? In other languages, there i= s a well established, primary equality test which the builtin map type is defined for. This is not the case for Scheme where any particular application is equally likely to use =E2=80=98eq?=E2=80=99, =E2=80=98eqv?= =E2=80=99, =E2=80=98equal?=E2=80=99, or other. It is highly application specific to the point of varying within a single program, and guile rightly does not bless one particular choice over the others. Nothing prevents an application from making its choice and using e.g. srfi-105 to provide a suitable read syntax. As a final comment. You mentioned writing configuring files using hash tables. This is quite common in some languages, though for lispy programs I note they are more often configured using straight $lisp source file or module. See, e.g. emacs and tekuti. Regards