?

Log in

ru_declarative [entries|archive|friends|userinfo]
ru_declarative

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

Вопрос про Agda: [May. 15th, 2016|06:41 am]
ru_declarative

kouzdra
А никто не знает - на ней хоть какие-то более или менее реальные программы писали, не обязательно сложные - на крайний случай и Тетрис какой-нибудь сойдет, но именно реальные.

PS: И тот же вопрос про Idris, хотя тут менее интересно.
link10 comments|post comment

MLton [Apr. 17th, 2016|05:06 pm]
ru_declarative

kouzdra
А никто не имел дела с этим:
What is MLton?

MLton is an open-source, whole-program, optimizing Standard ML compiler.
...
Features:
...
Untagged and unboxed native integers, reals, and words.

In MLton, integers and words are 8 bits, 16 bits, 32 bits, and 64 bits and arithmetic does not have any overhead due to tagging or boxing. Also, reals (32-bit and 64-bit) are stored unboxed, avoiding any overhead due to boxing.

Unboxed native arrays.

In MLton, an array (or vector) of integers, reals, or words uses the natural C-like representation. This is fast and supports easy exchange of data with C. Monomorphic arrays (and vectors) use the same C-like representations as their polymorphic counterparts.
А то я когда-то очень давно на него смотрел - но тогда он был откровенно недоношенным, а щас на нем даже какие-то не очень тривиальные проекты вроде пишут.

Выделенные фичи в общем-то привлекательны.
link3 comments|post comment

Отдам книги (повтор) [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

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