[Aldor-l] Aldor-Meet

Bill Page bill.page at newsynthesis.org
Mon Nov 19 22:04:35 EST 2007


The concept of 'Meet' is intriguing but can anyone suggest an actual use case?

I notice that when I call this using the "axiom" library instead of
"aldor" I get:

D: Meet(C1,C2) == add {
...^
[L10 C4] #2 (Error) There are no suitable meanings for the operator `Meet'.

Why is that? Perhaps it is just because the definition from
'sal_lang.as' is missing from the Axiom library?

It appears to be sufficient that I add the definition:

   Meet(T: Tuple Category): Category == with;

See for example:

  http://axiom-wiki.newsynthesis.org/SandBoxAldorJoinAndMeet

Also I notice that apparently 'Meet' does not interact with 'has' as
one might expect:

define M12:Category == Meet(C1,C2);

D1: C1 == add {
  f: Integer == 1;
  g: Integer == 2;
}

D2: C2 == add {
  f: Integer == 1;
  h: Integer == 3;
}

Both D1 has M12 and D2 has M12 evaluate as False. If Meet is the
intersection like Join is the union of two categories then I think
they should both return True, i.e. that C1 and C2 should be
subcategories of Meet(C1,C2) like Join(C1,C2) is a subcategory of C1
and C2. No?

Regards,
Bill Page.

On 11/19/07, Oleg Golubitsky <oleg.golubitsky at gmail.com> wrote:
> Hi Ralf,
>
> By analogy with `Join', `Meet(C1,C2)' should return
> a category which has the *intersection* of exports
> of `C1' and `C2'.
>
> A simple test (see below) confirmed this semantics;
> I also could not find a description of `Meet' in the guide.
>
> Oleg
>
> #include "aldor"
> define C1:Category == with {
>         f: Integer;
>         g: Integer;
> }
> define C2:Category == with {
>         f: Integer;
>         h: Integer;
> }
> D: Meet(C1,C2) == add {
>         f: Integer == 1;  -- OK; if this line is commented out, error:
>                                 -- The domain is missing some exports.
>                                 -- Missing f: AldorInteger
> }
>
>
>
>
> 2007/11/19, Ralf Hemmecke <ralf at hemmecke.de>:
> > Hello,
> >
> > in trunk/aldor/lib/aldor/src/lang/sal_lang.as
> > I've found:
> >
> > Join(T: Tuple Category): Category == with;
> > Meet(T: Tuple Category): Category == with;
> >
> > Can somebody point me to a description of "Meet". I cannot find it in
> > the AUG.
> >
> > Thank you
> >
> > Ralf
> >
> >
> > _______________________________________________
> > Aldor-l mailing list
> > Aldor-l at aldor.org
> > http://aldor.org/mailman/listinfo/aldor-l_aldor.org
> >
>
> _______________________________________________
> Aldor-l mailing list
> Aldor-l at aldor.org
> http://aldor.org/mailman/listinfo/aldor-l_aldor.org
>




More information about the Aldor-l mailing list