Home
Polytypic polyrythm [entries|archive|friends|userinfo]
palm_mute

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Reading on continuations [Apr. 8th, 2008|02:29 pm]
[Tags|, ]
[Current Music |Meshuggah - Dancers To A Discordant System]

1. Talk: Delimited Continuations in Computer Science and Linguistics
Презентация О. Киселева и К. Шана, которая популярно объясняет значение терминов continuations, delimited continuations, и показывает, каким образом они относятся к операционным системам и лингвистике. Китайские иероглифы вместо привычных греческих букв смотрятся очень свежо.

2. An Analytical Approach to Programs as Data Objects
Диссертация Olivier Danvy. Фундаментальная работа по теории языков программирования, рассматриваются вопросы семантики программ, трансформации программ, частичных вычислений, все изложение построено вокруг понятия "continuation". *

*Я ее еще не осилил, но выглядит как MUST READ. Как минимум, эпиграфы к каждой главе замечательные.
Link7 comments|Leave a comment

Coding for food [Mar. 15th, 2008|06:49 pm]
Если вдруг кто не заметил новое сообщество: [info]coding4fun_ru
LinkLeave a comment

Загадка [Mar. 5th, 2008|12:40 pm]
[Tags|]

Пришлось по долгу службы вспоминать язык программирования Ц++. До чего же быстро забываются все эти overload resolution'ы, template argument deduction'ы, one definition rule'ы, 2-phase name lookup'ы и пр. без активного использования.
Загадка для граждан в аналогичной ситуации )

Update.
Внимание, правильный ответ )
Link49 comments|Leave a comment

Опять барабанщики [Feb. 27th, 2008|03:53 pm]
[Tags|, ]

http://www.youtube.com/watch?v=KFtc_rpg-Wg
LinkLeave a comment

Юный барабанщик [Feb. 22nd, 2008|04:57 pm]
[Tags|]

http://www.youtube.com/watch?v=b8TSsiD_ozY
Link3 comments|Leave a comment

лингвистическое [Jan. 10th, 2008|05:16 pm]
"doesn't cut it" переводится как "не катит"
Link10 comments|Leave a comment

Опрос [Nov. 25th, 2007|12:09 pm]
[Tags|, , ]

Уважаемые друзья!
Если бы вас коллеги-программисты попросили повести пару лекций о функциональном программировании, что бы вы рассказали? Первую главу SICP? "Why FP matters" Хьюза? Что-то еще?
Link31 comments|Leave a comment

Монады и continuations (shift/reset part 1.5) [Nov. 21st, 2007|08:29 pm]
[Tags|, , ]

In America, you execute a program.
In Soviet Russia, a program executes you!



При реализации DSL часто нужна зависимость выражения от
контекста. Нам часто требуется, чтобы что-то происходило за
кулисами. Например, в комбинаторах парсеров состояние парсера —
текущий фрагмент входной строки — передается неявно, и это удобно.
дальше )
То же на РСДН, с обсуждением
LinkLeave a comment

Металлисты под микроскопом [Oct. 31st, 2007|11:08 am]
[Tags|, , , ]

Музыкальные теоретики изучают творчество Meshuggah.
"Re-casting Metal: Rhythm and Meter in the Music of Meshuggah" by Jonathan Pieslak:
Abstract
Полный текст (sendspace.com)
Забавно.
via [info]ru_meshuggah
LinkLeave a comment

shift/reset для самых маленьких, часть 1 [Oct. 28th, 2007|08:28 pm]
[Tags|, , , ]
[Current Mood | tired]

Как оказалось, я задумал написать больше, чем способен в ближайшее время.
Потому принято решение выкладывать текст по частям. Приступим:

Введение



Мы познакомимся с очень мощным и опасным инструментом управления
ходом программы - delimited continuations, а точнее, с операторами
shift/reset. Творческое применение shift/reset открывает куда
большие возможности по запутыванию программ, чем могло бы сниться
несчастному goto. Но с другой стороны, continuations можно применять
и в мирных целях, причем в тех областях, где continuations
действительно нужны, их очень трудно чем-либо заменить. В конце
концов, о delimited continuations в последнее время довольно много
пишут, потому любому, кто интересуется теоретической информатикой,
полезно иметь представление об этом звере.

читать дальше о континуациях и их аппликациях )
Link44 comments|Leave a comment

хорошо быть буддой [Oct. 22nd, 2007|07:35 pm]
[Tags|, ]
[Current Mood |accomplished]
[Current Music |I've Become The Nuclear Image Of Eternity. I'm The Original Stuff.]

В неустанной борьбе с research papers, в стремлении понять наконец-то, о чем же пишет Олег Киселев и компания, достигнута важная веха: я понял, как работают операторы shift/reset, получил смутное представление о delimited (они же partial, composable, sub-) continuations вообще, и о том, что можно делать с их помощью. Например, как можно реализовать "зеленые" потоки, обмен сообщениями в духе Эрланга, Питоно-подобные генераторы и изменяемые переменные. Возможно, если соберусь с духом и кому-то будет интересно, напишу мини-туториал.

Update. Спасибо всем за проявленный интерес, попробую оправдать ожидания

Update 2. Товарищ верь, придет она. Я об обещаниях не забыл, план и примеры кода готовы, текст в процессе.
Link10 comments|Leave a comment

Geek humor [Sep. 27th, 2007|11:33 am]
Из хаскелл-кафе:

> Salary will be within the range 25,134 - 32,796 pounds per year,
> depending on qualifications and experience. The post is available
> immediately, and will be offered on a fixed-term contract for 3 years.

I don't mean to diminish the seriousness of your message, but why is
the salary range so exact? Couldn't you have just rounded the upper
bound to 32,768 for the sake of readability?
Link10 comments|Leave a comment

Хозяйке на заметку [Aug. 31st, 2007|03:42 pm]
[Tags|, ]

ghci иногда печатает трудночитаемую кашу:
Prelude> :m +Data.List
Prelude Data.List> tails $ tails [0..5]
[[[0,1,2,3,4,5],[1,2,3,4,5],[2,3,4,5],[3,4,5],[4,5],[5],[]],[[1
,2,3,4,5],[2,3,4,5],[3,4,5],[4,5],[5],[]],[[2,3,4,5],[3,4,5],[4,
5],[5],[]],[[3,4,5],[4,5],[5],[]],[[4,5],[5],[]],[[5],[]],[[]],[]]

дальше )
[1]ipprint-0.2.tar.gz
Update: благодаря Spenser'у Janssen'у (которому, собственно, принадлежит идея) ipprint теперь на Hackage:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ipprint
Link2 comments|Leave a comment

ICFP contest 2006 [Aug. 24th, 2007|01:21 pm]
[Tags|, , ]

[info]_adept_ недавно писал о новых задачках в стиле ICFP contest 2006, написанных Алексеем Щепиным. А все ли в курсе, что организаторы ICFP contest 2006 опубликовали исходники - компилятор ML в UM, генераторы головоломок и т.д.?
Link7 comments|Leave a comment

ГЭБ [Aug. 13th, 2007|02:38 pm]
[Tags|, ]

Одолел за время отпуска "Гориллы, эму, бабуины - эти буйные гости" Д.Хофштадтера. Сумбурные впечатления )
Link5 comments|Leave a comment

К вопросу об эффективности композиции [Jul. 6th, 2007|12:59 pm]
[Tags|, , ]

Хотелось бы написать о чем-то возвышенном - например, о delimited continuations и инверсии парсеров, а еще раскритиковать трансформеры монад по ходу дела. Но, к сожалению, я пока мало в этом разбираюсь, потому напишу об обычных списках и функциях.

Как известно, добавлять элементы в конец списка в Haskell и других функциональных языках неэффективно. Поэтому, если эту операцию требуется делать в цикле, применяются различные трюки - накапливать в обратном порядке, а затем разворачивать, или более элегантно - представлять недостроенные списки в виде функций )
Link22 comments|Leave a comment

Занимательная энтомология [Jun. 1st, 2007|02:28 pm]
[Tags|, , ]

Нашел баг в Visual C# 2005. По крайней мере, народ, знающий C# лучше меня, склоняется к тому, что это таки баг. Если лень ходить по ссылке - поведение программы может зависеть от порядка объявлений перегруженных методов в интерфейсе. Что характерно, баг, похоже, в спецификации языка - никто не смог найти конкретный абзац, объясняющий, как должна интерпретироваться данная программа. Мне кажется, что проблема в отсутствии хоть какого-нибудь подобия формального семантики. Эти жуткие документы - стандарт C++ и спецификация C# - напоминают творение адвокатов, а не инженеров, и сочетают в себе худшее из двух миров: пугающие объемы текста, нечитабельный, непонятный язык и масса возможных неоднозначностей и разночтений.

Когда мы придем к власти, миром будут править Карри и его друг Говард.
Link19 comments|Leave a comment

A Banda Brasil [May. 17th, 2007|06:07 pm]
[Tags|]

Замечательная киевская группа Brasil ([info]brasil_brasil), которая лучше всех на наших просторах исполняет Samba & Bossa Nova, выложила свою демку.
Link1 comment|Leave a comment

Djinn mode for Emacs [May. 17th, 2007|01:24 pm]
[Tags|, , ]

Как известно, Djinn - theorem prover для Haskell, который может выводить определения функций из типов, используя изоморфизм Карри-Говарда.

Теоретически, он должен помогать при написании злых комбинаторов ну очень высокого порядка, тип которых записать легко, а определение - труднее. На практике мне еще не приходилось прибегать к помощи Джинна, но почему-то захотелось иметь поддержку Джинна в Емаксе. Поиск в гугле показал, что в своем желании я не одинок:
And now I greatly desire an Emacs haskell-mode with Djinn built in, so I can type "M-x write-program-at-point RET".

Тем не менее, готового djinn-mode.el не нашлось. Значит, надо делать самому. Emacs-lisp я совсем не знаю, но это не препятствие - есть inf-haskell.el, из которого можно почти все содрать (да здравствует open-source!).
Итого, в настоящий момент имеются функции
M-x inferior-djinn-show - выпускает джинна из бутылки в емаксовский буфер, и
M-x inferior-djinn-define - спрашивает имя и тип, вставляет полученное от джинна определение в текущий буфер.
Хорошо бы добавить функцию, которая будет сканировать определения типов в текущем буфере и отправлять их джинну.
Если это показалось кому-то интересным - вот код )
Link15 comments|Leave a comment

Генуин [Apr. 23rd, 2007|09:02 am]
[Tags|]

"Выпей генуину!" - сказал виндоус юзеру, пожелавшему скачать апдейты.
Link10 comments|Leave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]