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=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 7B7B6BC0A for ; Thu, 21 Jun 2007 11:42:21 +0200 (CEST) Received: from orion.metastack.com (no-dns-yet.demon.co.uk [80.177.38.218] (may be forged)) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l5L9gKeT003526 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Thu, 21 Jun 2007 11:42:21 +0200 Received: from treble (cpc2-cmbg6-0-0-cust535.cmbg.cable.ntl.com [81.107.34.24]) (authenticated bits=0) by orion.metastack.com (8.13.4/8.13.3) with ESMTP id l5L9ZqAZ016522 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Thu, 21 Jun 2007 10:35:53 +0100 From: "David Allsopp" To: References: <20070618091949.0237DBC76@yquem.inria.fr> Subject: Re: OCaml + GTK vs F# on Windows Date: Thu, 21 Jun 2007 10:42:14 +0100 Organization: MetaStack Solutions Ltd. Message-ID: <009a01c7b3e8$733c3a60$6a7ba8c0@treble> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 Thread-Index: AcexiRq0C5mmmoMIQ8egLFKmlQgOJABs23/g In-Reply-To: <20070618091949.0237DBC76@yquem.inria.fr> X-Miltered: at concorde with ID 467A47FC.005 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 gtk:01 lablgtk:01 parser:01 functors:01 ocaml:01 gtk:01 windows-only:01 windows-only:01 stub:01 wrappers:01 guis:01 o'caml:01 hardcore:98 imho:01 > Folks, > > I need to reboot my translator as a Windows app. I would like to know > how well is LablGTK supported on Windows (specially with Glade) and > whether this is advisable if Windows is my only target platform. > > F# is the other option that I see but will require porting my parser > from Dypgen back to Yacc, among other things. Not a big deal since > I'm not using functors or any advanced features of OCaml but still > work to do. > > What's your opinion? IMHO GUI apps knocked together quickly using toolkits such as GTK tend to look hideous under Windows (although slightly better than AWT apps did in the early days of Java!). ocamlbrowser is a "good" example (I'm talking about appearance here, not functionality, cross-platform compatibility, etc!!). If Windows is your only platform, I'd use a Windows-only toolkit as otherwise you end up with "lowest common denominator" feature support (or badly emulated controls). Of course, it helps to be sure that you're definitely "Windows-only" :o) > What option would you recommend and why? There're a couple of stub wrappers for Win32 API functions for writing GUIs on the hump but that's a bit hardcore (not to mention time consuming) if you've never done that before - I would have thought that splitting your app into logic written in O'Caml (as it already is) and control written in F# giving you full access to the .NET GUI Library only for the required parts of your app were the way forward... HTH, David PS For developing Windows apps, there're some books on the subject of GUI design - e.g. http://tinyurl.com/3d72qn The setup program for Richard Jones' XP Hello World, for example, breaks the recommendation for not having Windows 3.11 style Remove links in Start Menu groups and Desktop Icons [p.294] ;o)... though at least it gives the option not install the desktop icon.