Андрей
все ребиты и бинстолки могут поломать воркфлоу, так как без транзакций нельзя атомарно завершить одну задачу и запланировать ещё 10
Alexander
Не знаю, имеет ли это значение, но систему мы написали и отладили за 3 месяца. Мой напарник занимался инфраструктурой (БД и RabbitMQ), а я - языком, раннером, интерпретацией
Андрей
ну вообще прикольно
Андрей
а зачем? )
Alexander
все ребиты и бинстолки могут поломать воркфлоу, так как без транзакций нельзя атомарно завершить одну задачу и запланировать ещё 10
Я не очень осознаю проблему. Есть централизованный сервер, где задачи трекаются. RabbitMQ лишь нужен для того, чтобы доставлять сообщения между Workflows.
Alexander
* централизованный БД-сервер
Alexander
а зачем? )
Это им нужно было для выполнения бизнес-процессов. У них финансовое приложение, и некоторые операции на бэкенде могут протекать очень длительное время. А некоторые - вообще без участия людей.
Андрей
ну ты полез в централизованный сервер, узнал что по какой-то логике воркфлоу можно / нужно запланировать новую задачу, дёрнул этот сервер, он отметил у себя новую задачку, после чего ты видимо решил её положить в ребит и обломался, что произошло?
Alexander
А еще они хотели сдавать свои мощности в аренду другим компаниям, чтобы те писали себе workflow для бизнес-процессов, заливали эти скрипты, и те выполнялись. Причем, безопасно.
Андрей
у майкрософта куча софта с логикой, про которую ты говоришь
Alexander
Может, и поломается
Alexander
Ну а то ж. Workflows только ленивый не делал
Андрей
там прям визуально можно настраивать и обмазавшись сишарпом кодить
Anonymous
@bitgramoff будет жить. Поприветствуем!
bitgram
Всем привет, Bitgram ищет разработчиков Проект p2p биржи для криптовалют, аналогичной LocalBitcoins. При заходе на биржу пользователю предлагается список наилучших предложений от трейдеров для выбранной системы оплаты и месторасположения пользователя. Для продажи криптовалюты пользователи и трейдеры отправляют средства на внутренние кошельки, через которые реализовывается escrow для сделок. При возникновения конфликта во время сделки, пользователю предлагается начать диспут, в результате которого модераторы решают конфликтную ситуацию. Поддерживаемые валюты: BTC, LTC, Cardano, DASH, Monero, ZCash. Реализовано: * Кошельки и балансы пользователей * Создание/редактирование/просмотр предложений трейдеров * Поиск предложений трейдеров * Глобальный чат с пользователями * Отображение текущих курсов валют * Отображение графиков курсов валют (свечи) Необходимо реализовать: * Проведение сделки по предложению трейдера * Система диспутов при возникновения проблем при проведении сделки * Вёрстка информационных страниц * Опыт работы с Haskell от 2 лет * Знание технологий и библиотек: - PostgreSQL - servant - GHCJS - reflex-dom - NixOS и Nix * Опыт работы с bitcoin CLI * Опыт работы с AWS * Опыт развёртывания систем с помощью nixops * Знание английского на уровне Intermediate+ ставка от 20 евро в час контакты Telegram - @bitgramoff adm.bitgram@gmail.com
Андрей
ох, еслиб я помнил название, это было лет 7-8 назад
Андрей
ну да, WF https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/whats-new-in-wf-in-dotnet
Апач
Существуютли хорошие статейки про изоморфизмы на АСД?
кана
асд?
Alexander
но ты же все равно свой сделал?
Апач
Абстрактное синт. Дерево
Зигохистоморфный
Зигохистоморфный
и что значит изоморфизм?)
Апач
(1+1)+(1+1) то же что и (((1+1)+1)+1) и тому подобное
Vladislav
Это разные синтаксические деревья
Vladislav
Денотация одна (4), потому что сложение коммутативно, а AST явно разные
Зигохистоморфный
ну это как идея с какой-нибудь дистрибутивностью, ast разные, но исход одинаков
Vladislav
Просто речь шла об изоморфизме AST, но что под этим подразумевается я так и не понял.
Зигохистоморфный
вот и я не понял, поэтому и задал контрольный вопрос
Апач
Вот, хорошо бы по операциям и ast понимать что деревья разные а результат тт же без вычисления
Апач
Зачем надо - попробовать написать поделку для операциями над выражениями не на строках, а на деревьях
Vladislav
это называется equational reasoning, переписываешь одни тёрмы в другие, пользуясь свойствами вроде коммутативности, сохраняя семантику
Vladislav
да не, в агде как раз такого нет
Vladislav
в Coq так доказательства работают (там надо тактиками тёрмы переписывать), но Гонзалес так на бумажке в Хаскеле делает
Vladislav
http://www.haskellforall.com/2013/12/equational-reasoning.html
Апач
Хммм, надо будет в скалу украсть
Зигохистоморфный
да не, в агде как раз такого нет
я просто помню такое https://github.com/konn/equational-reasoning-in-haskell
A64m
смешно, что за 30 лет так и не сделали автоматический переписыватель по правилам в репле, как для матпакетов всяких сделано
A64m
(для корки сделали, правда)
A64m
правда он уже сгнил
Апач
Замена там интересно работает
Зигохистоморфный
http://www.haskellforall.com/2013/12/equational-reasoning.html
мне кстати кажется, что в hlint похоже правила переписывания работают
Vladislav
только они там тупые, так как ничего не знают про типы
Anonymous
@kirelagin будет жить. Поприветствуем!
Kirill
https://github.com/agda/agda-stdlib/blob/master/src/Relation/Binary/EqReasoning.agda
Андрей
Андрей
выглдит чуть лучше чем брейнфак
A64m
намного лучше
Андрей
поясни мне тогда зачем агда и в чём разница с идрисом
Евгений
Агда хотя бы работает
Oleg
В агде меньше кодерского сахара и больше сахара для красиво-выглядещей математики. Она компилится в haskell. В ней зашит MLTT, а не хитрая брейдиевская ТТ с линейщиной. В агде можно отключить K аксиому и паттерн-матчить, не ломая HoTT
A64m
странный вопрос, между агдой и идрисом больше разница, чем между скалой и с++ например
Андрей
да я ни то ни другое ваще не трогал и ваще боюсь трогать) страшно представить что людей заставляет писать что-то на этих языках
Oleg
Ну и в идрисе, в особенности в следующем какое-то патентованое брейдиевское стирание, так что вроде можно больше тайплевела крутить вертеть. Но все это очень гипотетическое.
Yura
гайз, а кто-то сталкивался с тем что stack ghci не грузит hsc модули?
NC
Я сталкивался, но решения не нашёл
A64m
меня вообще поражает, как люди умудряются считать агду идрис хаскель и пурскрипт (особо одаренные еще и эмели) как какие-то версии одного языка и рекомендовать одни вместо другого (на хаскельном реддите каждую неделю кто-то явно или не явно утверждает такую ахинею), когда разница между ними такая что в мейнстрим не влезет
Anonymous
@kgusakov будет жить. Поприветствуем!
A64m
все пытаются починить оптимизацию "циклов" вида forM_ [1..n] \i -> https://phabricator.haskell.org/D5131 ну и само собой > A quick run of NoFib revealed no regression or improvements whatsoever.
Misha
А все, нашёл
A64m
это набор игрушечных программ, который собрали в начале 90-х чтоб измерять (и до сих пор измеряют) производительность кода, который хаскельные компиляторы генерируют он называется не fib потому, что до этого это делалось измерением времени вычисления n-го числа фибоначчи
A64m
обычно он показывает no regression or improvements whatsoever
Misha
Числодробилки и парсеры?
A64m
ну там много всего, другое дело что актуальные библиотеки, производительность которых важна там не задействованы (ну, за исключением некоторых библиотек в заоптимизированных вручную микробенчмарков с шутаута, которые туда позднее добавили)
Anonymous
Andrey Chugunov будет жить. Поприветствуем!
Anonymous
y a r u y a r i будет жить. Поприветствуем!
NC
Интересно, а здесь есть те, кто в проде используют GHCJS?
Alexander
bitgram
NC
Вот из-за них и вспомнил