Haskell یک زبان برنامه نویسی هست که در سال ۱۹۹۰ معرفی شد. این یک زبان عمومی به نام Haskell Curry، یک ریاضیدان آمریکاییست که به خاطر مشارکت وی در زمینه منطق ترکیبی معروف هست.
ویژگیهای Haskell
- حالت ارزیابی تنبل (Lazy evaluation)- هسکل تنها زمانی عبارات رو ارزیابی میکنه که واقعا ارزش محاسبه رو داشته باشن. این یکی از اولین زبانها برای استفاده از این نوع استراتژی ارزیابی بود. قبل از Haskell، اکثر زبانهای برنامهنویسی از “ارزیابی مشتاقانه” استفاده میکردن که در اون یک عبارت به محض اینکه به یک متغیر محدود میشد، مورد ارزیابی قرار میگرفت. ارزیابی تنبل میتونه عملکرد بهتری رو ارائه بده و اجازه تعریف ساختار دادههایی که محدودیت اندازه ندارن، رو میده.
- توابع خالص (Pure functions)- در Haskell، توابع “خالص” هستن، به این معنی که همیشه با توجه به ورودی یکسان، خروجی اونها تضمین شده هست. مقدار برگشتی یک تابع هرگز به علت وضعیت در حال تغییر اطلاعات خارج از تابع، تغییر نمیکنه و نمیتونه اثرات جانبی رو روی دادههای خارج از محدوده تابع داشته باشه. این محدودیت به نفع ساده کردن اشکالزداییست و پیشبینی رفتار واقعی دنیای برنامه رو آسونتر میکنه.
- تایپ قوی و استاتیک (Strong, static typing)- وقتی که یک متغیر به عنوان یک نوع داده خاص در Haskell اعلام میشه، نمیتوان اون رو مانند یک نوع داده دیگه استفاده کرد. این محدودیت نیاز به یک سبک برنامهریزی دقیقتر داره، اما اجازه میده تا مزایای عملکرد کد کامپایل بشه.
بروزرسانی عمده
- Haskell 98، که در اواخر سال ۱۹۹۷ منتشر شد، شامل یک کتابخانه استاندارد برای اهداف آموزشی و یک چارچوب برای پسوندهای آینده بود.
- Haskel Prime، که در سال ۲۰۰۶ منتشر شد، به طور قابل توجهی به بروزرسانی مشخصات زبان توجه داره.
- Haskell 2010 یک ویژگی شناخته شده به عنوان FFI (رابط تابع خارجی) رو اضافه کرد که برنامه هسکل رو برای استفاده از عملکرد زبانهای برنامهنویسی دیگه فراهم کرد.
تکه کد Hello World! در زبان برنامهنویسی Haskell
module Main where main :: IO () main = putStrLn "Hello, World!"