You are viewing ru_declarative

Tired of ads? Upgrade to paid account and never see ads again!
ru_declarative [entries|archive|friends|userinfo]
ru_declarative

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

Picat - новый язык программирования, основанный на логике [Mar. 19th, 2015|03:32 am]
ru_declarative

kit1980ukr
Недавно автор B-Prolog, профессор City University of New York Neng-Fa Zhou, придумал новый язык программирования - Picat (Pattern-matching, Imperative, Constraints, Actors, Tabling).

Язык во многом похож на B-Prolog (и реализация Picat внутри использует B-Brolog), но с элементами современных функциональных и императивных языков: функции в добавок к предикатам, циклы (которые транслируются в рекурсивные вызовы), опциональное деструктивное присваивание (компилируется при помощи дополнительных переменных), детерминизм по умолчанию, сопоставление с образцом вместо унификации при вызове предикатов...

Язык достаточно интересный. Официальный сайт - http://picat-lang.org/ - содержит большое количество примеров и документации. Я написал несколько блог-постов про Picat (на английском) - http://sdymchenko.com/tags/picat/ (на один из них, про декларативное решение задач планирования на Picat, разместили ссылку в меню официального сайте).

С официального сайта можно скачать версии Picat для Linux, MacOS и Windows.
Исходный код доступен под Mozilla Public License.
link4 comments|post comment

Первая встреча пользователей kdb+ / q в Санкт-Петербурге, 11 марта [Mar. 6th, 2015|04:16 pm]
ru_declarative

gds
В среду, 11-го марта 2015 года состоится первая встреча пользователей технологий Kx Systems: kdb+, СУБД, широко применяющейся для работы с временными рядами в алгоритмическом трейдинге и других областях, и q, встроенного в неё мощного языка программирования, наследника APL.

Она пройдёт в очень красивом историческом здании Опекунского совета на ул. Казанской, дом 7, в библиотеке на втором этаже. Начало в 18:30.

В программе:

* введение в kdb+ и q от разработчиков;
* обмен опытом и общение с пользователями и разработчиками kdb+/q за чаем с печеньем;
* возможность попробовать kdb+ в деле — приходите со своими ноутбуками!

Регистрация на встречу — по ссылке:
http://www.meetup.com/Kx-St-Petersburg/events/220893038/
link2 comments|post comment

Лекции по гомотопической теории типов (Санкт-Петербург) [Mar. 5th, 2015|12:20 pm]
ru_declarative

krlz
Выложили еще одну лекцию.



Следующая лекция будет в БЦ Таймс по адресу Кантемировская 2а, 16 марта в 18:00.
linkpost comment

Лекции по гомотопической теории типов (Санкт-Петербург) [Mar. 4th, 2015|05:29 pm]
ru_declarative

krlz
Выложили еще одну лекцию.



Следующая лекция будет в БЦ Таймс по адресу Кантемировская 2а, 16 марта в 18:00.
linkpost comment

Лекции по гомотопической теории типов (Санкт-Петербург) [Feb. 18th, 2015|01:13 pm]
ru_declarative

krlz
Выложили еще одну лекцию



Следующая лекция будет 2 марта в 18:00 в БЦ Таймс по адресу Кантемировская 2а.
linkpost comment

Вакансия engineering manager (Haskell/OCaml) в Германии [Feb. 16th, 2015|12:09 pm]
ru_declarative

alexott
Сразу скажу - мопед не мой, я просто получил письмо от рекрутера, но может кому будет интересно.

Одна компания занимающаяся информационной безопасностью (я не имею к ней никакого отношения) ищет менеджера для группы разработки которая занимается применением formal methods для задач инф. безопасности. Разработка ведется на Haskell/OCaml. Позиция в Дрездене, Германия. Компания вроде обеспечивает визу и т.п.

Кому интересно - пишите на почту alexott gmail...
link17 comments|post comment

Лекции по гомотопической теории типов (Санкт-Петербург) [Feb. 12th, 2015|04:09 pm]
ru_declarative

krlz
Выложили еще одну лекцию.



Следующая лекция будет 13 февраля в 19:00 в БЦ Таймс по адресу Кантемировская 2а.
link1 comment|post comment

Лекции по гомотопической теории типов (Санкт-Петербург) [Feb. 5th, 2015|06:02 pm]
ru_declarative

krlz
6 февраля в 19:00 на 4-м этаже бизнес-центра "Таймс" (рядом с Кантемировским мостом) на базе института биоинформатики JetBrains стартует курс лекций Валерия Исаева (СПбАУ), напрямую посвященный гомотопической теории типов.

Первую лекцию можно посмотреть вот здесь:
link7 comments|post comment

Haskell vs Prolog [Jan. 5th, 2015|11:20 am]
ru_declarative

nponeccop
Неожиданно пришёл развёрнутый ответ на мой старый (неумный, так что нет смысла приводить его здесь) пост о Haskell vs Prolog. Возражений 2: а) хаскелл не равноценная замена Прологу б) не надоть нам ентих абстракций.

> Хаскел не сложнее Пролога. Но он

возражаю. именно что "мощнее" (более широкого применения), но и сложнее на пару порядков. в понимании и применении.

1) любая претендующая на универсальность механика сложнее специализированной и оптимизированной под конкретный тип задач.

2) реализовать на Хаскеле или другом языке типа МЛ механику примитивного варианта пролога конечно можно. очень просто. несколько строк. но эта реализация будет годна лишь для простых задач. она _не будет конкурентоспособна_ и сравнима по эффективности с нормальными развитыми реализациями пролога, на более-менее крупных реальных проблемах. ни по скорости поиска решения. ни по обьему потребляемой памяти. ни по эффективности доступа к памяти (в том числе излишняя нагрузка на GC). не будет в ней и новых логических разработок типа constraints. которые дают во многих реальных задачах много порядков _алгоритмического_ преимущества перед примитивным старым движком пролога.

3) менее очевидная засада с Хаскелем (при попытке применять его вместо пролога в задачах где обычно применяют пролог) это его кэррирование и т.п. эта концепция внешне кажется привлекательной но на самом деле лишь прячет связи между частями программы под капот, делая ее на порядок менее читабельной. программы на прологе более многословны но как раз это обилие явных логических переменных через которые идут потоки данных между предикатами делает понимание, чтение и главное _модификацию_ программ на прологе гораздо более простой. просто-напросто меньше приходится держать в голове и больше можно думать о задаче а не о механике ее реализации. в хаскеле гораздо больше позиционности и контекстной зависимости. это не сказывается когда реализуется готовое решение один раз. но это очень сказывается когда идет процесс поиска решения и постоянные переделки. пролог более декларативен и абстрактен, в своей области.

таким образом пролог уверенно держит свою нишу инструмента исследователя и средства прототипирования. помогая в решении задач или уточнении недостаточно проработанных постановок задач. помогая экпериментировать пробуя и обьективно сравнивая разные варианты решений. и хаскель не вытеснит пролог из этой ниши. кстати типизация тут не сказывается. тут только удобство формулировки и поиска решения сказывается.

а далее найденное и проработанное во всех моментах решение переписывается на сильнотипизированном языке, да. для упрощения поддержки отдельной командой индусов. но и тут хаскель не идеал. тут лучше что-то типа МЛ или меркури применять. это гораздо более прямолинейные языки а чем меньше всяких хитровыделанностей и спецабстракций в языке тем лучше он подходит на роль промышленного, для команд индусов/студентов.

я воспринимаю хаскель как академический мутант пролога и мл. он конечно дает богатый корм академикам - кучу тем для статей с новой хитровыделанной терминологией как это было и есть с ООП (тоже не дающая никаких практических преимуществ парадигма, кстати). но он не способен удовлетворить так же хорошо ни одну из двух областей которые он пытается совместить. несовместимых между собой в принципе кстати. вся эта терминология конечно формирует некую цельную идеологию. беда в том что понятия "практическая полезность" и "реальная необходимость" при создании этой идеологии не учитывались никак. не были ее разработчики практиками. они теоретики. это не порок, просто другой акцент.

думаю ниша хаскеля останется академической. его разработчиков не интересовало реально практическое удобство применения и реальные ниши - ниши проектирования и инженерной реализации. они только предполагали но не проверяли на практике. что легко видеть по тому что хаскель рос как придется и даже не имеет единообразной системы модульных имен. и выглядит как несистематизированная куча, поэтому его надо знать весь чтоб понимать. грубо говоря хаскель это как джек-решу-все пытающийся быть как архитектором дома так и каменщиком кладущим кирпичи. в то время как эти вещи требуют развития человеческого организма в принципиально разные стороны )) либо голова либо руки. на все сразу времени не хватит и пользоваться малой кучей навыков удобнее.

с уважением, 4KCheshireCat
link20 comments|post comment

Редексы [Dec. 21st, 2014|08:45 pm]
ru_declarative
_xacid_
Сколько редексов в выражении (1+2)*(3+4) ?
link18 comments|post comment

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