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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id C36ADBB84 for ; Sun, 18 Jan 2009 00:46:02 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqEBAEv8cUnUnw6UkGdsb2JhbACCOpFKAQEBAQkJDAcRBLothXM X-IronPort-AV: E=Sophos;i="4.37,282,1231110000"; d="scan'208";a="19760990" Received: from fhw-relay07.plus.net ([212.159.14.148]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-SHA; 18 Jan 2009 00:46:02 +0100 Received: from [87.113.104.168] (helo=leper.local) by fhw-relay07.plus.net with esmtp (Exim) id 1LOKra-00051q-DI for caml-list@yquem.inria.fr; Sat, 17 Jan 2009 23:46:02 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] C++/C# inheritance is bad? Date: Sat, 17 Jan 2009 23:49:57 +0000 User-Agent: KMail/1.9.9 References: <200901172217.56861.jon@ffconsultancy.com> <1232234946.8010.1.camel@Blefuscu> In-Reply-To: <1232234946.8010.1.camel@Blefuscu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200901172349.57399.jon@ffconsultancy.com> X-Plusnet-Relay: 796aa455571206fd7ac8d12c0cc90667 X-Spam: no; 0.01; vastly:01 fsharp:01 namespaces:01 ocaml:01 alpha-beta:01 model:01 recursive:01 fine-grained:01 2009:98 2009:98 shim:98 loving:98 smoke:98 smoke:98 frog:98 On Saturday 17 January 2009 23:29:06 David Teller wrote: > On Sat, 2009-01-17 at 22:17 +0000, Jon Harrop wrote: > > We've wrapped part of WPF in a functional shim for our F# for > > Visualization product and, even though it was originally intended for > > internal use only, our customers are loving using it themselves because > > it is vastly simpler and less error prone than trying to use WPF's own > > heavily-imperative but entirely thread unsafe OOP-based API directly. > > Out of curiosity: is there a public documentation for your functional > API? Sure thing: http://www.ffconsultancy.com/products/fsharp_for_visualization/docs/namespaces.html That reminds me, I need to update it for the latest release. Our Smoke Vector Graphics product for OCaml uses similar techniques but it is less evolved: http://www.ffconsultancy.com/products/smoke_vector_graphics/ > > Incidentally, Cilk looks like the ideal tool to write a parallel GC... > > Mmmmhhh... Care to argument this? While I'd be glad to implement, say, > graph search or min-max/alpha-beta with Cilk, I don't quite see how a > concurrent GC would fit into the Cilk model. Parallel, not concurrent. By parallel GC, I mean stop the world and call into code that traverses the heap using a parallelized algorithm. That would just be a simple recursive function in Cilk that is, of course, just graph traversal. You are quite right that Cilk is not useful for writing a concurrent GC, where the mutator and GC use fine-grained concurrency to avoid global stalls. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e