[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #759: scrutinizer: extend special case for result
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #759: scrutinizer: extend special case for result-type of "list-ref"/"list-tail" to handle nested "(pair ...)" types |
Date: |
Wed, 06 Aug 2014 09:23:13 -0000 |
#759: scrutinizer: extend special case for result-type of "list-ref"/"list-tail"
to handle nested "(pair ...)" types
--------------------------------+-------------------------------------------
Reporter: felix | Owner: evhan
Type: defect | Status: assigned
Priority: not urgent at all | Milestone:
Component: compiler | Version: 4.7.x
Resolution: | Keywords: scrutinizer list-ref list-tail
--------------------------------+-------------------------------------------
Changes (by evhan):
* owner: felix => evhan
* status: new => assigned
Comment:
As of 504ec7a30debc416d300157ffb542e660231f08b, nested pair types that
have an equivalent {{{(list ...)}}} form are handled correctly (since
they're rewritten as such during simplification).
What isn't handled are nested pair types that we can't safely rewrite to
{{{(list ...)}}} type forms. So, I think this ticket now boils down to
extending the special case s.t. it walks pair type forms as far as
possible, too. For example, if {{{foo}}} has type {{{(pair fixnum (pair
fixnum *))}}}, {{{(list-ref foo 1)}}} should resolve to type {{{fixnum}}}
(even though we don't know for sure whether {{{foo}}} is a proper list).
--
Ticket URL: <http://bugs.call-cc.org/ticket/759#comment:1>
CHICKEN Scheme <http://www.call-with-current-continuation.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Chicken-janitors] #759: scrutinizer: extend special case for result-type of "list-ref"/"list-tail" to handle nested "(pair ...)" types,
Chicken Trac <=