?

Log in

ru_declarative [entries|archive|friends|userinfo]
ru_declarative

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

Отдам книги (повтор) [Jan. 24th, 2016|06:13 pm]
ru_declarative

dunemaster
Коллеги, добрый день

Отдам книги:

1) С.В. Косиков
Информационные системы: Категорный подход (пригодится 3 курсу кафедры 22 в 6 семестре на ДМ-6)

http://www.jurinfor.ru/library/978.595.870.005.html

2) В. Э. Вольфенгаген
Конструкции языков программирования

http://www.rfbr.ru/rffi/ru/books/o_38002
(дополнительная книги 3 курсу кафедры 22 МИФИ в 6 семестре)


3) В. Э. Вольфенгаген
Методы и средства вычислений с объектами

http://www.jurinfor.ru/library/978589158100.html
(основной учебник 3 курсу кафедры 22 МИФИ в 6 семестре)

Если будет желание отблагодарить за книжки, принимаем яблоки и мандарины)
link2 comments|post comment

Анонс пакета Node.js для сетей взаимодействия [Nov. 15th, 2015|04:51 pm]
ru_declarative

codedot
https://www.npmjs.com/package/inet-lib

JavaScript-движок для сетей взаимодействия

Данный пакет Node.js позволяет редуцировать сети взаимодействия, описанные на языке, близком к исчислению взаимодействия, но без понятия интерфейса, или корня сети взаимодействия. Правила взаимодействия определяются с помощью нотации Yves Lafont. Реализация неявно расширяет системы взаимодействия специальным недетерминированным агентом amb, а также позволяет задавать побочные действия на языке JavaScript.

Ранее этот движок разрабатывался в контексте Macro Lambda Calculus (MLC), Web-реализации λ-исчисления с помощью сетей взаимодействия:

https://codedot.github.io/lambda/

Теперь MLC использует пакет inet-lib в качестве языка низкого уровня, чтобы транслировать в него λ-термы, реализуя механизм readback также внутри формализма сетей взаимодействия.
link1 comment|post comment

Отдам книги [Oct. 18th, 2015|05:38 pm]
ru_declarative

dunemaster
Коллеги, добрый день

Отдам книги:

1) С.В. Косиков
Информационные системы: Категорный подход (пригодится 3 курсу кафедры 22 в 6 семестре на ДМ-6)

http://www.jurinfor.ru/library/978.595.870.005.html

2) В. Э. Вольфенгаген
Конструкции языков программирования

http://www.rfbr.ru/rffi/ru/books/o_38002
(дополнительная книги 3 курсу кафедры 22 МИФИ в 6 семестре)


3) В. Э. Вольфенгаген
Методы и средства вычислений с объектами

http://www.jurinfor.ru/library/978589158100.html
(основной учебник 3 курсу кафедры 22 МИФИ в 6 семестре)

Если будет желание отблагодарить за книжки, принимаем яблоки и мандарины)
link2 comments|post comment

λ-исчисление в браузере [Sep. 1st, 2015|02:38 pm]
ru_declarative

codedot
Здравствуйте!

У меня получилось перенести бестиповое λ-исчисление прямо в Web-браузер. Вы можете ввести произвольное выражение, и алгоритм постарается найти его нормальную форму. Вычисление происходит полностью на стороне клиента и не требует серверной части. Стратегия вычисления - call-by-need, поэтому выражение (x, y: y) ((x: x x) (x: x x)) сразу дает ответ v1: v1. Также на странице я постарался в общих чертах объяснить, как работает алгоритм и на чем он основан.

Прошу любить и жаловать:

https://codedot.github.io/lambda/

Screenshot 2015-09-01 at 13.51.22.png

Комментарии, предложения, реклама и непосредственное участие в улучшении всячески приветствуются.

Спасибо.
link8 comments|post comment

Пролог, порядок целей в зависимости от данных [Jul. 18th, 2015|08:40 pm]
ru_declarative

beroal
[Tags|, , ]

Есть ли вариант Пролога, который выбирает порядок целей в зависимости от данных? Пример.
code_rem(zero) --> [false].
code_rem(succ(zero)) --> [true].
code_n(zero) --> [false].
code_n(succ(N)) --> [true], {div_mod(N, succ(succ(zero)), Q, R)}, code_rem(R), code_n(Q).

code_n работает только как print. Если поменять порядок атомов:
code_n(succ(N)) --> [true], code_rem(R), code_n(Q), {div_mod(N, succ(succ(zero)), Q, R)}.

работает только как parse.

[Update 2015-08-03. Сделал с помощью when. Правда, пришлось подправить и арифметику. Теперь приходится обходиться без DCG. Зато теперь порядок целей в программе не важен.
add(X, Y0, Y1) :- when((nonvar(Y0); nonvar(Y1)), add1(X, Y0, Y1)).
add1(X, zero, X).
add1(X, succ(Y0), succ(Y1)) :- add(X, Y0, Y1).
le(X, Y) :- add(_, X, Y).
lt(X, Y) :- le(succ(X), Y).

mult_add(R, Y, Q, X) :- when((nonvar(Q); nonvar(X)), mult_add1(R, Y, Q, X)).
mult_add1(R, _, zero, R).
mult_add1(R, Y, succ(Q), X) :- mult_add(R, Y, Q, X1), add(X1, Y, X).
mult(Y, Q, X) :- mult_add(zero, Y, Q, X).
div_mod(X, Y, Q, R) :- mult_add(R, Y, Q, X), lt(R, Y).

code_rem(N, S0, S) :- when((nonvar(N); nonvar(S0)), code_rem1(N, S0, S)).
code_rem1(zero, [false|S], S).
code_rem1(succ(zero), [true|S], S).
code_n(N, S0, S) :- when((nonvar(N); nonvar(S0)), code_n1(N, S0, S)).
code_n1(zero, [false|S], S).
code_n1(succ(N), [true|S0], S)
	:- div_mod(N, succ(succ(zero)), Q, R)
	, code_rem(R, S0, S1)
	, code_n(Q, S1, S)
	.

]
link6 comments|post comment

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

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