Böyle bir kod parçası buldum. Bu benim için anlaşılabilir bir durum değil çünkü sonuçta, Either
yapıcı türü iki argüman alır (Either a b
) ve burada bir tane aldı. Neden mümkün olduğunu anlamıyorum.İki argümandan oluşan bir argüman.
0
A
cevap
8
Tipik işlevler gibi kurucular, Haskell'de körelirler. Bu, Either
, bir argüman gibi iki argüman alan bir kurucu verebilir ve sonuç, tam bir Either
oluşturmak için yalnızca bir bağımsız değişken gerektiren bir tür kurucudur.
Monad
typeclass basit türler için değil, bir bağımsız değişken alan yazmacılar içindir. Örneğin, instance Monad Maybe
var, ancak Maybe
bir tür değil, bir bağımsız değişken alarak bir tür yapıcıdır. Bu nedenle, örneğini Monad
örneğiyle yapamazsınız, çünkü iki argüman alır, bir değil ve Either a b
örneğini yapamazsınız, çünkü hiçbir argüman almaz. Either a
'u bir monad örneği yapabilirsiniz. Haskell'de
Maybe
gibi bir argüman alan bir tür yapıcı tür
* -> *
sahiptir, nazik
*
vardır ve
Either
tür
* -> * -> *
sahip olduğunu söylüyorlar.
Monad
,
* -> *
türünde bir şey istiyor ve bir türünü
Either
'a göndererek, bunu elde edersiniz.
İlgili konular
- 1. , bir argüman iki arabirimleri
- 2. C iki boyuttan oluşan bir dizi yazdırma
- 3. PHP'deki iki kattan oluşan bir diziden nth yüzdesini nasıl hesaplayabilirim?
- 4. Listelerden oluşan bir listeyi
- 5. Flask işlevi bir argüman alır, 2 verilen
- 6. Dört argümandan daha az işlevler için yığın alanı ayırıyor mu?
- 7. Ya da iki argüman ile sözdizimi (||; &&)
- 8. Bu iki argüman neden aynı değeri getirir?
- 9. İki belirli işlem arasında oluşan etiketleri listeleyebilir mi?
- 10. Argüman parametresinden argüman parametrelerini ayıkla
- 11. Argüman
- 12. Aynı kod tabanına sahip ancak aynı imzaya sahip iki sürümden oluşan iki versiyonu yüklemek
- 13. Bir Argüman Olarak DataType Gönderiliyor?
- 14. Gruplandırılmış elemanlardan oluşan kombinasyonlar
- 15. Dizelerden oluşan bir diziye bir dizi nesne eklediğinizde ne denir?
- 16. C++: bir bilgisayarlı argüman
- 17. Karışık öğelerden oluşan bir sütunun numaralandırılması
- 18. dizilerden oluşan bir dizi yazdırma java
- 19. Yalnızca bir kez oluşan satırları nasıl özetleyebilirim?
- 20. Posta() nedeniyle oluşan bir hatayı nasıl yakalarım?
- 21. Dizilerden oluşan bir dizi nasıl birleştirilir?
- 22. C/C++ macro argüman olarak genişletiliyor, argüman olarak argüman
- 23. R: yiyeceklerden oluşan gsub() fonksiyonu ina boru
- 24. Dizilerden oluşan dizilerle döngü oluşturma
- 25. Varsayılan argüman ile değişken uzunluk argüman listesi?
- 26. kullanın ya bir bayrak argüman veya argparse
- 27. Segmentasyon Bir başka işlev yerine aynı belleğe erişirken oluşan bir
- 28. Android'de SQLite dizilerinden oluşan bir koleksiyonu nasıl depolarsınız?
- 29. oluşan yapıların hafızasını boşaltmak için doğru yolu
- 30. İki dokuyu bir