chicken-janitors
[Top][All Lists]
Advanced

[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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]