Отдал бы и ползарплаты! Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Можно ли написать свою do notation, не меняя код компилятора, и если да, то как? Например, в главе 10 RWH[1] мы пишем такой код: ``` arseP5_take2 s = matchHeader (L8.pack "P5") s >>? \s -> skipSpace ((), s) >>? (getNat . snd) >>? skipSpace >>? \(width, s) -> getNat s >>? skipSpace >>? \(height, s) -> getNat s >>? \(maxGrey, s) -> getBytes 1 s >>? (getBytes (width * height) . snd) >>? \(bitmap, s) -> Just (Greymap width height maxGrey bitmap, s) ``` Было бы круто, если бы программист мог определить собственную do notation и избавиться от комбинатора `>>?` (спрятав его за преобразованиями, как это делается для >> в монадах). Это возможно?   1. http://book.realworldhaskell.org/read/co.....ormat.html
#A6RBIH (1) / @minoru / 4423 дня назад
Devin Townsend Project — Lucky Animals (from Epicloud) http://www.youtube.com/watch?v=WkwFO9kGU7Y
#MP01S4 (0) / @minoru / 4425 дней назад
http://www.youtube.com/watch?v=F7pYHN9iC9I “Amazing mind reader reveals his 'gift'”
#9PUIUA (0) / @minoru / 4427 дней назад
> All these refactoring processes are doable by pleasant conversation with ghc typecheckers. http://www.reddit.com/r/haskell/comments.....on/c6ca5y5
#7BYNL0 (0+1) / @minoru / 4428 дней назад
git
Помогал на днях одному парню с git[1] и наткнулся на неочевидную вещь: команды `git checkout branchname` и `git checkout abcde`, где `abcde` — самый свежий коммит (далее — голова) ветки `branchname`, *не эквивалентны*. Если после первой команды сделать коммит, он попадёт в `branchname` (станет её головой); если же сделать коммит после второй команды, `branchname` всё так же будет указывать на `abcde`. Ларчик открывается довольно просто. `git checkout` просто заставляет `HEAD` указывать туда, куда я сказал. Если сказать `git checkout branchname`, `HEAD` будет указывать на `branchname`, который, в свою очередь, указывает на `abcde`. Тогда при `git commit` мы обновим ветку `branchname` (которая, если кто не в курсе, просто указатель на некий коммит — голову ветки), не задевая `HEAD`. Если же сделать `git checkout abcde`, мы переходим в detached head state, то есть `HEAD` теперь указывает не на ветку, а на коммит. Если теперь сделать `git commit`, мы обновим непосредственно `HEAD`, не задевая `branchname`. Свежесозданный коммит не принадлежит ни одной ветке, так что если мы сделаем `git checkout someotherbranch`, он будет почти что потерян (см. git-reflog(1) и git-gc(1)). Жаль, что объяснение вышло таким сумбурным, но я действительно не знаю, как написать лучше.   1. http://juick.com/k0st1x/2083845
#LQB5M4 (3+1) / @minoru / 4429 дней назад
После того, как демиурги разобрали нижний ящик, снова стало интересно играть^Wчитать о похождениях героя. А ещё вчера мой подопечный наконец построил храм — вот теперь-то заживём!
#7AUD8A (8) / @minoru / 4432 дня назад
http://www.reddit.com/r/haskell/comments.....biks_cube/ — помогите уже человеку обобщить идею на кубики с n² квадратами на каждой стороне, а то я рехнусь скоро — у меня была идея, но я никак не могу довести её до ума (постоянно получаю <<loop>>).
#08YY1Z (0) / @minoru / 4438 дней назад
@stiletto, что за фигня? Пять минут назад всё работало! --> c -m M3UGHT/KRA … <== ERROR. Option "message" doesnt meet the constraint "#?([0-9A-Za-z]+(?:(?:#|/)[0-9A-Za-z]+)?)"
#0568AY (15) / @minoru / 4443 дня назад
vim
@plhk сказал, что ему всегда было лень прочитать про регистры, так что я взялся сделать это за него :) Итак, :help registers за пять минут (с упущениями и упрощениями). Во-первых, десять цифровых регистров, от "0 до "9. Когда вы делаете, например, dd (удаляете строку) или c$ (меняете всё с текущей позиции и до конца строки), текст помещается в "1; при этом предыдущее содержимое "1 вытесняется в "2, и так далее, а содержимое "9 теряется. Замечу, что при yy (копировании) сдвига не происходит — новый текст просто помещается в "0. Если вы удаляете меньше одной строки (скажем, всего пару слов — d2w), текст помещается не в "1, а в "-. Это small delete register. Black hole register, он же "_ — запись в него не задевает другие регистры (то есть при "_dd, например, содержимое "1.."9 не меняется). При чтении оттуда получите пустоту. Ещё есть unnamed register — "". Он используется по умолчанию для p, d, c, s, y и x, причём даже в тех случаях, когда регистр команде был указан явно (то есть при "3d текст попадёт и в "3, и в ""). Можете думать о нём как об указателе на последний изменявшийся регистр. Именованные регистры "a .. "z используются исключительно пользователем, причём когда они написаны прописью, происходит перезапись, а когда заглавными, то содержимое дополняется. Так что можно бегать по текстам и делать "Add, собирая абзацы, которые нужно вынести в отдельную главу. Всякие специальные штуки:  * ". — последний вставленный текст. Если забыли набрать count перед i, можно потом всё починить, сделав ".p нужное количество раз;  * "% — имя текущего файла;  * "# — имя альтернативного файла (не знаете, что это? :help alternate-file, или ждите моего следующего микропоста! :);  * ": — последняя команда, которую вы *вводили* (то есть текст какого-то маппинга так получить не выйдет);  * "/ — последний шаблон поиска;  * "*, "+ и "~ — первичный и вторичный буфферы X, а также текст, который перетянули в окно GVim. Про регистр "= ничего не расскажу — он связан с некими выражениями (:help expressions), о которых я (пока что) ничего не знаю. Stay tuned!
#W474HK (12+5) / @minoru / 4444 дня назад
vim
Продолжаю бросаться рандомными пересказами :help Когда вы удаляете какой-то текст, он помещается в регистр "1. При этом предыдущее содержимое "1 переносится в "2 и т.д., а содержимое "9 теряется. Просмотреть текущее состояние регистров можно с помощью команды :display Так что не волнуйтесь, если вы что-то скопировали, а потом сделали dd — скопированное ждёт вас в "2. Ещё одна классная фича — это особенность работы . (точка, «повтор последней команды») в связке с "1p («вставить после курсора содержимое первого регистра»). Особенность эта состоит в том, что . будет увеличивать номер регистра, то есть после "1p она выполнит уже "2p, а потом "3p, и так далее. Профит здесь в том, что можно накопировать кучу (точнее, до девяти) кусков текста, потом вставить последний с помощью "1p и жмакать u. («отмена последней правки и повтор последней команды») до тех пор, пока не вставится нужный кусок.
#JGH04N (5+2) / @minoru / 4444 дня назад
vim
Discovery of the Day: undo отменяет изменения по командам. То есть если вы нажали i и три часа набирали текст, а потом сделали <esc>u, то весь текст пропадёт разом. Ибо команда-то одна всего, i. А вот если эти три часа провести, прыгая между normal и insert, то u станет намного более полезным, потому что будет отменять отдельные правки.
#M3UGHT (5+1) / @minoru / 4444 дня назад
Народ, а как лучше хранить список публикаций, которые прочёл, причём делать это так, чтобы потом можно было что-то найти? Нужны категории и какие-то краткие заметки, ну и поиск по всему этому. Какие-то готовые инструменты есть? А то принимаюсь потихоньку за диплом, и простого текстового файлика скоро перестанет хватать. Ну и всякие бумажки про Haskell хотелось-бы наконец-то в порядок привести :)
#NJ892T (2) / @minoru / 4445 дней назад
http://blog.quenta.org/2012/09/0x5f3759df.html — Good 1/sqrt(x) approximation in O(1), based on some magic constant and a bit of typecasting.
#SOO8ZY (0) / @minoru / 4446 дней назад
А есть какие-нибудь сервисы по отслеживанию выхода новых альбомов любимых групп? inb4 rutracker
#E045YG (3) / @minoru / 4474 дня назад
<Silver Dragon> блин, это самая гениальная идея которую я видел <Silver Dragon> весы слушают на порт 2000+последний актет айпишника <Silver Dragon> причем 2000 в десятичном счислении <Silver Dragon> *октет
#BMWR60 (5) / @minoru / 4474 дня назад
> This package provides an essential feature to LaTeX that has been missing for too long. It adds a coffee stain to your documents. A lot of time can be saved by printing stains directly on the page rather than adding it manually. http://hanno-rein.de/wp-content/uploads/.....coffee.png http://hanno-rein.de/archives/349
#EU6HU4 (0+2) / @minoru / 4476 дней назад
Заметил, что слово, набранное обычным шрифтом посреди курсива, визуально выделяется не так сильно, как слово, набранное курсивом посреди обычного шрифта. Несколько помогает переход на моноширинный шрифт, там среди курсива заметить обычный шрифт проще. Это и правда так, или у одного меня такая фигня? Можно ли объяснить эффект с точки зрения типографики? Если кто не понял, о чём речь, то вот: http://ompldr.org/vZjRsMw
#QA22M2 (3) / @minoru / 4476 дней назад
Итак, няшке-дистрибутиву сегодня 19. Празднуем и не забываем, что через десять дней другой праздник — 21-я годовщина ядра.
#GQNARF (0) / @minoru / 4477 дней назад
Один только Imhonet заботится о том, чтобы я учился чему-то новому. Сегодня, например, я таки сподобился найти способ сменить стиль элемента, у которого нет ни id, ни класса (и к которому, как следствие, неприменимы простейшие селекторы #id и .class). Короче, вот стиль для Stylish[1], который избавит вас от 220-ипиксельной шапки с рекламой: ```CSS @-moz-document domain(imhonet.ru) { body { background: #000 !important; } div[style="height:220px;"] { height: 0 !important; } } ```   1. Stylish — это такое расширение для Firefox, позволяющее пользователям менять внешний вид сайтов с помощью user CSS. В общем, вы просто пишете стиль, который применяется к заданному сайту. Таким образом можно облагораживать вырвиглызные интерфейсы и убирать особенно назойливую рекламу. Качать здесь: https://addons.mozilla.org/en-US/firefox/addon/stylish/
#RRBB8R (8) / @minoru / 4482 дня назад
Некоторое время назад посмотрел «True Grit», а сегодня — «3:10 to Yuma». Но не римейки (2010-го и 2007-го годов), а оригиналы (1969-го и 1957-го годов соответственно). Оба фильма звёзд с неба не хватают, так что на imhonet'е я им 7 из десяти поставил. Но пост не об этом, а о том, как современный кинематограф не может создать действительно захватывающий фильм. Суть в том, что римейки я не смотрел — я их просто пролистал после того, как посмотрел оригиналы. Пролистал и удалил. Что именно мне не понравилось в новеньком «True Grit», я не помню, так что отпишусь только о втором. Перестрелки, погоня, смерть — традиционные элементы жанра. Но там, где сценаристы шестидесятых убили четверых, нынешнее поколение творцов положило всю банду из восьми человек вместе с главным героем (наверное, попутно ещё кого-то убили, а я листал и не заметил). Заметно больше перестрелок, но знаете, накал страстей в оригинальном фильме умудрились обеспечить, потратив всего одну обойму. Похоже, сегодня любой фильм просто скатывают в экшен, а дальше дело техники. Начинаю понимать своего соседа, который смотрит фильмы по штуке в час, пропуская каждую вторую сцену.
#ZWL4DQ (4) / @minoru / 4483 дня назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.