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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • SVB International

    SVB Internat

    29 EKİM 2011