İçeriğe atla

Standart ML

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 ([], _) = []
  | 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 islevi ç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 *)

Yaygın olarak kullanılan SML derleyicileri

  • MLton
  • SML/NJ

İlgili bağlantılar

  • Ocaml

İlgili Araştırma Makaleleri

Sayı, sayma, ölçme ve etiketleme için kullanılan bir matematiksel nesnedir. En temel örnek, doğal sayılardır. Sayılar, sayı adı (numeral) ile dilde temsil edilebilir. Daha evrensel olarak, tekil sayılar rakam adı verilen sembollerle temsil edilebilir; örneğin, "5" beş sayısını temsil eden bir rakamdır. Yalnızca nispeten az sayıda sembolün ezberlenebilmesi nedeniyle, temel rakamlar genellikle bir rakam sisteminde organize edilir, bu da herhangi bir sayıyı temsil etmenin organize bir yoludur. En yaygın rakam sistemi Hint-Arap rakam sistemidir, bu sistem on temel sayısal sembol, yani rakam kullanılarak herhangi bir negatif olmayan tam sayının temsil edilmesine olanak tanır. Sayılar sayma ve ölçme dışında, etiketlerde, sıralamada ve kodlarda kullanılmak için de sıklıkla kullanılır. Yaygın kullanımda, bir rakam ile temsil ettiği sayı net bir şekilde ayrılmaz.

<span class="mw-page-title-main">Tam sayı</span> sıfırın sağında bulunan sayılar büyükken solunda bulunan sayılar küçüktür

Tam sayılar, sayılar kümesinde yer alan sıfır (0), pozitif yönde yer alan doğal sayılar ve bunların negatif değerlerinden oluşan negatif sayılardan oluşan sayı kümesidir.

<span class="mw-page-title-main">Doğal sayılar</span> sayma sayıları kümesine 0ın eklenmesiyle oluşan sayılar kümesi

Doğal sayılar, şeklinde sıralanan tam sayılardır ve kimi tanımlamalara göre 0 sayısı da bu kümeye dâhil edilebilir. Aralarında standart ISO 80000-2'nin de bulunduğu bazı tanımlar doğal sayıları 0 ile başlatır ve bu durum negatif olmayan tam sayılar için 0, 1, 2, 3, ... şeklinde bir karşılık bulurken, bazı tanımlamalar 1 ile başlamakta ve bu da pozitif tam sayılar için 1, 2, 3, ... şeklinde bir eşlenik oluşturur. Doğal sayıları sıfır olmadan ele alan metinlerde, sıfırın da dahil edildiği doğal sayılar bazen tam sayılar olarak adlandırılırken diğer bazı metinlerde bu terim, negatif tam sayılar da dahil olmak üzere tam sayılar için kullanılmaktadır. Özellikle ilkokul seviyesindeki eğitimde, doğal sayılar, negatif tam sayıları ve sıfırı dışlamak ve saymanın ayrık yapısını, gerçek sayıların bir karakteristiği olan ölçümün sürekliliğiyle karşıtlık oluşturmak amacıyla sayma sayıları olarak adlandırılabilir.

Matematikte reel sayılar kümesi, Fransızca réel “gerçek” den gelmektedir. Oranlı sayılar kümesinin evrim sürecinden elde edilen bir varsayım kombinasyonudur. Reel sayılar kümesi sembolüyle gösterilir.

<span class="mw-page-title-main">Asal sayı</span> sadece iki pozitif tam sayı böleni olan doğal sayılardır

Bir asal sayı, yalnızca 1'den büyük olup kendisinden küçük iki doğal sayının çarpımı olarak ifade edilemeyen bir doğal sayıdır. 1'den büyük ve asal olmayan doğal sayılara bileşik sayı adı verilir. Örneğin, 5 bir asal sayıdır çünkü onu bir çarpım olarak ifade etmenin mümkün olan yolları, 1 × 5 veya 5 × 1, yalnızca 5 sayısını içermektedir. Ancak, 4 bir bileşik sayıdır çünkü bu, her iki sayının da 4'ten küçük olduğu bir çarpım şeklindedir. Asal sayılar, aritmetiğin temel teoreminden ötürü sayı teorisi alanında merkezi öneme sahiptir: 1'den büyük her doğal sayı, ya bir asal sayıdır ya da asal sayıların çarpımı olarak, sıralamalarından bağımsız bir şekilde, benzersiz olarak çarpanlarına ayrılabilir.

Matematikte cebirin temel teoremi karmaşık değişkenli polinomların köklerinin varlığıyla ilgili temel bir sonuçtur. D'Alembert-Gauss teoremi olarak da anılmaktadır.

<span class="mw-page-title-main">Büyük O gösterimi</span>

Büyük O (Big-Oh) gösterimi matematiksel bir gösterim olup işlevlerin (fonksiyonların) asimptotik davranışlarını tarif etmek için kullanılır. Bir işlevin büyümesinin asimptotik üst sınırını daha basit başka bir işlev cinsinden tanımlanması demektir. İki temel uygulama alanı vardır: matematik alanında genellikle kırpılmış bir sonsuz serinin kalan terimini karakterize etmek için kullanılır; bilgisayar bilimlerinde ise algoritmaların bilgi işlemsel karmaşıklığının çözümlemesi için kullanılır.

<span class="mw-page-title-main">Rasyonel sayılar</span>

Rasyonel sayılar, iki tam sayı arasındaki oranı temsil eden, bir pay p ve sıfırdan farklı bir payda q olmak üzere, bir bölme işlemi veya kesir formunda ifade edilebilen sayıları tanımlar. Örneğin, rasyonel bir sayı olarak kabul edilir, bu kapsamda her tam sayı da rasyonel sayılar kategorisindedir. Rasyonel sayılar kümesi, çoğunlukla kalın harf biçimindeki Q veya karatahta vurgusu kullanılarak şeklinde ifade edilir.

Bilgisayar biliminde, kuyruk özyineleme özel bir özyineleme çeşididir.

<span class="mw-page-title-main">Halka</span>

Halka, matematikte cebirin temel yapılarından biridir ve soyut cebirde tam sayıların soyutlamasıdır. Bu yapıyı işleyen dala halka kuramı denir. Halkalar diğer bir temel yapı olan grupların üzerine inşa edilir. Her halka, aynı zamanda değişmeli bir gruptur, ama bir halkadan daha fazla özelliği sağlaması istenir. Örneğin halkada grup işlemine ek olarak ikinci bir işlem daha vardır. Halkalara örnek olarak tam sayılar, modülo n sayılar, polinomlar ya da karmaşık sayılar verilebilir.

<span class="mw-page-title-main">Kalkülüs</span>

Başlangıçta sonsuz küçük hesap veya "sonsuz küçüklerin hesabı" olarak adlandırılan kalkülüs, geometrinin şekillerle çalışması ve cebirin aritmetik işlemlerin genellemelerinin incelenmesi gibi, kalkülüs sürekli değişimin matematiksel çalışmasıdır.

<span class="mw-page-title-main">Özyineleme</span>

Özyineleme ya da yinelge, en genel anlamıyla bir yapının yinelenmesidir. Özellikle matematik ve bilgisayar biliminde kullanılır. Bu yapılara yinelgen yapılar denir. Yinelgen bir yapı eğer kendine gönderme yapma özelliğiyle yinelgen ise bu tür yapılara özgöndergeli ya da kendine-göndergeli yapılar denir.

Olasılık kuramında ve istatistikte, hipergeometrik dağılım sonlu bir ana kütle içinden tekrar geri koymadan birbiri arkasına n tane nesnenin çekilmesi işlemi için başarı sayısının dağılımını bir ayrık olasılık dağılımı şekilde betimler.

<span class="mw-page-title-main">Cebirsel sayılar</span>

Cebirsel sayılar, rasyonel katsayıları olan tek değişkenli sıfırdan farklı bir polinomun kökü olarak ifade edilebilen sayılardır. Mesela, altın oran, , cebirsel bir sayı örneğidir çünkü x2x − 1 polinomunun bir köküdür. Bu durumda, söz konusu polinomun değerinin sıfıra eşitlendiği x değeridir. Diğer bir örnek olarak, biçimindeki karmaşık sayı, x4 + 4 polinomunun bir kökü olduğundan dolayı cebirsel sayı olarak kabul edilir.

Karmaşık analizde Charles Émile Picard'ın ismine atfedilen Picard teoremi analitik bir fonksiyonun görüntü kümesiyle ilişkin ayrı ayrı ama yine de birbirine bağlı iki teoremdir.

Matematiğin bir alt dalı olan karmaşık analizde, holomorf bir f fonksiyonunun sıfırı veya kökü f(a) = 0 eşitliğini sayılan karmaşık a sayısına verilen bir addır. Başka bir deyişle, holomorf fonksiyonların sıfır değerini aldığı karmaşık sayılara o fonksiyonun sıfırları adı verilir.

Temel matematikte sayı doğrusu, kalın çizgiden oluşan ve her noktası ilgili bir reel sayıya karşılık gelen en temel koordinat sistemidir. Daha çok tamsayılardan oluşan özel işaretli noktalar, aralarında eşit mesafe olacak biçimde gösterilir. Aşağıdaki şekilde her ne kadar −9 ile 9 arasındaki sayılar gösterilse bile, doğruya tüm reel sayılar dahildir. Bu sayılar her iki yönde sonsuza kadar devam eder. Bu sayı doğrusu daha çok, basit toplama ve çıkarmayı, özellikle negatif sayıları öğretmeye yardımcı olmak için kullanılır.

<span class="mw-page-title-main">Modüler aritmetik</span>

Modüler aritmetik, tam sayılarda kullanılan bir hesap yöntemidir. Saatin her on iki saatte bir yinelenmesi gibi modül denen belli bir değere gelindiğinde yeniden sıfıra dönülmesiyle olur.

<span class="mw-page-title-main">Rastgele yürüyüş</span>

Rastgele yürüyüş (ya da rassal yürüyüş) matematiksel bir nesne olup, bir stokastik veya rastgele süreç olarak bilinir. Bu süreç, herhangi bir matematiksel uzayda –örneğin tamsayılar uzayı–atılan rastgele adımların toplamından oluşan patikayı tanımlamaya yöneliktir. Örneğin, bir molekülün sıvı veya gaz içerisinde izlediği yol, hayvanların yem arayışında takip ettiği patika, değişkenlik gösteren hisse fiyatları ve de bir borsa oyuncusunun finansal durumu rastgele yürüyüş modelleri ile tahmin edilebilir; ancak gerçekte tamamen rastlantısal olmama ihtimalleri de vardır. Bu örneklerin de gösterdiği gibi, rastgele yürüyüş modelinin birçok bilim dalında uygulama alanı mevcuttur; ekoloji, psikoloji, bilgisayar bilimleri, fizik, kimya, biyoloji ve ekonomi bunlara örnektir.

ML genel amaçlı bir işlevsel programlama dilidir. Lisp'ten esinlenmiş dilde ifadelerin veri tipini otomatik olarak atayan Hindley-Milner sistemi kullanılmıştır. Örüntü eşleme ve atık toplama teknolojilerini de bünyesinde barındıran ML birçok programlama dili araştırmasına kaynaklık etmiş; derleyici tasarımı, otomatik teorem kanıtlama ve program doğrulama uygulamalarında kullanılmıştır.