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.8 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id 0E563BC69 for ; Sun, 6 May 2007 19:56:13 +0200 (CEST) Received: from smtp-dub.microsoft.com (smtp-dub.microsoft.com [213.199.138.191]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l46HuCI3018133 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Sun, 6 May 2007 19:56:12 +0200 Received: from DUB-EXHUB-C303.europe.corp.microsoft.com (65.53.213.93) by DUB-EXGWY-E801.partners.extranet.microsoft.com (10.251.129.1) with Microsoft SMTP Server (TLS) id 8.1.85.3; Sun, 6 May 2007 18:56:11 +0100 Received: from EA-EXMSG-C315.europe.corp.microsoft.com ([65.53.221.65]) by DUB-EXHUB-C303.europe.corp.microsoft.com ([65.53.213.93]) with mapi; Sun, 6 May 2007 18:56:11 +0100 From: Don Syme To: Richard Jones , "caml-list@inria.fr" Date: Sun, 6 May 2007 18:56:11 +0100 Subject: RE: F# (was Re: "ocaml_beginners"::[] Set of/inside a recursive type ?) Thread-Topic: F# (was Re: "ocaml_beginners"::[] Set of/inside a recursive type ?) Thread-Index: AceO+GixV32LnzV1SRiTOMYi+5mZoAA25nEA Message-ID: <7E24A64DB2F6F34E8C6002C4EB2344970872DCBDF6@EA-EXMSG-C315.europe.corp.microsoft.com> References: <20070501103349.1ae3b51a@localhost.localdomain> <200705042301.57159.jon@ffconsultancy.com> <20070504215737.GA28597@furbychan.cocan.org> <200705050134.39483.jon@ffconsultancy.com> <20070505083826.GA9150@furbychan.cocan.org> In-Reply-To: <20070505083826.GA9150@furbychan.cocan.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Miltered: at discorde with ID 463E16BC.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; syme:01 syme:01 ocaml:01 recursive:01 ocaml:01 retrain:01 avoided:01 compilation:01 avoided:01 model:01 recursive:01 0100,:01 restrictive:01 fsharp:01 fedora:01 Hi Richard, F# is a research language, with many of the same issues as other research l= anguages (license, support, works poorly on some platforms). We never think= of it as a replacement for OCaml, though it makes a reasonable alternative= on Windows (less so on Linux). I guess as I researcher I think of both as = stepping stones to other better and greater things. I want to see this clas= s of languages live and flourish in many parts of the computing industry. B= rian Hurt captured things well here. There is a overlap between the two (e.g. with Jon's work), but there is als= o a lot of synergy: I know OCaml is gaining traction in some financial comp= anies, and I can't help think that the existence of F# helps this more than= it hinders it. For example, it helps people make stronger arguments to man= agement: easier to recruit programmers, gives a way for Java and C# program= mers to retrain in steps. Also, I think an OCaml/F# mix would make an excel= lent university course, where each language alone would leave interesting i= ssues unaddressed. Perhaps there is also scope for a dual-track conference = on both languages. We've always tried very hard to avoid overlap. For example, you'll notice w= e don't announce F# releases on the OCaml list - this is out of respect for= the OCaml community. Jon operates in both worlds and has books and product= s to sell, so will be naturally talking about and comparing both systems. I= think that's a good thing, and I know he intends his comparisons to be inf= ormative rather than destructive. F# is an independent implementation: it wasn't derived from an earlier vers= ion of OCaml (we would have avoided zillions of bugs if we'd done that!). W= e try to arrange the libraries to get a reasonable degree of compatibility = with OCaml 3.08, but are imperfect. We also aim to support cross compilatio= n, though not perfectly (local adjustments to code may be required, and mis= sing features avoided). We do use OCaml to bootstrap F# for a variety of re= asons, though we are moving away from that model. Jon's assessment of performance under Mono hasn't been independently verifi= ed. Any particular performance problem really comes down to a Mono v. .NET = issue. Jon should isolate the issue out in a C# program and report it to th= e Mono team: they will take it seriously. Other users of Mono do not report= catastrophic performance problems (or else no one would use it!) We understand the current license doesn't meet the standards of the open so= urce community. We have permission to release the source under a more permi= ssive license quite similar to Iron Python, and plan to do that. However we= probably won't make a big song-and-dance about that, as the way we have th= e project set up now (binary releases) is really ideal for us as a small te= am. But emitting the source code under a permissive license now and then ma= kes a lot of sense in order to address some of the issues you mention below= . Kind regards, Don -----Original Message----- From: caml-list-bounces@yquem.inria.fr [mailto:caml-list-bounces@yquem.inri= a.fr] On Behalf Of Richard Jones Sent: 05 May 2007 09:38 To: caml-list@inria.fr Subject: [Caml-list] Re: "ocaml_beginners"::[] Set of/inside a recursive ty= pe ? On Sat, May 05, 2007 at 01:34:38AM +0100, Jon Harrop wrote: > On Friday 04 May 2007 22:57, Richard Jones wrote: > > I wouldn't recommend that people tie themselves into Windows as a > > platform however. > > F# runs under Linux and Mac OS X as well. ... 10 to 30 times more slowly under Mono, according to your posting here: http://caml.inria.fr/pub/ml-archives/caml-list/2007/04/83072c819929adb7612a= ecd5286c643d.en.html Do Microsoft produce a free (as in speech) .Net framework with equivalent performance which runs under Linux? Will they continue to make F# work with Mono? or indeed do they support it right now? > > And somehow F# seems to be licensed under a very restrictive license > > In what way? I can sell programs that I write in F#. The license, "Microsoft Research Shared Source License Agreement" (http://research.microsoft.com/fsharp/fsharp-license.txt) explicitly prevents commercial redistribution of the F# sources, and that means for example that it could never be part of a free operating system like Debian or Fedora. In practical, day to day terms I'd better hope that Microsoft Research continue to produce and support new versions of F#. If one day they just abandoned it, or if they decided to drop support of Mono then I'd be up a creek without a paddle (but with a lot of software which I'd have to rewrite in another language). > > (how did they get away with that one? - Did they pay INRIA for a separa= te > > source license?) > > Besides legacy, F# has nothing to do with OCaml and INRIA. So F# was a separate implementation? I thought it was derived from an older version of OCaml - but with the licensing issues above I'm not about to download the source to check that. Discussion moved to caml-list. It's important to get any misunderstandings about F# resolved. Rich. -- Richard Jones Red Hat _______________________________________________ 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