caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jon Harrop <jon@jdh30.plus.com>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Cross-platform "Hello, World" graphical application in OCaml
Date: Wed, 23 Feb 2005 00:05:01 +0000	[thread overview]
Message-ID: <200502230005.01479.jon@jdh30.plus.com> (raw)
In-Reply-To: <4a4478d088d9fa3d5d1d82dd42b163d8@epfl.ch>

On Tuesday 22 February 2005 23:30, Daniel Bünzli wrote:
> One nice thing to have would be a pure ocaml gui system (maybe along
> the lines of Fruit [1] or Fudgets) with a functorized renderer
> interface so that it can be used with/rendered by different graphic api
> (e.g. see cegui [3,4]) or even inside a canvas widget. Input handling
> should also be functorized so that it is easy to plug the gui system in
> a particular environment.

I prefer the idea of implementing a single back-end: a decent vector graphics 
renderer which uses OpenGL. I can't think of any reason I'd ditch these for 
another back-end.

> However the big problem of these custom gui systems is the lack of
> integration with the native gui system. This may not be an issue for
> fullscreen vizualisation tools or games but can be for other
> applications like editors (e.g., because you usually have a single 
> window in which everything occurs (your gl context), you don't have
> access to platform specific save dialogs, look and feel, etc., etc.).

I disagree.

Firstly, you can have as many GL windows and contexts (and widgets) as you 
like. You aren't restricted to just having one window with one widget and one 
context.

Secondly, using OpenGL does not prohibit the use of platform-specific look and 
feel. There is no reason you shouldn't be able to bring up native menus and 
dialogs. Qt, GTK and WxWindows all allow you to do this.

Thirdly, Mathematica is one of the "editors" I use most often. It benefits 
greatly from embedded vector graphics (although software rendered for now) 
for features such as mathematical typesetting, graph generation and 
visualisation.

IMHO, vector graphics based editors are a huge step forward. Imagine having an 
OCaml IDE which typeset your program (lambdas, pattern matches, arrows, 
subscripts etc.) and gave you graphical feedback on syntax, type inference 
and type checking, smooth scrolling, a search facility which animated its 
results. The possibilities are endless.

The editors I've seen under Linux are making tentative steps in the right 
direction but they are still miles away from what could be achieved. 
OCamlbrowser displays hierarchical lists of module contents graphically. 
KEdit lets you flatten C++ function definitions, but C++ lacks nested 
functions. Particularly in OCaml, programming could be so much easier with 
more sophisticated editors...

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://ffconsultancy.com


  reply	other threads:[~2005-02-23  1:22 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-22 12:03 Richard Jones
2005-02-22 12:15 ` [Caml-list] " Sven Luther
2005-02-22 12:28   ` Richard Jones
2005-02-22 12:35     ` Sven Luther
2005-02-22 12:53       ` Richard Jones
2005-02-22 14:27         ` Sven Luther
2005-02-22 13:36 ` Vincenzo Ciancia
2005-02-22 14:03   ` [Caml-list] " Richard Jones
2005-02-22 17:46     ` Christophe TROESTLER
2005-02-22 23:50       ` Oliver Bandel
2005-02-23 13:58         ` Christophe TROESTLER
2005-02-23  8:15       ` Sven Luther
2005-02-23 14:08         ` Christophe TROESTLER
2005-02-23 16:15           ` Sven Luther
2005-02-24 16:20             ` Christophe TROESTLER
2005-02-23  8:07     ` Evan Martin
2005-02-22 14:08   ` Michael Walter
2005-02-22 17:05 ` [Caml-list] " Blair Zajac
2005-02-22 17:23   ` Richard Jones
2005-02-22 19:24     ` Jon Harrop
2005-02-22 20:24       ` Richard Jones
2005-02-22 21:23         ` Jon Harrop
2005-02-22 22:13           ` chris.danx
2005-02-22 23:00             ` Jon Harrop
2005-02-23  0:18               ` Oliver Bandel
2005-02-23 17:24               ` Christopher Campbell
2005-02-22 23:38           ` Richard Jones
2005-02-22 21:26         ` chris.danx
2005-02-22 22:16           ` Jon Harrop
2005-02-22 23:30             ` Daniel Bünzli
2005-02-23  0:05               ` Jon Harrop [this message]
2005-02-23  3:05                 ` Michael Walter
2005-02-23  3:13                 ` Daniel Bünzli
2005-02-23  3:57                   ` Jon Harrop
2005-02-23  7:29                 ` Bardur Arantsson
2005-02-23 11:21                   ` Jon Harrop
2005-02-23 11:45                     ` Bardur Arantsson
2005-02-23  0:27               ` Oliver Bandel
2005-02-22 20:57       ` chris.danx
2005-02-23  9:58         ` Olivier Andrieu
2005-02-23 17:23           ` Christopher Campbell
2005-02-23  0:02       ` Oliver Bandel
2005-02-23 11:37         ` Jon Harrop
2005-03-01 14:35         ` Ingo Bormuth
2005-02-22 23:59     ` Oliver Bandel
2005-02-23 15:21       ` William D. Neumann
2005-02-24  0:44         ` Oliver Bandel
     [not found] <20050223054011.3414.28936.Mailman@yquem.inria.fr>
2005-03-02  6:36 ` Ken Rawlings
2005-03-02  6:56   ` Nicolas Cannasse
2005-03-02 11:40   ` Richard Jones
2005-03-02 12:06     ` Nicolas Cannasse
2005-03-05 12:51     ` Sven Luther
2005-03-05 12:31 Grégory Guyomarc'h
2005-03-05 13:09 Gregory Guyomarc'h

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=200502230005.01479.jon@jdh30.plus.com \
    --to=jon@jdh30.plus.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;
as well as URLs for NNTP newsgroup(s).