0xd34df00d
01.01.2011 09:38 Azoth_primary
Как писать на хаскеле Real World-приложения С ТАКИМ-ТО УНИКОДОМ?
Recommended by:
@analizer
подписался
а что? Он там ещё хуже чем в эрланге?
Хаскель не для realworld'ов, а для матанов. Так что не зуди.
Я не знаю, какой он там в эрланге.
такой же
хотя, в эрланге немного лучше
Я грезил ботом на хаскеле в свое время, который бы сидел в конфочке и делал что-нибудь матанное, но идея зафейлилась от отсутствия уникода. Для русского языка в библиотеке XMPP костыли еще были, а вот на никах с нелатинскими и некириллическими символами все фейлилось.
Это, гм, печально.
фп нужно только ддля фапа на нечитабельность результирующего кода, sad butt rue
в эрланге вообще нету типа "строка". Любая строка — список целых чисел (как char[], только вроде бы там аналог Integer, боюсь соврать).
2> [70,71,72,73].
"FGHI"
слишком субъективное мнение для того, чтобы быть правдой
Грустная истинная задница, ок.
Олсо, ниасиляторство ИТТ!
это не есть отличительная особенность эрланга, в питоне строка это тоже лист чисел, и даже, не побоюсь этого слова, в плюсцах строка — это массив чисел
А в хаскеле String — [Char], так что да, и там.
> в питоне строка это тоже лист чисел
Гхм. ГХМ. Я этого не видел.
> плюсцах строка — это массив чисел
Гхм. Я надеюсь, ты про char *, а не про std::string. Тогда да, но опять же, я сказал в чем различия.
А внутри std::string обязана быть char*. U fail.
Что значит я фейл? Я не говорил, что его там нету. Бля, оно внутри, а не оно целиком!
ну а какие серьёзные приложения из широко распространённых на функциональном языке были написаны? Yaws, какой-то там редактор 3д графики и всё?
ejabberd, рендерер формул на педивикии — первое, что вспомнилось.
Хаскель просто никто ниасилил, и это хорошо.
а, еще. maxima, festival
maxima? Она же на лиспе
мы про функциональные языки вообще
Лисп — не функциональный.
А если уж на то пошло — то впишите сюда еще и emacs
ну тогда функциональный один лишь хаскел. А ооп — только смаллтолк
Нууу, да.
так что нахуц
Ну блджад, не может быть в функциональном языке (loop for i from 1 to 10 do () )
:)
Алсо, еще сеймество ML функциональное, вроде
да?
main = loopM_ [1..10] (\x → putStrLn $ "Line #" ++ show x)
Что это за бред? :)
хм, забыл где там loop лежит. На тебе
main = mapM_ (\x → putStrLn $ "Line #" ++ show x) [1..10]
Пиздец какой-то :)
Это хаскель? В таком случае я рад, что остановился на лиспе...
это циклы в хаскелле.
А еще в лиспе есть динамическая типизация и сайд-эффекты.
а кто тебя заставляет юзать (do ...) в лиспе?
заметь, в /32 тоже есть сайд-эффекты
А я и не юзаю. Я оберточки юзаю.
все время через хвостовую рекурсию?
Ну, значит, ваш хаскель тоже не труЪ-фяп.
Нет. loop — это тоже обертка поверх do
> (loop for x in ...)
Нахуя тебе лисп?
Удобен. Опять же няшномакросы с прямым доступом к AST.
А императивное программирование я все равно люблю больше функционального.
> няшномакросы
ты про вот этот пиздец? http://cl-cookbook.sourceforge.net/macro...
Благодаря твоим макросам твой sbcl будет чаще компилить.
А в чем пиздец-то?
При интерактивной разработке оно просто на ура пишется.
в том, что через месяц ты глянешь в свой код и обосрешься
Да нифига. Там всё просто. Ну и камменты никто не отменял.
писать просто, да
Перл я тоже люблю, да. ^_^
все, я с тобой не разговариваю больше
:(
Ну вот. Всегда так...
перл — это вне всяких рамок
А он-то чем тебе не угодил?
Очень выразительный язык под запись...
не-не-не, дэвид блейн
Это хаскель, а что?
Некоторые виды рекурсии эквивалентны циклам. СЮРПРАЙЗ.
Ъ-фяп тогда не мог бы взаимодействовать с внешним миром. IO-монаду почти всегда можно свести к одному только мейну, который бы дергал лишь pure-код.
<trololo-mode> А зачем прекрасному чистому функциональному коду взаимодействовать с жестокой реальностью? </trololo-mode>
да ну ладно. Любая программа вычисляет какую-то функцию. Запишите на этом своем хаскеле эту функцию, и вычисляйте её на произвольных входах снаружи. Всё там красиво и реалистично.
Да. Поэтому IO-монада ограничивается main'ом и чуть-чуть вглубь. Остальное чисто. Что тебя смущает?
смущает, что «Ъ-фяп не может взаимодействовать с внешним миром». Вполне себе может. (олсо неебу IO монады и монады вообще)
Поеби монады )
кто родится если улидко выебет монады? ... нет, не хочу этого знать
Я поебал монады, никто не родился :(
Ты просто еще не все знаешь. Скоро на тебя повесят алименты.
Но кто?