From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=AWL,HTML_MESSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 167A3BC69 for ; Wed, 16 Jan 2008 04:34:58 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAKoKjUfRVca+kmdsb2JhbACCcI0bAQEBAQcCBimUTId1 X-IronPort-AV: E=Sophos;i="4.24,291,1196636400"; d="scan'208";a="21289173" Received: from rv-out-0910.google.com ([209.85.198.190]) by mail4-smtp-sop.national.inria.fr with ESMTP; 16 Jan 2008 04:34:57 +0100 Received: by rv-out-0910.google.com with SMTP id k20so77718rvb.3 for ; Tue, 15 Jan 2008 19:34:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:references; bh=zsskS5fMnX/++S7xLzXquSbNYiZaUA1lanbunyhukjg=; b=f2H6xTjC6fkdj7XsSGM1823w3H5K+v83/APLizU5x/FFyvOadcWsoi7uMdeXtAk8oKplhUNg1MCDlwFfLVtJcFR0F0cO7wX7oRo5eIuxAlhSJ/tsNnSvd3PlRLz4FPYebjA9LR5+Ta9M12yE2RNjVu+FRoPo2ddCf3eauQLBj8o= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:references; b=Q5y9+RH9oGkaVEJeGJhePkenadADM6GNabg1MYjygn58UFujwi3zIPNVWe84o4YxRqxYJ/UJbA2SsXseQtqB+AwOfwZVEfivwgYrbvstnVxTeYscW+ZySnaa9NLHl/Pgw7exXyu1+TAJkWko9DNor/ugbZ7mLPIfKf/2bYMzcPg= Received: by 10.140.139.3 with SMTP id m3mr189101rvd.244.1200454494657; Tue, 15 Jan 2008 19:34:54 -0800 (PST) Received: by 10.141.87.4 with HTTP; Tue, 15 Jan 2008 19:34:54 -0800 (PST) Message-ID: <891bd3390801151934s62c5c698vf4a5ac54bfe2fd4d@mail.gmail.com> Date: Tue, 15 Jan 2008 22:34:54 -0500 From: "Yaron Minsky" Reply-To: yminsky@gmail.com To: "Jacques GARRIGUE" Subject: Re: [Caml-list] Re: Hash clash in polymorphic variants Cc: caml-list@yquem.inria.fr In-Reply-To: <20080116.122627.-10635426.garrigue@math.nagoya-u.ac.jp> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_12669_20263704.1200454494655" References: <200801150459.03896.jon@ffconsultancy.com> <20080115.180142.123979196.garrigue@math.nagoya-u.ac.jp> <200801151817.33017.jon@ffconsultancy.com> <20080116.122627.-10635426.garrigue@math.nagoya-u.ac.jp> X-Spam: no; 0.00; yaron:01 minsky:01 yminsky:01 hash:01 variants:01 ocaml:01 compiler:01 semantics:01 labltk:01 ocaml:01 guis:01 lablgtk:01 guis:01 compiler:01 semantics:01 ------=_Part_12669_20263704.1200454494655 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Jan 15, 2008 10:26 PM, Jacques GARRIGUE wrote: > > I'm not so sure. Actually, I do it all the time when recompiling > ocaml. Otherwise I would have to bootstrap after any modification in > the compiler. Fortunately, this is not the case, and one only needs to > bootstrap when the data structures are modified (or semantics changed). > I agree. We quite often use marshal to share data between different programs that share a common library. > I don't agree with all these points (otherwise I wouldn't be > maintaining a GUI toolkit), but there is some truth in it. I actually > got similar reactions from industry in Japan, if for different > reasons: they don't need the GUI, because they prefer to do it > themselves, to differentiate from others. People doing in-house > programming have a different point of view. I remember somebody from a > bank who told me he wrote a program to be used in all their branches > using labltk. In this case you don't need anything flashy, it just has > to be functional (err, to work). > We started out doing entirely back-end processes using OCaml, but as time went on, we started building more and more GUIs. The fact that OCaml has lablgtk makes it much more useful for us, without a doubt. The main reason we like to do GUIs in OCaml is that we see a lot of value in sharing type definitions and code between the GUIs and the back-end services they connect to. y ------=_Part_12669_20263704.1200454494655 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Jan 15, 2008 10:26 PM, Jacques GARRIGUE <garrigue@math.nagoya-u.ac.jp> wrote:

I'm not so sure. Actually, I do it all the time when recompiling
ocaml. Otherwise I would have to bootstrap after any modification in
the compiler. Fortunately, this is not the case, and one only needs to
bootstrap when the data structures are modified (or semantics changed).

I agree.  We quite often use marshal to share data between different programs that share a common library. 
 
I don't agree with all these points (otherwise I wouldn't be
maintaining a GUI toolkit), but there is some truth in it. I actually
got similar reactions from industry in Japan, if for different
reasons: they don't need the GUI, because they prefer to do it
themselves, to differentiate from others. People doing in-house
programming have a different point of view. I remember somebody from a
bank who told me he wrote a program to be used in all their branches
using labltk. In this case you don't need anything flashy, it just has
to be functional (err, to work).

We started out doing entirely back-end processes using OCaml, but as time went on, we started building more and more GUIs.  The fact that OCaml has lablgtk makes it much more useful for us, without a doubt.  The main reason we like to do GUIs in OCaml is that we see a lot of value in sharing type definitions and code between the GUIs and the back-end services they connect to.

y
------=_Part_12669_20263704.1200454494655--