<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
I don't want to pick on any particular library, as this issue can pop
up with any library in any language.&nbsp; I feel it's an issue which has
been addressed before, but the solutions are largely ignored.&nbsp; This is
most likely because 1) people assume we have plenty of space or 2) the
library isn't yet complete, and it's easier to statically link a big
library for now, and worry about alternatives later.&nbsp; If I were writing
a library, I probably wouldn't be too concerned with the issue myself.<br>
<br>
It seems there are two ways to address this problem:<br>
<br>
1) Shared libraries.&nbsp; Why not link the library dynamically instead of
statically?&nbsp; Is this possible with GHC?&nbsp; Then multiple applications
using the library wouldn't balloon the memory use, but share a copy of
the same library.&nbsp; For simple development and testing, it's easier to
statically link, since we only have to worry about one file.&nbsp; But if we
expect people to run many programs using this library, we ought to be
more careful about space usage.&nbsp; Dynamic linking ought to be an option.<br>
<br>
2) Linking in only what's used.&nbsp; If a simple 'Hello, World!' program
only needs a window and some buttons, why link in all the code for
other widgets?&nbsp; Is there a library format which allows pulling out only
those operations which are needed?&nbsp; An alternative is to recompile the
library code with the program each time, throwing away dead code - that
is, the library code which is never called.&nbsp; Recompiling the library
code with the application takes longer, but need only be done once the
program is ready for distribution.<br>
<br>
If anyone knows of existing solutions in either of these areas, please
inform us.<br>
<br>
- Lyle Kopnicky<br>
<br>
Duncan Coutts wrote:<br>
<blockquote type="cite" cite="mid1083780111.8265.75.camel@localhost">
  <pre wrap="">On Wed, 2004-05-05 at 16:24, Andrei de A. Formiga wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">   I'm finding wxHaskell very nice, and a wxWidgets
binding is something many other "advanced" languages
don't have (even OCaml). The only downside is having a
'Hello World' GUI application with 7 Mb... but it runs
quite well and smooth once it's loaded.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
We have the same problem with gtk2hs. A stripped simple(ish) prog weighs
in at about 2.5Mb.

I'm not quite sure what's in there that makes it so big.

Duncan

_______________________________________________
Haskell-Cafe mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
<a class="moz-txt-link-freetext" href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
  </pre>
</blockquote>
</body>
</html>