한국   대만   중국   일본 
???????????? - ?????????? ?????????????

????????????

????????????? ?????????????
F#
F# logomark
??????????? Multi-paradigm : functional , imperative , object-oriented , agent-oriented , metaprogramming , reflective , concurrent
?????? ML
????????? Don Syme , Microsoft Research
???????? Microsoft , The F# Software Foundation
?????????? 2005 ; 19 ?????????  ( 2005 ) , version 1.0
??????????
16.8 [1]   แก้ไขบนวิกิสนเทศ / 10 ????????? 2020 ; 3 ??????  ( 10 ????????? 2020 )
?????????????? Static , strong , inferred
?????????????? Cross-platform : .NET , .NET Framework , Mono
??????????? MIT License [2] [3]
?????????????? .fs, .fsi, .fsx, .fsscript
???????? fsharp .org
????????????????
C# , Erlang , Haskell , [4] ML , OCaml , [5] [6] Python , Scala
?????????????
C# , [7] Elm , F* , LiveScript

???????????? (F#) ???????????????????????????????????????? strongly typed ?? ????????????????? ??? Mono ??????????? ???????????????????? ?????????????? ??????????????????????????? ???????????????????????? ??? ????????????????????????? F# ???? ??????????? ?????????????? ?????? ?????????? ?????????????????????????????? ?????????? F# ?????????????????? ????????????????????? [8] ?????????????????? ????????????????????? ???? GPU [9] ???????????????????????? ???????????? [10] ??????? [11] ??? ????????? [12] ?????? Programming tool ?????????????? Xamarin

??????? [ ??? ]

F# ???????????????? Don Syme ?????? [13] ??? Microsoft Research [14] ????????????????????? OCaml (???????????????????????? ML )

?????????????????????????? ?????????? [15] ??????????? F# Software Foundation , Microsoft , ??????????????????

?????? [ ??? ]

F# ??????????? strongly typed ?????????????????????????????????????? ?????????????????????????????????? ???????????????????????? ???????????????????????????? ???????????????????????????? control flows ?? F# ???? expression ????? type ???? ??????????????? ????????????????????????????

?????????????????????????????? F# ??????:

  • Unit ???????????? Void ???????????????? C
  • Tuple
  • Record
  • Discriminated unions
  • List
  • Option

??????????????? [ ??? ]

????????? Factorial [ ??? ]

> let rec fact = function
    | 0 -> 1
    | n -> n * fact(n-1);;

val fact : int -> int

???????

> fact 12;;
val it : int = 479001600

????????????? [ ??? ]

open System.Windows.Forms

let form = new Form()
do form.Visible <- true
do form.TopMost <- true
do form.Text <- "Welcome to F#"

let x = 3 + (4 * 5)
do form.Text <- (if x = 23 then "Correct!" else "incorrect")

??????? [ ??? ]

  1. "Release 16.8" . 10 ????????? 2020 . ??????????? 19 ?????? 2023 .
  2. "F# Software Foundation's License" . GitHub . 14 October 2021.
  3. "Microsoft's F# License" . GitHub . 16 October 2021.
  4. Syme, Granicz & Cisternino (2007 :2)
  5. ??????????????: ???????? <ref> ?????????? ????????????????????????????????????? historyMSR
  6. Syme, Don (2006). "Leveraging .NET Meta-programming Components from F#" . [F#] is rooted in the Core ML design, and in particular has a core language largely compatible with that of OCaml
  7. for async
  8. The F# Software Foundation. "Using F# with HTML5 Web Applications" . ????????????????????? ????????? ????? 2014-06-25 . ??????????? 2014-06-07 .
  9. The F# Software Foundation. "Using F# for GPU Programming" . ????????????????????? ????????? ????? 2016-12-18 . ??????????? 2014-06-07 .
  10. The F# Software Foundation. "Use F# on Mac OSX" . ??????????? 2014-06-07 .
  11. The F# Software Foundation. "Use F# for iOS App Development" . ??????????? 2014-06-07 .
  12. The F# Software Foundation. "Use F# for Android Development" . ??????????? 2014-06-07 .
  13. ???????????? F#
  14. F# ??? Microsoft Research
  15. "Contributing to the F# Language, Library and Tools" . ????????????????????? ????????? ????? 2014-04-08 . ??????????? 2014-04-16 .

??????? [ ??? ]

??????????????? [ ??? ]