[Haskell-cafe] Re: Building DLLs
Andrew Coppin
andrewcoppin at btinternet.com
Fri Sep 26 17:20:59 EDT 2008
Simon Marlow wrote:
> Andrew Coppin wrote:
>
>> (1) is not of huge interest to me, but it's pleasing to know that
>> it's possible. (I don't actually know how DLLs work, but presumably
>> if I were to dig around in System.Win32 I could also call normal DLLs
>> from Haskell too if I desire...?)
>
> Sure, that's possible.
Though non-portable.
Of course, system-specific things being system-specific is kind of
beyond Haskell's ability to fix. ;-)
>> (2) is something I'd like to see - and I aplaud you for seeking to
>> make this a portable thing! (As well it should be.) One or other of
>> the developer wiki pages lists this as "things we'll definitely do
>> for 6.10"; can you confirm or refute that?
>
> It's one of several things we quite get done in time for 6.10.1, I'll
> edit that page.
Aww... :-(
Oh well, I'm sure we'll get it eventually. Up to date documentation is
always nice though! (I realise this isn't always a busy development
team's top priority - especially as release dates approach, etc.)
>> Also, I read somewhere that you are/were looking at making the RTS
>> into a DLL. What's the status with that?
>
> That's part of the same effort. Once Haskell packages can go into
> DLLs/shared libraries, the RTS can too (indeed, it probably has to).
Would that mean you can change between RTS versions just by supplying a
command switch? (Presumably a small portion of the RTS still gets
statically linked in so it knows to load a DLL from somewhere?) Or does
the RTS version you want to use affect the rest of the compilation
process? (I'm thinking of switching between threaded/nonthreaded RTS,
stuff like that.)
I presume the plan is to make shared libraries *optional*? As in, you
can still build statically-linked executables if you specifically wanted
to for some strange reason?
(Also, I presume you still need a *.hi file to compile any code against
a library, no matter what the linkage is, and then cross-module
optimisation will still happen. The versioning problem looks...
interesting.)
>> Given that I know virtually nothing about how such low-level things
>> work, and I have no clue how GHC works internally, is there anything
>> useful I can do to help you guys with this stuff? I mean, other than
>> complaining that it's not done yet... ;-)
>
> Help with testing and reporting bugs is always welcome! Ee'll
> announce something when it's ready to test.
Heh, OK. Well I gather Windows testers are rare round here. I'll try
compiling things if you want... ;-)
Actually, you have a beta for 6.10 already, right?
More information about the Haskell-Cafe
mailing list