Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
RE: [Caml-list] C# 3.0 enhancements (in re: F#)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Don Syme <dsyme@m...>
Subject: RE: [Caml-list] C# 3.0 enhancements (in re: F#)

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

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

though more fun is my blog at

F# can cross-compile large Caml applications, e.g. the Static Driver
Verifier (50K lines - and the SPiM
stochastic Pi calculus simulator (,
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

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,

-----Original Message-----
[] On Behalf Of Bill Wood
Sent: 18 September 2005 22:08
To: Evans, Jeffrey (IT)
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:
> >
> >
> >
> >Rich.
> 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:
Beginner's list:
Bug reports: