caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] Lablqt
@ 2013-12-15 21:10 Kakadu
  2013-12-19  7:53 ` Paolo Donadeo
  0 siblings, 1 reply; 5+ messages in thread
From: Kakadu @ 2013-12-15 21:10 UTC (permalink / raw)
  To: Caml List

Salut,

From today lablqt is available in opam. With it you can create user
interfaces in declarative manner in QML and connect it with OCaml
using `mocml` code generator and `lablqml` ocamlfind package. Qt 5.2
is required for compilation

More information you can get at [1]. There is mine opam repo where
demo application is included. It is called QOCamlBrowser --
application similar to default ocamlbrowser.

All comments will be appreciated.

Kind regards,
Dmitrii Kosarev aka Kakadu

[1] http://kakadu.github.io/lablqt

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] [ANN] Lablqt
  2013-12-15 21:10 [Caml-list] [ANN] Lablqt Kakadu
@ 2013-12-19  7:53 ` Paolo Donadeo
  2013-12-19 12:27   ` Kakadu
  0 siblings, 1 reply; 5+ messages in thread
From: Paolo Donadeo @ 2013-12-19  7:53 UTC (permalink / raw)
  To: Kakadu; +Cc: OCaml mailing list

[-- Attachment #1: Type: text/plain, Size: 987 bytes --]

At present, what are the limitation in using OCaml/QT compared to using
C++/QT?


-- 
Paolo Donadeo, sent with Gmail on Android
Il 15/dic/2013 22:12 "Kakadu" <kakadu.hafanana@gmail.com> ha scritto:

> Salut,
>
> From today lablqt is available in opam. With it you can create user
> interfaces in declarative manner in QML and connect it with OCaml
> using `mocml` code generator and `lablqml` ocamlfind package. Qt 5.2
> is required for compilation
>
> More information you can get at [1]. There is mine opam repo where
> demo application is included. It is called QOCamlBrowser --
> application similar to default ocamlbrowser.
>
> All comments will be appreciated.
>
> Kind regards,
> Dmitrii Kosarev aka Kakadu
>
> [1] http://kakadu.github.io/lablqt
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 1625 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] [ANN] Lablqt
  2013-12-19  7:53 ` Paolo Donadeo
@ 2013-12-19 12:27   ` Kakadu
  2013-12-19 16:22     ` Paolo Donadeo
  2013-12-30  8:43     ` Vsevolod Velichko
  0 siblings, 2 replies; 5+ messages in thread
From: Kakadu @ 2013-12-19 12:27 UTC (permalink / raw)
  To: Paolo Donadeo; +Cc: OCaml mailing list

Paolo,

At the moment I have tested main use case of C++ in QtQuick:
implementing business logic which expected to work fast.

I can name three limitations:

1) If you need complex GUI control (that doesn't suit well into
QtQuick paradigm) you will probably need to implement it in C++ by
subclassing QQuickItem. The only example of this I have seen is pie
chart using QPainter from Qt Docs.
Reason: I don't clearly understand when this complex controls are
needed. QML itself is rather powerful one.

2) At this moment startup process is a little bit hardcoded in one C++
function. i.e. some features are unavailable. It was made for
simplicity but I don't see any theoretical reason against rewriting it
in more verbose way in 1 weekend.

3) I have working demo with main GUI thread and some OCaml threads
that do some work and report changes in main thread. It seems that it
works OK but I'm not sure what will happen if we construct more
interesting examples.

Kind regards,
Kakadu


On Thu, Dec 19, 2013 at 7:53 AM, Paolo Donadeo <p.donadeo@gmail.com> wrote:
> At present, what are the limitation in using OCaml/QT compared to using
> C++/QT?
>
>
> --
> Paolo Donadeo, sent with Gmail on Android
>
> Il 15/dic/2013 22:12 "Kakadu" <kakadu.hafanana@gmail.com> ha scritto:
>>
>> Salut,
>>
>> From today lablqt is available in opam. With it you can create user
>> interfaces in declarative manner in QML and connect it with OCaml
>> using `mocml` code generator and `lablqml` ocamlfind package. Qt 5.2
>> is required for compilation
>>
>> More information you can get at [1]. There is mine opam repo where
>> demo application is included. It is called QOCamlBrowser --
>> application similar to default ocamlbrowser.
>>
>> All comments will be appreciated.
>>
>> Kind regards,
>> Dmitrii Kosarev aka Kakadu
>>
>> [1] http://kakadu.github.io/lablqt
>>
>> --
>> Caml-list mailing list.  Subscription management and archives:
>> https://sympa.inria.fr/sympa/arc/caml-list
>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>> Bug reports: http://caml.inria.fr/bin/caml-bugs

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] [ANN] Lablqt
  2013-12-19 12:27   ` Kakadu
@ 2013-12-19 16:22     ` Paolo Donadeo
  2013-12-30  8:43     ` Vsevolod Velichko
  1 sibling, 0 replies; 5+ messages in thread
From: Paolo Donadeo @ 2013-12-19 16:22 UTC (permalink / raw)
  To: Kakadu; +Cc: OCaml mailing list

[-- Attachment #1: Type: text/plain, Size: 61 bytes --]

Thanks, I'll check out the project and try it.


-- 
*Paolo*

[-- Attachment #2: Type: text/html, Size: 141 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] [ANN] Lablqt
  2013-12-19 12:27   ` Kakadu
  2013-12-19 16:22     ` Paolo Donadeo
@ 2013-12-30  8:43     ` Vsevolod Velichko
  1 sibling, 0 replies; 5+ messages in thread
From: Vsevolod Velichko @ 2013-12-30  8:43 UTC (permalink / raw)
  To: Kakadu; +Cc: Paolo Donadeo, OCaml mailing list

[-- Attachment #1: Type: text/plain, Size: 3837 bytes --]

Hello,

As I was the beta-tester of the lablqml, I can share some of my experience
:)

I've written an example[1] that creates a couple of views on top of
OCaml-created data models, emits signals from OCaml, calls OCaml callbacks
from QML and so on. It can be taken into account as some proof of concept.

At first, as Dmitry said there's some simple hardcoded startup, but it was
added on behalf of my request (I wanted one to be able to use GUI without
writing any line of C++ code). However one can still put their own startup
in C++.

Second, the developer still must deal with C++ compilation and linking
OCaml object files with C++ ones. AFAIK, Dmitry intends to improve the
process in some future, but currently it a bit tricky. I haven't tried
native OCaml build systems (such as ocamlbuild or omake) with it yet, but
using the Makefile one can see, that they have to manually resolve all the
Qt libraries to link with.

Third, there're still some issues. E.g. creating the data item object used
in view, I was unable to create a mutable property that can be used on top
level of delegate[2] so I had to expose[3] the object itself and access its
property, otherwise property changes weren't revealed to QML.

But anyway while lablqt is still to be considered as some beta release, I
claim that it is already more usable than e.g. lablgtk.

[1] https://github.com/torkve/melange-seawar
[2] https://github.com/torkve/melange-seawar/blob/master/gui.qml#L85
[3] https://github.com/torkve/melange-seawar/blob/master/gui.ml#L43

Best wishes and have a nice day,
Vsevolod Velichko


2013/12/19 Kakadu <kakadu.hafanana@gmail.com>

> Paolo,
>
> At the moment I have tested main use case of C++ in QtQuick:
> implementing business logic which expected to work fast.
>
> I can name three limitations:
>
> 1) If you need complex GUI control (that doesn't suit well into
> QtQuick paradigm) you will probably need to implement it in C++ by
> subclassing QQuickItem. The only example of this I have seen is pie
> chart using QPainter from Qt Docs.
> Reason: I don't clearly understand when this complex controls are
> needed. QML itself is rather powerful one.
>
> 2) At this moment startup process is a little bit hardcoded in one C++
> function. i.e. some features are unavailable. It was made for
> simplicity but I don't see any theoretical reason against rewriting it
> in more verbose way in 1 weekend.
>
> 3) I have working demo with main GUI thread and some OCaml threads
> that do some work and report changes in main thread. It seems that it
> works OK but I'm not sure what will happen if we construct more
> interesting examples.
>
> Kind regards,
> Kakadu
>
>
> On Thu, Dec 19, 2013 at 7:53 AM, Paolo Donadeo <p.donadeo@gmail.com>
> wrote:
> > At present, what are the limitation in using OCaml/QT compared to using
> > C++/QT?
> >
> >
> > --
> > Paolo Donadeo, sent with Gmail on Android
> >
> > Il 15/dic/2013 22:12 "Kakadu" <kakadu.hafanana@gmail.com> ha scritto:
> >>
> >> Salut,
> >>
> >> From today lablqt is available in opam. With it you can create user
> >> interfaces in declarative manner in QML and connect it with OCaml
> >> using `mocml` code generator and `lablqml` ocamlfind package. Qt 5.2
> >> is required for compilation
> >>
> >> More information you can get at [1]. There is mine opam repo where
> >> demo application is included. It is called QOCamlBrowser --
> >> application similar to default ocamlbrowser.
> >>
> >> All comments will be appreciated.
> >>
> >> Kind regards,
> >> Dmitrii Kosarev aka Kakadu
> >>
> >> [1] http://kakadu.github.io/lablqt
> >>
> >> --
> >> Caml-list mailing list.  Subscription management and archives:
> >> https://sympa.inria.fr/sympa/arc/caml-list
> >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> >> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 5393 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-12-30  8:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-15 21:10 [Caml-list] [ANN] Lablqt Kakadu
2013-12-19  7:53 ` Paolo Donadeo
2013-12-19 12:27   ` Kakadu
2013-12-19 16:22     ` Paolo Donadeo
2013-12-30  8:43     ` Vsevolod Velichko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).