- *haskellПонадобилось перегнать данные из вики-разметки редмайна в обычный HTML. Паттерн-матчинг таки круто, да — 8 строк программа, из них 7 — описание правил перевода.
p [] = "<ul>"
p (' ':'@':r) = " <code>" ++ p r
p ('@':r) = "</code>" ++ p r
p ('*':' ':r) = "<li>" ++ p r ++ "</li>"
p ('h':l:'.':' ':r) = "<h" ++ [l] ++ ">" ++ p r ++ "</h" ++ [l] ++ ">"
p (r:[]) = [r]
p (r:rs) = r : p rs
main = interact (unlines . map p . lines)from idead, 8 months ago
Replies (16)
- @lurker:коротко зато нечитабельно. кратчайшее представление — задача архиваторов, а тексты программ потом люди читать должны.from web, 8 months ago
- @0xd34df00d:@lurker Все читаемо, что я делаю не так? На каком языке, по-твоему, было бы читабельно?from idead, 8 months ago, in reply to /6
- @lurker:@0xd34df00d ну, вот есть куча языков с сиподобным синтаксисом, и любой сишарповец может позырить в прогу на жаве, и приблизительно понять, что там происходит. сишник поймёт джаваскрипт, а джаваскриптер поймёт похапе. а хаскель кроме хаскельников никто не поймёт.from web, 8 months ago, in reply to /7
- @0xd34df00d:@lurker Чтобы понять этот код, достаточно 5 минут знакомства с хаскелем.from idead, 8 months ago, in reply to /12
- @0xd34df00d:@0xd34df00d А чтобы разгрести дебри говна в языках без паттерн-матчинга, 5 минут не будет достаточно, да.from idead, 8 months ago, in reply to /13
- @lurker:@0xd34df00d так и японцы, наверное, про свои иероглифы думаютfrom web, 8 months ago, in reply to /13