[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1039: Scrutinizer's behaviour differs between (l
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1039: Scrutinizer's behaviour differs between (list-of x) and (list x) |
Date: |
Thu, 26 Dec 2013 21:35:35 -0000 |
#1039: Scrutinizer's behaviour differs between (list-of x) and (list x)
--------------------------+-------------------------------------------------
Reporter: sjamaan | Owner:
Type: defect | Status: new
Priority: major | Milestone: 4.9.0
Component: scrutinizer | Version: 4.8.x
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment(by evhan):
I agree, it seems to me that in the case of {{{(pair x *) <-> (list-of
x)}}}, matching should follow the {{{pair}}} form as far as possible.
The important difference between the {{{list}}} and {{{list-of}}} branches
when scrutinizing this ticket's example is that {{{list}}} walks its pair
form, which has the side effect of unifying {{{x}}} from the type
environment, while {{{list-of}}} doesn't. But, even though {{{(pair x
*)}}} can't be rewritten to {{{(list x ...)}}} or {{{(list-of x)}}}, I
''think'' we can still match the {{{x}}} component in order to keep its
type in play.
--
Ticket URL: <http://bugs.call-cc.org/ticket/1039#comment:3>
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] #1039: Scrutinizer's behaviour differs between (list-of x) and (list x),
Chicken Trac <=