کتاب آموزش مقدماتی تا پیشرفته برنامهنویسی تابعی با Haskell (بر اساس کتاب Introduction to DG/L Functional Programming) با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش مقدماتی تا پیشرفته برنامهنویسی تابعی با Haskell (بر اساس کتاب Introduction to DG/L Functional Programming)
موضوع کلی: برنامهنویسی تابعی و مفاهیم پیشرفته زبانهای برنامهنویسی
موضوع میانی: برنامهنویسی تابعی با زبان Haskell
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی تابعی و مفاهیم پایه
- 2. نصب و راهاندازی محیط Haskell (GHC و Cabal)
- 3. نوعهای داده پایه در Haskell (Int, Float, Bool, Char)
- 4. تعریف توابع ساده و کار با توابع
- 5. توابع مرتبه بالا (Higher-Order Functions)
- 6. کار با لیستها و توابع پرکاربرد (map, filter, foldr)
- 7. فهم توابع ناشناس (Lambda Expressions)
- 8. الگویمطابقت (Pattern Matching) در توابع
- 9. عبارات شرطی و گاردها (Guards)
- 10. تعریف نوعهای داده جدید با data
- 11. نوعهای داده جبری (Algebraic Data Types)
- 12. کلاسهای نوع (Type Classes) و نمونهسازی
- 13. کلاس Eq و Ord برای مقایسه
- 14. کلاس Show و Read برای نمایش و ورودی
- 15. کلاس Num و عملیات عددی
- 16. کلاس Functor و نگاشت روی ظروف
- 17. کلاس Applicative و برنامهنویسی تابعی با ظروف
- 18. کلاس Monad و مفاهیم اولیه
- 19. موناد Maybe برای مدیریت خطا
- 20. موناد List برای محاسبات غیرقطعی
- 21. موناد IO برای ورودی/خروجی
- 22. کار با فایلها و استثناها در IO
- 23. ترکیب مونادها با Monad Transformers
- 24. مفاهیم Pure و Side Effect در Haskell
- 25. محاسبات تنبل (Lazy Evaluation) و مزایا
- 26. ساختارهای داده نامیرا (Immutable Data Structures)
- 27. بازگشت (Recursion) در توابع
- 28. بازگشت دم (Tail Recursion) و بهینهسازی
- 29. توابع بازگشتی روی لیستها
- 30. درختهای دودویی و کار با آنها
- 31. صفحهبندی (Currying) و کاربرد جزئی توابع
- 32. ترکیب توابع با عملگر نقطه (.)
- 33. عملگرهای ترکیبی و تعریف عملگر جدید
- 34. ماژولها و سیستم import/export
- 35. تعریف ماژولهای سفارشی
- 36. نوعهای داده تکراری (Recursive Data Types)
- 37. کلاس Foldable و عملیات fold
- 38. کلاس Traversable و پیمایش
- 39. موناد MaybeT و StateT
- 40. موناد Reader برای اشتراک محیط
- 41. موناد Writer برای جمعآوری خروجی
- 42. موناد State برای حالتهای قابل تغییر
- 43. مفاهیم Monoid و نمونهسازی
- 44. کلاس MonadPlus و عملیات انتخابی
- 45. کلاس Alternative برای جبران خطا
- 46. تحلیل پیچیدگی زمانی و حافظه در Haskell
- 47. بهینهسازی با استفاده از strictness
- 48. کار با دادههای جریان (Streams) و Infinite Lists
- 49. مقدمهای بر کتابخانههای معروف (containers, mtl)
- 50. تکنیکهای پیشرفته: Free Monad
- 51. تکنیکهای پیشرفته: GADTs
- 52. تکنیکهای پیشرفته: Type Families
- 53. تکنیکهای پیشرفته: Functional Dependencies
- 54. مقدمهای بر Type-Level Programming
- 55. کار با زبانهای خاص دامنه (DSL) در Haskell
- 56. مقایسه Haskell با زبانهای تابعی دیگر (Scala, F#, Elixir)
- 57. مقدمهای بر ابزارهای تست (QuickCheck)
- 58. تست بر اساس ویژگی (Property-Based Testing)
- 59. مدیریت وابستگیها با Cabal و Stack
- 60. نوشتن مستندات با Haddock
- 61. مفاهیم Monad Laws و Functor Laws
- 62. کار با دادههای JSON و Aeson
- 63. برنامهنویسی همروند (Concurrency) با Haskell
- 64. مقدمهای بر کتابخانه async
- 65. مدیریت خطا با Either و ExceptT
- 66. مفاهیم Lens و کتابخانه lens
- 67. کار با ساختارهای داده پیچیده با Zipper
- 68. مقدمهای بر الگوهای طراحی تابعی
- 69. پروژه عملی: ساخت یک ماشین حساب ساده
- 70. پروژه عملی: پیادهسازی یک وب سرور ساده با Scotty
- 71. پروژه عملی: تحلیل متن با توابع تابعی
- 72. مرور و جمعبندی مفاهیم پیشرفته
تگها:
Haskell
ارزیابی تنبل
برنامهنویسی اعلانی
برنامهنویسی تابعی
تابع محض
زبان دوجی/ال
فرابر (Functor)
مفاهیم پیشرفته برنامهنویسی
موناد (Monad)
نوعدهی ایستا
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.