You are on page 1of 11

F#

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#

:Expert F# Don Syme F# Apress


:Foundations of F# Robert Pickering F#
Apress
:F# for Scientists

Apress Jon Harrop .


.10

3 ( .NET )
... ( ... F# sql C++ ) .
.

.11

[] Pickering, Robert, Foundation of F#, pp. -, Apress, New York,


[] Harrop, jon, F# for scientist, pp -, Wiley, New jersey, [] Silva, Tom, Challenges of Geospatial data diffusion. World Magazine, Nr. , New York, Jan. , pp. -.
[]
Darryl
k.
Taft,http://www.eweek.com/c/a/Application-Development/Microsoft-Puts-the-F-inFunctiona/,
[] Wikipedia, http://en.wikipedia.org/wiki/F_Sharp_programming_language.

You might also like