Cross compilation is not yet supported. You want to build on osx/intel and target ios/arm. Not yet. ghc still needs to target the platform it was built on.
The x86 and x64 have interesting hacks in the asm they generate. For example, thread switching is done not by a conditional jump, but by self-modifying code (there's some nops in the main loop, and they get overwritten with a jmp when it's time to preempt). What cool architecture-specific hacks does the ARM version use?
I assume you refer to the co-operative thread switching done by the GHC runtime to achieve co-operative multitasking with Haskell's green threads? I thought this was done by trashing all the registers (pushing live regs to stack) in the compiler back end and then swapping the stack pointer in the runtime. Are you sure about the nop's in the main loop?
I, too, would like to know how this works on ARM and other non-x86 platforms. Do they even have this feature supported on ARM? (ie. compile with ghc --threaded and then add RTS parameters as needed when executing)
[+] [-] Cieplak|13 years ago|reply
[+] [-] djhworld|13 years ago|reply
http://www.reddit.com/r/haskell/comments/u7cwv/some_observat...
[+] [-] james4k|13 years ago|reply
[+] [-] Dn_Ab|13 years ago|reply
It looks like there is no prebuilt package of interfaces with iOS so still a ways to go. Still great work though.
[+] [-] T_S_|13 years ago|reply
[+] [-] eru|13 years ago|reply
[+] [-] cheatercheater|13 years ago|reply
[+] [-] exDM69|13 years ago|reply
I, too, would like to know how this works on ARM and other non-x86 platforms. Do they even have this feature supported on ARM? (ie. compile with ghc --threaded and then add RTS parameters as needed when executing)