[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1041: -d0 causes different application behavior
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1041: -d0 causes different application behavior |
Date: |
Fri, 20 Nov 2015 18:09:58 -0000 |
#1041: -d0 causes different application behavior
-----------------------+----------------------
Reporter: mario | Owner:
Type: defect | Status: reopened
Priority: critical | Milestone: 4.11.0
Component: unknown | Version: 4.8.x
Resolution: | Keywords:
-----------------------+----------------------
Comment (by sjamaan):
{{{
#!scm
(define (constantly x) (lambda () x))
(print (equal? (constantly (string)) (constantly (string))))
}}}
If you compile this with {{{-no-lambda-info}}}, it prints {{{#t}}}. If
you compile it without this option, it'll print {{{#f}}}. This is due an
off-by-one where comparison would skip the final slot in the closure
object and needlessly compare the headers. Patch sent to chicken-hackers.
--
Ticket URL: <http://bugs.call-cc.org/ticket/1041#comment:19>
CHICKEN Scheme <http://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.