Нурлан
Alexander
Data.Bits + Data.Ix + вектор
Alexander
bitset вообще были какие-то разной степени готовности
Alexander
там есть вкладка sources
Alexander
;)
Alexander
сначала делаешь на data BitSet и становится почти все понятно
Влод
Нурлан
Kirill
Нурлан
быстрее вычислить ячейку
Yurii
а если совсем извратиться и какой-нибудь mysql прикрутить для хранения этого многомерного массива?
SoulSilence
Нурлан
да, там дальше надо одну размерность умножить на коэффициенты, сложить ее, а потом еще и argmin найти по основанию
Дима
Yurii
массив 2 x 10^3 x 10^3 x 10^4
и если мы делаем
10^4 записей по чему-то, что хранит в себе 2 х 10^3 х 10^3 т.е. (2х10^6) (а это, по идее, уже проще)
Дима
Нурлан
Нурлан
хотя, можно разреженные матрицы прикрутить... спасибо за толчок
Yurii
redis хотя бы
http://eax.me/redis/
Redis умеет сохранять данные на диск
// прикольно
Alexander
а тут крото спросил какая задача?
Нурлан
Это AdaBoost
Нурлан
возможно архитектура выбрана неудобная, сегодня попробую вычислять на итерациях, может это будет дешевле
Evgeny
Привет всем. Я попробовал переписать https://wiki.haskell.org/Examples/Random_list на Sequence:
http://lpaste.net/354498
Вроде как всё тривиально, но код после компиляции сваливается в бесконечный цикл
Evgeny
Думал, проблема с lazy , попробовал evaluate, но не помогло
Evgeny
Что там не так может быть?
Vasiliy
проблема с ленивостью, да, точнее, с её отсутствием
Vasiliy
sequence - оно finite и strict, бесконечных сиквенсов не бывает
Vasiliy
в документации по unfoldr написано: WARNING: If the number of generated elements is infinite, this method will not terminate.
Evgeny
ага, но я применяю take
Evgeny
Ок, в целом, понял, куда рыть, спасибо.
Vasiliy
это не важно, он всё равно пытается создать весь sequence
Alexander
но зачем это переписывать на sequence?!
Evgeny
Это просто кусок кода, разобравшись с которым, смогу использовать в более жизненных приложениях. Основная цель этого всего — это уход от List в сторону потенциально более шустрых типов.
Alexander
но в данном случае это разучивание, т.к. именно в этом случае список это самая правильная структура
Alexander
а последовательность делается как Seq.fromList $ take n $ mkList
Alexander
и это будет эффективнее, чем если там поменять список на sequence
Alexander
Evgeny просто идея в том, что благодаря list fusion список вообще строиться не будет
Alexander
ну и sequence далеко не всегда эффективнее списка, т.к. структура сложнее
Alexander
я понимаю ещё вектор генерить, хотя там тот же самый fromList или fromListN эффективнее всего
Evgeny
Понял, спасибо.
Evgeny
Получается, что структуры из Data.… выгоднее брать только тогда, когда надо обрабатывать что-то более-менее сложное, например, Map для словарей и прочее в том же духе
Alexander
зависит ли задачи
Alexander
что стоит помнить что стоит разделять control и data structures
Alexander
control определяют выполнение программы
Alexander
data то что хранишь используешь
Alexander
есть которые и те и другие хорошие например вектора
Evgeny
Но в большинстве случаев, как понимаю, control чем проще, тем лучше
Evgeny
а data в зависимости от задачи
Alexander
для тех где структура будет храниться в памяти и к ней запросы - хорошо бы иметь с локкльносттю хорошей
Alexander
control они могут быть ленивыми и с плохой локкльностью, если они не строятся в памяти и фьюзятся - то все хорошо
Alexander
ну а так нужно смотреть какие операции над структурой выполняются и выбирать
Alexander
хорошие определения control и data структур и интуицию дать не могу, к сожалению
Evgeny
Это-то понятно . :) И так помог, спасибо.
Evgeny
А то удивляло повсеместное fromList и аналоги
Dmitry
лайфак. лекции с степика становятся более лучшими, если смотреть на скорости 1.25
Igorek
Igorek
Некоторые можно и на 1.5 смотреть
Dmitry
ну там уже голос какой-то несерьезный получается. подрывает.
Quet
а ты в этих лекциях что-то новое узнал?
Dmitry
мне надо вокабуляр вырабатывать.
Dmitry
а то я как собака - все понимаю, а объяснять не могу
Dmitry
это проблема
Quet
это в каких темах? не во всех же
Dmitry
ну и когда начнется всякий
MonadBaseControl
возможно узнаю
Dmitry
typelevel там вроде тоже долже быть
Quet
а там и такое есть?
Quet
я думал там обычными монадами все заканчивается
Dmitry
вот это всё полезно
3.1 Монада Except
Lesson by
Денис Москвин
0 / 12
3.2 Монада Cont
Lesson by
Денис Москвин
0 / 11
3.3 Трансформеры монад
Lesson by
Денис Москвин
0 / 15
3.4 Трансформер ReaderT
Dmitry
трансформеры всегда полезны, а то их все тупо копипастят обычно
Dmitry
что=то не вижу содержания всего курса, но вроде кто-то мне говорил, что по слухам там должен быть typelevel
Dmitry
вот это должно быть полезно
4.3 Трансформер ExceptT
Lesson by
Денис Москвин
4.4 Неявный лифтинг
Dmitry
ну и простой
Traversable
кстати не так прост
Quet
а это можно отдельно глянуть не участвуя во всем курсе?
Dmitry
не разобрался, но вроде как-то можно. там новые секции открываются постепенно
Dmitry
но в рамках уже открытых можно всё смотреть
Alexander