Mercurial > repo
changeset 1459:04e4c72602f0
<GreyKnight> rm -r gktemp
author | HackBot |
---|---|
date | Sat, 12 Jan 2013 01:27:20 +0000 |
parents | 0bdcad0b688a |
children | 2a612edd37ca |
files | gktemp/cwelcome gktemp/target gktemp/target.hi gktemp/target.hs gktemp/target.o gktemp/welcome.hs |
diffstat | 6 files changed, 0 insertions(+), 74 deletions(-) [+] |
line wrap: on
line diff
--- a/gktemp/cwelcome Sat Jan 12 01:26:01 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -#!/bin/sh -echo "Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: @. (For the other kind of esoterica, try #esoteric on irc.dal.net.)"
--- a/gktemp/target.hs Sat Jan 12 01:26:01 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -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 ( - case (length args) of - 0 -> "Fiora" - otherwise -> args !! 0 - ) template) -
--- a/gktemp/welcome.hs Sat Jan 12 01:26:01 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -import Data.List -import Data.Char - -standardURL = "http://esolangs.org/wiki/Main_Page" -standardMessage = "Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: @. (For the other kind of esoterica, try #esoteric on irc.dal.net.)" - -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 - - - -reversibles = "<([{}])>" - --- there is probably a better way to do this with guards or somesuch -reverseChar :: Char -> Maybe Int -> Char -reverseChar c Nothing = c -reverseChar c (Just a) = reversibles !! (length reversibles - 1 - a) - -tidyReverse :: String -> String -tidyReverse [] = [] -tidyReverse (c:cs) = (tidyReverse cs) ++ [reverseChar c (elemIndex c reversibles)] - - -makeWelcome :: (String -> String) -> String -> String -- filter nick -> result -makeWelcome f nick = applyTemplate nick (f standardMessage) - - -welcome = makeWelcome id -emoclew = makeWelcome tidyReverse -wELCOME = makeWelcome (map toUpper) -eMOCLEW = makeWelcome ((map toUpper) . tidyReverse) -