changeset 1346:5ce6274a65e9

<GreyKnight> fetch http://sprunge.us/jXOV
author HackBot
date Thu, 10 Jan 2013 13:29:06 +0000
parents 3fef516b5180
children f05a75aa8c33
files jXOV
diffstat 1 files changed, 26 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jXOV	Thu Jan 10 13:29:06 2013 +0000
@@ -0,0 +1,26 @@
+import Data.List
+import Data.Char
+import System.Environment
+
+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
+	args <- getArgs
+	template <- getLine
+	putStrLn (applyTemplate (args !! 0) template)
+