| Взрывной шаблон |
[May. 19th, 2012|01:46 am] |
Коллеги, я в замешательстве. Блиц-опрос: как вы думаете, почему в Хаскеле такая конструкция называется "bang patterns"?
f !x -> "xyz"
Как лучше всего перевести на русский?
UPD: Это я к чему: в книжке, которую вчера обсуждали, вместо "bang = exclamation mark" целых четыре страницы (сс. 120—123) рассказывается про то, что это "взрывной шаблон" и "взрывная декомпозиция", и по поводу того, почему именно всё это взрывное (bang = взрыв): оказывается, там жопа _|_ взрывается, если восклицательный знак неё войдёт. Я не знаю, как на это реагировать. |
|
|
| Новый учебник по Haskell |
[May. 18th, 2012|12:26 pm] |
Добрый день!
Написал книгу о Haskell [1]. Учебник, от азов до среднего уровня. Девиз книги: просто о сложном. Много примеров, постоянное обращение к интерпретатору, простой язык (скорее запись речи, чем книжный стиль). Я бы хотел, чтобы любой желающий изучить Haskell (скорее всего, пока не подозревающий о haskell-cafe, ru_declarative, ru_lambda и тд) мог легко найти её в сети, скачать и получить удовольствие от программирования на Haskell. Книга состоит из пдф-файла и примеров к главам. Подскажите, пожалуйста, как это организовать.
Антон
[1] https://github.com/anton-k/ru-haskell-book |
|
|
| В Москве работа на хаскеле |
[Apr. 3rd, 2012|10:05 am] |
Здравствуйте.
Это продолжение вот этой вакансии: http://ru-declarative.livejournal.com/101630.html Условия такие же: 40-50тр наличными, два раза в неделю нужно приехать в офис на пару часов, делаем автоматизацию колл-центра. Теперь уже это не халтурка до июня -- заказчики хотят продолжения.
В прошлый раз я рискнул написать про 30 часов, не знаю сколько выходит на самом деле: сейчас один товарищ совмещает с дипломом, второй -- с основной работой.
Из интересного: dsl, fts, gis, web. Есть ещё задачи на javascript'е: у нас декларативный интерфейс из knockout'а и backbone (LtU).
Пишите на max@formalmethods.ru Если вы хаскеля не умеете, но очень хотите научиться -- тоже пишите.
P.S. Да, увы, у нас не Parallel Scientific и не Barclays |
|
|
| Клуб юных функциональщиков |
[Mar. 6th, 2012|05:40 pm] |
В среду, 14 марта в 19:00 в офисе компании Яндекс в Санкт-Петербурге пройдет очередная встреча SPbHUG.
Место: Свердловская наб. 44, бизнес-центр Бенуа.
Добраться можно: * от м.Площадь Ленина на бесплатном автобусе "Теорема" - дальняя левая сторона площади Ленина, если смотреть от финляндского вокзала * от м.Новочеркасская на маршрутке №6
Темы докладов: * Антон Ланцов. Гонки на Эрланге * Борис Беркгаут. Haskell в авиатренажерах |
|
|
| Универсальные системы взаимодействия |
[Feb. 4th, 2012|09:07 pm] |
Известно, что система взаимодействия на основе комбинаторов {γ, δ, ε} со следующими правилами универсальна в том смысле, что может симулировать любую другую систему взаимодействия:
γ[δ(a, b), δ(c, d)] >< δ[γ(a, c), γ(b, d)]; δ[x, y] >< δ[x, y], γ[x, y] >< γ[y, x]; ε >< γ[ε, ε], ε >< δ[ε, ε], ε >< ε.
Чтобы показать универсальность произвольной системы, достаточно предоставить три сети внутри нее, которые бы заменяли комбинаторы {γ, δ, ε}, сохраняя все возможные их взаимодействия.
Рассмотрим другую систему взаимодействия с агентами типов {ξ, φ, ψ, ε}, где ξ бинарен, а φ и ψ — унарны. При этом зафиксируем некоторые правила:
φ[a] >< ξ[a, ε], ψ[a] >< ξ[ε, a]; ε >< ξ[ε, ε], ε >< φ[ε], ε >< ψ[ε].
Задача: найти такие правила ξ >< ξ, φ >< φ, φ >< ψ и ψ >< ψ и сети в {ξ, φ, ψ, ε}, заменяющие γ и δ, чтобы система была универсальна.
Симулировать аннигиляции γ >< γ и δ >< δ нетрудно: достаточно выбрать ξ[ξ(a, b), ξ(c, d)] >< ξ[ξ(a, c), ξ(b, d)] и положить γ(x, y) = ξ(φ(x), ψ(y)) и δ(x, y) = ξ(ψ(x), φ(y)). Однако с дублированием γ >< δ дело обстоит сложнее.
Был бы признателен за помощь в решении данной задачи. |
|
|
| (no subject) |
[Nov. 24th, 2011|11:58 am] |
давным давно я написал небольшую библиотеку виджетов на ocaml и ncurses. тогда же хотел поделиться, да все руки не доходили...
теперь вот делюсь, может быть кому-то будет полезна: http://hg.smolex.com/ocaml-curses-widgets/summary
что умеет: держать screen, в нем рисовать виджеты, обновлять их содержимое по необходимости, следить за вводом с клавиатуры. из виджетов есть кнопка, лейбл, чекбокс, комбобокс, поле ввода, несколько диалоговых окон, лист, таблица (правда она так себе, показывает только текст). события, подписка на, все как у взрослых.
там же, рядом, есть небольшой генератор форм. в sexp-ах описывается форма, на нее натравливается генератов, из выхлопа получается форма с виджетом и именем. нужна такая штука из-за того, что у меня не сделаны лайауты, приходится виджеты расставлять руками по координатам и задавать им размеры. с одной стороны не фонтан, да. с другой стороны эта штука писалась для использования во всяком ембедете, чтобы к железке можно было отратиться через rs232 и увидеть +/- вменяемый тпи (текстовый пользовательский интерфейс), там плавать особо нечему, мне генерилки было вполне достаточно.
для сборки нужен elib, тоже собственного производства, лежит рядом, в отдельном репозиратии.
зы. почему не выложил на тот же битбакет? потому что у меня вот прям щас он почему-то недоступен, а если отложу выкладывание на потом, запал может кончиться :) |
|
|
| Вакансия |
[Feb. 1st, 2012|10:35 pm] |
Оригинал взят у si14 в ВакансияТоварищи! Наша компания ищет программистов на Haskell'е на фуллтайм. Личное присутствие в офисе (Петербург, ст.м. Московские Ворота) обязательно. Как обычно, ДМС и прочие плюшки в комплекте. Зарплаты обсуждаем лично. Приходите, поговорим. UPD: письма лучше писать на office@selectel.ru :)
|
|
|
| асинхронные изменения |
[Jan. 16th, 2012|10:48 am] |
Здравствуйте.
У меня возник вопрос по Haskell. Допустим, я хочу разработать многопользовательскую игру, где игроки асинхронно вносят изменения в мир. Меня интересует, где в таком случае хранится мир, ведь он может существовать только внутри некоторого вычисления, а в чисто функциональных языках, вроде как вычисления изолированны-друг-от-друга, следовательно игроки не смогут этот мир менять. Как разобраться с этой проблемой? Буду благодарен, если будет указанно направление, куда копать. |
|
|
| Работа на хаскеле в Москве |
[Dec. 9th, 2011|04:28 pm] |
Здравствуйте.
В конторе где я подрабатываю есть вакансия. Проект связан с автоматизацией работы колл-центра. Там будут веб-технологии, вся серверная часть на хаскеле. Ключевые слова: snapframework, redis, postgresql.
Условия: - работа начинается в январе-феврале, заканчивается в июне; - 40-50тр в месяц на руки; - график работы свободный, нужно быть несколько раз в неделю в офисе (на Шаболовке) для совещаний; - предполагается, что вы будете тратить ~30 часов в неделю на проект; - увы, личное присутствие обязательно, удалёнка не рассматривается.
От работника требуется писать аккуратный человекопонятный код (большая часть исходников будет выложена под BSD). Приветствуется опыт автоматизации бизнес-процессов, знание сетевых и веб-технологий.
Если интересно, напишите немножко о себе на jobs@formalmethods.ru (не забудтье приложить ссылки на свои блоги, github'ы, ohloh, stackoverflow итп).
Btw, есть ещё вакансия на javascript и вёрстку |
|
|
| Неожиданный "побочный" эффект. |
[Nov. 1st, 2011|02:55 pm] |
Решил переделать одну программу на мемоизацию. И неожиданно получил всесто правильных 87089689052447182841791388989051400978432 странное число -669965290. Ну кто додумался описать (!!) :: [a] -> Int -> a???
Кстати, для Data.Function.Memoize какой ghc нужен? В 6.12.3 его нет. |
|
|
| navigation |
| [ |
viewing |
| |
most recent entries |
] |
| [ |
go |
| |
earlier |
] |
| |
|
|