Alexander
@async_prince я вот выше написал
Alexander
в таком предсталении нету никаких проблем с операциями, во всяком случае вставкой поиском (типизированным по ребрам) и удалением
Quet
@voidlizard вы когда про фронтенд думали не смотрели на все эти окамлы? bucklescript, reason, js_of_ocaml..
Dmitry
@async_prince ну я не знаю, как делают они, но если придумывать с нуля, то наверное построение из матрицы смежностей можно осилить, а что бы редактировать - наверное, нужно пачку изменений, пртом опят всё в матрицу смежностей, а из неё новый граф. наверное есть и другие способы, это просто тупо первое что в головую приходит
Alexander
доктор меня все игнорируют : (
Dmitry
@quetzal да я регулярно смотрю по кругу.
Dmitry
@qnikst ну, я про случай, если бы вы не придумали, а надо было с нуля изобретать
Quet
@quetzal да я регулярно смотрю по кругу.
и что про окамлы эти думаешь?
Dmitry
ну т.е не очень понимаю, в чем проблема. Зефиров вон докладывал как они графы засунули в IntMap и сишечку дернули по скорости
Alexander
ну да
Alexander
тут то тоже считай IntMap
Alexander
только Hash
Dmitry
@quetzal там нигде нет гуевой библиотеки, её что с нуля писать? а просто программировать с нуля на окамле и транслировать в js я как-то профита не виду
Alexander
хм.. кстати это писалось когда Зефиров в той фирме работал
Dmitry
виджеты всякие, вот это всё
Alexander
правда не им
Alexander
про сишку дернули, это кстати прикольно, пакеты на hackage есть
Dmitry
@async_prince его можно использовать как промежуточное представление для того, что бы граф перестраивать
Alexander
вроде
Alexander
стандартное же представление для разряженных матриц [(Нода, [Ребро])]
Alexander
только типы на эффективные заменить
Anonymous
я тут намекаю больше на то, что в хаскеле данные immutable, а графы вообще-то удобно иметь мутабельные
Alexander
зачем?
Anonymous
стандартное же представление для разряженных матриц [(Нода, [Ребро])]
ну это уже не матричное представление, а как раз норм через списки смежности. теперь вопрос как его эффективно построить и дальше поддерживать)
Alexander
чтобы потом проблемы с конкуретными транзакциями ловить?
Alexander
я написал, как эффективно построить
Anonymous
Ок
Alexander
HashMap Res (HashSet Rel)
Alexander
ну это достаточно эффективный базовый вариант
Alexander
изменение - как изменение структур обычных на таких типах не слишком дорого
Alexander
любители могут и мутабельно сделать, но мутабельных быстрых хэшмапов нету
Anonymous
если я в узел A добавил связь с узлом B, то я получил новый узел A'? и я должен везде, где в списках смежности фигурирует узел A заменить его на A'?
Anonymous
причем эти узлы, где я список смежности поменял, тоже стали новыми узлами
Alexander
узел это же Res он не меняется
Alexander
при добавлении связи
Alexander
ты ж просто в HashSet Rel добавляешь её
Alexander
если ты хочешь изменить ноду, т.е. для всех связей A <-{whatever} -> B заменить A на B - это дорого
Dmitry
@quetzal так что проблему джаваскрипта решили наймом фронтендщика который умеет в джаваскрипт
Alexander
но опять же если очень хочется то можно чуть изменить представление
Anonymous
ок, я понял теперь
Anonymous
спасибо )
Alexander
(Vector Res, IntMap (Set (TypedInt, TypedInt)))
Alexander
типа того что-нить, у тебя в структуре только индексы узлов, а все данные лежат в соседней структуре
Alexander
тогда замена объекта O(1)
Alexander
я все хочу это протолкнуть, особенно потому, что у нас структура выше используется
Alexander
а она не каноническая (т.е. там излишнаяя инфа) и эта инфа валяется в базе когда там не нужна
Max
доброе утро, чатик
Alexander
шутки от питонистов
Vladislav
игры на питоне, лол
Vladimir
давайте, кто умней комментарий оставит?
Λ ll И K X
Evgenii
доброе утро, чатик
Вот и причина наконец выучить хаскель
Max
@voidlizard https://net.dirty.ru/yota-obezumela-1320552/
Max
твоих рук дело?
Dmitry
с чего бы?
Max
с чего бы?
а ты какому оператору пилишь шейпер?
Dmitry
не оператору же.
Dmitry
https://zyxel.ru/keenetic-ultra-2/
Max
аа
Max
это у него внутри х-ь?
Dmitry
хаскель в клауде которое это дело поддерживает
Dmitry
там же машинное обучение вот эти все дела
Max
неплохо
Ilya
Превосходно! Осталось лишь узнать, какие приложения вы собираетесь разрабатывать > Утечку памяти С++ > Числа фибоначчи Haskell > Да прошивку на вейпе пропатчить надо Go ...
Алдар
доброе утро, чатик
жабаскрипт и сишечку забыли
Max
это не влезло по самоцензурным ограничениям
Anonymous
а
Anonymous
Прошу прощения, не туда написал
Alexander
блин, в одном месте не использовали safeCopy теперь целый ад надо вокруг разворачивать
Vladimir
и людей увольнять придется, обидно
Alexander
м?
Vladimir
пошутить попробовал, не вышло
Vladimir
Either ХорошаяШутка НеловкаяСитуация
Alexander
где использвали норм
Alexander
я не знаю что у нас надо делать чтобы уволили
Alexander
видимо что-то совсем плохое