- @Macil: *haskell *webНеужели же научный подход докатился и до веба? Elm — FRP язык для client-side веб-разработки. На этот раз — на хаскеле.
elm-lang.org
testblogpleaseignore.com1 day ago - @Macil: *лытдыбрПервую половину субботы смотрел концерт Dire Straits за 85-й год на ю-тубе, затем там же смотрел фильм «The Wall», который с Пинк Флойдом (бешено рекомедую, если чего), потом до ночи курил стенфордские курсы. В воскресенье, решил забить на культурную программу, и курил стенфордские курсы целый день.
Блядь! Лучше бы я играл в Деус Экс [#1767470] !!!1111 Еще неизвестно что для мозга фатальнее... - @Macil: *haskell *ffiХаскелисты! Не трахоёбтесь с низкоуровневыми биндингами к библиотекам. Пишите ЧАСТНЫЙ случай на C, и прибиндивайтесь к нему через FFI.
1. Это не усложняет сборку из исходников. Даже под неполноценными системами, бинарники GHC идут вместе с GCC. Кабал же, ваши нужды отлично понимает, и никаких сторонних сборочных средств не потребуется.
2. Это не усложняет разработку. GHCI позволяет подгружать как .so/.dll, так и .o и невозбранно ими пользоваться прямо из REPL.
3. Это не вносит дополнительных методологических трудностей. Низкоуровневые биндинги предполагают, что вы и так хорошо знакомы с искомой библиотекой. Да и из документации, в лучшем случае, отошлют к оригиналу.
4. Даже в низкоуровневых биндингах обычно полно всякой сишной враппер-дряни. Вам же в ней и разбираться, равно как и в хаскельской враппер-дряни.
5. В «частный случай» на C можно много чего запрятать, что негоже. А жесткие API/ABI интерфейсы обеспечат отличную изоляцию.
6. Это единственный годный способ прибиндиться к C++. - @Macil: *лытдыбрЗапустил я тут на своем компе винду. Не подумайте ничего, с вполне утилитарными целями, мсис скачать. Ибо, когда к неполноценным системам добавляются еще и неполноценные администраторы (а запрещающие сорсфорж к таким относятся по-умолчанию), то вообще тускляк. А мсис — штука в хозяйстве нужная, особенно учитывая тот факт, что цыгвин возомнил себя ажно цельным юниксом и таржетирование под винду на нем еще сложнее, чем в ГНУ/Линуксе.
Пока качалось — запустил квейк2. Хе, с высоты теперешних скиллов на самом последнем уровне сложности, который из меню не выберешь (hard+, кто не в курсе), погибнуть можно разве по недоразумению. Быстренько допрыгал аж до электростанции, до уровня «The Reactor», где и убился об этот самый The Reactor в глупом выпендреже с длинными прыжками. Это прискорбное событие вернуло меня к разумной деятельности. «А какого хуя я маюсь дурью?», подумал я. «Какого хуя я тут маюсь дурью, играя в квейк2, когда у меня установлен ДеусЭкс?», подумал я. И, БЛЯДЬ, ЗАПУСТИЛ ДЕУС ЭКС!!!!!1111
Чего чего? Выходным пиздец, вот чего. - @Macil: *политотаУтверждать что эти самые ваши Твитторы и Фэйспуки оказали невъебенно мощное влияние на разитие этих самых «арабских весен», примерно то же что утверждать невъебенно охуенную роль мимеографов в революционном движеннии в Царской России.
Ибо сейчас, по прошествии стольких лет, любой респондент (если только он не интересуется историей типографики) слегка прихуеет с сего термина. И я, блядь, гарантирую, что через 100 лет наши потомки в равной степени прихуеют при упоминании Твиттора (или Фейспука, или ВебДваВдоль). Потому что это все пена, неминуемо образующаяся при течении потока, хоть сколь угодно чистого.
Мораль? А мораль такова: меньше слушайте переводы с северо-атлантического, и больше думайте головой. Ибо нехуй. - @Macil: *haskell *ffiС ужасом открыл для себя, что оказывается в GHC unicode версии Foreign.C.String locale-зависимы. Я может быть бы и не портив, но ByteString или хотя бы [Word8] версий просто нет. А если мне при любой локали нужен UTF8? Что же делать? Ну не грязные же хаки из utf8-string применять?
- @Macil: *haskell *attoparsecЮзал тут для своих мелкоспецифичных задач attoparsec. Мне конкретно он не подошел. Не сохраняет он текущего местоположения, из-за чего получившиеся парсеры крайне и крайне сложно разарабатывать. Устраивать собственные велосипеды желания не было ну никакого, так что вернулся на Parsec3, на тормоза мне пофиг. Зато:
1. Проникся нотацией из Applicative, в особенности (<*);
2. Проникся идиомой AstConstructor <$> parser1 <> parser2 <> ... <*> parserN;
3. С удивлением узнал, что все это есть и в Parsec. Хотя, конечно, чувствуется что он сделан в до-applicative эпоху, и есть некая избыточность;
4. В очередной раз убедился в ненужности концепции лексер-парсер для комбинаторных парсеров. Небольшие преимущества есть, но недостатки портят всю идею.
5. Узнал, что парсеры на Attoparsec очень просто портируются в парсеры на Parsec.
И самое главное, понял что хоть на хаскеле я пишу медленно и коряво, ни на чем из потребительских языков писать я не смогу. Все остальное кажется издевательством над здравым смыслом. Даже Скала. Это печально... - @Macil: *fp *monads *haskellНаикрутейший туториал по монадам: unknownparallel.com6 months ago; 19 replies
- @Macil: *burnout *жизньЧто такое эмоциональные берн-аут? Я скажу тебе что такое эмоциональный берн-аут. Эмоциональный берн-аут, это когда внезапно ловишь себя на мысли, что если в эту ебучую маршрутку, в которой ты тащишься на эту ебучую работу, на полном ходу лоб-в-лоб въебется самосвал, под завязку груженый бетонными блоками, то ТЫ БУДЕШЬ НЕСКАЗАННО, БЛЯДЬ, РАД!7 months ago
