From: Jon Harrop <jon@ffconsultancy.com>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Does LablTk have a future?
Date: Thu, 1 Sep 2005 14:25:58 +0100 [thread overview]
Message-ID: <200509011425.59176.jon@ffconsultancy.com> (raw)
In-Reply-To: <431680C7.9030800@havenrock.com>
On Thursday 01 September 2005 05:17, Matt Gushee wrote:
> Jon Harrop wrote:
> > I meant that the topic "GUI programming using lablTK" is too specific for
> > a book.
>
> Okay, I thought that was probably what you meant. And you're probably
> right.
There may well be a market for a book on GUI programming in OCaml (including
OpenGL).
I've managed to get my database app up and running with lablgtk but it
required a lot of weirdness (e.g. lots of mutual recursion, a strange
"memoizing" wrapper for window creation functions to let me hide and show
windows by destroying and recreating them). Having a book on the subject
could have saved me a lot of time. The problem is, does anyone know how such
things should be written?
> Yes, using Text for a spreadsheet is pushing the envelope quite a bit.
> It's certainly possible with Canvas. The other option would be to have a
> bunch of Text or Entry widgets laid out with the Grid geometry manager.
I think GTK will let me do this without too much difficulty. The more I use it
and the more hassle I have (most of yesterday was spent making fundamental
changes to my implementation, e.g. to let me hide windows) the more I think
it would be easier to just start from scratch using OpenGL.
> > Yes. As OCaml gains popularity it will be commercially viable to publish
> > cheaper books. In the mean time, if you're interested in making money,
> > perhaps educational software would be better?
>
> Okay, you've got my attention. I've had vague thoughts in that direction
> myself, and it happens that I taught English as a Second Language for a
> few years before getting into geekery. What thoughts do you have about
> the opportunities in that field?
Vast. Educational software can be cheap because there are no overheads for
making and shipping the product. Dispatch is O(1) for the human (you don't
have to do anything per order, it is all automated). So it has the moral
benefit of letting you help a lot more people whilst also being economically
viable.
I'm aiming Presenta at the metamarket above this. Ultimately, I hope Presenta
will let users write technical slideshow presentations that they can then
sell. It will include an embedded (typeset!) OCaml-like DSL that allows users
to create and manipulate vector graphics that will be rendered via OpenGL
using Smoke, as well as a "manual" vector graphics editor (e.g. like a
cut-down version of Corel DRAW).
As Presenta is written entirely in OCaml, I may even try to support dynamic
loading of code. However, the core (e.g. the renderer) is performance
critical and needs to be compiled to native code to achieve good performance.
> > Incidentally, OpenGL is extremely important for us. So a GUI toolkit must
> > be able to handle OpenGL widgets. Indeed, this begs the question: why not
> > do the whole thing in OpenGL?
>
> It might be a good idea. My starting point was enlightened
> self-interest: I know Tk and LablTk fairly well, and I perceive that
> LablTk needs some help if it is to remain (become?) useful. Whereas I'm
> almost totally ignorant of OpenGL. It's one of the many things I think I
> ought to learn, but haven't found time.
Have you seen all of the demos on our site?
http://www.ffconsultancy.com/products/ocaml_for_scientists/visualisation
http://www.ffconsultancy.com/free/maze
http://www.ffconsultancy.com/free/ray_tracer
http://www.ffconsultancy.com/free/ray_tracer/comparison.html
Also, my book has a chapter describing the basics of OpenGL and its use via
LablGL.
I've already done a lot of work on OpenGL-based GUIs written in OCaml, of
course, and I'm willing to help create a decent toolkit. I think we should
start with a scene graph and picking. I am particularly interested in peer
review of my scene graph design. Perhaps we could use polymorphic variants to
make the scene graph extensible?
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
Objective CAML for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists
next prev parent reply other threads:[~2005-09-01 13:29 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-28 15:38 Matt Gushee
[not found] ` <aefe758210f7fa0b9846b0ea4278cf3a@rouaix.org>
2005-08-28 23:21 ` [Caml-list] " Matt Gushee
2005-08-29 22:33 ` Jon Harrop
2005-08-30 4:39 ` Matt Gushee
2005-08-30 11:39 ` Yaron Minsky
2005-08-30 11:48 ` Jon Harrop
2005-08-30 12:22 ` David MENTRE
2005-08-30 13:45 ` Jon Harrop
2005-08-30 15:47 ` David MENTRE
2005-08-30 16:08 ` Jon Harrop
2005-09-01 4:25 ` Matt Gushee
2005-09-01 11:20 ` Matt Gushee
2005-09-01 11:26 ` Matt Gushee
2005-09-01 14:09 ` Chris Campbell
2005-08-30 16:21 ` Bardur Arantsson
2005-08-30 17:47 ` [Caml-list] " David Thomas
2005-08-30 18:06 ` Tyler Eaves
2005-08-30 19:01 ` Jon Harrop
2005-08-30 22:55 ` Chris Campbell
[not found] ` <c22844d10508301553b54841b@mail.gmail.com>
2005-08-30 22:56 ` Fwd: " Chris Campbell
2005-08-30 23:04 ` Doug Kirk
2005-08-31 0:08 ` Fwd: " Jon Harrop
2005-08-31 0:31 ` Olivier Andrieu
2005-08-31 8:48 ` Feeding the OCaml GUI troll (was: Re: [Caml-list] Does LablTk have a future?) David MENTRE
2005-08-31 9:06 ` Proposal a GUI from Ocamlsdl Christophe Raffalli
2005-08-31 14:39 ` [Caml-list] " Jon Harrop
2005-09-01 19:27 ` Nathaniel Gray
2005-08-31 14:27 ` Feeding the OCaml GUI troll (was: Re: [Caml-list] Does LablTk have a future?) Jon Harrop
2005-09-01 4:49 ` Feeding the OCaml GUI troll Matt Gushee
2005-09-01 13:15 ` [Caml-list] " skaller
2005-09-01 13:28 ` David MENTRE
2005-09-01 13:50 ` skaller
2005-09-01 14:43 ` Chris Campbell
2005-09-02 7:40 ` Ville-Pertti Keinonen
2005-09-02 12:39 ` skaller
2005-09-03 10:34 ` Damien Bobillot
2005-09-03 12:30 ` skaller
2005-09-04 14:08 ` Richard Jones
2005-09-03 11:10 ` yoann padioleau
2005-09-03 11:30 ` Jonathan Roewen
2005-09-03 17:23 ` Doug Kirk
2005-09-04 14:01 ` Richard Jones
2005-09-01 19:23 ` Feeding the OCaml GUI troll (was: Re: [Caml-list] Does LablTk have a future?) Nathaniel Gray
2005-09-01 4:31 ` [Caml-list] Does LablTk have a future? Matt Gushee
2005-09-01 4:17 ` Matt Gushee
2005-09-01 13:25 ` Jon Harrop [this message]
2005-08-30 7:16 ` GUI for OCaml (was: Re: [Caml-list] Does LablTk have a future?) David MENTRE
2005-08-30 9:53 ` GUI for OCaml Christophe Raffalli
2005-08-30 10:28 ` [Caml-list] " David MENTRE
2005-08-30 13:04 ` Bünzli Daniel
2005-08-30 17:13 ` David Thomas
2005-08-30 11:18 ` Mark Shinwell
2005-08-30 14:22 ` Jacques Carette
2005-08-30 23:12 ` Pietro Abate
2005-08-30 14:14 ` GUI for OCaml (was: Re: [Caml-list] Does LablTk have a future?) Richard Jones
2005-08-30 15:33 ` mmzeeman
2005-08-30 15:44 ` Jon Harrop
2005-08-30 22:34 ` yoann padioleau
2005-09-01 4:58 ` Matt Gushee
2005-08-30 16:01 ` Jon Harrop
2005-08-30 16:25 ` Chris Campbell
2005-08-30 22:49 ` yoann padioleau
2005-08-30 16:03 ` Chris Campbell
2005-08-30 22:31 ` yoann padioleau
2005-08-31 8:19 ` About Lablgtk2 (was: e: GUI for OCaml) David MENTRE
2005-09-03 11:41 ` yoann padioleau
2005-08-30 17:35 ` [Caml-list] Does LablTk have a future? Olivier Andrieu
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=200509011425.59176.jon@ffconsultancy.com \
--to=jon@ffconsultancy.com \
--cc=caml-list@yquem.inria.fr \
/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