[gambit-list] gambit + llvm

Alex Sandro Queiroz e Silva asandroq at gmail.com
Mon Sep 22 15:22:03 EDT 2008


Hallo,

Christian Jaeger wrote:
> 
> I really didn't mean to attack you, I simply want to know of solid
> reasons for creating an LLVM backend.
> 

     Sorry if I came out harsh.

> I'm an almost 100% linux users for 9 years now (and I have only had the
> issue of delivering a package to windows users once, which was a program
> in Visual Basic and actually required bundling of all DLL's to be
> running stable).
> 

     I really wish (seriously!) I didn't had to deal with Windows never
again. At home I have a Linux desktop and a Macbook.

> So I can't talk for anyone on such a system on what is required. I was
> replying on the assumption that by using PATH, LD_LIBRARY_PATH (or the
> Windows equivalents) and the gcc -I and -L options you can move all
> dependency files around at will, so what difficulty remains would be to
> find the dependencies (on Linux you could do it by using strace, or by
> including just the whole toolchain), so I guess it will be the size of
> the resulting package which makes you question my seriousness. I'm sure
> it would be worthwhile hearing about numbers or experience in this area.
> 

     I was talking indeed about size. The GHC distribution for Windows
does exactly what you suggested. But it gets huge, and make downloads
painful. Besides, it puts a great burden on the people that have to
support and package this. And it introduces lots of other complexities.
     For instance, I am working in an application for the technical
analysis of stocks (although it's stalled because of more urgent
things). The good applications of this kind let the user enter their own
technical indicators (usually in an ad-hoc scripting language) and let
the user run them on the previous stock data to see how good they are.
Generating a shared object for each run would quickly degenerate in lots
of shared objects in the user hard-disk. I know this is fixable, but
it's nevertheless an annoyance.

> If you need to package libc, then why wouldn't you need to package it
> also when using LLVM? (My reasoning being: if libc's interfaces (aka
> header files) are compatible with the header files you're providing, you
> don't need to include the libc binary, and if it isn't compatible with
> what assumptions the packaged-up system has (even if it's based on
> LLVM), then you'd need to include it anyway.)
> 

     With MinGW, you have to link against the supplied libmsvcxx.a to
use the Windows C runtime DLL, for instance.

Cheers,
-alex
http://www.ventonegro.org/



More information about the Gambit-list mailing list