Christopher Sharpe <[EMAIL PROTECTED]> writes:
>
> {- IOExts library does not seem to work correctly under
> Windows 98. Of the following results,
> only t3 is correct. Thanks for any help you can give.
>
...
> > t2
> b
> Program error: {_pass hugsIORun_v1295 IOResult_Hugs_Error
> IOResult_Hugs_Return +
> + "c"}
> (173 reductions, 370 cells)
>
...
>
> import IOExts
>
> t1 = newIOArray (1,5) "z" >>= \a ->
> readIOArray a 2 >>=
> putStr
>
> t2 = newIOArray (1,5) "z" >>= \a ->
> readIOArray a 2 >>= \e2 ->
> writeIOArray a 2 ("b"++e2++"c") >>
> readIOArray a 2 >>=
> putStr
>
>
> t3 = newIORef "z" >>= \a ->
> readIORef a >>= \e2 ->
> writeIORef a ("b"++e2++"c") >>
> readIORef a >>=
> putStr
>
Hi,
take this with a pinch of salt as I'm not involved
in dev'ing Hugs, but it looks as if the primitive
which IOExts.newIOArray uses is a little bit off.
One line fix to the hugs srcs appended.
--sigbjorn
*** src/array.c.~1~ Fri Mar 19 03:19:00 1999
--- src/array.c Thu Jul 15 08:39:24 1999
***************
*** 372,378 ****
#if IO_MONAD
primFun(primIONewArr) { /* :: (a,a)
*/
declArr; /* -> Int
*/
! aNewSet(5,4,primArg(2)); /* -> b
*/
aRetForIO(); /* -> IO (IOArray a b)
*/
}
--- 372,378 ----
#if IO_MONAD
primFun(primIONewArr) { /* :: (a,a)
*/
declArr; /* -> Int
*/
! aNewSet(5,4,primArg(3)); /* -> b
*/
aRetForIO(); /* -> IO (IOArray a b)
*/
}
RE: IOExts library under Windows 98
Sigbjorn Finne (Intl Vendor) Thu, 15 Jul 1999 10:13:31 +0200 (MET DST)
- IOExts library under Windows 98 Christopher Sharpe
- Sigbjorn Finne (Intl Vendor)
