[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl-Modules] glue syntax input wanted



At 22.31 -0400 1999.06.08, Chris Nandor wrote:
>I am thinking of putting them together in complex structures like so:
>
>  whose([name => contains => 'e'] glueAnd [popup => equals => enum('true')])
>
>And:
>
>  whose(
>    [[name => contains => 'e'] glueAnd [popup => equals => enum('true')]]
>      glueNot [pulled_open => equals => enum('true')]
>  );

I am rethinking this.  I am thinking of making it easier on myself.  I
don't know if it will be better for users.

  whose(AND => [name => contains => 'e'], [popup => equals => enum('true')])

  whose(AND => [name => contains => 'e'], [popup => equals => enum('true')],
       [NOT => [pulled_open => equals => enum('true')]])

Or to make it easier to read:

  $contains_e     = [name => contains => 'e'];
  $is_popup       = [popup => equals => enum('true')];
  $is_pulled_open = [pulled_open => equals => enum('true')];

  $whose = whose(AND => $contains_e, $is_popup, [NOT => $is_pulled_open]);

In other words, whose() when used for more than one comparison record,
accepts a logical record.  A logical record starts with the logical
operator and is followed by a list of any number of comparison records or
logical records.

This closely maps how the "whose" record is actually constructed.  But if
someone has a better idea, I'd like to see it.

--
Chris Nandor          mailto:pudge@pobox.com         http://pudge.net/
%PGPKey = ('B76E72AD', [1024, '0824090B CE73CA10  1FF77F13 8180B6B6'])

==== Want to unsubscribe from this list?
==== Send mail with body "unsubscribe" to macperl-modules-request@macperl.org