Manually merging: - README.md: I added the description from universe/README.md into the heading of dotfiles/README.md. - .envrc: dotfiles/.envrc was a superset of universe/.envrc - .gitignore: Adding some of the ignored patterns from universe/.gitignore to dotfiles/.gitignore Everything else here should be a simple rename.
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1,014 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1,014 B
		
	
	
	
		
			Python
		
	
	
	
	
	
class Node(object):
 | 
						|
    # ctor :: a -> [a] -> Node(a)
 | 
						|
    def __init__(self, value, children=[]):
 | 
						|
        self.value = value
 | 
						|
        self.children = children
 | 
						|
 | 
						|
 | 
						|
# is_leaf :: Node(a) -> Boolean
 | 
						|
def is_leaf(node):
 | 
						|
    return len(node.children) == 0
 | 
						|
 | 
						|
 | 
						|
# enumerate :: Node(a) -> Set(List(a))
 | 
						|
def enumerate(node):
 | 
						|
    current = []
 | 
						|
    result = []
 | 
						|
    q = []
 | 
						|
 | 
						|
    q.append(node)
 | 
						|
 | 
						|
    while q:
 | 
						|
        x = q.pop()
 | 
						|
        print(x.value)
 | 
						|
 | 
						|
        for c in x.children:
 | 
						|
            q.append(c)
 | 
						|
 | 
						|
        current.append(x.value)
 | 
						|
        print(current)
 | 
						|
 | 
						|
        if is_leaf(x):
 | 
						|
            result.append(current)
 | 
						|
            print("Reseting current")
 | 
						|
            current = []
 | 
						|
 | 
						|
    return result
 | 
						|
 | 
						|
 | 
						|
node = Node('root', [
 | 
						|
    Node('a', [
 | 
						|
        Node('b', [Node('c')]),
 | 
						|
        Node('c', [Node('b')]),
 | 
						|
    ]),
 | 
						|
    Node('b', [
 | 
						|
        Node('a', [Node('c')]),
 | 
						|
        Node('c', [Node('a')]),
 | 
						|
    ]),
 | 
						|
    Node('c', [
 | 
						|
        Node('a', [Node('b')]),
 | 
						|
        Node('b', [Node('a')]),
 | 
						|
    ])
 | 
						|
])
 | 
						|
 | 
						|
print('----------')
 | 
						|
print(enumerate(node))
 |