Oke, jadi saya tahu apa isi kelas tipe Applicative
, dan mengapa itu berguna. Tapi saya tidak bisa memikirkan bagaimana Anda akan menggunakannya dalam contoh yang tidak sepele.
Misalnya saja parser Parsec sederhana berikut ini:
integer :: Parser Integer
integer = do
many1 space
ds <- many1 digit
return $ read ds
Sekarang bagaimana Anda menulisnya tanpa menggunakan instance Monad
untuk Parser
? Banyak orang mengklaim bahwa ini bisa dilakukan dan merupakan ide bagus, tapi saya tidak tahu bagaimana tepatnya.