J. A. R. Kotlien
В Fable они доступны?
Вроде тут что-то обсуждали, но не понял на чём порешали. https://github.com/fable-compiler/Fable/issues/1372
Ayrat
Можно даже билдером recreate { record.A.B.C.D <- 1 }
Ayrat
Билдер умеет аст отдавать. В Run метод билдера засунуть кодеген или рефлексию с кешами
Doge
Ну и плюс скалошники-то это же делают
Там на макросах практически наверняка
サイトー
Там на макросах практически наверняка
Я не знаток скалы, но судя по всему в quicklens (то что в посте) да, я поглядел сорцы
Фил Ранжин
нужно что то персистентное, что даёт доступ к элементам как двумерный массив, но при этом обновление элемента было бы не таким дорогим, как у массива
Фил Ранжин
Обновление элемента у массива дорогое???
ну типа, перекопировать массив
Фил Ранжин
нет?
Hog
Тычоа. Массивы мутабельные
Ayrat
ну типа, перекопировать массив
Ааа, так ты хочешь иммутабельный массив?
Фил Ранжин
еп
Vladislav
Хм
x
А зачем это всё? Это уже роботы?
Фил Ранжин
какойнить хэщсет по идее
Hog
Там порядка нет
Андрей
еп
Проще уж тогда его деревом представлять, чтобы подешевле.
Фил Ранжин
А зачем это всё? Это уже роботы?
нет, это тестовое для роботов, которое я не стал тогда делать. А сейчас запарился из-за того, что они открыли вакансию, и решил нафигачить
Фил Ранжин
Там порядка нет
подожи, мне не важен порядок. Делаем хешсет от (i,j)
Vladislav
А для чего такая структура?
Фил Ранжин
автомат конвея
Pavel
подожи, мне не важен порядок. Делаем хешсет от (i,j)
думаешь хеш работает быстрее индексов
Фил Ранжин
ну, нужно не быстрее, нужно не намного медленнее
Фил Ранжин
там фишка в том, что есть состояние, которое описывается двумерным массивом, его надо фолдить, и на каждой итерации фолда нужно уже работать с обновленным состоянием
Hog
Ну да. Мапа по тупле тогда
Фил Ранжин
если кто-то хочет подсказать мне, что я тупой - не надо, я и сам всё знаю
Фил Ранжин
Ну да. Мапа по тупле тогда
вот и я склоняюсь
Фил Ранжин
там поиск вроде в худшем случае логН
Pavel
хз что там мутишь. мутируешь массив во время фолда чтоли?
Hog
Погугли sparse matrix
Hog
Мож чо есть уже
Фил Ранжин
хз что там мутишь. мутируешь массив во время фолда чтоли?
прокидываю дальше в виде аккумулятора
Фил Ранжин
нет бля, я взял персистентный массив и мутирую его
Фил Ранжин
потому что могу
Фил Ранжин
хотя постой
Фил Ранжин
он же персистентный
Vasily
Тз бы озвучил
Pavel
нельзя... окажется что все не так )
Dr. Friedrich
нет бля, я взял персистентный массив и мутирую его
А что такое «персистентный массив»? Обычный массив не очень-то персистентный.
Vasily
У меня просто впечатление, что кто-то страдает фигней
Dr. Friedrich
Да не, двухмерного персистентного массива или сходной по характеристикам структуры я правда не знаю, мне уже интересно.
Dr. Friedrich
k-d tree, возможно?
Фил Ранжин
если кто-то хочет подсказать мне, что я тупой - не надо, я и сам всё знаю
Фил Ранжин
У меня просто впечатление, что кто-то страдает фигней
Dr. Friedrich
Хотя оно не персистентное
Vasily
Карочи
Vasily
Вопрос первый
Фил Ранжин
Тз бы озвучил
тз не имеет значения. Сейчас мне просто интересно, что использовать, если хочу двумерные индексы и добавление(функциональное). И всё это подешевле
Vasily
Походу, февральское обострение. Меня тоже крыть начинает
Vladislav
Я бы использовал массивы как есть...
Dr. Friedrich
Я бы использовал массивы как есть...
Тут иммутабельность важна. А, значит, их придётся копировать на модификацию — не ок получается.
Vasily
Там n одномерных массивов надо
Pavel
Ayrat
Но допустим
Ayrat
Если важна, то деревья
Dr. Friedrich
Пока неясна важность
Ну как неясна? Обсуждается персистентная иммутабельная структура, предоставляющая доступ по индексу в виде кортежа из двух элементов.
Dr. Friedrich
Вопрос про разреженность хороший!
Vasily
Ваще,канеш, если это жизнь конвея
Vasily
То надо тупо только координаты живых клеток хранить
Ayrat
Вообще наши мапы и сеты сортированные внутри
Ayrat
Если чо
Dr. Friedrich
Я бы взял вектор векторов, короче.
Vasily
И не ебать мозг
Dr. Friedrich
Вектор — ваще царская структура данных, всё лучше с вектором.
Ayrat
Можно сортировать по индексу
Dr. Friedrich
Ayrat
Вооо. Берём мап где ключ - тупль из двух индексов
Ayrat
И всё
Vasily
Далее мап не нужен
Pavel
В какой структуре их хранить? :)
конвей всегда в массиве работаел. че там хранить то
Ayrat
Далее мап не нужен
Я про мап, который словарь
Dr. Friedrich
Вооо. Берём мап где ключ - тупль из двух индексов
А потом тебе приносят задачу «хочу узнать плотность точек в квадранте (x₀, y₀); (x₁, y₁)» — и всё, с мапой ты проиграл!
Hog
Ну да. Мапа по тупле тогда
Vasily
Кароч.Храним координаты заполненных