
Okay, thanks for the explanation.
But that does not completely answer the original question: now, using
branch 7 of GHC what can you do to get a haskell program compiled on/for an
ARM platform without using Debian? You have to use LLVM? So you have to
compile your program on a regular x86/x64 PC for LLVM backend and then use
that bytecode on your ARM platform, is that it? Is LLVM bytecode that
portable? I don't much about LLVM, so sorry if those questions feel a bit
dumb ;)
ghcarm speaks about the Pandaboard and LLVM in a post:
http://ghcarm.wordpress.com/2011/07/03/llvm-on-arm-testing
And thanks for the information about git-annex, I'm checking that out, it
looks interesting ;)
Actually, bottomline I would be interested in running a web app (preferably
using Yesod) on a Raspberry Pi (or similar, but more expensive), but this
use case is cool too.
Le 10 avril 2012 13:13, Joachim Breitner
Hi,
Am Dienstag, den 10.04.2012, 13:04 +0200 schrieb Yves Parès:
All these are not cross-compiled, but natively compiled on the repective architecture, and I don’t think it is easily possible to cross-compile GHC itself even today.
So how did they get compiled the first time? How do you get a GHC working on or for an ARM platform if you don't use Debian? And why was Joey Hess talking about performance issues? (I'll be eventually interested, as Graham Klyne suggested earlier, in compiling for Raspberry Pi, if the hardware suits).
well, GHC was more portable in version 6.8 and before (this is not cross-compiling, at least not really: http://hackage.haskell.org/trac/ghc/wiki/Building/Porting
When I ported GHC to s390x half a year ago, I think I started with porting 6.8 and then kept building the next released version with the previous. It would be great, though, if porting current versions directly would become possible again.
Most of these architectures do not have a native code generator (so they are compiled via C) and are unregisterized, i.e. GHC knows nothing about their registers. Both cause a performance penalty; I don’t know numbers. I assume this is what Joey refers to. But maybe also that ARM machines tend to be slower :-)
I’m happily running git-annex on a NSLU2 (266MHz/23MB RAM ARM NAS device) and have done so before it was registerized, so it is definitely a useful target for Haskell.
Greetings, Joachim
-- Joachim Breitner e-Mail: mail@joachim-breitner.de Homepage: http://www.joachim-breitner.de Jabber-ID: nomeata@joachim-breitner.de
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe