Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- member this.TraverseSubtreesLeftToRight =
- let rec loop (tree:'T LazyTree) lowerLevel rightSiblings =
- let tail =
- lazy
- (
- match rightSiblings with
- | first::rest -> loop first (List.append (tree.Children.Force()) lowerLevel) rest
- | [] ->
- match lowerLevel with
- | first::rest -> loop first [] rest
- | [] -> Empty
- )
- Cons(tree, tail)
- loop this [] []
- member this.TraverseLeftToRight =
- this.TraverseSubtreesLeftToRight
- |> LazyList.map (fun tree -> tree.Item)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement