Hello Sam, Friday, April 24, 2009, 9:09:43 PM, you wrote:
well, GHC generates .o files. so you may solve some of your questions. if you can absolutely ignore performance, you can use so-called non-registerized compilation what generates ansi-compatible C code most Haskell libs are written for ghc, so for other compilers you will need to write almost self-contained code > I need a list of .c and .h files as an end result of the Haskell > compilation stage. I expect these c files will need to include Haskell > runtime C code to operate, and therefore have some dependencies in order > to compile and link. > Afaict, GHC as it stands does not allow me to do this, even though it > presumably generates C in the process of compiling binary objects. > Actually having C source as an end result is critical as I need control > over exactly how the source is compiled and linked. For example: > - I need to compile to different targets: either a static C lib, exe, > dll or C++ lib. > - I need to support multiple compilers. > - I might want to produce a custom runtime. > In short, I'd like to use Haskell as a code-generator. > I can't see that this would be unachievable, particularly given it's > generating C already. Have I missed something? > Cheers, > Sam > -----Original Message----- > From: Bulat Ziganshin [mailto:bulat.zigans...@gmail.com] > Sent: 24 April 2009 17:53 > To: Sam Martin > Cc: haskell-cafe@haskell.org > Subject: Re: [Haskell-cafe] compilation to C, not via-C > Hello Sam, > Friday, April 24, 2009, 8:36:50 PM, you wrote: >> I work in Games middleware, and am very interested in looking at how >> Haskell could help us. We basically sell C++ libraries. I would like > to >> be able to write some areas of our libraries in Haskell, compile the >> Haskell to C and incorporate that code into a C++ library. > well, you can intercept these files. once i wrote simple 4-line > haskell utility (it may be 20 lines of C++ or so) and compiled it down > to C. results was 300 lines or so which it's impossible to understand > so, if you just need haskell-C++ interaction, you may look into using > FFI [1,2]. if you believe that you can compile some > java/ruby/haskellwhatever code down to C++ and incorporate it into > your function - sorry, they all have too different computing model > btw, my own program [3] goes this way - i combine fast C++ and complex > Haskell code via FFI/dll to produce fast, feature-rich application > [1] http://www.haskell.org/haskellwiki/GHC/Using_the_FFI > [2] http://www.haskell.org/haskellwiki/FFI_cook_book > [3] http://freearc.org -- Best regards, Bulat mailto:bulat.zigans...@gmail.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe