I'm almost ready to send in a patch that should fix most of the current
issues with the threaded RTS.
But I'm stuck at the problem of terminating the RTS in a proper way.
According to the GHC manual, a concurrent Haskell program should
terminate when the main action terminates. This sounds r
An advantage of solution #2 is that the finalizers dont go through and
touch all the pages they modify causing them to be loaded into memory if
they had been swapped to disk and thrash the page lookup cache on the
CPU. The overhead of the RTS in general might drown out these concerns
but they are d
Hello!
This is a little weird:
Prelude> :m + Data.Array.Unboxed
Prelude Data.Array.Unboxed> let f () = array (1, 5) [] :: UArray Int Int
Prelude Data.Array.Unboxed> f () == f ()
False
Are we giving away purity for efficiency? ;)
If this behaviour is intended, maybe it should be documented?
Mayb
I compiled the following program with ghc-5.05.20030109
--
import Language.Haskell.THSyntax
main = putStrLn (show $(lift ('a', 'b')))
instance (Lift a, Lift b) => Lift (a,b) where
lift (a,b) = tup [lift a, lift b]
-
and received the following error message
---
ghc --make
Would it be possible to write a function "showFun" such that one could
write a program
f x y = x +y -- say
main = putStrLn (show $(showFun f))
and the result of this program would be
"f"
I don't think it's possible at the moment because one can't reify
expressions.
Sean Seefried
p.s. If I