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 nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 19942BB9C for ; Tue, 20 Sep 2005 03:47:48 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j8K1llbA008997 for ; Tue, 20 Sep 2005 03:47:47 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id DAA24303 for ; Tue, 20 Sep 2005 03:47:46 +0200 (MET DST) Received: from mail-eur.microsoft.com (mail-eur.microsoft.com [213.199.128.145]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j8K1lkM1027660 for ; Tue, 20 Sep 2005 03:47:46 +0200 Received: from EUR-MSG-10.europe.corp.microsoft.com ([65.53.193.196]) by mail-eur.microsoft.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Sep 2005 02:47:45 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Caml-list] C# 3.0 enhancements (in re: F#) Date: Tue, 20 Sep 2005 02:46:46 +0100 Message-ID: <6C6555DF5D075A4EA6D27706F4EC59750375087E@EUR-MSG-10.europe.corp.microsoft.com> Thread-Topic: [Caml-list] C# 3.0 enhancements (in re: F#) Thread-Index: AcW8lW1wcJ3/FtQ9SoSdLQqLy3t1EgA5z8Pg From: "Don Syme" To: "Bill Wood" , "Evans, Jeffrey (IT)" Cc: X-OriginalArrivalTime: 20 Sep 2005 01:47:45.0716 (UTC) FILETIME=[4C3AF740:01C5BD85] X-Miltered: at nez-perce with ID 432F6A43.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 432F6A42.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 syme:01 dsyme:01 caml-list:01 fsharp:01 msdn:01 dsyme:01 compiler:01 ocaml:01 ocaml:01 bug:01 compilation:01 model:01 syme:01 inference:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 Hi Bill, > Does anyone have a sense of the extent to which F# is (could be) a > viable entry in the .NET arena, as opposed to an entertaining exercise? Normally I do not mail to the Caml-list about F#, since such mails can easily be misinterpreted. However, since the topic came up as an explicit question I thought I would mention that more information about F# can be found via Google ("F#"), or at http://research.microsoft.com/projects/fsharp though more fun is my blog at=20 http://blogs.msdn.com/dsyme F# can cross-compile large Caml applications, e.g. the Static Driver Verifier (50K lines - http://www.microsoft.com/whdc/devtools/tools/SDV.mspx) and the SPiM stochastic Pi calculus simulator (http://www.doc.ic.ac.uk/~anp/spim/), the Abstract IL libraries and the F# compiler itself. We take compatibility with the shared core language of OCaml very seriously, to the extent that if our implementation of a library function throws a different exception to the OCaml implementation we regard that as a bug. We want to make sure that cross-compilation between F# and OCaml remains a valid compilation model. However, we do not aim to implement all OCaml language features - the OCaml team are too quick to add interesting (and useful) typing features to make that possible. Furthermore many do not make sense in the context of a .NET programming language. At some point I would dearly like to take the opportunity to write an extensive report on F# for the benefit of the OCaml community. Although F# is a simpler language than OCaml, it's role as a .NET language places it alongside many current interesting developments in programming, e.g. software-isolated process (called AppDomains in .NET) the recently announced LINQ project (mentioned below), server-side programming using ASP.NET or the ability to host semi-trusted code inside SQL Server. In my opinion this leads to a substantially different perspective on language design and development, and indeed the whole architecture of the software environment feels substantially different. I think one role that F# plays for the OCaml community is to give a chance for people in the OCaml world dip into this architecture without relearning everything. And, if you ever find yourself desperate to talk to some .NET libraries, you may find it feasible to use F# for this purpose. Anyway, that's my F# post for the year :-) If you do take it for a spin then please let us know how you get on. Don Syme Microsoft Research, Cambridge -----Original Message----- From: caml-list-bounces@yquem.inria.fr [mailto:caml-list-bounces@yquem.inria.fr] On Behalf Of Bill Wood Sent: 18 September 2005 22:08 To: Evans, Jeffrey (IT) Cc: caml-list@inria.fr Subject: RE: [Caml-list] C# 3.0 enhancements (in re: F#) . . . > >It may interest people to know that C# is to add inferred types, > >lambda expressions with limited type inference, some other functional > >features. Unfortunately the only reference is a M$ Word document(!), > >but it's interesting reading nevertheless: > > > >http://msdn.microsoft.com/vcsharp/future/default.aspx > > > >Rich. >=20 >=20 > For that matter, F# has been around on the .NET platform for a little > while now. Does anyone have a sense of the extent to which F# is (could be) a viable entry in the .NET arena, as opposed to an entertaining exercise? -- Bill Wood _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs