够解决的问题.1、数据的定义是按递归定义的。如费氏数列。2、问题解法按递归算法实现。如汉诺塔。3、数据的结构形式是按递归定义的。如二叉树、广义表等。
递回资料.资料型别可以通过递回来进行定义，比如一个简单的递回定义为自然数的定义：「一个自然数或等于0，或等于另一个自然数加上1」。Haskell中可以定义连结串列为：data ListOfStrings = EmptyList | Cons String ListOfStrings这一定义相当于宣告「一个连结串列或是空串