From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Sunjoong Lee Newsgroups: gmane.lisp.guile.user Subject: Re: SRFI-64 implementation for Guile 2.0 Date: Sat, 14 Apr 2012 21:43:24 +0900 Message-ID: References: <4F88DB8D.9050203@bothner.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=0016e6dbdf26940cb304bda2f0d2 X-Trace: dough.gmane.org 1334407445 23302 80.91.229.3 (14 Apr 2012 12:44:05 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 14 Apr 2012 12:44:05 +0000 (UTC) Cc: guile-user@gnu.org To: Per Bothner Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Apr 14 14:44:03 2012 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 1SJ2Kb-0001u0-Fa for guile-user@m.gmane.org; Sat, 14 Apr 2012 14:43:57 +0200 Original-Received: from localhost ([::1]:39321 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SJ2Ka-0006ax-Od for guile-user@m.gmane.org; Sat, 14 Apr 2012 08:43:56 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SJ2KU-0006aq-1O for guile-user@gnu.org; Sat, 14 Apr 2012 08:43:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SJ2KS-0006Q2-2b for guile-user@gnu.org; Sat, 14 Apr 2012 08:43:49 -0400 Original-Received: from mail-we0-f169.google.com ([74.125.82.169]:34319) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SJ2KR-0006Mr-L7 for guile-user@gnu.org; Sat, 14 Apr 2012 08:43:48 -0400 Original-Received: by werj55 with SMTP id j55so3142371wer.0 for ; Sat, 14 Apr 2012 05:43:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=6gFkd/14JngluzD3QUiFYm/MpM+nOvtOHOiBXmv9cDA=; b=h8b6gEPHkTYBWcm+BI3Zy5SBmDyytQ5TIqFce23VLyjN/ZLQdOczqkn0UZEUyzoRbK XDeFbnFLlICQOEAKd//lnHlODQ5NK/xhBQDGVmuAjrkYe56oodRD96im1te6seWW4GIW dbxxhsf1BXMfiT+HFOvxwp1tuiUC0O85G2lXU6kJ6nrAGQY1paiA/ySTYtXYAvRyC4xh y0pErgycE5SyFeaW745vPgL5PvLUuj5RjlyaUFxKcUltyHHsA/+iBNLJJIm58Ko8ctMJ t1C3tI0qoEYTj8XQCCfgddx4X4X6cmZk51IDxe0+jJeWlmi1HJSNVULWs1bS8r4azClu 97Bw== Original-Received: by 10.216.205.35 with SMTP id i35mr827564weo.17.1334407425428; Sat, 14 Apr 2012 05:43:45 -0700 (PDT) Original-Received: by 10.223.72.193 with HTTP; Sat, 14 Apr 2012 05:43:24 -0700 (PDT) In-Reply-To: <4F88DB8D.9050203@bothner.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 74.125.82.169 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:9369 Archived-At: --0016e6dbdf26940cb304bda2f0d2 Content-Type: multipart/alternative; boundary=0016e6dbdf26940cac04bda2f0d0 --0016e6dbdf26940cac04bda2f0d0 Content-Type: text/plain; charset=UTF-8 I rewrote srfi/srfi-64.scm file using cond-expand but don't know it works. On Guile 2.0, it works; $ guile -L `pwd` --use-srfi=64 srfi-64-test.scm %%%% Starting test SRFI 64 - Meta-Test Suite (Writing full log to "SRFI 64 - Meta-Test Suite.log") # of expected passes 51 # of expected failures 2 2012/4/14 Per Bothner > This is nice. It would be great if the Guile port would be merged > into the reference implementation, presumably using cond-expand. > That way bug-fixes or changes in one could be more easily be > merged into the other. > I have no idea how to use your testing.scm file on Kawa or Chicken. Without testing.scm file, srfi-64-test.scm can be checked on Kawa; $ kawa srfi-64-test.scm %%%% Starting test SRFI 64 - Meta-Test Suite (Writing full log to "SRFI 64 - Meta-Test Suite.log") # of expected passes 51 # of expected failures 2 I don't know how to use testing.scm and my srfi/srfi-64.scm on Kawa. --0016e6dbdf26940cac04bda2f0d0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I rewrote srfi/srfi-64.scm file using cond-expand but don't know it wor= ks.
On Guile 2.0, it works;
=C2=A0 $=C2=A0guile -L `pwd` --us= e-srfi=3D64 srfi-64-test.scm
=C2=A0 %%%% Starting test SRFI = 64 - Meta-Test Suite =C2=A0(Writing full log to "SRFI 64 - Meta-Test S= uite.log")
=C2=A0 # of expected passes =C2=A0 =C2=A0 =C2=A051
=C2=A0 # = of expected failures =C2=A0 =C2=A02

2012/4/14 Per Bothner <per@bothner.com>
This is nice. =C2=A0It would be great if the= Guile port would be merged
into the reference implementation, presumably using cond-expand.
That way bug-fixes or changes in one could be more easily be
merged into the other.
=C2=A0
I have no idea= how to use your testing.scm file on Kawa or Chicken.
Without tes= ting.scm file,=C2=A0srfi-64-test.scm can be checked on Kawa;
=C2= =A0 $ kawa=C2=A0srfi-64-test.scm=C2=A0
=C2=A0 %%%% Starting test SRFI 64 - Meta-Test Suite =C2=A0(Writing ful= l log to "SRFI 64 - Meta-Test Suite.log")
=C2=A0 # of e= xpected passes =C2=A0 =C2=A0 =C2=A051
=C2=A0 # of expected failur= es =C2=A0 =C2=A02
I don't know how to use testing.scm and my = srfi/srfi-64.scm on Kawa.=C2=A0

--0016e6dbdf26940cac04bda2f0d0-- --0016e6dbdf26940cb304bda2f0d2 Content-Type: application/x-gzip; name="srfi-64.scm.gz" Content-Disposition: attachment; filename="srfi-64.scm.gz" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h10m64vg0 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 INVNlXnLXsw0nh/Dw3Cc9h9FPMsLh6MAAA== --0016e6dbdf26940cb304bda2f0d2--