Size: a a a

2021 February 22

JS

Jerzy Syrowiecki in Haskell
Alexander Novikov
Почему Data.Vector индексирован через Int а не через Word. Какой смысл в отрицательных адресах ячеек памяти, не понимаю. Или там арифметика указателей где-то присутствует?
есть какое-то объяснение через арифметику индексов, чтобы не приходилось fromIntegral постоянно, что 0xFFFFFFFF не выглядит как ошибка, а -1 выглядит
источник

JS

Jerzy Syrowiecki in Haskell
но по-моему, просто Int был в языке раньше, чем Word
источник

AA

A64m AL256m qn<co... in Haskell
нет
источник

AA

A64m AL256m qn<co... in Haskell
да и какое это отношение имело бы к достаточно новой либе vector
источник

AA

A64m AL256m qn<co... in Haskell
а вообще-то да
источник

AN

Alexander Novikov in Haskell
A64m AL256m qn I0
где вообще кто-то индексирует через ворд?
В STUArray можно выбрать тип индекса, пишут. Думаю, вернуться к нему или конвертировать ворд в инт и обратно. Или сократить адресное пространство в 2 раза, перейдя везде на инт (памяти такой пока же не делают). Что будет идеоматичнее?
источник

AA

A64m AL256m qn<co... in Haskell
Alexander Novikov
В STUArray можно выбрать тип индекса, пишут. Думаю, вернуться к нему или конвертировать ворд в инт и обратно. Или сократить адресное пространство в 2 раза, перейдя везде на инт (памяти такой пока же не делают). Что будет идеоматичнее?
не надо использовать STUArray, array - это плохая старая библиотека
источник

AN

Alexander Novikov in Haskell
A64m AL256m qn I0
не надо использовать STUArray, array - это плохая старая библиотека
Ясно, спасибо!
источник

G

GNU/Vsevolod in Haskell
Есть аналог scanl (\v _ -> ...) initial [0..]?
источник

G

GNU/Vsevolod in Haskell
Т.е. бесконечный вызов функи на значении, выдающий список промеж. значений
источник

AP

Aleksei (astynax) Pi... in Haskell
iterate
источник

G

GNU/Vsevolod in Haskell
спасибо
источник

R

Roman in Haskell
A64m AL256m qn I0
не надо использовать STUArray, array - это плохая старая библиотека
зато кастомные индексы и ленивость бывают удобны
источник

AA

A64m AL256m qn<co... in Haskell
кастомные индексы это, по сути, отдельная либа, если так хочется считать инт из туплов туплов туплов вордов каких-нить, то можно брать и считать без всякого array
источник

AA

A64m AL256m qn<co... in Haskell
Data.Ix или если нужны ансейф индексы - GHC.Ix
источник

R

Roman in Haskell
A64m AL256m qn I0
кастомные индексы это, по сути, отдельная либа, если так хочется считать инт из туплов туплов туплов вордов каких-нить, то можно брать и считать без всякого array
ну это аргумент "можно зделоть". А я не хочу делоть
источник

AA

A64m AL256m qn<co... in Haskell
так не надо делоть
источник

R

Roman in Haskell
правда все равно пришлось возиться с Ix (Either a b) самому
источник

AA

A64m AL256m qn<co... in Haskell
вся машинерия перевода из сложного в простой сделона
источник

R

Roman in Haskell
A64m AL256m qn I0
вся машинерия перевода из сложного в простой сделона
а у array еще и АПИ нужный сделон
источник