«type-systems» etiketlenmiş sorular

bir tür sistemi, bir bilgisayar programının oluşturduğu çeşitli yapılara (değişkenler, ifadeler, işlevler veya modüller gibi) tür adı verilen bir özellik atayan bir kurallar topluluğudur.

2
Hasell'de “boyutu bir türe dönüştürmek” mümkün mü?
Vektörler ve matrislerle ilgili bir kütüphane yazmak istediğimi varsayalım. Boyutları türlere dönüştürmek mümkün mü, böylece uyumsuz boyutların işlemleri derleme zamanında hata üretir mi? Örneğin, nokta ürününün imzasının aşağıdaki gibi olmasını istiyorum dotprod :: Num a, VecDim d => Vector a d -> Vector a d -> a burada dtür tek …

1
C ++ 11'de otomatik anahtar kelimenin motivasyonu ve tuzakları (?)
Geçenlerde anahtar kelimesinin autotürü derleyici tarafından çıkarılması gereken bir değişkeni işaretlemek için neden C ++ 11'de seçildiğini merak ediyordum . auto x = 1; Dan beri var diğer programlama dillerinde (ör. C #, Scala, JavaScript) ve autoGeriye dönük uyumluluğun yeni anlambilimini anladığım kadarıyla (nadiren kullanıldı, ancak önceki C ++ revizyonlarında …

24
Programlama dillerinde ilginç veya benzersiz türler? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …

1
Güvenli paralellik uygulamak için teklik türlerini kullanma
Bir süredir saf işlevsel dillerdeki monadlara alternatif olarak benzersizlik türleriyle ilgileniyorum; ne yazık ki, bu tür CS araştırma ezoterik bir alan ve tek tip türleri ile programlama hakkında çevrimiçi kaynaklar az ve çok arasındadır. Tekillik türlerinin referanslar ("kutular") ve diziler gibi durum bilgisi olan veri yapılarını uygulamak için nasıl kullanılabileceği …

10
Neden kalıtım ve polimorfizm bu kadar yaygın kullanılıyor?
İşlevsel programlama gibi farklı programlama paradigmaları hakkında ne kadar çok şey öğrenirsem, kalıtım ve polimorfizm gibi OOP kavramlarının bilgeliğini sorgulamaya başlarım. İlk olarak okulda kalıtım ve polimorfizm hakkında bilgi sahibi oldum ve o zaman polimorfizm, kolay genişletilebilirliğe izin veren jenerik kod yazmanın harika bir yolu gibi görünüyordu. Ancak ördek yazması …

5
C ++ 'da her şey için nesneleri (ilkel türler yerine) kullanmak anlamlı olur mu?
Üzerinde çalıştığım yeni bir proje sırasında, şöyle görünen bir çok işlevi kullanmak zorunda kaldım: static bool getGPS(double plane_latitude, double plane_longitude, double plane_altitude, double plane_roll, double plane_pitch, double plane_heading, double gimbal_roll, double gimbal_pitch, double gimbal_yaw, int target_x, int target_y, double zoom, int image_width_pixels, int image_height_pixels, double & Target_Latitude, double & Target_Longitude, …

9
Hangi statik olarak yazılan diller işlev dönüş değerleri için kavşak türlerini destekler?
İlk not: Bu soru birkaç düzenlemeden sonra kapatıldı, çünkü aradığım şeyi doğru bir şekilde ifade etmek için uygun terminolojiden yoksundum. Sam Tobin-Hochstadt daha sonra tam olarak ne olduğunu anlamamı sağlayan bir yorum yayınladı: fonksiyon dönüş değerleri için kavşak tiplerini destekleyen programlama dilleri. Şimdi soru yeniden açıldığına göre, (umarım) daha kesin …

2
Yüksek rütbeli parametrik polimorfizm faydalı mıdır?
Herkesin formun genel yöntemlerine aşina olduğundan eminim: T DoSomething<T>(T item) Bu fonksiyon parametrik olarak polimorfik (PP), özellikle rank-1 PP olarak da adlandırılır . Bu yöntemin, formun bir işlev nesnesi kullanılarak temsil edilebileceğini varsayalım: <T> : T -> T Yani, <T>bir tür parametresi alır ve bir tür parametresi T -> Talır …

9
Ünite değerlerini birim testleri kullanarak test etmeli mi?
Yalnızca değerlere sahip bir enum'unuz varsa (Java'da yapılabilecek yöntem yoktur) ve bu numaralandırma sistemin iş tanımının bir parçasıysa, bir birim bunu test etmeli mi? Yazılmaları gerektiğini düşünüyordum, basit ve gereksiz görünseler bile, iş şartnamesi ile ilgili olan şeyin birim / entegrasyon / ui / vb. test yöntemi olarak veya dilin …

3
Genel olarak kısıtlanmış bir türe karşı bir arayüz kullanmanın nedeni nedir?
Genel tip parametrelerini (sınıf şablonları ve parametrik polimorfizm olarak da bilinir) destekleyen nesne yönelimli dillerde, elbette her isim farklı çağrışımlara sahip olsa da, genellikle tür parametresinde bir tür kısıtlaması belirtmek mümkündür, böylece aşağı doğru başka bir türden. Örneğin, bu C # sözdizimidir: //for classes: class ExampleClass<T> where T : I1 …

2
Yapısal yazmanın (Dis-) avantajları
Daniel Spiewak'ın bu konuşmasını , Scala'nın ve Java'nın nominal yazımıyla karşılaştırıldığında yapısal yazmanın avantajlarından bahsettiği yerde izledim . Bu fark için bir örnek aşağıdaki Java kodu olacaktır public interface Foo { public int length(); } public interface Bar { public int length(); } Foo f = ...; Bar b = …

1
Haskell neden monomorfizm kısıtlaması olmadan tekrarlanan değerlendirmeden kaçınamıyor?
Geçen gün learnyouahaskell'i yeni bitirdim ve Haskell Wiki tarafından tarif edildiği gibi Monomorfizm Kısıtlamasını anlamaya çalışıyordum . MR'nin tekrarlanan değerlendirmeleri nasıl önleyebileceğini anladığımı düşünüyorum, ancak tekrarlanan bu değerlendirmelerin neden daha basit yollarla önlenemediğini göremiyorum. Aklımdaki belirli örnek wiki tarafından kullanılan örnek: f xs = (len,len) where len = genericLength xs …

2
Tür teorisinde doğru terminoloji: türler, tür yapıcılar, türler / türler ve değerler
Önceki bir sorunun cevabında , belirli yapılar için doğru terminoloji hakkında küçük bir tartışma başladı. Bunu açıkça ele alacak bir soru bulamadığım için ( bu ya da bunun dışında , doğru olanı değil), bu yeni soruyu yapıyorum. Şüpheli terimler ve ilişkileri şunlardır: tür, tür yapıcı, tür parametresi, türler veya türler …

1
Neden daha yüksek çeşitlere ihtiyacınız var?
Bazı diller (örneğin tip parametreler ile sınıflar ve fonksiyonlar için izin List<T>nerede Tkeyfi bir tür olabilir). Örneğin, aşağıdaki gibi bir işleve sahip olabilirsiniz: List<S> Function<S, T>(List<T> list) Bununla birlikte, bazı diller bu kavramın bir seviye daha yüksek olmasına izin vererek imzayla bir işleve sahip olmanızı sağlar: K<S> Function<K<_>, S, T>(K<T> …

2
Haskell'de türler silindi mi?
Haskell, ortak lisp ile belirgin bir benzerliğe sahip olan “jenerik fonksiyonlar” kavramına sahiptir - Haskell ile ne deneyimi ne de ortak lisp ile deneyime sahip değilim, burada çok yakın olabilirim. Bu to_string, tüm türler için dize temsili tanımlamak üzere genel bir tesis tanımlayabileceğiniz anlamına gelir . Tabii ki, tesis özel …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.