This is NOT a bug. Only constant sets are valid types. One reason is
that if two type expressions t1 and t2 verify t1 <= t2, then set!(t1)
is included in set(t2) "forever".
Thus {1} <= {1} since these are constant sets
but set<integer>{1} is not <= set<integer>{1} because these
are "extensible" sets and may grow by adding members
Cheers,
-- Yves
--- In claireprogramminglanguage@y..., thbenoist <no_reply@y...>
wrote:
> XL forum is unavailable, hence I put my bug report here:
>
> Each set is a type, and it should be included in itself:
>
> claire> s :: set<integer>(1)
> eval[0]> s
> claire> s % type
> eval[1]> true
> claire> s <= s
> eval[2]> false
>
> Thierry