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.
