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=AWL autolearn=disabled version=3.1.3 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 59503BC0A for ; Thu, 24 May 2007 03:44:19 +0200 (CEST) Received: from ptb-relay02.plus.net (ptb-relay02.plus.net [212.159.14.213]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l4O1iHop026074 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 24 May 2007 03:44:19 +0200 Received: from [80.229.56.224] (helo=beast.local) by ptb-relay02.plus.net with esmtp (Exim) id 1Hr2NF-0007ai-Ct; Thu, 24 May 2007 02:44:17 +0100 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: Jacques Garrigue Subject: Revolution Date: Thu, 24 May 2007 02:38:37 +0100 User-Agent: KMail/1.9.7 Cc: caml-list@inria.fr References: <20070523185428.GA32681@furbychan.cocan.org> <200705232246.14189.jon@ffconsultancy.com> <20070524.071405.12188035.garrigue@math.nagoya-u.ac.jp> In-Reply-To: <20070524.071405.12188035.garrigue@math.nagoya-u.ac.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200705240238.37972.jon@ffconsultancy.com> X-Miltered: at concorde with ID 4654EDF1.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 lablgtk:01 gtkthread:01 labltk:01 ocaml:01 translating:01 fsharp:01 linux's:01 renders:01 abstracted:01 fsharp:01 revolution:98 smoke:98 smoke:98 awe:98 On Wednesday 23 May 2007 23:14:05 Jacques Garrigue wrote: > But... this is exactly the kind of things for which you can already > use concurrency in ocaml. For instance, lablgtk2 provides a GtkThread > module, which lets you run the GUI in another thread, and post updates > asynchronously. This is also possible with labltk, albeit not > documented. > I do not say this is elegant in its current form, but we are limited > by the underlying library. I appreciate the limitations of the existing GUI libraries on Linux. I'll try to translate some of the examples from the tutorials into F# and show you the difference. I'm going to let you in on a recurring dream of mine. Ever since I saw how easy .NET makes GUI and web programming, and ever since I saw the demos of a Windows GUI based on hardware-accelerated vector graphics in Vista, Windows Presentation Foundation and now Silverlight, I have wanted to see this on Linux. The fact is, the OCaml community are extraordinarily talented and I've been sitting on the OCaml translation of our hardware-accelerated vector graphics engine for years. We are in the process of translating this into F# for Windows: http://www.ffconsultancy.com/products/fsharp_for_visualization/ and we already have customers. Is there any chance that we can team up to produce Linux's Vista- and Silverlight-killer and write the whole thing in OCaml? Here are my ideas: 1. A new GUI library written in a functional style that renders controls as vector graphics via Smoke. Everything is rendered using OpenGL but abstracted behind Smoke. 2. Typesetting graphical IDEs for programming with integrated visualization. 3. A document format to replace HTML that provides mathematical typesetting and embedded, scriptable 2D and 3D vector graphics, and a browser to view/edit these documents. Does anyone else find this idea awe inspiring? -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. The F#.NET Journal http://www.ffconsultancy.com/products/fsharp_journal/?e