El 15/03/12 20:07, Daniel Fischer escribió:
On Thursday 15 March 2012, 19:53:56, Daniel Fischer wrote:
On Thursday 15 March 2012, 19:27:18, Juan Miguel Vilar wrote:
Hello, café:
However, when I write
test2 n = runSTUArray $ do
let createArray v n = newArray (1, n) (v::Int)
Here you create a local binding for createArray that gets a monomorphic
type, that type is the fixed by the returning of b to
createArray :: Int -> Integer -> ST s (STUArray s Integer Int)
you can make that fail too with enabling {-# LANGUAGE NoMonoLocalBinds
#-}
Hmm, what compiler version are you using? When I actually tried to compile
that, it failed with
No instance for (MArray a0 Int (ST s))
without language extensions. After enabling MonoLocalBinds, however, it
compiled with 6.12.3, 7.0.2, 7.0.4, 7.2.1 and 7.2.2, but 7.4.1 still
refused to compile it.
I am using 7.0.3. Adding type signatures solved the problems. And with
respect to MonoLocalBinds, it failed after adding NoMonoLocalBinds,
without it, everything went fine.
Thanks a lot,
Juan Miguel
--
Juan Miguel Vilar Torres
Profesor titular de universidad
Vicedirector de la ESTCE para ITIG e ITIS
Departamento de Lenguajes y Sistemas Informáticos
Escuela Superior de Tecnología y Ciencias Experimentales
Universitat Jaume I
Av. de Vicent Sos Baynat s/n
12071 Castelló de la Plana (Spain)
Tel: +34 964 72 8365
Fax: +34 964 72 8435
jvi...@lsi.uji.es
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe