Sep 15, 2018 14:11
Долго мучался выбирая между различными реализациями словарей в плане производительности операции объединения с функцией. Хотел для каждого (key,value) плодить маленькие локальные мапы, с последующим объединением. Своего рода, моноид. Но затем, неожиданно решил, что используя обратное отображение - окружения (соседних элементов) в текущую ячейку, будет проще с производительностью. и выбрал комонаду ZipList a = MkZip [a] !Int [a] вместо словарей. Посмотрим, действительно ли это проще и производительнее. Фактически это функциональный аналог указателей с дешевыми инкрементами.