SooHyoung Oh wrote:
I've followed wxHaskell method and implemented some of widgets
with Ocaml.
Implementing all of widgets of wxEiffel C wrapper requires much time,
so I'm finding more systematic method.

Can you give me more hints about your comments about
how to generate Ocaml binding using wxDirect?
  
Well,  I think I would rewrite wxDirect -- it is not that much work to do this
for OCaml  (maybe 3 days?).  Anyway, wxDirect takes a C header file that
contains *all* wxWidgets wrapper declarations and creates Haskell signatures
from them. As described in the paper, the C header file is somewhat special
as it contains a lot of extra type information (in the form of macros) that you
need to generate a proper marshaller. The C header is thus a poor-mans IDL.

We can get away with this, as the number of types and marshalling required is
really simple for wxWidges, it is basically integers and pointers to objects: no
structures, arrays, general pointers, or nested types.

Anyway, I would also advice you to contact the student I mentioned in my
previous mail -- unfortunately I forgot his name (Francois ?)  I think he is a
student of Didier Remy? (or at least another well-known French computer scientist).
Anyhow, he made a lot of progress with a wxOCaml binding and from his mails I
got the impression that he did a thorough job. I think it can save a lot of work to start
from his library.

All the best,
  Daan Leijen.


Thanks.

----- Original Message ----- 
From: "Daan Leijen" <daan@cs.uu.nl>
To: "Caml Mailing List" <caml-list@inria.fr>
Sent: Friday, September 17, 2004 7:00 AM
Subject: Re: [Caml-list] WxWidgets?


  
Hi all,

I have created a binding from Haskell to wxWidgets, called wxHaskell.
You can find more information (and nice screenshots) at
<wxhaskell.sourceforge.net>
There is also a paper about it at <www.cs.uu.nl/~daan/pubs.html>

I also know that there is a student in France that has made a lot of
progress
on an O'Caml binding to wxWidgets (as he contacted me a few times
about technical issues). He also used the wxEiffel C wrapper (that
    
wxHaskell
  
uses)

Personally, I am very impressed with wxWidgets: wxHaskell works
very well across the main platforms (MacosX, Windows, and GTK)
and is quite stable. It is also nice that wxWidgets uses native controls
on each platform, giving an application native look-and-feel.

A particularly pragmatic route to implementing a wxWidgets binding
to wxHaskell would adapt the wxDirect program of wxHaskell to generate
O'Caml bindings and just copy the wxHaskell model -- it would fit O'Caml
quite well, especially when OCaml objects are used to model the C++
    
classes.
  
Anyway, I hope this helps,
All the best,
 Daan Leijen.

[ps. I probably won't  respond to this thread anymore as I am going to
ICFP.]

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives:
    
http://caml.inria.fr
  
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ:
    
http://caml.inria.fr/FAQ/
  
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


    

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners