Ho una funzione che crea in modo ricorsivo una lista appiattita di matrici da un albero che deve essere mutabile poiché i loro elementi vengono aggiornati spesso durante la loro creazione. Finora sono
Se voglio dichiarare una newtype tale che tipo tipo di valore è vincolato ad avere un'istanza per un tipo di classe, sembra che posso farlo con: {-# LANGUAGE RankNTypes #-}
newtype ShowBox = ShowBox
Come mai, che il seguente tipo di controlli {-# LANGUAGE RankNTypes #-}
module Main where
class Foo a where
type FunFoo = (Foo a) => a -> IO()
data Bar = Bar {
funFoo :: FunFoo
}
setFu