[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: quasiquote badness
From: |
Marijn Schouten (hkBst) |
Subject: |
Re: quasiquote badness |
Date: |
Wed, 03 Dec 2008 16:23:33 +0100 |
User-agent: |
Thunderbird 2.0.0.18 (X11/20081124) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ludovic � wrote:
> Hello!
>
> Andy Wingo <address@hidden> writes:
>
>> While diagnosing a problem in the vm branch, I found this in master:
>>
>> guile> `,@x
>> (unquote-splicing x)
>>
>> This should throw an error.
>
> I think I agree, but interestingly, Bigloo's interpreter produces the
> exact same result and Ikarus' gives ",@x". Is there some subtle
> subtlety we're missing or is everyone off?
>
> Thanks,
> Ludo'.
>
Shockingly many implementations do what guile does, others rightly complain:
$ ./source\ code/scheme/invoke/invoke.scm -e '`,@x'
Bigloo (3.2a)
(unquote-splicing x)
CHICKEN 3.3.0
(unquote-splicing x)
Elk 3.99.7
,@x
Gambit v4.3.2
unquote-splicingx
Gauche scheme interpreter, version 0.8.13 [utf-8,pthreads]
,@x
Guile 1.8.5
(unquote-splicing x)
ikarus is unavailable
kawa is unavailable
larceny is unavailable
MIT/GNU Scheme 7.7.90.+
;,@ in illegal context: x
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1.
2 error>
End of input stream reached.
Welcome to MzScheme v4.1.3 [3m], Copyright (c) 2004-2008 PLT Scheme Inc.
#f::24: unquote-splicing: invalid context within quasiquote at:
(unquote-splicing x) in: (quasiquote (unquote-splicing x))
RScheme 0.7.3.4-b7u
syntax error in form: `,@x
>> Rest symbol x not a substitution
scheme48 1.8
Warning: ,@ in invalid context
x
(&syntax-error)
'syntax-error
Schoca Shell (Version 0.3.0-cvs) by Christoph Bauer
schoca> ==> (unquote-splicing x)
schoca>
scm 5e4
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
SCM may be distributed under the terms of the GNU General Public Licence;
certain other uses are permitted as well. For details, see the file `COPYING',
which is included in the SCM distribution.
There is no warranty, to the extent permitted by law.
This executable was loaded from "/usr/bin/scm"
(address@hidden x)
sigscheme 0.8.3
Error: in scm_symbol_value: unbound variable: x
sscm> sscm>
sisc is unavailable
stklos (version 0.98)
,@x
TinyScheme 1.39
> Error: Unquote-splicing wasn't in a list: ,@x
>
- --
Marijn Schouten (hkBst), Gentoo Lisp project, Gentoo ML
<http://www.gentoo.org/proj/en/lisp/>, #gentoo-{lisp,ml} on FreeNode
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkk2pHUACgkQp/VmCx0OL2yi/gCfZ7ZZP0cLgAvK9CRTu5jpiYEN
NEAAn2NoFVdbSVmMpFEMzMZcJbeJ5fkt
=1f7M
-----END PGP SIGNATURE-----