Skip to content
This repository was archived by the owner on Apr 8, 2021. It is now read-only.

Comments

Experimental iterator for depth-first tree traversals#98

Open
jhoon-stripe wants to merge 3 commits intomasterfrom
jhoon-advancer
Open

Experimental iterator for depth-first tree traversals#98
jhoon-stripe wants to merge 3 commits intomasterfrom
jhoon-advancer

Conversation

@jhoon-stripe
Copy link

I don't intend to merge this pull request. I'm putting this up here to demonstrate a method for obtaining a functional iterator for trees. This was a way for me to get a bit more familiar with dependent types (since we need to work with the type member of FullBinaryTreeOps) and generally play with Scala data structures.

At its cores, this PR introduces a wrapper around a stack of tree nodes, which allows us to iterate through the tree's nodes depth-first.

cc @rob-stripe @sritchie-stripe @thomas-stripe @erik-stripe @oscar-stripe @kelley-stripe @avi-stripe

@erik-stripe
Copy link
Contributor

Nice! Glad you got the path-dependent types working.

As an additional challenge, you could try implementing streamNode directly with foldNode.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants