Standart Ml

Kısaca: Standart ML (SML), çok amaçlı işlevsel programlama dilidir. Çoğunlukla derleyici/yorumlayıcı yazımı ve teorem ispatlama konularında tercih edilir. ...devamı ☟

Standart ML (SML), çok amaçlı işlevsel programlama dilidir. Çoğunlukla derleyici/yorumlayıcı yazımı ve teorem ispatlama konularında tercih edilir. ML ailesinin diğer fertleri gibi tür çıkarımı yeteneği ile ünlüdür. Ayrıca çok gelişmiş bir modül sistemine sahiptir.

Örnekler

Merhaba Dünya



print "Merhaba Dünya\n"


Tür çıkarımı ve doku tanımı



fun fak 0 = 1
 | fak n = n * fak (n - 1) 


Yukarıdaki örnekte derleyici 0 ve 1`in tam sayı olmasından yola çıkarak, ``fak`` işlevinin tam sayılardan tam sayılara tanımlı olduğunu algılar. Doku tanımı, ``fak`` işlevinin parametresi 0 ise farklı bir kod, değilse farklı bir kod çalıştırmasıdır.

Birinci sınıf işlevler



fun esle ([1], _) = [2]
 | esle (bas::kuyruk, islev) = (islev bas)::(esle (kuyruk, islev)) 


Doku tanımının daha gelişmiş örneği olan bu kodda tanımlanan ``esle`` işlevi, parametre olarak bir liste ve bir işlev alıp, listenin her elemanı için ``islev``i çağırır ve sonuçları gene bir liste olarak döndürür.

Özyinelemeli veri türleri



datatype dogal = SIFIR | SONRAKI of dogal
fun topla (m, SIFIR) = m
 | topla (m, SONRAKI(n)) = SONRAKI (topla(m,n))


Bu örnekte dilin kendi tam sayı veri türünden ve toplama (+) işlecinden bağımsız olarak doğal sayılar veri türü (``dogal``) ve iki dogal`ı toplayan ``topla`` işlevi tanımlanmıştır. Matematiksel sistemleri tanımlama konusundaki rahatlığı teorem ispatlamada kullanılmasının temel sebeplerindendir.

Özyinelemeli yorumlar

(* burası yorum
 (* burası (da) iç yorum *)
 burası hala yorum *)
ve daha bir suru ornek -->

Yaygın olarak kullanılan SML derleyicileri



İlgili bağlantılar



Kaynaklar

Vikipedi

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.