Size: a a a

2020 October 03

DP

Dmitry Ponyatov in pro.elixir
Alex Bubnov
Там ничего толком нет про распределенку в нём
там распределённое хранилище вычисленных объектов (value), на сквозной иммутабельности — если некоторое значение выражения уже вычислено, его не нужно вычислять еще раз, достаточно поискать по хешу исходного выражения
распределённая мемефикация, ну или по крайней мере key/value хранилище
источник

DP

Dmitry Ponyatov in pro.elixir
вобщем, там скорее что-то ближе к БД + гомоиконичные скрипты
за счет того, что каждый иммутабельный объект в общем хранилище идентифицируется хешем, и в композитных объектах вложенные объекты тоже реферируются по хешу а не имени, есть возможность подтянуть на другом узле всю вязанку объектов при необходимости
источник

DP

Dmitry Ponyatov in pro.elixir
عاصم بن حارث
пользователь: логин..фио-... без разницы! Смысл в том, чтобы иметь однозначное соответствие между номером и какими-либо данными, которые однозначно ставят в соответствие чела, который вводит этот тел.номер.
хеш-код ДНК — стильно, модно, цифровизачно
источник

DP

Dmitry Ponyatov in pro.elixir
здорово выглядит +100500
сделайте пожалуйста пару видео для питонистов "как слезть с ООП" и "функциональная замена наследования"
и если есть возможность сделайте plz упор на "почему и зачем так сделано" в языке, может даже кое-что про BEAM-машину, как что работает и как это отражено в языке — общая болезнь большинства таториалов: не рассказывают про архитектуру системы (и рантайма) в деталях, поэтому приходится зазубривать вместо понимания почему так сделано
источник

DP

Dmitry Ponyatov in pro.elixir
может быть live стримы раз в пару недель, и из них монтировать выпуски с ответами за заданные вопросы?
например разборы маленьких программ-лабораторок от задачи и исходного кода до деталей языка
источник

M

MrFlorius in pro.elixir
عاصم بن حارث
Чет чел, который инициировал вопрос, молчит\ни как не учавствует в обсуждении... 😳
Я испугался огромного количестава сообщений и сбежал)
источник

SM

Sergei Maximov in pro.elixir
Bogdan
я кстати видел в том году проект этот, развился он во что-то?
Там есть один жосткий минус: традиционные тулзы для ревью с ним работать не будут, те же самые pull request-ы выглядят так
источник

SM

Sergei Maximov in pro.elixir
Либо нужно для каждого коммита автоматически рендерить дерево текстовых исходников, но изменения внутри .unison-то всё равно останутся
источник

PG

Pig Greenest in pro.elixir
либо взять не git
источник

SM

Sergei Maximov in pro.elixir
У них там свой флоу
источник

SM

Sergei Maximov in pro.elixir
Pig Greenest
либо взять не git
ucm пока только git поддерживает
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
а что-нибудь похожее по архитектуре на UnisonWeb с распределенным графом объектов попадалось?
Зачем это нужно?
источник

DP

Dmitry Ponyatov in pro.elixir
Lama Lover
Зачем это нужно?
движок БЗЗнаний — распределённое персистентное хранилище объектов, похожих на JS-объекты, с циклическими ссылками, желательно типизированных классами
в моём случае — хранение произвольного исходного кода, уже разобранного в AST-графы,в приличных объемах (уровня полного исходного кода embedded Linux)
вообще — произвольных структурированных данных
НЕ json/xml: в нём нет средств создания вт.ч. циклических ссылок — нужны атрибутированные направленные графы с упорядоченными ребрами
и гомоиконичный язык поверх, заточенный на трансформации таких графов (метапрограммирование, генерация/трансформация кода, программирование на моделях, knowledge-based web)
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
движок БЗЗнаний — распределённое персистентное хранилище объектов, похожих на JS-объекты, с циклическими ссылками, желательно типизированных классами
в моём случае — хранение произвольного исходного кода, уже разобранного в AST-графы,в приличных объемах (уровня полного исходного кода embedded Linux)
вообще — произвольных структурированных данных
НЕ json/xml: в нём нет средств создания вт.ч. циклических ссылок — нужны атрибутированные направленные графы с упорядоченными ребрами
и гомоиконичный язык поверх, заточенный на трансформации таких графов (метапрограммирование, генерация/трансформация кода, программирование на моделях, knowledge-based web)
Нет, такого на elixir нет
Но я всё ещё не понял зачем это нужно
источник

LL

Lama Lover in pro.elixir
В unison же вроде не AST хранится, а граф вычислений?
источник

DP

Dmitry Ponyatov in pro.elixir
Lama Lover
Нет, такого на elixir нет
Но я всё ещё не понял зачем это нужно
вялотекущий эксперимент по прямой работе с произвольным исходным кодом: разбор легаси, наследование кусков проектов (независимое от языка реализации, обобщение до уровня моделей + генерация кода на нужном языке)
источник

DP

Dmitry Ponyatov in pro.elixir
BEAM подкупает своей легковесностью, в Elixir есть матчинг и акторное программирование — перспективно для следующего этапа
пока черновичок в 300 строк на Python гоняю на 1e-3% на текущих рабочих задачах (только ручная генерация кода)
источник

LL

Lama Lover in pro.elixir
Генерацию кода, независимого от языка, я видел только в генерации адаптеров и интерфейсов как клиентов к существующим протоколам. Какую-то генерацию реального кода на любом языке будет сложно реализовать, просто из-за семантики этих языков.

Чисто теоретически, можно на любом языке написать какую-нибудь абстрактную машину (тьюринга?) и под неё генерить код, а потом переводить его в таргет-язык, но и это будет достаточно душно и практически бесполезно
источник

LL

Lama Lover in pro.elixir
Dmitry Ponyatov
движок БЗЗнаний — распределённое персистентное хранилище объектов, похожих на JS-объекты, с циклическими ссылками, желательно типизированных классами
в моём случае — хранение произвольного исходного кода, уже разобранного в AST-графы,в приличных объемах (уровня полного исходного кода embedded Linux)
вообще — произвольных структурированных данных
НЕ json/xml: в нём нет средств создания вт.ч. циклических ссылок — нужны атрибутированные направленные графы с упорядоченными ребрами
и гомоиконичный язык поверх, заточенный на трансформации таких графов (метапрограммирование, генерация/трансформация кода, программирование на моделях, knowledge-based web)
А зачем нужен гомоиконичный язык запросов?
Так-то уже существуют графовые базы данных, и, я думаю, не сложно будет написать что-то поверх них, что будет уметь хранить код и ссылки на другой код
источник

DP

Dmitry Ponyatov in pro.elixir
Lama Lover
А зачем нужен гомоиконичный язык запросов?
Так-то уже существуют графовые базы данных, и, я думаю, не сложно будет написать что-то поверх них, что будет уметь хранить код и ссылки на другой код
в neo4j не та модель данных, и нужен полноценный язык трансформаций, не запросы (способный вывезти штуки типа инкрементной компиляции, без требований по скорости)
источник