F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言,是函数编程语言(FP,FunctionalProgramming),函数编程语言最重要的基础是LambdaCalculus。它是基于OCaml的,而OCaml是基于ML函数程式语言。有时F#和OCaml的程式是可以交互编译的。
F#已经接近成熟,支援Higher-OrderFunction、Currying、LazyEvaluation、Continuations、PatternMatching、Closure、ListProcessing、Meta-Programming。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。
F#将被集成在VisualStudio2010中,含有对.NetFramework的完全支持。
一些小小范例如下:
(* This is a comment *)(* Sample hello world program *)printf "Hello World!"#lightopen Microsoft.FSharp.Collection.List(* print a list of numbers recursively *)let rec printlist l = (* When using "#light", you must indent with 4 spaces *) if l = [] then else printf "%d\n" (nth l 0) printlist (tl l)
#light(* Sample Windows Forms Program *)(* We need to open the Windows Forms library *)open System.Windows.Forms(* Create a window and set a few properties *)let form = new Form(Visible=true, TopMost=true, Text="Welcome to F#")(* Create a label to show some text in the form *)let label = let temp = new Label() let x = 3 + (4 * 5) (* Set the value of the Text*) temp.Text <- x (* Remember to return a value! *) temp(* Add the label to the form *)do form.Controls.Add(label)(* Finally, run the form *)do Application.Run(form)
评论