۳ - ۹تعاریف
۱.
یک نوشته یا string رشتهای از حروفه. در هسکل، String
با یه لیستی از مقادیر با تایپِ Char
، یا به کلامی دیگه [Char]
، ارائه میشه.
۲.
نوعداده، تایپ یا datatype یک طبقهبندی از مقادیر یا دادههاست. تایپها در هسکل تعیینکنندهی مقادیری هستن که اعضای اون تایپ هستن (یا توی اون تایپ زندگی میکنن). برخلافِ بقیهی زبانها، نوعدادهها در هسکل، عملیاتهایی که میشه روی مقادیرِشون پیاده کرد رو بطور پیشفرض محدود نمیکنند.
۳.
به اتصالِ چندتا سکانس ِمقادیر، الحاق یا concatenation گفته میشه. در هسکل، منظور از الحاق اکثراً در رابطه با تایپِ []
یا لیسته، که String
هم شامل میشه (String
یه تایپِ مستعار برای [Char]
ِه). تابعِ (++)
در هسکل، تابع الحاق ِه که تایپِ [a] -> [a] -> [a]
رو داره. برای مثال:
Prelude> "tacos" ++ " " ++ "rock"
"tacos rock"
۴.
گستره یا scope جاییه که اسمِ یه متغیر اعتبار داره. یه لغتِ دیگه به همین معنی، پدیداری یا visibility ِه. چون اگه یه متغیر پیدا (visible) باشه، در گستره هم هست.
۵.
انقیادهای محلی یا local bindings تعاریفی هستن که معمولاً داخل یک بیانیه نوشته میشن. تفاوتِ اصلی اونها با انقیادهای سطح بالا یا top level اینه که برنامهها یا ماژولهای دیگه به اونها دسترسی ندارن (نمیتونن اونها رو وارد کنن).
۶.
انقیادهای سطح بالا یا top level bindings تعاریفیاند که بیرون از همهی بیانیههای دیگه نوشته میشن. یک ماژول میتونه انقیادهای سطح بالای داخلِش رو در اختیار بقیهی ماژولهای برنامهتون یا برنامههای دیگران قرار بده.
۷.
ساختارِ داده یا data structure راهی برای سازماندهیِ دادهها برای دسترسیِ آسون و یا بهصرفه به اونهاست (م. برای مثال، لیست یک ساختارِ داده هست).