۱۳ - ۱ماژول‌ها

برنامه‌های هسکل به ماژول‌ها تقسیم و تنظیم میشن. ماژول‌ها شامل نوع‌داده‌ها، تایپ‌های مترادف، تایپکلاس‌ها، نمونه‌های تایپکلاس‌ها، و مقادیری که در سطح بالا تعریف کردین میشن. ماژول‌ها رو میشه به گستره ِ برنامه‌ها وارد کرد، و همچنین امکانِ صادر کردن محتویات‌شون به سایر ماژول‌ها وجود داره. اگه تا حالا با زبانی که فضای نام داشته کار کردین، این هم مثل همون‌ه.

در این فصل یه بازی کوچیک و تعاملی، مشابه داربازی می‌سازیم. کسایی که دارن هسکل یاد می‌گیرن اکثراً می‌خوان سریع شروع به نوشتن برنامه‌هایی کنن که تا الان با زبان‌های دیگه می‌نوشتن. بیشتر اوقات هم، دانشجو/دانش‌آموز متوجه میشه که هنوز خیلی از هسکل رو متوجه نشده، به هسکل و هرچی هسکل‌نویسِ خِبره هست بدوبیراه میگه و میره تو لونه‌ش قایم میشه. هیچکی اینو نمی‌خواد. هسکل به اندازه‌ی کافی با بقیه زبان‌ها متفاوت هست که به نظر ما بهتره اول با خودِ زبان به اندازه‌ی کافی حس راحتی پیدا کنین، بعد برین سراغ پروژه‌های اساسی.

این فصل بیشتر روی نحوه‌ی برپایی ِ پروژه‌ها در هسکل، استفاده از مدیریت پکیج به اسم Cabal، ساخت پروژه با Stack، و کار با ماژول‌های هسکل تمرکز داره تا خودِ کدنویسی. گاهی اوقات ازتون می‌خوایم که بخش‌هایی از داربازی رو خودتون بنویسین، ولی اکثرِ کد رو براتون نوشتیم. تا جایی هم که در این نقطه از کتاب مقدور بوده ساختارِ کدِ بازی رو توضیح دادیم. بعضی جاها رو، حداقل تا مونَدها و ‏‎IO‎‏ رو توضیح ندیم، خوب متوجه نمیشین. اما اگه بعد از خوندن این فصل حس کردین که دیگه نحوه‌ی برپایی و راه انداختن یه پروژه رو می‌دونین، این فصل وظیفه‌ش رو انجام داده و همه‌مون میریم استراحتِ وسط کتابی (که خیلی هم لازمه!).

آرامش خودتون رو حفظ کنین و خوش بگذرونین. بعد از اون تمرین‌های درختی حق‌تونه.

در این فصل:

  • نوشتن برنامه‌های هسکل به کمک ماژول‌ها رو توضیح میدیم؛

  • استفاده از مدیریتِ پکیج ِ Cabal رو میگیم؛

  • با Stack پروژه‌مون رو می‌سازیم؛

  • رسم و رسوم‌ها برای سازماندهی ِ پروژه‌ها رو می‌بینیم؛

  • یه بازیِ تعاملی و کوچیک می‌سازیم.