×
all 20 comments

[–]sw17ch 4 points5 points  (0 children)

[–]chak 2 points3 points  (1 child)

Yes, I like to see GHC for iPhone coding! Shouldn't be too hard. (If the day just had some more hours...)

[–][deleted] 2 points3 points  (0 children)

There has been some success[1] getting ghc to work on the Neo Freerunner[2]. But its still a pain to setup and compile for arm.

[1] https://www.joachim-breitner.de/blog/archives/300-guid.html [2] http://wiki.openmoko.org/wiki/Freerunner

[–]kazuya 2 points3 points  (0 children)

And also for Maemo platform, i.e. Nokia N810.

[–]procrastitron 2 points3 points  (6 children)

If you want to write Android programs then the compiler will have to target Dalvik bytecode, not ARM.

[–][deleted] 1 point2 points  (5 children)

Links are always good! I found DalvikVM, but couldn't find the instruction set, which I am assured is not Java byte code.

Also, to keep memory use down I bet the compiler would have to heavily reuse the shared libraries available, which could be difficult.

[–]procrastitron 1 point2 points  (4 children)

The handouts for this presentation give a fairly comprehensive overview of the byte code (and yes, it's different from Java).

[–][deleted] 0 points1 point  (3 children)

I looked at the slides but missed the handouts - thanks! Certainly a worthy task. Now to tame GHCs appetite for memory!

[–]dons[S] 0 points1 point  (2 children)

Cross-compile?

[–][deleted] 0 points1 point  (1 child)

Sorry, I misphrased that. I mean I'd like to work on minimizing the amount of memory required by the binary produced by GHC.

I suppose its not that big a deal for Android - the slides claim 20MB of RAM is free after a full startup. Not all embedded platforms are so lucky - perhaps I should look into Timber more.

[–]jz_ 0 points1 point  (0 children)

sort of related,

I wonder how well Google's native client will work for x86 on ARM, if it's possible to get GHC working with the stuff in the first place.

[–]sw17ch 0 points1 point  (0 children)

Once we have the C-- backend in 6.12, won't the "hard" part of making the cross compiler be porting the RTS to the ARM architecture?

Does any one know how difficult this will be to do? My understanding is that the RTS is big and largely written in C.

[–]nafai 0 points1 point  (0 children)

Amen! I want to write android apps, but I loathe the idea of using Java. I just escaped a Java job!

[–]meanburrito920 0 points1 point  (1 child)

From what I understand, an actual ARM port of GHC won't be very helpful due to the large memory requirements of GHC. It also appears that there is some cross-compiler support for Haskell with Hugs. Is the purpose of this proposal to bring ARM cross compiling support, or create an actual ARM binary of GHC?

[–]dons[S] -1 points0 points  (0 children)

GHC produces binaries that use significantly less memory than say, Java/JVM, so I wouldn't be too worried.

[–]amigalemming 0 points1 point  (1 child)

[–]dons[S] 0 points1 point  (0 children)

In fact, the new llvm backend generates arm code. It just won't link it.

[–]yakovzaytsev 0 points1 point  (0 children)

I would like to apply!