> > You seem to expect currentPath to be updated by putpiece? This won't happen > in Haskell. Once you've declared > currentPath=[] > it will always be []. > > Values never change. If you want the functional equivalent of accumulator > variables they have to be an argument of a recursive function. So try this.. > > getPath :: Path -> IO Path > getPath currentPath = do > piece <- getLine > if piece == "" then return currentPath > else getPath (piece:currentPath) > > initialCurrentPath::Path > initialCurrentPath = [] > > main :: IO () > main = do > path <- getPath initialCurrentPath > putStrLn (show path) > > Regards > -- > Adrian Hey
Hi Adrian, How can I add a function that sorts this list that I read from the user and accumulate using the function that you described? I am not asking for a sort algorithm of course, I am just wondering how to feed the IO Path as an input to a sort function? Is it suppose to look like this: sort :: IO Path -> IO Path or sort :: IO Path -> Path How do you iterate over IO Path? Thanks for taking time. _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe