F# (f şarp okunur), .NET Framework için tiplendirilmiş işlevsel programlama dilidir.
F#, yüksek kaliteli, iyi desteklenen modern bir runtime sistemi üzerinde çalışmanın tüm avantajları ile tip güvenliği, başarım ve betik yazımının (scripting) çok arzu edilen bileşimini sağlar.
Bu anlamda F#, betik/işlevsel/emreden/nesne yönelimli programlama dilidir. Bir çok pratik bilimsel, mühendislik ve web tabanlı programlama görevleri için temel oluşturur.
F# programlama dili ile yapılan yazılımlar .NET Framework üzerinde çalışırlar.
F#, OCaml ile aynı çekirdek dili paylaşan bir tür ML dilidir.
F# diline yapısal olarak baktığımızda program bir dizi ifadenin tanımlayıcılara bağlanmasından oluşmaktadır.
F# kodları Microsoft F# sayfasından indirilebilecek F# Interactive (fsi.exe) dosyası ile doğrudan çalıştırılabilir. Dikkat ederseniz girişleri ayırmak için satır sonlarında ";;" kullanılmaktadır.
Kodlar satır satır fsi.exe konsol uygulaması ile çalıştırılır. Konsol uygulamasına girdikten sonra aşağıdaki satırları yazarak deneyebilirsiniz.
let res = (if x = 23 then "doğru" else "yanlış");;
System.Console.WriteLine(res);;
Aynı zamanda yazdığımız bu kodları .fs uzantılı bir metin dosyaya kayderek F# derleyici (fsc.exe) programı ile derlenebiliriz.
Derleme:
Çalıştırma:
Tüm bunlara ilave olarak kodunuz kütüphane içine de yerleştirebilirsiniz.
lib.fs dosyası:
hello.fs dosyası:
Burada main bir fonksiyon değildir. Sadece = işaretinin sağ tarafında gerçekleştirilen ifadenin sonucunu taşımak için bir dummy değerdir.
Dosyaları derlenmek için:
> fsc -r lib.dll hello.fs
Derleme sonucunda lib.dll kütüphanesi ve hello.exe çalıştırılabilir dosyaları oluşturulur. Bu dosyaların her ikisi de .NET montaj (assembly) dosyalarıdır.İsteseniz tek bir exe dosya oluşturacak şekilde dosyaları beraberce derleyebiliriz.
Dosyaları beraber tek exe olarak derlenmek için:
Klavyeleriniz şen ola…