<br><br>On Sunday, August 26, 2012, Matthias Felleisen wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Aug 25, 2012, at 10:53 PM, Robby Findler wrote:<br>
<br>
> On Thu, Aug 23, 2012 at 8:11 AM, Matthias Felleisen<br>
> <<a href="javascript:;" onclick="_e(event, 'cvml', 'matthias@ccs.neu.edu')">matthias@ccs.neu.edu</a>> wrote:<br>
>><br>
>> I would almost prefer the use of 'when' for 'where' and the introduction of 'unless'.<br>
><br>
> If we did this, then there could be no judgment-forms name 'when' or<br>
> 'unless', which makes me think we shouldn't do this.<br>
<br>
I don't understand this point at all.<br>
<br></blockquote><div><br></div><div>See the docs for define-judgement-form and imagine a judgment-form whose name was "unless". You'll notice a conflict in the premise grammar. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
>> The type setting of 'when' could still use 'where' as the English word (and perhaps we can have a way to override it).<br>
>><br>
>> I am not sure how to type set 'unless' other than by providing a the negative operator as an argument !=<br>
><br>
> Using \neq{} seems right to me.<br>
<br>
What if you want \not\in or \not\subtype and such?<br>
<br></blockquote><div><br></div><div>You can't use where or unless for such things already. Either that or I don't understand you?<span></span></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-- Matthias<br>
<br>
<br>
<br>
<br>
><br>
> Robby<br>
><br>
>> -- Matthias<br>
>><br>
>><br>
>><br>
>><br>
>> On Aug 22, 2012, at 3:47 PM, Asumu Takikawa wrote:<br>
>><br>
>>> Hi all,<br>
>>><br>
>>> Had a question/feature request for Redex. In various models, I've<br>
>>> encountered situations where I wanted the dual behavior to the<br>
>>> (where pattern term) clause of Redex (i.e., does term *not* match this<br>
>>> pattern).<br>
>>><br>
>>> In the past, I've used side-conditions or where clauses with predicate<br>
>>> metafunctions for this case. For example,<br>
>>> (side-condition ,(not (redex-match ...)))<br>
>>><br>
>>> or<br>
>>><br>
>>> (where #f (matches this that))<br>
>>><br>
>>> Both of these have the disadvantage that it's more work to typeset.<br>
>>> It would be convenient to have a form like<br>
>>> (where-not pattern term)<br>
>>><br>
>>> that would typeset like the following:<br>
>>><br>
>>> where term ≠ pattern<br>
>>><br>
>>> This seems like a common enough pattern that it would be nice to support<br>
>>> it as a built-in (and typeset) construct. Does that seem like a<br>
>>> reasonable thing to add?<br>
>>><br>
>>> Cheers,<br>
>>> Asumu<br>
>>> ____________________<br>
>>> Racket Users list:<br>
>>> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
>><br>
>><br>
>> ____________________<br>
>> Racket Users list:<br>
>> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
>><br>
<br>
</blockquote>