Professional Documents
Culture Documents
Email: HFalahi@Gmail.com
F# Don Syme
CTP 2007 F# .
.
.
C# Visual Basic .NET
.
.1
.
.
.
. F#
.
.
F# : 1
F# .2
.1 .2
.
.2 .2
.
) ( . . . ) ( . . .
.
C++
[4] [2].
.3 .2
) (Functional Programing .
IPL 1955 . Lisp
1958 Fortran Fortran . Cobol
30 . 1975
[1].
) ( . . . Haskel Ocaml SML
) Lisp Real Word Application ( 1958
.
[1].
.
.
) (Side effect
[1] .
.
.
[3] [1] .
.4 .2
.
2
2 ,
.
C .
)( gechar ) sqrt(
. [2] .
State .
. .
) garbage collection
([1] .
. stateless recursive
. F#
[1] .
.5 .2
stateless
. 90
. 90
. stateless
recursive [1] .
John hughes
.
.
value .
.
.
.
.
Curried function .
[1] .
F# .3
.
) (General purpose .
F#. . F#
[1] .
Scheme Lisp Ocaml Haskel
F# .Net F# .
) ( . F#
. )
(
[1] .
F# ) (
[1] .
F# .Net base class library . BCL F#
C# [1] .
F# ) Ocaml (
.NET F# .
IL Code . F# CLR
CLR . F# Linux,
Apple, Mac .... . F# [1].
F# Don Syme
)MSR ( F# .
.NET
F#[1].
.4 F#
#F .
http://research.microsoft.com/f#/Release.aspx
CLR
. F# C#
) .(1
F# : 2
.5 F#
. F#
[1].
.1 .5
.
#F let . .
) (C#
. .
.
. F#
.
F#
F# .
.
. . :
.
.2 .5
.
. F#
. : #F
abstract let do null of or
. . :
Async eager retrun void include
.
"Let ''class'' = "Style
.3 .5
.
.4 .5
. F#
. :
10 n .
Add .
.
F# 10 A + B
Add .
. .
F# partial function curried function
.
Add .
.
[1].
.5 .5
.
. F# rec let .
:
.6 F#
F#
. stateless .
mutable [1].
:
.7 F#
F# BCL .
[1].
F# :
:FSLIB.dll F#.
:MLLIB.dll ML .
FSLIB F# MLLIB
.
F# : 3 .Net .
.8
F#
.NET
.
.9 F#
.10
3 ( .NET )
... ( ... F# sql C++ ) .
.
.11