diciamo che ho il seguente tipo:
Come creare unboxed esempio gamma mutevole
data MyType = Constructor0 | Constructor1 | Constructor2
deriving (Eq,Show,Enum)
c'è un modo per creare uno di questi casi:
MArray (STUArray s) MyType (ST s)
MArray IOUarray MyType IO
Per il momento ho memorizzare tutto come Word8 e faccio la conversione con (wrapped) fromEnum/toEnum, ma non mi sembra giusto. Ho bisogno di essere rigoroso e unboxing perché sto usando una grande struttura dati (> 1.2Go) in memoria, e non riesco a caricarla pigramente. Se non trovo alcuna soluzione ho intenzione di ri-implementare tutto in C++, che preferisco evitare per il mio progetto attuale.
Ho posto la domanda su #haskell ma non ho ricevuto risposta, forse non era il momento giusto per chiedere.
Grazie, non ho pensato di creare un nuovo tipo per questo, è un bel modo per farlo. –