Name: Anonymous 2009-10-28 21:29
Name one noteworthy program that was coded in LISP.
I'll wait.
I'll wait.
import List
import Control.Monad.Instances
computeGraph removalOrder Nothing = computeGraph removalOrder (Just (length removalOrder + 2))
computeGraph removalOrder (Just n) = zip (init edgeStarts ++ [lastVertex]) (removalOrder ++ [last edgeStarts])
where
((lastVertex:_), edgeStarts) = mapAccumL accumStep [1..n] (tails removalOrder)
accumStep vertices order = ((,) =<< (vertices \\) . (:[])) $ head (vertices \\ order)