Function fungi_lang::bitype::unroll_type
[−]
[src]
pub fn unroll_type(typ: &Type) -> Type
Unroll a rec
type, exposing its recursive body's type structure.
Example 1:
unroll_type(rec a. 1 + a)
= 1 + (rec a. 1 + (rec a. 1 + a))
Example 2:
unroll_type(rec a. (+ 1 + a + (x a x a)))
= (+ 1
+ (rec a. 1 + a + (x a x a))
+ (x (rec a. 1 + a + (x a x a)) x (rec a. 1 + a + (x a x a)))
)