From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q1DB1Q7Z000658 for ; Mon, 13 Feb 2012 12:01:26 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqsDAJrsOE/RVdy2mGdsb2JhbABDnzWIGocudwgiAQEBAQEICQ0HFCeBaQUdAiwBGx4DEggBB10BEQEFASIsCYUmB4IkEpk0gl0Ki3GCcIQ4P4hzAgULiVKCCw8LAR8kAQElhDeDRQSVMo4lPYQD X-IronPort-AV: E=Sophos;i="4.73,411,1325458800"; d="scan'208";a="143993192" Received: from mail-vx0-f182.google.com ([209.85.220.182]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 13 Feb 2012 12:01:20 +0100 Received: by vcmm1 with SMTP id m1so5775162vcm.27 for ; Mon, 13 Feb 2012 03:01:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type; bh=BXTtnl+Vfft9BPocnXEmK+RQGKizWFlVc90EWdr5sok=; b=KWRl/3XSmYQPa0hXhtRzf4D8I+5f10G2Q09p3hL69DCy33ohGyKLlXuufGug2DQFYn LFsYjfAdF5r80/z8qoNf91GyGx6S7Sv8xlQq+Kmy9+3fDiTIXKepThu49QuoyFzxkb24 Pl1V9lmgE44h5M3FaD+RW2rThGkMkF+5uT1To= Received: by 10.52.70.175 with SMTP id n15mr6784624vdu.10.1329130880189; Mon, 13 Feb 2012 03:01:20 -0800 (PST) MIME-Version: 1.0 Received: by 10.52.90.140 with HTTP; Mon, 13 Feb 2012 03:01:00 -0800 (PST) From: Philippe Veber Date: Mon, 13 Feb 2012 12:01:00 +0100 Message-ID: To: caml users Content-Type: multipart/alternative; boundary=20cf3071c934f9461f04b8d665c6 X-Validation-by: philippe.veber@gmail.com Subject: [Caml-list] Functional GUI programming: looking for good practices --20cf3071c934f9461f04b8d665c6 Content-Type: text/plain; charset=ISO-8859-1 Dear camlers, I'm looking for advanced examples of GUI programming in functional style. As I'm aware there is no definitive answer on this topic, I'll gladly read about pragmatic approaches which may fail to be fully declarative, but do work well in practice. Lately I've been trying to write a little GUI API, replacing all mutable values by React signals ( http://erratique.ch/software/react), but it turns out to be more difficult than expected, for example with layout management. In order to compute a layout for the widgets, some information has to travel bottom up the widget hierarchy, and some goes top down. While there is a well-founded order for defining all signals, it's more difficult to group them in their respective widget and still avoid mutually recursive definitions. More generally I'd interested in good (and pragmatic !) techniques for GUI programming, with some real life code. Cheers, Philippe. --20cf3071c934f9461f04b8d665c6 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Dear camlers,

I'm looking for advanced examples of GUI programmi= ng in functional style. As I'm aware there is no definitive answer on t= his topic, I'll gladly read about pragmatic approaches which may fail t= o be fully declarative, but do work well in practice. Lately I've been = trying to write a little GUI API, replacing all mutable values by React sig= nals (http://erratique.ch/so= ftware/react), but it turns out to be more difficult than expected, for= example with layout management. In order to compute a layout for the widge= ts, some information has to travel bottom up the widget hierarchy, and some= goes top down. While there is a well-founded order for defining all signal= s, it's more difficult to group them in their respective widget and sti= ll avoid mutually recursive definitions. More generally I'd interested = in good (and pragmatic !) techniques for GUI programming, with some real li= fe code.
Cheers,
=A0 Philippe.

--20cf3071c934f9461f04b8d665c6--