«typeclass» etiketlenmiş sorular

10
Java Arayüzü ve Haskell'in tür sınıfı: farklılıklar ve benzerlikler?
Haskell'i öğrenirken, Haskell'den kaynaklanan harika bir icat olduğu varsayılan yazı sınıfını fark ettim . Bununla birlikte, Wikipedia sayfasında type sınıfında : Programcı, sınıfa ait her tür için var olması gereken ilgili türleriyle birlikte bir dizi işlev veya sabit isim belirleyerek bir tür sınıfını tanımlar. Bana göre Java Arayüzüne oldukça yakın …

2
Haskell'deki Comonad tip sınıfı nedir?
Haskell'deki Comonad tip sınıfı nedir? Comonad paketindeki Control.Comonad'dan Comonad'da olduğu gibi (Comonad tip sınıfını sağlayan diğer paketlerin açıklamalarına da açığız). Komonad hakkında belirsiz bir şekilde duydum, ama gerçekten tek bildiğim, bunun Monad'lara extract :: w a -> abir çeşit paralellik sağladığı return :: a -> m a. Comonad'ın "gerçek" kullanımlarını …

3
Haskell'de türetme nasıl çalışır?
Cebirsel Veri Türleri Haskell (ADTS) otomatik olarak bazı örneklerini olabilir typeclasse s (gibiShow,Eqtarafından) kaynaklanan onlardan. data Maybe a = Nothing | Just a deriving (Eq, Ord) Sorum şu, bu nasıl derivingçalışıyor, yani Haskell ADT'yi türetmek için türetilmiş tip sınıfının işlevlerini nasıl uygulayacağını nasıl biliyor? Ayrıca, neden derivingyalnızca belirli tip sınıflarıyla …

6
Haskell'de sahipsiz örnekler
Haskell uygulamamı bu -Wallseçenekle derlerken , GHC öksüz örneklerden şikayet ediyor, örneğin: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Tür sınıfı ToSElembenim değil, HStringTemplate tarafından tanımlandı . Şimdi bunu nasıl düzelteceğimi biliyorum (örnek bildirimini Sonucun bildirildiği modüle taşıyın) ve GHC'nin neden öksüz örneklerden kaçınmayı tercih ettiğini biliyorum , ancak yine …
87 haskell  ghc  typeclass 


1
Sayısal Kısıtlamalarla Ord türevi (forall a. Ord a => Ord (fa))
Nicel kısıtlamalar ile Eq (A f)iyi para cezası alabilir miyim? Ancak, Ord (A f) 'yi türetmeye çalıştığımda başarısız olur. Kısıtlama sınıfının bir üst sınıfı olduğunda nicelenmiş kısıtlamaları nasıl kullanacağımı anlamıyorum. Ord (A f)Üst sınıf olan diğer sınıfları nasıl türetebilirim ? > newtype A f = A (f Int) > deriving …

1
Tamamen bağımlı bir birleştirme oluşturma
Birleştirme hakkında güzel bir gerçek gerçeği, denklemde herhangi bir iki değişken biliyorsanız: a ++ b = c Sonra üçüncüyü biliyorum. Bu fikri kendi aklımda yakalamak istiyorum, böylece işlevsel bir bağımlılık kullanıyorum. {-# Language DataKinds, GADTs, FlexibleContexts, FlexibleInstances, FunctionalDependencies, KindSignatures, PolyKinds, TypeOperators, UndecidableInstances #-} import Data.Kind (Type) class Concatable (m :: …

1
"Kısıtlama numarası" neden bu manuel olarak tanımlanmış HasField örneğinde çalışmıyor?
Ben kullandığı bu (muhakkak garip) koduna sahip lens ve GHC.Records : {-# LANGUAGE DataKinds, PolyKinds, FlexibleInstances, UndecidableInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} module Main where import Control.Lens import GHC.Records data Glass r = Glass -- just a dumb …

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.