From: Eray Ozkural <erayo@cs.bilkent.edu.tr>
To: Stefano Zacchiroli <zack@cs.unibo.it>, OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] OCaml QT bindings
Date: Fri, 12 Jul 2002 20:30:39 +0300 [thread overview]
Message-ID: <200207122030.39591.erayo@cs.bilkent.edu.tr> (raw)
In-Reply-To: <20020712081055.GD756@cs.unibo.it>
On Friday 12 July 2002 11:10, Stefano Zacchiroli wrote:
> On Fri, Jul 12, 2002 at 04:41:36AM +0300, Eray Ozkural wrote:
> > > Ohhhh.. just imagine if GTK/Gnome/Gui stuff on RH linux
> > > were written in Ocaml .. it might actually work!
> >
> > You guys really need my ocaml bindings for Qt/KDE (assuming I finish
> > writing it....) ;)
>
> Yup!!! I've been wondering for such a binding for months .... (anyway
> the impressive work to build up one stops me from starting the work :-),
> could you tell us when you expect to have a working version?
>
> BTW, obviously if you need help, feel free to ask!
I think I will need help. The ocaml type system makes it very easy to get it
right at the abstraction level but the mundane work of providing entry points
for all Qt classes itself is not an easy task since you need a successful
translator, or you will have to correct things by hand which is highly
undesirable.
I'm right now at the stage of writing a C++ parser that will be sufficient for
header files in KDE. The parser isn't finished yet, but I've based it on a
grammar which targeted part of the ISO standard so when it's done I think it
will be worthwhile.
Since I'm fond of parser combinators I'm writing the translator in Haskell
language using Parsec library.
I've thought about what should be involved in the library and it seems at
least the following will be necessary:
1) "C" bindings which will be entry points for constructor/destructor, member
functions and selector/modifier functions for each member variable in each Qt
class... This will abstract away C++ dispatch, inline, etc. Template
functions will not be addressed. (But it will not be a problem to implement
things like QStringList which inherit from template classes....)
2) A mapping of class inheritance and subtyping relations to ocaml classes.
This should be relatively straightforward since ocaml type/class system
covers a lot more ground than C++.
3) A mapping of parameter passing, and "new" / "delete" to ocaml. We're
passing mostly plain pointers/references in Qt, but I think there are cases
where this is not true. The object model would be taken akin to Java where
each object is allocated on the heap to simplify this matter.
Optionally, I will see if I can come up with some ocaml code that will provide
high level access to GUI code.
The help I can use now is: do you observe any difficulties with the approach I
have roughly outlined? And are there any vital points that I seem to be
missing?
Thanks,
--
Eray Ozkural (exa) <erayo@cs.bilkent.edu.tr>
Comp. Sci. Dept., Bilkent University, Ankara
www: http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://mp3.com/ariza
GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C
-------------------
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
next prev parent reply other threads:[~2002-07-12 17:36 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-08 19:53 [Caml-list] productivity improvement Oleg
2002-07-08 20:14 ` Michael Vanier
2002-07-10 15:50 ` John Max Skaller
2002-07-10 18:56 ` Alessandro Baretta
2002-07-10 19:09 ` Jun P.FURUSE
2002-07-11 23:43 ` Pierre Weis
[not found] ` <15657.61603.221054.289184@spike.artisan.com>
2002-07-09 4:43 ` [Caml-list] Universal Serializer (was: productivity improvement) Oleg
2002-07-09 7:56 ` Nicolas Cannasse
2002-07-09 7:59 ` Nicolas Cannasse
2002-07-10 16:06 ` John Max Skaller
2002-07-10 22:29 ` Michael Vanier
2002-07-11 8:13 ` Nicolas Cannasse
2002-07-12 12:41 ` John Max Skaller
2002-07-14 12:25 ` [Caml-list] Statically detecting arrays bound exceptions ?? (was: Universal Serializer) Berke Durak
2002-07-14 13:24 ` Alessandro Baretta
2002-07-15 8:23 ` Xavier Leroy
2002-07-15 8:39 ` Noel Welsh
2002-07-15 21:22 ` Oleg
2002-07-15 22:44 ` Michael Vanier
2002-07-16 6:43 ` Florian Hars
2002-07-16 20:22 ` [Caml-list] " John Max Skaller
2002-07-16 20:36 ` Johan Baltié
2002-07-16 20:55 ` Hao-yang Wang
2002-07-17 8:25 ` Noel Welsh
2002-07-12 1:41 ` [Caml-list] Universal Serializer (was: productivity improvement) Eray Ozkural
2002-07-12 8:10 ` [Caml-list] OCaml QT bindings Stefano Zacchiroli
2002-07-12 17:30 ` Eray Ozkural [this message]
2002-07-12 10:37 ` [Caml-list] Re: productivity improvement Oleg
2002-07-12 11:23 ` Markus Mottl
2002-07-12 11:34 ` Oleg
2002-07-12 11:43 ` Markus Mottl
2002-07-12 12:59 ` Pierre Weis
2002-07-12 16:42 ` Markus Mottl
2002-07-14 20:44 ` Dave Berry
2002-07-14 22:13 ` Markus Mottl
2002-07-15 16:43 ` Alwyn Goodloe
2002-07-16 20:14 ` Dave Berry
2002-07-17 3:21 ` Eric Merritt
2002-07-15 9:39 ` Alessandro Baretta
2002-10-15 8:38 ` Eray Ozkural
2002-10-17 21:27 ` Dave Berry
2002-10-18 2:48 ` Eray Ozkural
2002-10-20 12:46 ` Dave Berry
2002-10-21 6:11 ` Michael Vanier
2003-05-10 20:41 ` Eray Ozkural
2002-07-12 11:43 ` Noel Welsh
2002-07-12 12:10 ` Markus Mottl
2002-07-12 13:44 ` John Max Skaller
2002-07-12 16:19 ` Alan Schmitt
2002-07-12 20:41 ` John Carr
2002-07-13 21:19 ` [Caml-list] Re: productivity improvementu Pierre Weis
2002-07-12 21:24 ` [Caml-list] Re: productivity improvement Brian Smith
2002-10-15 8:57 ` Eray Ozkural
2002-10-15 11:50 ` [Caml-list] eproductivity improvement Alessandro Baretta
2002-07-09 12:45 ` [Caml-list] productivity improvement Basile STARYNKEVITCH
2002-07-09 18:20 ` Shannon --jj Behrens
2002-07-09 19:16 ` Oleg
2002-07-09 20:31 ` Shannon --jj Behrens
2002-07-10 10:02 ` sebastien FURIC
2002-07-10 11:58 ` Dave Mason
2002-07-10 13:11 ` sebastien FURIC
2002-07-10 19:22 ` nadji
2002-07-10 20:15 ` Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) Oleg
2002-07-10 20:34 ` [Caml-list] " William D. Neumann
2002-07-10 20:47 ` [Caml-list] Re: Sieve of Eratosthenes Performance: various languages Alexander V.Voinov
2002-07-10 21:16 ` William D. Neumann
2002-07-10 20:49 ` [Caml-list] Re: Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) William D. Neumann
2002-07-11 22:30 ` [Caml-list] Array.resize ? Oleg
2002-07-11 23:06 ` Alessandro Baretta
2002-07-12 13:01 ` John Max Skaller
2002-07-12 18:24 ` Shawn Wagner
2002-07-11 23:31 ` Markus Mottl
2002-07-12 12:54 ` John Max Skaller
2002-07-12 13:23 ` Olivier Andrieu
2002-07-12 14:05 ` John Max Skaller
2002-07-12 16:09 ` Brian Rogoff
2002-10-19 9:16 ` Eray Ozkural
2002-10-19 22:15 ` [Caml-list] debugger losing contact with debuggee process Lex Stein
2002-10-20 10:06 ` Pierre Weis
2002-10-21 9:11 ` Xavier Leroy
2002-10-18 3:05 ` [Caml-list] Array.resize ? Eray Ozkural
2002-10-19 1:51 ` Oleg
2003-05-10 20:24 ` Eray Ozkural
2002-07-10 20:48 ` Sieve of Eratosthenes Performance: various languages (Re: [Caml-list] productivity improvement) Markus Mottl
2002-07-11 5:53 ` Anton E. Moscal
2002-10-18 3:07 ` Eray Ozkural
2002-07-10 15:39 ` [Caml-list] productivity improvement John Max Skaller
2002-07-11 8:57 ` Nicolas barnier
2002-07-12 12:16 ` [Caml-list] Is this a bug? John Max Skaller
2002-07-12 14:05 ` Xavier Leroy
2002-07-16 3:34 ` [Caml-list] productivity improvement Oleg
2002-10-18 3:13 ` Eray Ozkural
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200207122030.39591.erayo@cs.bilkent.edu.tr \
--to=erayo@cs.bilkent.edu.tr \
--cc=caml-list@inria.fr \
--cc=zack@cs.unibo.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox