# HG changeset patch # User HackBot # Date 1357824240 0 # Node ID 379d72ea85b6734524a3e7f8382af744125ab276 # Parent 4b8ca994f6de8dc43e4ebbb5850b69d42625e73c fetch http://sprunge.us/ZJCe diff -r 4b8ca994f6de -r 379d72ea85b6 ZJCe --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ZJCe Thu Jan 10 13:24:00 2013 +0000 @@ -0,0 +1,24 @@ +import Data.List +import Data.Char + +standardURL = "http://esolangs.org/wiki/Main_Page" + + +replace :: (Eq a) => [a] -> [a] -> [a] -> [a] +replace _ _ [] = [] +replace old new (y:ys) = + case stripPrefix old (y:ys) of + Nothing -> y : replace old new ys + Just ys' -> new ++ replace old new ys' + +applyGenTemplate :: String -> String -> String -> String -- nick url template -> result +applyGenTemplate nick url template = nick ++ ": " ++ replace "^" nick (replace "@" url template) + +applyTemplate :: String -> String -> String -- nick template -> result +applyTemplate nick template = applyGenTemplate nick standardURL template + + +main = do + template <- getLine + putStrLn (applyTemplate nick template) +