All pastes #280204 Raw Edit

koktibajs

public text v1 · immutable
·published 2006-12-15 18:48 UTC
rendered paste body
label :: Tree a -> Tree (a, Int)
label t = let (y,_) = runState (label' t) 0 in y
            where label' Empty = return Empty
	          label' (Node x t1 t2) = do i <- get
	                                     set (\i -> i+1)
	                                     t1' <- label' t1
	                                     t2' <- label' t2
			                     return (Node (x,i+1) t1' t2' )