SORU
30 Aralık 2008, Salı


Hindley-Milner nedir?

Bu terim ile karşılaştımHindley-Milnerne anlama geldiğini kavramak , ve emin değilim.

Aşağıdaki mesajları okudum:

Ama genelde bana kısa ve öz bir açıklama yapar wikipedia, bu dönem için tek bir giriş yok.
Not- bir now been added vardır

Ne oldu?
Ne dilleri ve araçları uygulamak ya da kullanmak?
Kısa ve öz bir cevap sunacak mısınız?

CEVAP
30 Aralık 2008, Salı


Hindley-Milnertür sistemibağımsız Roger Hindley mantık bakıyordu (kim) tarafından keşfedilen ve daha sonra Robin Milner tarafından programlama dilleri bakıyordu. Hindley-Milner avantajları vardır

  • Desteklerpolimorfikfonksiyonları; örneğin, bir işlev verebilir uzunluğu listesini bağımsız bir öğe türü, veya bir işlev bir ikili ağaç arama bağımsız tip anahtarlar ağaç.

  • Bazen işlev ya da bir değeri olabilirbirden fazla türügibi örnek uzunluğu fonksiyonu olabilir "liste tamsayı için tamsayı", "listenin dizeleri tamsayı", "listenin çift tamsayı" ve benzeri. Bu durumda, Hindley-Milner sisteminin sinyal bir avantajiyi yazılmış her dönem "" yazın . en iyi iştir denir ki., ^em>asıl yazın. -Uzunluk liste işlevi asıl türü a listesinden a Herhangi bir fonksiyon tamsayı için"". Burada a sözde "type parametresi"lambda calculus açıkamaçoğu programlama dilinde örtülü. Tür parametreleri kullanımı Hindley-Milner uygulayan bir sistem olduğunu açıklıyorparametrikpolimorfizmi. Eğer ML uzunluğu işlevin bir tanımı yazarsanız (yazın böylece parametre görebilirsiniz:

     fun 'a length []      = 0
       | 'a length (x::xs) = 1   length xs
    
  • Eğerbir dönem Hindley-Milner bir türü, vardırasıl tür herhangi bir tür bildirimleri gerektirmeden anlaşılmaktadırya da programcı tarafından başka açıklamalar. (Bu kimsenin ek açıklamalar ile ML kod büyük bir kısmını ele kim tanıklık edebileceği gibi değişik bir lütuftur.)

Hindley-Milner neredeyse her statik tür sistemi için temel oluşturur yazılan işlevsel bir dil. Yaygın olarak kullanılan bu dilleri vardır

Bütün bu dilleri Hindley-Milner genişletilmiş; Haskell, Temiz ve Tarafsız Kuruluşlar bir çok iddialı ve alışılmadık şekillerde. (Uzantıları Hindley-Milner basic kullanarak, örneğin, değişken bir hücre belirtilmemiş türü değerler listesi holding altüst olabilir, çünkü değişken Değişkenler ile başa çıkmak için gereklidir. Bu tür sorunlar bir uzantısı*. *13) adlı tarafından ele alınır

Birçok diğer küçük diller ve araçlar yazdığınız fonksiyonel diller dayalı Hindley-Milner kullanın.

Hindley-Milner olan ama daha fazla türde sağlar System F, bir kısıtlamagerektirir programcı tarafından ek açıklama.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • SoundHound

    SoundHound

    8 Mart 2006