On Wed, Feb 19, 2020 at 09:10:26PM +0100, Ralf Hemmecke wrote:
> > This tells you that offending part is
> > 
> >         a < b
> > 
> >> ****** level 3  ******
> >> $x:= (< a b)
> >> $m:= (Boolean)
> >> $f:=
> >> ((((|b| # #) (|a| # #) (|foo| #) (|$DomainsInScope| # # #) ...)))
> >>
> >>    >> Apparent user error:
> >>    not known that (List (List (Integer))) has (AND (has (List (List
> >> (Integer))) (finiteAggregate)) (has (List (Integer)) (OrderedSet)))
> >                                                         ^^^^^^^^^^^
> 
> Yes, clearly a<b is the problem in
> 
>     foo(): Boolean ==
>         a: List List Integer := empty()
>         b: List List Integer := empty()
>         a < b
> 
> So, finding the exact source position of the problem was not the issue.
> 
> But why is it a problem?
> 
> 
> (4) -> Integer has OrderedSet
> true
> 
> (5) -> List Integer has OrderedSet
> true
> 
> (6) -> List List Integer has OrderedSet
> true
>

I forgot that we define order on List.
 
> Furthermore, I find the expression
> 
> >>    not known that (List (List (Integer))) has (AND (has (List (List
> >> (Integer))) (finiteAggregate)) (has (List (Integer)) (OrderedSet)))
> 
> a bit strange. There is an AND part that can either be true or false. As
> I understand it, the compiler  tells me that List(List Integer) is not
> of the category true or false. Perhaps, I have to interpret the above
> "... has (AND (has ...) (has ...))".

That is really dump of internal data structure.  'has' above is
a shortcut for 'satifies property', where property is eiter a
Boolean expression built from base tests.  So this is really

  (List(List(List(Integer))) has finiteAggregate) and
  (List(Integer) has OrderedSet)

Both are true, but apparenty at this point compiler does not
know this.  So the problem looks like compiler limitation
(bug if you prefer
).

-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/20200221154132.GA2772%40math.uni.wroc.pl.

Reply via email to