Содержание
- 2. Функционалды бағдарламалауда жаңадан бастаушылар Haskell’ дегі монада түсінігін түсіне бермейді. Алайда монадалар тілде жиі кездеседі, мысалы
- 3. Prelude модулінде үш монада анықталған: IO, [] және Maybe, яғни тізім де монада болып табылады. Монада
- 4. Екі операциялар (>>=) және (>>) — бұл байланыстыру операциялары. Олар екі монадалық мәнді біріктіреді ал return
- 5. Мысалы, IO типі (>>=) операциясын оның екі операндының тізбектеле орындалғаны, яғни орындалған бірінші операнданың мәні екіншісіне
- 6. Біріншісі әрқашан орныдалады (бірінші операндадан екіншісіне ауыстыру жасалмайды). Екіншісінде қате кетуі мүмкін, ол жағдайда Monadа класында
- 7. Бұл әрекет бағдарламаның орындалуын үзеді, себебі IO монадасында fail функциясы өз кезегінде error жүйелік функциясын шақырады.
- 8. Мысалы, тізімдер үшін нөлдік элемент болып [] бос тізім, ал «+» операциясына — тізімдер конкатенациясы. Сондықтан
- 9. ------Тізімдер үшін байланыстыру операциясы тізімнің әр элементі үшін орындалатын операциялар жинағы ретінде қарастырылады.Тізімдермен бірге қолданылатын (>>=)
- 10. Prelude>:set +t Prelude>1 1 :: Integer Prelude>1.2 1.2 :: Double Prelude>’a’ ’a’ :: Char Prelude>True True
- 12. Скачать презентацию