From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id GAA04093; Thu, 1 Apr 2004 06:08:50 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id GAA04094 for ; Thu, 1 Apr 2004 06:08:49 +0200 (MET DST) From: briand@aracnet.com Received: from citrine.spiritone.com (citrine.spiritone.com [216.99.193.133]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i3148mYM008550 for ; Thu, 1 Apr 2004 06:08:48 +0200 Received: from soggy.deldotd.com (216-99-206-32.cust.aracnet.com [216.99.206.32]) by citrine.spiritone.com (8.12.10/8.12.8) with ESMTP id i314E3ru024103 for ; Wed, 31 Mar 2004 20:14:03 -0800 Received: from briand by soggy.deldotd.com with local (Exim 3.36 #1 (Debian)) id 1B8tVQ-0000FW-00 for ; Wed, 31 Mar 2004 20:08:40 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16491.38344.186267.44292@soggy.deldotd.com> Date: Wed, 31 Mar 2004 20:08:40 -0800 To: caml-list@pauillac.inria.fr Subject: [Caml-list] exene and ocaml ? X-Mailer: VM 6.92 under Emacs 21.2.1 X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; jhr:99 threading:01 ocaml's:01 threads:01 gui:01 nightly:99 caml-list:01 ocaml:01 ocaml:01 gtk:01 underlying:01 variant:02 harder:02 thread:02 module:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Keywords: X-UID: 3 I'm new to ML and have been wondering the ML landscape looking for nifty ML related tidbits when I ran across exene (http://people.cs.uchicago.edu/~jhr/eXene/). Has anyone in the ocaml community ever even considered porting this to ocaml ? I noticed that it requires threading. Does anyone have an opinion as whether ocaml's threads would be compatible with such a system ? Thread based gui implementations are the way to go (aren't they ?) I have been working with labgtk and I've noticed that it suffers from the underlying limitations of gtk, i.e. it's pure event based. So consider an interactive routine to draw a line: event mouse_button: draw_line with mouse_button event event_key: draw_line with key_event event_motion: draw_line wtih motion_event ... draw_line event_variant : dispatch on event do something with a GLOBAL variable (or module local ?) ! pass state information back to main routine to signal change of state, e.g. escape key has stopped line drawing mode YUCH. Consider the much more elegant and functional implementation: new line = draw_line event_stream draw_line event_stream consume events until done return tuple (success/fail, line object) I'd rather program the second way. I think exene lets you do that. I think that maybe a fudgets style interface might also work well, but I have a harder time understanding how fudgets work. OK, well I've used up by nightly bandwidth for the caml-list. Thanks Brian ------------------- 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