This sounds great. I will be teaching an iphone programming course next year and I would very much like to use the course as an opportunity to introduce students to caml. I know that there are others gearing up for iphone programming courses who aren't thrilled with the idea
of teaching Objective C.

If you were to post your resources on a web site it might lower the barrier to entry for more
people to use ocaml + your wrappers rather than Objective C.

Bob Muller


On May 2, 2009, at 7:15 PM, Jeffrey Scofield wrote:

Nathaniel Gray <n8g...@gmail.com> writes:

Ok, I'm glad I left this to people who are familiar with ARM
assembly programming.  :-)

We've done a lot of assembly programming, but none of us is an
ARM expert.  We looked at ARM documents and the assembly (.s)
files generated by ocamlopt and gcc, and spent some long sessions
with gdb.

Awesome, but now I'm confused because the arm.S you included
has lots of .global pseudo-ops.  Do you not compile it with
Apple's as?

At around line 36, you'll see:

 #define global globl

As I said in private mail, you could call this a hack, but it's a
way to avoid making lots of small changes everywhere in the file.

What's your app?

We're working on a collection of card games for casual play.

How are you managing the interface between Cocoa and OCaml?

This is a big topic.  The summary is that we model Cocoa objects
as OCaml objects.  We have a layer that wraps OCaml objects in
smallish ObjC objects for use on the ObjC side, and wraps ObjC
objects in smallish OCaml objects for use on the OCaml side.  The
layer then translates between these representations as required
for calls into iPhoneOS and Cocoa Touch from OCaml (asking for
iPhone OS services) and into OCaml from iPhoneOS (for event
handling).

We also made a small fix to the ARM code generator

I am very interested in any and all information needed to get a
correct OCaml port suitable for use in App Store applications.
Please share!

OK, I'll gather up our patch and send it to the list.  I want to
separate out our changes from those of Toshiyuki Maeda [1].

As I said, our patch fixes calls to external C float functions
such as floor(), sin(), and so on.  There is special handling in
ocamlopt to allow them to be unboxed, but the ABI of the existing
ARM code generator doesn't match the iPhone ABI.

Regards,

Jeff Scofield
Seattle

[1] http://web.yl.is.s.u-tokyo.ac.jp/~tosh/ocaml-on-iphone/

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to