On 07/04/2016 02:13 PM, oldk1331 wrote:
>> Lists with a cycle should not live in List(X), but in Stream(X).
> 
> See previous section, what you think is List is actually ImmutableList.

Again unclear. Would you count a list domain that does export setelt!,
but not setrest! a (mutable) list of ImmutableList?

Well, we can probably start an endless discussion, and maybe about the
empty set, because there were not yet any big issues with the current
List (probably because the programmers know how to behave nicely). But
otherwise all I want is a clear specification of what the functions in
the domain do and that application of functions does not lead out of the
domain. setrest! is a destructive function, so a user should expect that
the result is not in the domain anymore. In that sense I accept lists
with a cycle in List. But they are NOT the "official" inhabitants of
List, at least not for me. I really want that when I call # on a list to
get an answer in a finite amount of time and the anwer is not a crash of
the computer.

>> Yes and OK, but define the meaning of finiteAggregate in your own words.
>> It you come up with something "can be represented by finitely many
>> objects", then also "[f x for x in 1..]" is finite. There are only
>> finitely many letters between the quotes.
> 
> Maybe the key for finiteAggregate is equality:
> you can tell if [f x for x in 1..] is equal to [g x for x in 1..],
> because you can't tell if (f-g) is zero.

Zero recognition. Good point. But then perhaps we should have a better
name than "finiteAggregate".

BTW, note that we also have http://fricas.github.io/api/Finite.html. You
obviously see a difference between Finite and finiteAggregate.

That Finite inherits from SetCategory, is perhaps a bit too much.
Wouldn't BasicType suffice? I would make the functions that depend on
SetCategory conditional. Opinions?

Ralf


-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to