«haskell» etiketlenmiş sorular

Haskell, güçlü statik yazma, tembel değerlendirme, kapsamlı paralellik ve eşzamanlılık desteği ve benzersiz soyutlama özelliklerine sahip işlevsel bir programlama dilidir.

5
Monadların kompozisyon altında kapatılmadığını gösteren somut örnek (kanıtla)
Kompozisyon altında uygulama işlevlerinin kapalı olduğu ancak monadların kapalı olduğu iyi bilinmektedir. Bununla birlikte, monadların her zaman beste yapmadığını gösteren somut bir karşı örnek bulmakta zorlanıyorum. Bu cevap , [String -> a]monad olmayan bir örnek olarak verir . Bir süre onunla oynadıktan sonra, sezgisel olarak inanıyorum, ancak bu cevap, gerçekten …

3
GHCi kullanılırken işlevler için açık tür bildirimleri nasıl sağlanır?
GHCi içinde bu işlevin ( Learnyouahaskell'den alınmıştır ) eşdeğerini nasıl tanımlayabilirim ? import Data.List numUniques :: (Eq a) => [a] -> Int numUniques = length . nub Tür bildirimi olmadan, GHCi işlev tanımını kabul eder, ancak işe yaramaz bir türle sonuçlanır: Prelude Data.List> import Data.List Prelude Data.List> let numUniques' = …

6
Programlama bağlamında “şeyleştirme” ve “şeyleştirme” ne anlama geliyor?
Bu terimi haskell ve fonksiyonel programlama hakkındaki bloglarda çok okudum (özellikle sigfpe blogunda ) ama ne anlama geldiğine dair bir fikrim yok. Çoğu zaman bilmemekten kurtuldum, ama bilseydim muhtemelen metinleri çok daha iyi anlardım. Google bana yardım etmedi. Teknik şeylerin içinde kayboluyorum. Ayrıca dünyanın teknik olmayan anlamı ("soyut somut olanı …

3
Fonksiyonel programlamada “kısmi fonksiyon” ile tam olarak ne kastedilmektedir?
Anladığım kadarıyla, kısmi işlevler, bir işleve beklenenden daha az parametre ileterek elde ettiğimiz işlevlerdir. Örneğin, bu doğrudan Python'da geçerliyse: >>> def add(x,y): ... return x+y ... >>> new_function = add(1) >>> new_function(2) 3 Yukarıdaki pasajda new_functionkısmi bir işlev vardır. Ancak, Haskell Wiki'ye göre , kısmi fonksiyonun tanımı Kısmi işlev, belirtilen …


5
“Major C” yerine “C major” yazma şansı var mı?
Müzik projemde küçük bir estetik sorunla karşılaştım ve bir süredir beni rahatsız ediyor. Bir tipim var data Key = C | D | ...ve Scalea Keyve a ' dan a oluşturabilirim Mode. ModeBüyük ve küçük ölçekli örneğin arasındaki farklılaşacaktır. I tanımlayabilir Modebir fonksiyonu olarak türü Keyiçin Scale. Bu durumda, modların …
39 haskell  dsl 

3
System.Info'ya erişmek neden Haskell'de bir IO işlemi olarak kabul edilmiyor?
Modülde System.Infoşu işlevleri görüyorum: os :: String arch :: String compilerName :: String compilerVersion :: Version Neden orada yok IO? Sisteme erişiyorlar ... Yanlış mıyım? Benim beklentim şöyleydi: os :: IO String arch :: IO String compilerName :: IO String compilerVersion :: IO Version Kullanım örneği: print os -- "darwin" …
25 haskell 


2
Uygulamalarda saflık ihtiyacı
Haskell'in Uygulamalarını öğreniyorum. Görünüşe göre (muhtemelen yanılıyorum) pureişleve gerçekten ihtiyaç duyulmuyor, örneğin: pure (+) <*> [1,2,3] <*> [3,4,5] olarak yazılabilir (+) <$> [1,2,3] <*> [3,4,5] Birisi pureişlevin açık eşleme üzerinde sağladığı faydaları açıklayabilir fmapmi?

2
Bu tür çıkarılırken “Sana Haskell Öğren” varsayımı nedir?
Bu soru öznel değil. Referans verilen kitapta çok spesifik bir fiil kullanılır ve bu ifadenin ne anlama geldiğini anlamak istiyorum, çünkü korkarım bir şeyi yanlış anlıyorum. Dan You Bir Haskell bilgi , aşağıdaki paragraf "Biz varsayalım içeren üçüncü ve sonuncusu *". data Barry t k p = Barry { yabba …
18 haskell 




1
As-pattern'in yanı sıra, Haskell'de başka ne ifade edebilir?
Şu anda Haskell'i inceliyorum ve kriptografik algoritmalar uygulamak için Haskell'i kullanan bir projeyi anlamaya çalışıyorum. Online Great Good için Haskell Öğrenin'i okuduktan sonra bu projedeki kodu anlamaya başlıyorum. Sonra ben "@" sembolü ile aşağıdaki kod takılı kalmış bulundu: -- | Generate an @n@-dimensional secret key over @rq@. genKey :: forall …


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.