Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] WxWidgets?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Daan Leijen <daan@c...>
Subject: Re: [Caml-list] WxWidgets?
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
>
>
>  
>