Take f(0) for instance (before it's compiled): FriCAS will attempt to step through and interpret the code. Compiling function f with type PositiveInteger -> PositiveInteger Compiling function G5795 with type NonNegativeInteger -> Boolean
*** - Lisp stack overflow. RESET However, you are right, if properly compiled the type checker prevents an overflow. I got some code relying on heavy recursion which showed this behavior and it took me some time to reduce it to this simple example. > I find it strange that it occurs even when f is > > fully declared (.e.g. PositiveInteger). > > When 'f' is fully declared I get: > > (5) -> f(n) > Compiling function f with type PositiveInteger -> PositiveInteger > Conversion failed in the compiled user function f . > > Cannot convert the value from type Symbol to PositiveInteger . > > > that is FriCAS rejects 'f(n)' as type error. > > -- > Waldek Hebisch > [email protected] <javascript:> > -- 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 http://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
