- @0xd34df00d: *typical *haskellВы посмотрите на этого схемера, познающего прелести ML → #1337752.3 months ago
- @0xd34df00d: *qt *haskellА вообще, похоже, QtHaskell и не нужен. Нужно как-нибудь скрестить JS с хаскелем, и тогда можно будет упарываться QML + Haskell + JS.3 months ago; 11 replies
- @0xd34df00d: *haskell *тян *неговноЯ, похоже, совсем ебанулся. Завел вконтактике виртуала ( vkontakte.ru ) и женился на ней.5 months ago; 35 replies
- @0xd34df00d: *stuff *haskell *c_p_p@cjr[00:22:54] magog: что такое ленивая оптимизация? В двух словах, а то мне лень гуглить
[00:22:57] magog: :-(
[00:23:51] V0id: это когда дедфуд учит хаскель вместо тебя- @L29Ah: ОЛОЛО РЖАЛИ ВСЕМ ОФИСОМ
- @0xd34df00d: *haskellВ 1970 году в Нью-Йорке греческая буква лямбда (λ) была выбрана в качестве символа организации Gay Activists Alliance, выступающей за легализацию гомосексуальных отношений в США, а через четыре года Международный Гей Конгресс в Эдинбурге также выбрал лямбду как свой символ.
Посоны, нас наебывают.6 months ago; 24 replies- @komar: Боян.
- @0xd34df00d: *haskell *xmlЯ ебанулся и подумал о том, что на XML было бы круто писать программы. Наверное, это бы выглядело как-то так: paste.pocoo.org
Все, меня пора сдавать санитарам.7 months ago; 57 replies- @L29Ah: Умри, сука.
- @0xd34df00d: *c++ *говно *haskellТаки type inference в плюсах говно. Есть функция:
template<typename IqT>
void Update (const typename IqT::Item& item)
{
}
такой вызов: Update (QXmppRosterIq::Item ()); не сработает, придется писать явно Update<QXmppRosterIq> (QXmppRosterIq::Item ()); - @0xd34df00d: *c++ *haskellВ принципе, класс-кешер может также иметь шаблонным аргументом и сигнатуру функции, которая должна вызываться для создания объекта, если объекта в кеше нет. Тогда рекурсивной шаблонотой и всякими там вариадиками можно добиться чего-то типа
Cacher.GetItem (key, arg1, arg2, ..., argN);
где arg1 и так далее — аргументы функции-создателю объекта, которая будет вызвана, если объект не найден.
Но не, не буду я это впиливать, личкрафт уже и так достаточно долго компиляется. - @0xd34df00d: *c++ *haskell *pythonОбсуждение именованной, а не позициональной передачи аргументов в функции:
[15:41:36] 0xd34df00d: Можно перегрузить оператор запятая.
[15:41:48] 0xd34df00d: Чтобы запятая от строки возвращала враппер над кувэриантом.
[15:41:53] 0xd34df00d: А запятая от кувэрианта возвращала строку.
[15:42:00] 0xd34df00d: Тогда можно через запятую генерить мапу в одну строку.
[15:42:17] 0xd34df00d: И писать чо-то типа "title", QString (), "url", QUrl ("http://blah")
[15:42:19] 0xd34df00d: И так далее.
[15:42:22] 0xd34df00d: Но это уже совсем ебануться.
[15:42:32] Akon32: лисперам и не снилось..
[15:42:33] magog: что вполне в твоем стиле - @0xd34df00d: *c++ *haskell *qt *говноМожно писать на плюсах в хаскель-стиле (что я все чаще и успешней делаю), а можно писать на плюсах с хаскельнутым синтаксисом: qthaskell.berlios.de
- @0xd34df00d: *c++ *haskellТребуется по нашей роли в конференции, нашему affiliation, чужой роли и чужому affiliation, а также целевой роли, определить, можем ли мы целевого чувака перевести в целевую роль. Дико не хватает паттерн-матчинга из какого-нибудь хацкеля, поэтому я хочу нарисовать аналог на темплейтах —
template<MUCAffiliation ourAff, MUCRole ourRole, MUCAffiliation aff, MUCRole role, MUCRole targetRole>
class MayChangeRole;
И затем специализации для нужных вариантов комбинаций темплейтовых параметров.
Правда, блин, облом, это все в компил-тайме будет, какая пичаль :(
Ебаный С++.7 months ago; 112 replies - @0xd34df00d: *haskell *leechcraftЗахотелось написать реализацию FTP на хаскеле, выставить из нее C API, а потом дергать как либу из личкрафтов.7 months ago; 23 replies
- @0xd34df00d: *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)8 months ago; 16 replies - @0xd34df00d: *c++ *programming *haskell */b/[22:26:45] <potapov.d> что значит compile time мапа?
[22:26:51] <0xd34df00d> На темплейтах и пиздеце.
[22:26:56] <0xd34df00d> Которая разворачивается в компил-тайме.
[22:27:06] <0xd34df00d> Правда, синтаксис у этого счастья будет, мягко говоря, уебищным.
[22:27:24] <0xd34df00d> Придется писать компил-тайм строки.
[22:27:31] <0xd34df00d> И компил-тайм strcmp
[22:27:34] <0xd34df00d> ПРЕЛЕСТЬ КАКАЯ
[22:27:36] <0xd34df00d> DO WANT
[22:27:44] <O01eg> 0xd34df00d: а это возможно в рамках C++?
[22:27:50] <0xd34df00d> Да.
[22:27:55] <0xd34df00d> Нужно просто упороться годными веществами.
[22:28:26] <0xd34df00d> И сделать просто все в компил-тайме.
[22:28:40] <0xd34df00d> А пользователям говорить таскать за собой gcc. Как, гм, интерпретатор темплейтов.
[22:29:01] <0xd34df00d> Уняняня, С++ метамультипарадигменный, можно как компилировать, так и интерпретировать. - @0xd34df00d: *programming *haskellЛисповый, значит, программист, получив задание, не садится сразу же писать его реализацию. Он пишет DSL (подмножество лиспа, конечно же), на котором формулирует задачу, после чего пишет компилятор из этого DSL в другой DSL (тоже подмножество лиспа), потом из этого DSL еще во что-то, и так немного рекурсирует с нарастающей сложностью, по дороге находит пару решений не относящихся к делу, но интригующих NP-сложных задачек, участвует с этим арсеналом в ICFP'XX, не побеждает (потому что его лавры забирают питонисты и какой-то косоглазый сиплюсплюсник), тем временем его компиляторы в поте лица компилируют сформулированную им в начале этого предложения задачу. И вот, когда заказчик в очередной раз вопросительно подымает бровь, демонстрирует ему плод больших трудов — безупречную реализацию компилятора лиспообразного языка, в который вся задача в конце концов повыскомпилировалась.
Заказчик подымает вторую бровь, превращается в половой орган и идет стреляться, а лисповый программист пакует себе все наработки, выступает с историей успеха на очередной конференции, и у него появляется новый заказчик, впечатленный рассказом. Занавес.
linux.org.ru - @0xd34df00d: *c++ *haskell *programmingПервый тег после второго еще более write-only. Если хоть написанное на хаскеле прочитать можно довольно быстро, то написанное на плюсах в функциональном стиле иногда хрен прочитаешь со всеми этими скобочками, угловыми и не очень. Впрочем, возможно, это я еще не привык.
- @maksbotan: *? *haskell *ocamlЖуйкота. Расскажи мне чем эти языки отличаются и в чем минусы и плюсы каждого.9 months ago; 75 replies