Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] Type Safety comes to the iPad

4 views
Skip to first unread message

Jonathan Kimmitt

unread,
Nov 9, 2010, 4:31:34 AM11/9/10
to caml...@yquem.inria.fr
I thought you might be interested to know that my new OCAML App for the iPad was published
on the iTunes Store yesterday. I believe this is a significant achievement given the notorious
reluctance of Apple to embrace languages other than C/obj-C/C++ and I would hope it would
promote wider dissemination of type safety.

The real win would be if the new paradigm was accepted for teaching the new generation of
students etc, which would require greater acceptance by potential employers which is a bit
of a chicken/egg scenario.

Anyway I am inordinately proud of my new publication and if you know anybody who has an iPad,
please let them know about it.

http://itunes.apple.com/app/ocamlexample/id396515573?mt=8#

_______________________________________________
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

Vincent Aravantinos

unread,
Nov 9, 2010, 4:39:56 AM11/9/10
to Jonathan Kimmitt, caml...@yquem.inria.fr
Wow! This seems hugely interesting to me.
Actually I've been wondering a while to know if I would buy an ipad,
and my conclusion was "only if I can do Ocaml on it".
Can you report a bit more on your experience ?
Which tools did you use? How convenient it is? What drawback did you
encounter?

Cheers,
Vincent

Le 9 nov. 10 à 10:31, Jonathan Kimmitt a écrit :

Sylvain Le Gall

unread,
Nov 9, 2010, 4:53:42 AM11/9/10
to caml...@inria.fr
Hello,

On 09-11-2010, Jonathan Kimmitt <jona...@kimmitt.co.uk> wrote:
> I thought you might be interested to know that my new OCAML App for the iPad was published
> on the iTunes Store yesterday. I believe this is a significant achievement given the notorious
> reluctance of Apple to embrace languages other than C/obj-C/C++ and I would hope it would
> promote wider dissemination of type safety.
>
> The real win would be if the new paradigm was accepted for teaching the new generation of
> students etc, which would require greater acceptance by potential employers which is a bit
> of a chicken/egg scenario.
>
> Anyway I am inordinately proud of my new publication and if you know anybody who has an iPad,
> please let them know about it.
>
> http://itunes.apple.com/app/ocamlexample/id396515573?mt=8#
>

Congratulation, this is a really nice work.

Regards,
Sylvain Le Gall

Vincent Aravantinos

unread,
Nov 9, 2010, 5:01:29 AM11/9/10
to Jonathan Kimmitt, Gurus Ocaml
Something I don't understand: is the app itself written in ocaml?

Le 9 nov. 10 à 10:39, Vincent Aravantinos a écrit :

Jonathan Kimmitt

unread,
Nov 9, 2010, 5:30:35 AM11/9/10
to Vincent Aravantinos, Gurus Ocaml
Hi,
Perhaps a further explanation is necessary. What I have done is ported the interpreter ocamlrun
to the iPad and added a gui based on Graphics.cma and bound ancillary libraries such as Num.cma
into the executable. The ocaml interpreter itself is written in ocaml and is identical to the workstation
version of the same release. This means you can drop a compiled library into iTunes and then load
it immediately in iPad (provided it does not use shared objects which are not bound into the signed app.

So you could say the app is written in ocaml. I have called it 'OcamlExample' with the intention that
users will substitute their own code making use of #use or #load statements

The alternative option to use ocaml's own native code generator seems to me a bit pointless because
the app is then hard-wired to a given function. But if anyone wants to write a type-safe game or something,
this would be an interesting. You could use the standalone codesign function of xcode perhaps

The other thing you will have gathered is it allows creative activity on the iPad, without becoming a developer.

With this version you cannot compile to a file on the iPad, but you can #use source files which then get
compiled into memory in a sense. But the ability to exchange compiled bytecode with the host running iTunes
means this is not too much of a limitation in my view.

Regards,

Jonathan

Jonathan Kimmitt

unread,
Nov 9, 2010, 5:54:18 AM11/9/10
to Vincent Aravantinos, caml...@yquem.inria.fr
Hi,
The application itself is written in Xcode. You need to be a member of the development
program at £59/$99 or equivalent per year to get access to the signing keys if you need
to modify 'extern' functions (native C code of the interpreter)

You don't need anything apart from iTunes to download (using document sharing)
source code in .ml files to the iPad and execute in the App

Or you can type in ocaml statements directly into the interpreter for example draw_rect 100 100 200 200;;
will draw a box immediately because the default startup open the graphics library.

There are some irritations, for example itunes does not allow a document with the name .ocamlinit
to be selected for download, so I provide an 'ocamlinit' instead to execute if it exists. If it doesn't
exist then the default startup is executed that comes with the App

The built-in keyboard is not ideal for ocaml with its dearth of easily accessible symbols. An external
keyboard is recommended if you want to do real work. Another issue is the lack of a decent editor
suited to programming - perhaps someone could port chamo to the iPad ?

I envisage a typical program would be developed on the workstation, compiled to a .cma file and then
downloaded to the iPad. However I have not tried this route to see if it works. you need to make sure the
ocaml version is identical.

There is no dynamic loading allowed - all the standard library that was relevant is linked in statically

Regards,

Jonathan

0 new messages