valueDiff for arrays?

Mark Waddingham mark at livecode.com
Sun Aug 5 18:12:35 EDT 2018


On 2018-08-06 00:03, Mark Wieder via use-livecode wrote:
> On 08/05/2018 02:48 PM, Monte Goulding via use-livecode wrote:
>> 
>> 
>>> On 6 Aug 2018, at 7:07 am, Mark Waddingham via use-livecode 
>>> <use-livecode at lists.runrev.com> wrote:
>>> 
>>> filter X by keeping the lines not matching pattern "regex"
>> 
>> My point was this statement can be written as both:
>> 
>> filter X by keeping the lines not matching pattern “regex"
>> 
>> and
>> 
>> filter X by discarding the lines matching pattern "regex"
>> 
>> So it would perhaps be a good idea to only allow `matching` rather 
>> than `not matching`
> 
> True, but syntacticly I like the idea of being able to place "not" in
> front of any boolean without having to remember where it's legal and
> where it's not. I also think it's harder on the engine (this off the
> top of my head without looking at the code <g>) to specify where "not"
> is legal.

In this case the forms would be hardcoded:

   'not matching pattern "regex"'

is actually (essentially) sugar for:

   'where not each matches "regex"'

So *if* we could implement it like that then it would potentially do no 
harm - *however* as it stands it would be implemented as hard-coded 
parsing / exec code - so its actually more work to support 'not' here, 
and not less.

However, there is certainly a consistency argument to be had - its 
whether consistency is always better than a slight amount of positive 
coercion - in terms of restricting some forms of syntax which actually 
reduce readability rather than increase it (which, I think, on balance 
'not' here might well do - as in reduce - and since this whole 
discussion came about because *I* have a significant problem parsing the 
'filter' command as it stands - readability is perhaps the main concern 
here).

Warmest Regards,

Mark.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list