تثبيت Haskell محليًا

تعلّم كيفية تثبيت Haskell محليًا لحل تمارين Exercism على جهازك


احصل على GHCup

الطريقة الموصى بها لتثبيت أدوات Haskell هي عبر GHCup.

يمكنك عبر GHCup إدارة المترجمات المثبّتة لديك، ومديري المشاريع والحزم، وخادم اللغة.

ثبّت Stack

لإنجاز تمارين Exercism لا تحتاج سوى Stack.

لتثبيت Stack، شغّل أمر تثبيت GHCup أو سكربته. اتبع الإعدادات الافتراضية، لكن حدّد أنك تريد تثبيت Stack أيضًا.

هل تخطّيت تثبيت Stack بالخطأ؟ لا تقلق: شغّل ghcup install stack بعد ذلك فقط.

سيثبّت GHCup ما يلي

  • مترجمًا (GHC: مترجم Glasgow Haskell)

    لا تحتاج هذا في Exercism من الناحية العملية، لكنه يكون مفيدًا عندما تريد تجربة GHCi خارج مجلدات التمارين.

  • Cabal

    مدير للمشاريع والحزم. لا تحتاجه في Exercism.

  • Stack

    مدير المشاريع والحزم الذي ستستخدمه في Exercism. سيتأكد من أن لديك المترجم والمكتبات المناسبين لكل مشروع (تمرين) على حدة.

للتأكد من نجاح التثبيت، شغّل أيًا من الأمرين

  • ghcup list: يبدو النجاح على شكل قائمة طويلة بإصدارات الأدوات، مع Stack مُعلَّمًا كمثبَّت
  • stack --version: يبدو النجاح على شكل Version 2.7.5, Git revision ...

احصل على إصدار GHC الصحيح

سيُنزّل Stack ويُثبّت GHC تلقائيًا عند الحاجة إليه. يمكنك بدء التثبيت والتحقق منه بتشغيل الأوامر التالية في الطرفية:

# Note: it only makes sense to run Stack
# inside projects, so navigate into an
# exercise directory first!
exercism download --exercise=hello-world --track=haskell
cd ~/Exercism/haskell/hello-world
stack ghc -- --version

إذا أظهر هذا شيئًا مثل

The Glorious Glasgow Haskell Compilation System, version 8.8.4

فهذا يعني أن GHC مثبَّت بشكل صحيح.

جهّز محرّرك للعمل مع Haskell

يوفّر دعم Haskell خادم لغة Haskell (HLS). دعم اللغة ليس مطلوبًا، لكن يُوصى به بشدة.

Visual Studio Code (موصى به)

كل ما عليك هو الحصول على إضافة Haskell لـ Visual Studio Code. ستستخدم GHCup لتثبيت HLS تلقائيًا، وبعد ذلك ستكون جاهزًا تمامًا.

ملاحظة: مع التمارين المُنزَّلة حديثًا، قد يواجه HLS صعوبة في بدء التشغيل. إذا حدث هذا، شغّل stack test وأعد تشغيل خادم اللغة.

محرّرات أخرى

راجع توثيق HLS حول تهيئة المحرّر. قد تحتاج إلى تثبيت HLS يدويًا. لفعل ذلك، شغّل ghcup install hls.