«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.


2
Yığın GHC ve Cabal sürümleriyle test edilmedi
Haskell projemde stack run, aşağıdakileri gösteriyor, ama hala çalışıyor. Bu ne uyarısı? Ondan nasıl kurtulabilirim? Stack has not been tested with GHC versions above 8.6, and using 8.8.2, this may fail Stack has not been tested with Cabal versions above 2.4, but version 3.0.1.0 was found, this may fail

3
Bu kelimeleri uygulamak katlamadan sonra bir işlem sonrası adım olmadan mümkün müdür?
Real World Haskell, bölüm 4, sayfa 98,words kıvrımlar kullanılarak uygulanıp uygulanamayacağını soruyor ve bu da benim sorum: Mümkün mü? Değilse, neden? Eğer öyleyse, nasıl? Ben her boşluk olmayan çıktı listesindeki son sözcüğe (bu otherwisenöbetçi olur ) başlaması gerektiğini ve bir boşluk emtpy kelimesinin eklenmesini tetiklemek gerekir fikrine dayanan aşağıdaki ile …

3
0 ila 5 değer içeren bir listeyi temsil etmek için tür
Ben 0 ile 5 değerleri olan bir liste temsil etmek için bir tür tanımlamak zorunda bir egzersiz var. İlk olarak bunu tekrar tekrar böyle çözebileceğimi düşündüm: data List a = Nil | Content a (List a) Ama bunun doğru bir yaklaşım olduğunu düşünmüyorum. Bana bir düşünce yemeği verir misin?
14 haskell 


1
UnsafeDupablePerformIO ve accursedUnutterablePerformIO arasındaki fark nedir?
Haskell Kütüphanesi'nin Kısıtlı Bölümünde dolaşıyordum ve şu iki aşağılık büyüyü buldum: {- System.IO.Unsafe -} unsafeDupablePerformIO :: IO a -> a unsafeDupablePerformIO (IO m) = case runRW# m of (# _, a #) -> a {- Data.ByteString.Internal -} accursedUnutterablePerformIO :: IO a -> a accursedUnutterablePerformIO (IO m) = case m realWorld# …

3
Görünüşte iki farklı tipe nasıl sahip olabilirsiniz?
Ghci'de, yazdığımda :t (-) türünü anlamak (-)için geri döner (-) :: Num a => a -> a -> a Ancak, -1haskell yazdığımda , bu (-)tür olduğunu ima eden bir sayı döndürür Num a => a -> a. (-)Görünüşte iki farklı tip nasıl olabilir ?
12 haskell 



1
Haskell'deki (^) garip davranışı
GHCi neden aşağıda yanlış cevap veriyor? GHCi λ> ((-20.24373193905347)^12)^2 - ((-20.24373193905347)^24) 4.503599627370496e15 Python3 >>> ((-20.24373193905347)**12)**2 - ((-20.24373193905347)**24) 0.0 GÜNCELLEME Haskell (^) fonksiyonunu aşağıdaki gibi uygularım. powerXY :: Double -> Int -> Double powerXY x 0 = 1 powerXY x y | y < 0 = powerXY (1/x) (-y) | otherwise …

1
A -> () fonksiyonunun Haskell'de değerlendirilmesinde hangi kurallar vardır?
Tıpkı başlığın dediği gibi: Haskell fonksiyon geri dönen birimin değerlendirilmesi için ne gibi garantiler var? Böyle bir durumda herhangi bir değerlendirme yapmaya gerek olmadığını düşünebiliriz, ()açık bir kesinlik talebi olmadığı sürece derleyici bu tür tüm çağrıları hemen bir değerle değiştirebilir , bu durumda kodun gerekip gerekmediğine karar vermesi gerekebilir dönüş …

1
Devam Monadını Sol ve Sağ Bağlantılara Nasıl Çarpar?
Devlet monad Ürün (Sol - Functor) ve Okuyucu (Sağ Temsil Edilebilir) içine çarpanlarına ayrılabilir. Devam Monad'ı çarpanlarına ayırmanın bir yolu var mı? Kod aşağıda benim girişim, hangi tip kontrol alışkanlık -- To form a -> (a -> k) -> k {-# LANGUAGE MultiParamTypeClasses, TypeOperators, InstanceSigs, TypeSynonymInstances #-} type (<-:) o …

1
Raku'daki bir modülde Haskell gibi Prelude modülleri kullanın
Bazı bölümleri içeren bir çizim paketi yazıyorum ve işleçler ve veri türlerinin dağılması var. Ancak kullanıcıların her seferinde karşılık gelen modülleri eklemelerini istemiyorum, çünkü oldukça dağınık olurdu, örneğin bir Pointsınıf, bir Monoidrol ve Styleböyle farklı yollarda bir sınıf olurdu unit module Package::Data::Monoid; # $?FILE = lib/Package/Data/Monoid.pm6 role Monoid {...} unit …
11 haskell  raku 

1
Rolleri ve kafa karıştırıcı davranışı `zorlama 'ile yazın
Bir türü var Id ave ben mesela yanlışlıkla coercing, bir engel olmaya çalışıyorum Id Doublebir etmek Id Int. Yazım rollerini doğru anlarsam, aşağıdakiler derlenmemelidir. {-# LANGUAGE RoleAnnotations #-} import Data.Coerce (coerce) type role Id nominal newtype Id a = Id String badKey :: Id Int badKey = coerce (Id "I …
11 haskell  roles  coerce 

2
F # 'daki keyfi iç içe geçme düzeylerinin listeleri üzerinde özetleme
Ben intrasgele iç içe geçmiş s listesinin toplamını döndürecek bir F # işlevi oluşturmaya çalışıyorum . Yani. a list<int>, a list<list<int>>ve a için çalışacaktır list<list<list<list<list<list<int>>>>>>. Haskell'de şöyle bir şey yazardım: class HasSum a where getSum :: a -> Integer instance HasSum Integer where getSum = id instance HasSum a => …
10 haskell  f# 

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.