[Haskell-cafe] Haskell mode for emacs - some questions
peterv
bf3 at telenet.be
Wed Jun 20 15:29:44 EDT 2007
Yes this was also very very confusing for me because I had the same idea
about that. I almost gave up on learning Haskell because of that (I wanted
to practice stuff from the SOE book using the latest versions), until I
suddenly found out that GHC *did* work.
Here's the explanation:
"On Fri, 2007-06-15 at 23:15 +0200, bf3 at telenet.be wrote:
> I'm learning Haskell using Paul Hudak's book SOE.
>
> I'm using GHC 6.6 under Windows XP.
>
> GHC on Windows does not seem to come with HGL (is this correct?), so I
> used Gtk2HS, which contains a SOE implementation.
>
> I noticed that most programs hang when using GHCI, but they work fine
> with GHC.
It's not GHCi's fault as such. The reason it does not work well in GHCi at
the moment is a bit technical. The Gtk2Hs SOE implementation currently uses
Haskell threads. Like most GUI toolkits, Gtk+ is single threaded and
requires special attention to use it from multiple OS threads. Currently, by
default, GHC produces executables that use the single-threaded runtime
system, and this works fine with multiple Haskell threads because they get
multiplexed on the same OS thread. GHC can however produce executables that
use the multi-threaded runtime system and ghci.exe itself is such a program.
So when you use SOE with GHCi it's actually using multiple threads to access
Gtk+ an not in a safe way, so it goes wrong in a myriad of ways.
I'll take another look at trying to make the SOE stuff work with the
threaded runtime system by using the primitives Gtk2Hs provides to use
Gtk+ safely from multiple threads.
Duncan"
-----Original Message-----
From: David House [mailto:dmhouse at gmail.com]
Sent: Wednesday, June 20, 2007 6:42 PM
To: peterv
Cc: 'David House'; haskell-cafe at haskell.org
Subject: RE: [Haskell-cafe] Haskell mode for emacs - some questions
peterv writes:
> Yes, but I can only use GHCI for error checking, because I'm using
> GTK2HS/SOE which does not work well with GHCI under Windows, it only runs
> when using GHC.
Why is this? I'm not that familiar with Gtk2Hs, but I don't understand why
it
wouldn't work with GHCi if it works with GHC. They use the same code to
compile
it.
On the other hand, you could always just set up a Makefile (which is pretty
trivial) and use M-x compile (which you should bind to a key if you use it a
lot).
--
-David House, dmhouse at gmail.com
-------------- next part --------------
An embedded message was scrubbed...
From: "Duncan Coutts" <duncan.coutts at worc.ox.ac.uk>
Subject: Re: [Haskell-cafe] GHCI hangs on Gtk2HS SOE on Windows,
but GHC works fine?
Date: Sat, 16 Jun 2007 01:50:12 +0200
Size: 6254
Url: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070620/684ffc3a/attachment.eml
More information about the Haskell-Cafe
mailing list