[Haskell-cafe] Re: [Haskell] ANNOUNCE: jhc 0.6.1

John Meacham john at repetae.net
Wed Jun 24 21:13:11 EDT 2009


On Wed, Jun 24, 2009 at 11:43:25AM -0400, David Barton wrote:
>> the targets mechanism is extensible at run-time and I have included
>> native unix, win32, osx-intel and osx-powerpc targets. But certainly
>> many more interesting ones are possible. Some I have tested have been a
>> nokia N770 as a target and an atheros MIPS based router running dd-wrt.
> Maximum coolness!  When you were targeting the nokia, how did you handle  
> the radically different user interface?  Did you have to establish a  
> mapping from one of the Haskell UI packages to the Nokia equivalents?   
> If so, which one did you pick, and how much time did it take?

No, I didn't establish a full mapping. I was mainly testing the cross
compilation abilities of jhc so wasn't working on full nokia apps.
However, maemo is based on gtk, so the gtk2hs bindings should just work
and you need only extend them with the few maemo specifc APIs. The maemo
APIs follow the same basic pattern as the gtk interface, so extending
gtk2hs probably won't be hard. And of course, once such a binding is
written, you will be able to use it with any haskell compiler that can
target maemo.

> I'd love it if I could get this working for the Palm....

Basically, if you can get a gcc toolchain working for your target and
the CPU isn't too absurd, then jhc will be able to compile to it with
just an entry in your targets.ini file. 

Now, the harder bit is the standard libraries, the ones included with
jhc assume something vaugely unixy (or windowsy), So you may need to
modify them to bind to the appropriate palm APIs. 

Perhaps an 'embedded subset' of haskell 98 would be a good thing to
split off the standard jhc libraries.  Something that makes floating
point and arbitrary precision arithmetic optional and forgoes most of
the haskell98 IO routines in favor of a platform specific model...

        John

-- 
John Meacham - ⑆repetae.net⑆john⑈ - http://notanumber.net/


More information about the Haskell-Cafe mailing list