From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 19019BC57 for ; Mon, 29 Nov 2010 15:21:37 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AugBAJtF80zRVaE0kGdsb2JhbACidQgWAQEBCQkMBxEDH6hhiWSCGIRcLohWAQEDBYVCBIRahgc X-IronPort-AV: E=Sophos;i="4.59,276,1288566000"; d="scan'208";a="89653493" Received: from mail-fx0-f52.google.com ([209.85.161.52]) by mail1-smtp-roc.national.inria.fr with ESMTP; 29 Nov 2010 15:21:36 +0100 Received: by fxm5 with SMTP id 5so3376370fxm.39 for ; Mon, 29 Nov 2010 06:21:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=gu176vAbxwgrxWd35t6ApSqEWU3aZ1uuPn4JsbycmGQ=; b=qI7etNxraxJToucKncBqEGYz89gOAxhrWBqSSUL7mJpvLZnM4ZEgYpHEo+H+NM0PT6 Yd8qB2l5Ppn9f3mllVXENQj5pmz8tfB43Cxkak8QFlpoI0tDqQo66aM6OvOiHjVM33HO rq/HVMRIFQkJXtcmMr0EA3wW7HPvLr8S9xuhw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=k+iafQOUJs3rkGTsMlhLzHtW1s2MtuXhiScIuvewUOSK2XL3Vd712FVoC6gTHRtj2V GhDUal1Fy4RbCnflhYVVpY+n+8KOdZRkjEGuu2XcA8fBP971oTjPT1GP9cGq5czlHJtv fvmogsfAiPJZDzhed6u1XqbvfZbsiSYI2HhR4= MIME-Version: 1.0 Received: by 10.223.79.7 with SMTP id n7mr4935150fak.33.1291040495351; Mon, 29 Nov 2010 06:21:35 -0800 (PST) Received: by 10.223.75.196 with HTTP; Mon, 29 Nov 2010 06:21:35 -0800 (PST) In-Reply-To: References: <299CA113-601F-4C96-B012-E092F14EEEE6@wanadoo.fr> <4EF2E0B5-58C9-4F1D-ABBF-630863619E17@wanadoo.fr> Date: Mon, 29 Nov 2010 19:51:35 +0530 Message-ID: Subject: Re: [Caml-list] Desktop GUI toolkits - current state of the art? From: Martin DeMello To: Yoann Padioleau Cc: OCaml List Content-Type: text/plain; charset=ISO-8859-1 X-Spam: no; 0.00; ocaml:01 lablgtk:01 lablgtk:01 gtk:01 callbacks:01 wiki:01 notation:01 ocaml:01 pfff:01 28,:98 sourceforge:01 wrote:01 abstract:01 syntactic:01 preprocessor:01 On Sun, Nov 28, 2010 at 1:10 PM, Yoann Padioleau wrote: >> >> http://ruby-gnome2.sourceforge.jp/hiki.cgi?tut-gtk2-packing-tables-demo >> http://plus.kaist.ac.kr/~shoh/ocaml/lablgtk2/lablgtk2-tutorial/x509.html > > I honestly don't see any difference. Where do you see "nice syntactic support > for gtk code" in the ruby version ? It looks like rubyish code. There are objects, and callbacks bound by way of blocks. It's pretty clear how to combine those objects into larger widgets in an idiomatic, object-functional way. Basically, what it comes down to is that it is about as abstract as I expect ruby code to be. >> Vala is currently experimenting with gtkon, a declarative layout >> language that embeds vala code "islands", and is compiled into pure >> vala by a preprocessor. >> >> http://code.google.com/p/gtkaml/wiki/Gtkon >> >> This seems like a very promising direction, > > Again, I don't see the advantage of this JSON notation vs doing the same in plain OCaml. It makes simple things simple. It lets you define the layout declaratively, which is something I'd love to see in OCaml (and, indeed, in ruby) > In https://github.com/facebook/pfff/blob/master/commons/gui.ml > I've modified slightly the lablgtk API to be more compositional. I like that. martin