Допустим, у меня есть следующий тип:
Как создать Unboxed изменяемый экземпляр массива
data MyType = Constructor0 | Constructor1 | Constructor2
deriving (Eq,Show,Enum)
Есть ли способ, чтобы создать одну из таких случаев:
MArray (STUArray s) MyType (ST s)
MArray IOUarray MyType IO
На данный момент я хранить все как Word8, и я делаю преобразование с помощью (wrapped) fromEnum/toEnum, но это не кажется правильным. Мне нужно строгость и unboxing, потому что я использую большую структуру данных (> 1.2Go) в памяти, и я не могу загрузить ее лениво. Если я не найду какое-либо решение, я собираюсь повторно реализовать все на C++, чего я предпочитаю избегать для своего текущего проекта.
Я задал вопрос о #haskell, но я не получил ответа, может быть, это было не самое подходящее время дня.
Спасибо, я не думал о создании нового типа для этого, это хороший способ сделать это. –