Аргументатор

sdfgh153 аватар
module Main( main ) where 
import System( getArgs )

split :: String -> Char -> [String]
split [] delim = [""]
split (c:cs) delim
| c == delim = "" : rest
| otherwise = (c : head rest) : tail rest
where
rest = split cs delim

arguments_storage1 = "http://ru.wikipedia.org/wiki/"

make_href url title = "<a href='" ++ url ++"'>" ++ title ++ "</a>"

argumentize :: String -> String
argumentize text = foldr (\x y -> x ++ y) "" $
map (\x -> make_href (arguments_storage1 ++ x) x ++ " ") $ split text ' '

main = do
args <- getArgs
print $ argumentize $ foldr (++) "" args

λ runhaskell argumentator.hs "Теперь я могу писать очень аргументированные посты." | pbcopy

Теперь я могу писать очень аргументированные посты.

sungreen аватар

... вроде как prolog с этим справиться лучше, имхо конечно ...

sdfgh153 аватар

Почему? Хаскель чистый декларативный язык программирования, еще и с развесистой системой типов. Пролог умер уже, а «цацкель» активно развивается.
Кстати логическое программирование на цацкеле тоже эмулируется.
http://www.haskell.org/haskellwiki/Logic_programming_example

sdfgh153 аватар

Кстати в данном случае и шелл хорошо справился бы, но захотелось вспомнить хаскельные скилы, почти год не писал ничего.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".