SORU
13 EKİM 2010, ÇARŞAMBA


Haskell: asansör vs liftİO

Hangi durumlarda liftIO kullanılmalıdır? ErrorT String IO kullanıyorum ErrorT, liftIO o kadar içine IO eylemleri asansör lift fonksiyon çalışır gereksiz görünmektedir.

CEVAP
13 EKİM 2010, ÇARŞAMBA


lift her zaman "" katmanı. önceki asansörleri Eğer ikinci kat gelen asansör ihtiyacınız varsa, lift . lift ve benzeri gerekir.

Diğer taraftan, liftIO Her zaman IO katmanı varsa, her zaman yığının altında olan) asansörler. Eğer monadlar 2'den daha fazla katman varsa, liftIO takdir edecektir.

Aşağıdaki Lambda: bağımsız değişkenin türü karşılaştırın

type T = ReaderT Int (WriterT String IO) Bool

> :t \x -> (lift x :: T)
\x -> (lift x :: T) :: WriterT String IO Bool -> T

> :t \x -> (liftIO x :: T)
\x -> (liftIO x :: T) :: IO Bool -> T

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8bitdigitaltv

    8bitdigitalt

    31 AĞUSTOS 2011
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013