Subject: bug#10337: closed (Re: bug#10337: cdr of `(cons #nil #nil)' is not nil)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 22 Dec 2011 03:09:02 +0000

Your bug report

#10337: cdr of `(cons #nil #nil)' is not nil

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
10337: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10337
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#10337: cdr of `(cons #nil #nil)' is not nil
From: Andy Wingo <[email-masked]>
To: [email-masked]
Date: Wed, 21 Dec 2011 22:06:27 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Bug fixed in cc8afa2b361635953dfba7f10e4193b1f243a50f.
-- 
http://wingolog.org/

Subject: cdr of `(cons #nil #nil)' is not nil
From: BT Templeton <[email-masked]>
To: [email-masked]
Date: Tue, 20 Dec 2011 22:49:58 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm using Guile 2.0.3.87-b798 on x86_64-unknown-linux-gnu.

Guile's compiler fails to maintain the distinction between the nil
object and the empty list in some cases:

scheme@(guile-user)> (equal? (cons #t #nil) (cons #t '()))
$1 = #t
scheme@(guile-user)> (eq? (cdr (cons #t #nil)) (cdr (cons #t '())))
$2 = #t
scheme@(guile-user)> (compile '(cons #t #nil) #:from 'scheme #:to
  'tree-il)
$3 = #<tree-il (apply (toplevel cons) (const #t) (const #nil))>
scheme@(guile-user)> (compile '(cons #t #nil) #:from 'scheme #:to 'glil)
$4 = #<glil (program () (std-prelude 0 0 #f) (label :LCASE136) (const
  #t) (call list 1) (call return 1)>)

-- 
Inteligenta persono lernas la lingvon Esperanton rapide kaj facile.
Esperanto estas moderna, kultura lingvo por la mondo. Simpla, fleksebla,
belsona, Esperanto estas la praktika solvo de la problemo de universala
interkompreno. Lernu la interlingvon Esperanton!