> I think it would make sense that "tail" and "last" and # and ... are > only implemented if % has finiteAggregate.
> I don't understand what finiteAggregate actually means. > Is it meant to mean finite in the sense of finitely many stored objects > or finite as a mathematical structure. I am not 100 percent sure, but finiteAggregate can have cycles and non-finiteAggregate are basicly for Stream and Set? If an aggregate is not finiteAggregate, then many operations are not available. So tail, last and # are under finiteAggregate, but they should also give error in cyclic cases. (# in UnaryRecursiveAggregate detects cycle and gives error, but in List it's not for speed issues.) > Since I didn't have need, I don't even know how to (officially) create a > List that has a cycle. x := [1,2] setrest!(rest x,x) > A list that repeats 1,2,1,2,... is not finite for my taste even if it > can be stored a list with one cycle, so it should not be a List(X). List is of category ListAggregate which has FiniteLinearAggregate. A cycle list is finite, while [f x for x in 1..] is not. finiteAggregate is pretty much everywhere in aggcat.spad, I wonder if there's a better way. -- 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.
