# زبان برنامه‌نویسی سلام > سلام، اولین زبان برنامه‌نویسی فارسی و بومی ایران: زبانی سریع، ایستا و متن‌باز که می‌توانید آن را کاملاً به فارسی یا انگلیسی بنویسید و به فایل اجرایی بومی ترجمه کنید. سلام یک زبان با دو نگارش است: هر کلیدواژه، نوع، بسته‌ی کتابخانه‌ی استاندارد و پیام خطا یک نام فارسی و یک نام انگلیسی دارد و هر دو به یک برنامه‌ی بومی کامپایل می‌شوند. دوره‌ی آموزشی زیر زبان را از اولین برنامه به بعد آموزش می‌دهد و مرجع کتابخانه‌ی استاندارد همه‌ی بسته‌ها را با مثال‌های اجراشدنی فهرست می‌کند. این فایل از قرارداد llms.txt پیروی می‌کند و متن کامل همین محتوا در llms-full.txt است. ## صفحه‌ها - [ابزارهای زبان برنامه‌نویسی سلام](https://www.salamlang.ir/tools/): ویرایشگر آنلاین زبان برنامه نویسی فارسی سلام، افزونه‌ی VS Code و یازده ویرایشگر دیگر، ترجمه‌گر کد فارسی و انگلیسی، فرمان‌های salam و بیش از ۸۰ بسته‌ی کتابخانه‌ی استاندارد. - [دستیار هوشمند سلام](https://www.salamlang.ir/ai/): دستیار هوشمند سلام به پرسش‌های شما درباره‌ی زبان برنامه نویسی فارسی سلام پاسخ می‌دهد، کد سلام می‌نویسد و توضیح می‌دهد و با ایجنت سلام روی رایانه‌ی خودتان کار می‌کند. رایگان، با یک حساب کاربری سلام. - [ایجنت سلام](https://www.salamlang.ir/agent/): ایجنت سلام را دانلود کنید؛ برنامه‌ی رومیزی‌ای که دستیار هوشمند سلام را روی رایانه‌ی شما به کار می‌اندازد: اجرای فرمان، داکر و WSL و ویرایش پرونده در پوشه‌ای که خودتان انتخاب می‌کنید، در مرز سطح دسترسی‌ای که برای هر گفت‌وگو تعیین می‌کنید. - [آموزش زبان برنامه‌نویسی فارسی سلام](https://www.salamlang.ir/learn/): دوره‌ی رایگان و کامل آموزش زبان برنامه نویسی فارسی سلام در ۴۵ درس: از نخستین برنامه تا ساختارها، جداشمارها، تابع‌های عام، میانجی‌ها، بسته‌ها و رشته‌های همزمان، و بعد ساختن صفحه‌های وب: همه‌ی عنصرهای HTML، همه‌ی ویژگی‌های CSS و همه‌ی رویدادهای مرورگر با کد سلام، با نمونه‌کدهای فارسی که اجرا می‌شوند و پیش‌نمایش زنده‌ی هر صفحه. - [کتابخانه‌ی استاندارد زبان برنامه‌نویسی سلام](https://www.salamlang.ir/std/): مرجع فارسی کتابخانه‌ی استاندارد زبان برنامه نویسی سلام: همه‌ی بسته‌ها، تابع‌ها، ساختارها و پایاها با نام فارسی و انگلیسی، توضیح ساده و نمونه‌کدی که اجرا می‌شود. - [جامعه‌ی زبان برنامه‌نویسی ایرانی سلام](https://www.salamlang.ir/community/): به جامعه‌ی سلام، اولین زبان برنامه نویسی ایرانی و فارسی، بپیوندید: کد منبع در گیت‌هاب، گفت‌وگو در گروه تلگرام و دیسکورد، گزارش مشکل و راه‌های مشارکت در یک زبان برنامه‌نویسی بومی. - [نقشه‌ی سایت](https://www.salamlang.ir/sitemap/): همه‌ی صفحه‌ها، درس‌ها و بسته‌های کتابخانه‌ی استاندارد وب‌سایت زبان برنامه‌نویسی سلام در یک فهرست، به‌همراه ویرایشگر، دستیار هوش مصنوعی، ربات تلگرام و پیوندهای پروژه. - [نصب زبان برنامه‌نویسی سلام روی ویندوز، لینوکس و مک](https://www.salamlang.ir/install/): دانلود و نصب رایگان زبان برنامه نویسی فارسی سلام با یک فرمان روی ویندوز، لینوکس و مک، یا اجرا در داکر؛ بدون نیاز به دسترسی مدیر. - [سرعت زبان برنامه‌نویسی سلام](https://www.salamlang.ir/speed/): سلام، زبان برنامه نویسی فارسی و ایرانی، در سنجش ۴۲ برنامه‌ی یکسان ۱۳٪ سریع‌تر از Rust، ۱۳٪ سریع‌تر از C، ۱۳ برابر سریع‌تر از PHP و ۷۰ برابر سریع‌تر از پایتون اجرا شد. ## دوره‌ی آموزشی - [نخستین برنامه](https://www.salamlang.ir/learn/start/): تابع ریشه، اجرای برنامه، چاپ خروجی، کد خروج، ورودی، توضیح‌ها و ساختار یک برنامه - [متغیرها و پایاها](https://www.salamlang.ir/learn/variables/): تعریف متغیر با := و ناپایا، محدوده‌ی متغیر، متغیرهای سراسری، پایاها و نام‌گذاری - [گونه‌ها](https://www.salamlang.ir/learn/types/): عدد صحیح و اعشاری، سرریز، منطقی، نویسه، ترکیب گونه‌ها و تبدیل - [عملگرها](https://www.salamlang.ir/learn/operators/): حساب، تقسیم و باقی‌مانده، توان، مقایسه، منطق، سه‌تایی، عملگرهای ترکیبی، پرچم‌های بیتی و ترتیب اجرا - [رشته‌ها و متن](https://www.salamlang.ir/learn/strings/): شکل‌های نوشتن رشته، چسباندن متن، بایت و نویسه، بسته‌ی رشته، مقایسه‌ی متن و خواندن عدد از متن - [شرط‌ها](https://www.salamlang.ir/learn/conditions/): اگر، وگرنه اگر و وگرنه، واژه‌های مقایسه، و و یا، برگشت زودهنگام، مقایسه‌ی اعشاری‌ها و قواعد شرط - [حلقه‌ها](https://www.salamlang.ir/learn/loops/): تکرار با تعداد و بازه و گام، حلقه‌ی تا و دام‌هایش، حلقه‌هایی که با بشکن تمام می‌شوند، هر در روی آرایه و وکتور و نگاشت و رشته، حلقه‌های تودرتو، بشکن چندلایه و گذر - [همخوان و ترابرد](https://www.salamlang.ir/learn/match/): انتخاب میان حالت‌ها با همخوان و ترابرد: مقدار، رشته، جداشمار، بیرون کشیدن داده و نگهبان، الگوی ساختار، ریزش به حالت بعد و ترابرد درون حلقه - [تابع‌ها](https://www.salamlang.ir/learn/functions/): تعریف و فراخوانی تابع، برگشت زودهنگام، مقدار پیش‌فرض، چند خروجی، تابع بازگشتی، هم‌نامی، ورودی ارجاعی و کد خروج ریشه - [تابع‌های بی‌نام](https://www.salamlang.ir/learn/lambdas/): تابع به‌عنوان مقدار: تابع بی‌نام، گونه‌ی تابع، مرتب‌سازی با مقایسه‌گر، تابعی که تابع برمی‌گرداند و آن‌چه تابع بی‌نام از بیرون برمی‌دارد - [دیرکن و ویژگی‌های تابع](https://www.salamlang.ir/learn/defer/): اجرای پاکسازی در پایان بلوک با دیرکن، ترتیب و زمان اجرای آن، و ویژگی‌های ناب، درخط، نادرخط، نابرگشت و بی‌کاره - [آرایه‌ها و برش‌ها](https://www.salamlang.ir/learn/arrays/): آرایه، اندیس، آرایه با اندازه‌ی معین، جستجو و جمع زدن، آرایه‌ی دوبعدی، کپی شدن آرایه و برشی که در خود آرایه می‌نویسد - [وکتور و نگاشت](https://www.salamlang.ir/learn/collections/): فهرست پویا با وکتور، جفت کلید و مقدار با نگاشت، مرتب‌سازی، و مجموعه و پشته و صف - [ساختارها](https://www.salamlang.ir/learn/structs/): داده‌های به‌هم‌پیوسته، روش‌ها و این، همگانی و خصوصی، چاپ، رونوشت، عضو ایستا و شامل - [جداشمارها](https://www.salamlang.ir/learn/enums/): مجموعه‌ی بسته‌ای از حالت‌ها، مقدار دلخواه، جداشمار در ساختار، جداشمار داده‌دار و نتیجه با ? - [گونه‌های تازه و عملگرها](https://www.salamlang.ir/learn/custom-types/): نام دیگر برای گونه، گونه‌ی متمایز با روش و عملگر خودش، بازتعریف عملگرها در ساختار و گوناگون - [تابع‌های عام و میانجی‌ها](https://www.salamlang.ir/learn/generics/): تابع و ظرف عام، میانجی، کاربست، محدودیت گونه و مجموعه‌های پویا - [بسته‌ها و پرونده‌ها](https://www.salamlang.ir/learn/packages/): بسته، فراخوانی و واردسازی، همگانی و خصوصی، بسته‌ی چندپرونده‌ای و چیدمان پروژه - [قواعد مترجم](https://www.salamlang.ir/learn/rules/): قواعد سخت‌گیرانه‌ی سلام، کد خطای هر کدام و راه درست کردنشان - [مقدار، ارجاع و حافظه](https://www.salamlang.ir/learn/memory/): رونوشت و اشتراک، رونوشت عمیق، آزاد کردن حافظه، صاحب رشته، اشاره‌گر و بررسی حافظه - [ترجمه‌ی شرطی](https://www.salamlang.ir/learn/compile-time/): کد ویژه‌ی هر سیستم‌عامل و پردازنده، پرچم‌های ساخت با ‎-D و بررسی‌های مخصوص نسخه‌ی اشکال‌زدایی، همه در زمان ترجمه - [همکاری با C](https://www.salamlang.ir/learn/c-interop/): صدا زدن تابع‌های C با درون‌داد، printf و تابع‌های با ورودی متغیر، اشاره‌گر و بافر، پیوند کتابخانه‌ها و سپردن تابع‌های سلام به C - [کار همزمان](https://www.salamlang.ir/learn/threads/): نخ‌ها با نخ‌ساز و نخ‌پیوند، اشتراک امن داده، کانال و حلقه‌ی موازی - [زبان صفحه](https://www.salamlang.ir/learn/layout/): ساختن صفحه‌ی وب با زبان صفحه: عنصرها، ویژگی‌ها، سبک‌ها، رویدادگیر کلیک، بخش‌ها، صفحه‌ی پارامتردار و فرستادن صفحه از یک برنامه‌ی سلام - [صفحه و متن](https://www.salamlang.ir/learn/page-text/): ساختار یک صفحه، سرتیترها، پاراگراف، رفتن به سطر بعد و همه‌ی عنصرهای متن: تأکید، نقل قول، کد، ویرایش، تاریخ، کوته‌نوشت و متن با جهت‌های آمیخته - [ساختار صفحه و فهرست‌ها](https://www.salamlang.ir/learn/page-structure/): نشانه‌های صفحه مثل سرصفحه، ناوبری، اصلی و پاورقی، سپس فهرست‌ها، فهرست تعریف، جزئیات، پنجره گفتگو، شکل و آدرس، و ساختن یک صفحه‌ی کامل وبلاگ با آن‌ها - [پیوند، تصویر و رسانه](https://www.salamlang.ir/learn/page-media/): پیوند و لنگر، تصویر با متن جایگزین و منبع‌های واکنش‌گرا، نقشه‌ی تصویر، صدا و ویدیو با زیرنویس، قاب، جاسازی، بوم، اس‌وی‌جی و ریاضی - [جدول‌ها](https://www.salamlang.ir/learn/page-tables/): جدول برای داده‌ها: عنوان، بخش‌های سرصفحه و اصلی و پاورقی، خانه‌های سرستون با دامنه، خانه‌های ادغام‌شده، گروه ستون، و آراستن و پیمایش جدول - [فرم‌ها](https://www.salamlang.ir/learn/page-forms/): فرم و همه‌ی کنترل‌های آن: برچسب، همه‌ی نوع‌های ورودی، اعتبارسنجی، متن بلند، تیک و رادیویی، فهرست‌ها، دکمه‌ها، خروجی و پیشرفت و سنجه، پرونده‌ها و رسیدگی به ارسال در برنامه - [سر صفحه، اسکریپت و ویژگی‌های همگانی](https://www.salamlang.ir/learn/page-head/): تنظیم‌های خود صفحه، سر صفحه با متا و پیوند، سبک و اسکریپت، قالب و درخت سایه، ویژگی‌هایی که هر عنصر دارد، ARIA، ویژگی‌های داده و تقسیم یک سایت به پرونده‌ها - [سبک و الگوی جعبه](https://www.salamlang.ir/learn/css-basics/): CSS از صفر: ویژگی‌های سبک به شکل ویژگی عنصر، مقدارها، یکاها و رنگ‌ها، الگوی جعبه، اندازه‌ها، فضاها، نمایش، سرریز، تابع‌های CSS، قاعده‌های سراسری و بخش‌های قابل استفاده‌ی دوباره - [قلم و سبک متن](https://www.salamlang.ir/learn/css-text/): خانواده و اندازه‌ی قلم، وزن، قلم وب، قلم متغیر، تراز، تزیین، فاصله‌ها، شکستن سطر، جهت متن، نوشتار عمودی، آوانما و حروف‌چینی فارسی، با همه‌ی ویژگی‌های قلم و متن - [رنگ، پس‌زمینه و جلوه‌ها](https://www.salamlang.ir/learn/css-backgrounds/): رنگ متن و پس‌زمینه، شفافیت، پس‌زمینه‌ی چندلایه، رنگ‌شیب‌ها، جاگیری تصویر، پالایه‌ها، حالت‌های آمیختگی، ماسک، مسیر برش و متنی که دور یک شکل می‌پیچد - [کادر، دورخط و سایه](https://www.salamlang.ir/learn/css-borders/): کوتاه‌نویسی کادر و هر سمت آن، سمت‌های منطقی، گوشه‌های گرد، تصویر کادر، دورخط و حلقه‌ی تمرکز، سایه‌ی جعبه، جعبه‌های شکسته و شکل تازه‌ی گوشه‌ها - [چیدمان: جریان، فلکس و شبکه](https://www.salamlang.ir/learn/css-layout/): جریان عادی، موقعیت و ترتیب لایه، شناوری، فلکس، شبکه، ترازبندی، متن چندستونی و صفحه‌های راست‌به‌چپ، با همه‌ی ویژگی‌های چیدمان و یک نمونه برای هر کدام - [صفحه‌ی واکنش‌گرا و حالت‌ها](https://www.salamlang.ir/learn/css-responsive/): صفحه‌ای که در هر صفحه‌نمایشی جا می‌شود: اندازه‌های شناور، پرس‌وجوی رسانه و نگهدارنده، حالت تاریک، اشاره، تمرکز و محتوای تولیدی، و ویژگی‌های اشاره‌گر، پیمایش و چاپ - [گذار و پویانمایی](https://www.salamlang.ir/learn/css-motion/): حرکت روی صفحه: گذار، دگرگونی و سه‌بعدی، پویانمایی با قاب‌های کلیدی، حرکت روی مسیر، پویانمایی با پیمایش، گذار نما و احترام به کاهش حرکت - [بقیه‌ی CSS](https://www.salamlang.ir/learn/css-more/): فهرست‌ها و شمارنده‌ها، گیومه، تنظیم جدول، پیمایش چسبنده و فضای پیمایش، جایگذاری لنگری، پرکردن و خط دور در SVG، ریاضی، ترتیب خواندن و ویژگی‌های دیگری که تا اینجا نیامده بودند - [رویدادهای ماوس](https://www.salamlang.ir/learn/events-mouse/): واکنش صفحه به ماوس: نوشتن رویدادگیر، کلیک، دو کلیک، دکمه‌های دیگر، منوی زمینه، مکان اشاره‌گر، نقاشی، ورود و خروج، حباب شدن رویداد و چرخ ماوس - [صفحه‌کلید و فرم‌ها](https://www.salamlang.ir/learn/events-keys-forms/): کلیدها، فوکوس، نوشتن در کادر، انتخاب متن، ارسال، بازنشانی و وارسی فرم، حافظه‌ی موقت، جزئیات، واشو و پنجره‌ی گفتگو: رویدادهای هر جای صفحه که مردم در آن تایپ می‌کنند - [کشیدن، لمس، پیمایش و پنجره](https://www.salamlang.ir/learn/events-drag-touch/): کشیدن و رها کردن میان فهرست‌ها، رویدادهای اشاره‌گر و لمس، رویدادهای پیمایش و پنجره، و رویدادهای بار شدن، خطا و لغو در تصویرها - [رسانه، پویانمایی و رویدادهای دیگر](https://www.salamlang.ir/learn/events-media-more/): رویدادهای صدا و ویدیو، یک پخش‌کننده‌ی سفارشی، رویدادهای پویانمایی و گذار، تغییر شکاف، زیرنویس، از دست رفتن زمینه‌ی بوم و نقض سیاست امنیتی - [حالت، DOM و زمان‌سنج‌ها](https://www.salamlang.ir/learn/events-dom/): اجزای یک صفحه‌ی تعاملی چطور کنار هم می‌نشینند: حالت در متغیرها، خواندن و عوض کردن عنصرها، کلاس و سبک، ساختن و برداشتن عنصر، زمان‌سنج‌ها، ذخیره‌سازی، پنجره‌های پرسش، بخش‌ها با رویدادگیر و اشکال‌یابی - [صفحه‌های کامل: شش پروژه](https://www.salamlang.ir/learn/web-projects/): شش صفحه‌ی کامل که درس‌ها را کنار هم می‌گذارند: صفحه‌ی فرود، نوشته‌ی وبلاگ با ستون کناری، فرم عضویت با بررسی زنده، پیشخوان با نمودار میله‌ای CSS، فهرست کاری که به یاد می‌ماند و آلبوم عکس با نمایش بزرگ، و اینکه برنامه‌ی سلام چطور صفحه را می‌فرستد - [واژه‌نامه‌ی فارسی و انگلیسی](https://www.salamlang.ir/learn/keywords/): همه‌ی واژه‌های کلیدی، گونه‌ها، تابع‌ها و روش‌های درون‌ساخت و ثابت‌های زمان ترجمه‌ی سلام به فارسی و انگلیسی ## کتابخانه‌ی استاندارد - [هسته (core)](https://www.salamlang.ir/std/core/): کوچک‌ترین بسته‌ی سلام؛ برای وقتی که برنامه دیگر نباید ادامه دهد. - [ورودی خروجی (io)](https://www.salamlang.ir/std/io/): خواندن از صفحه‌کلید، خواندن و نوشتن پرونده و نوشتن در خروجی خطا. - [قالب بندی (fmt)](https://www.salamlang.ir/std/fmt/): تبدیل عدد و مقدار منطقی به متن، هم‌ترازی متن و ساختن رشته از یک قالب. - [تبدیل (conv)](https://www.salamlang.ir/std/conv/): تبدیل عدد و مقدار منطقی به متن و برعکس، با پشتیبانی از رقم‌های فارسی. - [متن (text)](https://www.salamlang.ir/std/text/): تبدیل رشته به UTF-16 و برعکس، برای کار با ویندوز و کتابخانه‌هایی که این قالب را می‌خواهند. - [نتیجه (result)](https://www.salamlang.ir/std/result/): برگرداندن «یا مقدار درست یا خطا» از یک تابع، به‌جای استثنا. - [اختیاری (option)](https://www.salamlang.ir/std/option/): مقداری که ممکن است باشد یا نباشد، بدون پوچ و بدون عددهای جادویی مثل منفی یک. - [رشته (str)](https://www.salamlang.ir/std/str/): هر کاری که با متن دارید: جستجو، برش، جایگزینی، رقم فارسی، حروف بزرگ و کوچک و ساختن رشته‌های بلند. - [یونیکد (unicode)](https://www.salamlang.ir/std/unicode/): اطلاعات یونیکد درباره‌ی هر نویسه: دسته، خط، جهت نوشتن، حروف بزرگ و کوچک، تجزیه و ترکیب. - [عربی (arabic)](https://www.salamlang.ir/std/arabic/): یکسان‌سازی متن فارسی و عربی: ی و ک عربی، اعراب، کشیده، نیم‌فاصله و رقم‌ها؛ برای جستجو و مقایسه. - [دوسویه (bidi)](https://www.salamlang.ir/std/bidi/): الگوریتم متن دوسویه‌ی یونیکد: ترتیب درست نمایش وقتی فارسی و انگلیسی کنار هم می‌آیند. - [عبارت باقاعده (regex)](https://www.salamlang.ir/std/regex/): جستجو و جایگزینی با الگو: پیدا کردن عدد، ایمیل یا تاریخ در متن و جدا کردن بخش‌هایش. - [قالب (template)](https://www.salamlang.ir/std/template/): پر کردن قالب‌های متنی و HTML با مقدارها، با گریز خودکار برای امنیت. - [بین‌المللی‌سازی (i18n)](https://www.salamlang.ir/std/i18n/): برنامه‌ی چندزبانه: ترجمه‌ی پیام‌ها، جای‌گذاری مقدار در پیام و انتخاب شکل مفرد و جمع. - [ریاضی (math)](https://www.salamlang.ir/std/math/): تابع‌های ریاضی پایه: توان و ریشه، لگاریتم، مثلثات، گرد کردن، کمینه و بیشینه و ب.م.م. - [تصادفی (rand)](https://www.salamlang.ir/std/rand/): عدد، متن و انتخاب تصادفی: تاس، رمز یک‌بارمصرف، شناسه‌ی یکتا و بهم ریختن فهرست. - [آمار (stats)](https://www.salamlang.ir/std/stats/): آمار توصیفی روی فهرستی از عددها: میانگین، میانه، واریانس، انحراف معیار و صدک. - [نوع‌ها (types)](https://www.salamlang.ir/std/types/): تشخیص نوع مقدار از روی متن: عدد صحیح است، اعشاری، منطقی یا متن معمولی؟ - [عدد بزرگ (bigint)](https://www.salamlang.ir/std/bigint/): عدد صحیح با اندازه‌ی نامحدود: فاکتوریل‌های بزرگ، رمزنگاری، و هر حسابی که در ۶۴ بیت جا نمی‌شود. - [اعشاری (decimal)](https://www.salamlang.ir/std/decimal/): عدد اعشاری دقیق برای پول و حسابداری، بدون خطای گرد کردن ممیز شناور. - [مرتب سازی (sort)](https://www.salamlang.ir/std/sort/): مرتب کردن وکتورها با مقایسه‌ی پیش‌فرض یا دلخواه، جستجوی دودویی و ده‌ها الگوریتم مرتب‌سازی برای یادگیری. - [مجموعه ها (collections)](https://www.salamlang.ir/std/collections/): ساختمان‌های داده: وکتور و نگاشت، پشته، صف، صف دوسر، مجموعه، لیست پیوندی، صف اولویت‌دار و شمارنده. - [سیستم عامل (os)](https://www.salamlang.ir/std/os/): کار با پرونده، پوشه، فرمان‌های سیستم، آرگومان‌های برنامه و متغیرهای محیطی. - [خطا (os/error)](https://www.salamlang.ir/std/os-error/): آخرین خطای عملیات پرونده و فرآیند: کد، پیام و مسیری که مشکل داشته. - [سکو (os/platform)](https://www.salamlang.ir/std/os-platform/): شناختن سیستمی که برنامه روی آن اجرا می‌شود: سیستم عامل، معماری پردازنده، تعداد هسته و حافظه. - [فرآیند (os/process)](https://www.salamlang.ir/std/os-process/): اجرای برنامه‌های دیگر، گرفتن خروجی‌شان، صبر برای پایانشان و متوقف کردنشان. - [پوسته (os/shell)](https://www.salamlang.ir/std/os-shell/): اجرای فرمان و گرفتن کد خروج، خروجی و خطا با هم. - [موقت (os/temp)](https://www.salamlang.ir/std/os-temp/): ساختن پرونده و پوشه‌ی موقت با نام یکتا. - [کاربر (os/user)](https://www.salamlang.ir/std/os-user/): اطلاعات کاربری که برنامه را اجرا کرده و پوشه‌های استاندارد او. - [سیستم پرونده (fs)](https://www.salamlang.ir/std/fs/): زمان تغییر و دسترسی و مجوزهای پرونده؛ پایه‌ی بسته‌های پرونده، پوشه و مسیر. - [پوشه (fs/dir)](https://www.salamlang.ir/std/fs-dir/): ساختن، فهرست کردن، رونوشت، جابه‌جایی و حذف پوشه‌ها. - [پرونده (fs/file)](https://www.salamlang.ir/std/fs-file/): خواندن و نوشتن پرونده، اطلاعات پرونده، رونوشت و جابه‌جایی، و چکیده‌ی MD5 و SHA. - [مسیر (fs/path)](https://www.salamlang.ir/std/fs-path/): کار با مسیر پرونده‌ها: پیوند زدن، جدا کردن نام و پسوند، مسیر مطلق و نسبی و بررسی امنیت. - [مسیر پرونده (filepath)](https://www.salamlang.ir/std/filepath/): تابع‌های مسیر پرونده بدون نیاز به سیستم پرونده؛ همان کارهای بسته‌ی مسیر. - [محیط (env)](https://www.salamlang.ir/std/env/): متغیرهای محیطی: خواندن با گونه‌ی درست، پرونده‌ی .env، نمایه‌ی اجرا و پوشاندن مقدارهای حساس. - [پرچم (flag)](https://www.salamlang.ir/std/flag/): خواندن گزینه‌های خط فرمان مثل --port 8080 و -v با گونه‌ی درست و راهنمای خودکار. - [خط فرمان (cli)](https://www.salamlang.ir/std/cli/): برنامه‌های خط فرمان با چند دستور (مثل git commit)، و پرسیدن از کاربر. - [پیکربندی (config)](https://www.salamlang.ir/std/config/): خواندن و نوشتن پرونده‌های تنظیمات INI، env و YAML با کلیدهای نقطه‌دار. - [گزارش (log)](https://www.salamlang.ir/std/log/): ثبت رویدادهای برنامه با سطح اهمیت، پیشوند، فیلدهای ساختاریافته، قالب JSON و نوشتن در پرونده. - [اشکال زدایی (debug)](https://www.salamlang.ir/std/debug/): ابزار پیدا کردن اشکال: ادعا، پشته‌ی فراخوانی دستی، ردیابی و زمان‌سنجی. - [زمان اجرا (runtime)](https://www.salamlang.ir/std/runtime/): اطلاعات برنامه در حال اجرا: سیستم، حافظه، زمان فعالیت و گزینه‌های ساخت. - [آزمایش (testing)](https://www.salamlang.ir/std/testing/): نوشتن آزمون برای کد: ادعاهای برابری، شمارش موفق و ناموفق و خلاصه‌ی نهایی. - [خطا (error)](https://www.salamlang.ir/std/error/): خطاهای ساختاریافته با نوع، پیام، زنجیره‌ی علت، فراداده و سیاست تلاش دوباره. - [حافظه (mem)](https://www.salamlang.ir/std/mem/): کار مستقیم با حافظه: تخصیص و آزادسازی، رونوشت، قلمرو و استخر، و بررسی نشتی. - [پایانه (term)](https://www.salamlang.ir/std/term/): رنگ و سبک متن، حرکت مکان‌نما، نوار پیشرفت، خواندن کلید و موشواره، و اندازه‌ی پایانه. - [زمان (time)](https://www.salamlang.ir/std/time/): ساعت فعلی، مدت، قالب‌بندی و خواندن تاریخ، ساعت یکنواخت، زمان‌سنج و تیک‌زن. - [تقویم (calendar)](https://www.salamlang.ir/std/calendar/): تقویم جلالی، هجری قمری و میلادی: تبدیل، حساب روزها، نام ماه‌ها و منطقه‌های زمانی. - [نخ (thread)](https://www.salamlang.ir/std/thread/): نگه‌داشتن و منتظر ماندن برای نخ‌هایی که با spawn ساخته می‌شوند. - [همگام سازی (sync)](https://www.salamlang.ir/std/sync/): قفل، متغیر شرط، گروه انتظار، قفل خواندن و نوشتن، نشانگر و «یک بار» برای هماهنگ کردن نخ‌ها. - [اتمی (atomic)](https://www.salamlang.ir/std/atomic/): شمارنده و پرچمی که چند نخ بدون قفل گرفتن دستی می‌توانند با خیال راحت تغییرشان دهند. - [کانال (chan)](https://www.salamlang.ir/std/chan/): کانال برای فرستادن مقدار از یک نخ به نخ دیگر، با بافر، مهلت و بستن. - [استخر (pool)](https://www.salamlang.ir/std/pool/): اجرای موازی یک حلقه روی چند هسته‌ی پردازنده. - [زمینه (ctx)](https://www.salamlang.ir/std/ctx/): زمینه برای لغو کار و مهلت، که از کار اصلی به کارهای فرعی می‌رسد. - [کدگذاری (encoding)](https://www.salamlang.ir/std/encoding/): تبدیل متن و داده به پایه‌۶۴، شانزده‌شانزدهی و کدگذاری نشانی وب. - [جیسون (encoding/json)](https://www.salamlang.ir/std/encoding-json/): ساختن و خواندن جیسون: از رشته‌ی ساده تا تبدیل خودکار ساختارها و خواندن جریانی. - [یامل (encoding/yaml)](https://www.salamlang.ir/std/encoding-yaml/): خواندن یامل با مسیر، ساختن و نوشتن آن، و تبدیل به جیسون. - [سی اس وی (encoding/csv)](https://www.salamlang.ir/std/encoding-csv/): خواندن و نوشتن پرونده‌های CSV، با نقل‌قول درست و تبدیل به مقدار پویا. - [تامل (encoding/toml)](https://www.salamlang.ir/std/encoding-toml/): خواندن و نوشتن پرونده‌های پیکربندی TOML. - [نشانی وب (encoding/url)](https://www.salamlang.ir/std/encoding-url/): تجزیه‌ی نشانی وب به بخش‌هایش، ساختن و ویرایش پارامترها و پیوستن نشانی‌های نسبی. - [پرس‌وجو (encoding/query)](https://www.salamlang.ir/std/encoding-query/): خواندن و ساختن رشته‌ی پرس‌وجوی نشانی وب، مثل q=سلام&page=2. - [پرونده محیط (encoding/envfile)](https://www.salamlang.ir/std/encoding-envfile/): خواندن و نوشتن پرونده‌های .env با جایگذاری متغیرها. - [مقدار (encoding/value)](https://www.salamlang.ir/std/encoding-value/): مقدار پویا برای داده‌ای که شکلش را از پیش نمی‌دانید؛ زبان مشترک همه‌ی قالب‌های این گروه. - [تبدیل قالب (encoding/serde)](https://www.salamlang.ir/std/encoding-serde/): تشخیص قالب یک متن و تبدیل مستقیم جیسون، یامل، تامل، اکس‌ام‌ال و سی اس وی به یکدیگر. - [خطای کدگذاری (encoding/encerr)](https://www.salamlang.ir/std/encoding-encerr/): خطای مشترک خواندن قالب‌ها: نوع خطا، پیام و جای آن در متن. - [مسج‌پک (encoding/msgpack)](https://www.salamlang.ir/std/encoding-msgpack/): قالب دودویی و فشرده‌ی MessagePack برای مقدارهای پویا. - [دودویی (encoding/binary)](https://www.salamlang.ir/std/encoding-binary/): نوشتن و خواندن عددها به شکل بایت، با ترتیب بزرگ‌انتها یا کوچک‌انتها. - [اکس‌ام‌ال (encoding/xml)](https://www.salamlang.ir/std/encoding-xml/): خواندن، ساختن و نوشتن اکس‌ام‌ال، با XPath، اعتبارسنجی DTD، فضای نام و یک رابط ساده‌ی سبک. - [پروتوباف (encoding/protobuf)](https://www.salamlang.ir/std/encoding-protobuf/): خواندن پرونده‌های .proto، کدگذاری سیمی Protocol Buffers و ساختن کد سلام از آن‌ها. - [فشرده سازی (compress)](https://www.salamlang.ir/std/compress/): بافر بایت، روش‌های فشرده‌سازی از RLE تا DEFLATE، جی‌زیپ و چک‌جمع‌ها. - [بایگانی (archive)](https://www.salamlang.ir/std/archive/): ساختن و بازکردن بایگانی‌های زیپ و تار، خواندن RAR و فشرده‌سازی پرونده با جی‌زیپ. - [ان‌پی‌وای (npy)](https://www.salamlang.ir/std/npy/): خواندن و نوشتن پرونده‌های .npy و .npz نام‌پای. - [اکسل (excel)](https://www.salamlang.ir/std/excel/): خواندن و نوشتن صفحه‌گسترده‌های اکسل (xlsx)، اوپن‌داکیومنت (ods) و CSV: برگه، سلول، سبک، فرمول و تاریخ. - [داده (data)](https://www.salamlang.ir/std/data/): خواندن داده برای یادگیری ماشین: جدول CSV، دسته‌بندی نمونه‌ها، MNIST و تصویر، و داده‌ی مصنوعی. - [تی سی پی (net/tcp)](https://www.salamlang.ir/std/net-tcp/): سرور و کارخواه TCP: گوش دادن، وصل شدن، خواندن و نوشتن، TLS و استخر اتصال. - [یو دی پی (net/udp)](https://www.salamlang.ir/std/net-udp/): فرستادن و گرفتن بسته‌های UDP، با پخش همگانی و چندپخشی. - [دی‌ان‌اس (net/dns)](https://www.salamlang.ir/std/net-dns/): پیدا کردن نشانی نام‌ها و پرسیدن هر نوع رکورد DNS. - [مایم (net/mime)](https://www.salamlang.ir/std/net-mime/): نوع رسانه‌ی پرونده‌ها، سرآیند Content-Type و بدنه‌ی چندبخشی فرم. - [پراکسی (net/proxy)](https://www.salamlang.ir/std/net-proxy/): وصل شدن از راه پراکسی HTTP یا SOCKS5، تنها یا زنجیره‌ای. - [مسیریاب (net/router)](https://www.salamlang.ir/std/net-router/): مسیریابی درخواست‌های HTTP با پارامتر، گروه و پرونده‌های ایستا. - [پست الکترونیک (net/email)](https://www.salamlang.ir/std/net-email/): فرستادن ایمیل با SMTP و خواندن آن با IMAP و POP3. - [وب‌سوکت (net/websocket)](https://www.salamlang.ir/std/net-websocket/): اتصال دوطرفه‌ی همیشه‌باز میان مرورگر و سرور، با اتاق‌ها برای پخش پیام. - [اچ تی تی پی (net/http)](https://www.salamlang.ir/std/net-http/): سرور و کارخواه HTTP: گرداننده‌ها، پاسخ متنی و جیسون، کوکی و فرستادن درخواست. - [میان افزار (net/http/middleware)](https://www.salamlang.ir/std/net-http-middleware/): سرآیندهای رایج امنیت، کش و CORS و ثبت درخواست‌ها، در یک صدا زدن. - [اعتبارسنجی (net/http/validate)](https://www.salamlang.ir/std/net-http-validate/): بررسی ورودی فرم‌ها و پاسخ خطای ۴۰۰. - [نشست (net/http/session)](https://www.salamlang.ir/std/net-http-session/): نشست کاربر با کوکی: نگه داشتن داده میان درخواست‌ها و توکن CSRF. - [سواگر (net/http/swagger)](https://www.salamlang.ir/std/net-http-swagger/): نوشتن مستندات OpenAPI برای API و نمایش صفحه‌ی مستندات. - [اچ تی تی پی۲ (net/http2)](https://www.salamlang.ir/std/net-http2/): پروتکل HTTP/2 از پایه: قاب‌ها، فشرده‌سازی سرآیند HPACK و جریان‌ها. - [سوکت‌آیاو (net/socketio)](https://www.salamlang.ir/std/net-socketio/): کارخواه Socket.IO: رویدادها، تایید، فضای نام و اتصال دوباره‌ی خودکار. - [دام (dom)](https://www.salamlang.ir/std/dom/): کار با صفحه‌ی وب در مرورگر: عنصرها، رویدادها، زمان‌سنج‌ها و اشیای جاوااسکریپت. - [بوم (web/canvas)](https://www.salamlang.ir/std/web-canvas/): رسم شکل، متن و تصویر روی عنصر canvas در مرورگر. - [کلیدها (web/keys)](https://www.salamlang.ir/std/web-keys/): وضعیت صفحه‌کلید برای بازی‌های مرورگری. - [اعلان وب (webpush)](https://www.salamlang.ir/std/webpush/): فرستادن اعلان به مرورگرها از سرور، با کلیدهای VAPID و رمزنگاری استاندارد. - [رمزنگاری (crypto)](https://www.salamlang.ir/std/crypto/): چکیده‌ی SHA و MD5، امضای HMAC، عدد تصادفی امن و درهم کردن گذرواژه. - [جی دبلیو تی (jwt)](https://www.salamlang.ir/std/jwt/): ساختن و بررسی توکن JWT و محافظت از مسیرهای API. - [تی ال اس (tls)](https://www.salamlang.ir/std/tls/): اتصال امن TLS 1.3 و 1.2 و ابزارهای رمزنگاری کلید عمومی، بی‌نیاز از OpenSSL. - [اس اس ال (ssl)](https://www.salamlang.ir/std/ssl/): رابط آشنای سبک OpenSSL برای اتصال امن، روی تی ال اس خود سلام. - [اس اس اچ (ssh)](https://www.salamlang.ir/std/ssh/): اتصال SSH، اجرای فرمان روی سرور و کار با پرونده‌ها با SFTP. - [اف‌تی‌پی (ftp)](https://www.salamlang.ir/std/ftp/): کارخواه FTP و FTPS: فهرست پوشه، بارگذاری و دریافت پرونده. - [فراخوان دور (rpc)](https://www.salamlang.ir/std/rpc/): JSON-RPC 2.0 و MessagePack-RPC: سرور، کارخواه و ثبت متدها. - [جی آر پی سی (grpc)](https://www.salamlang.ir/std/grpc/): سرور و کارخواه gRPC روی HTTP/2: فراخوان ساده و جریانی، فراداده و کدهای وضعیت. - [اس کیو ال (db/sql)](https://www.salamlang.ir/std/db-sql/): خواندن، بررسی و گونه‌یابی SQL بدون پایگاه داده: تجزیه‌گر آگاه از گویش، فهرست جدول‌ها و جانگهدارهای گونه‌دار. - [دیتابیس (db)](https://www.salamlang.ir/std/db/): رابط مشترک پایگاه‌های داده، مهاجرت ساختار و استخر اتصال. - [اس کیو لایت (db/sqlite)](https://www.salamlang.ir/std/db-sqlite/): پایگاه داده‌ی SQLite در یک پرونده یا در حافظه. - [مای اس کیو ال (db/mysql)](https://www.salamlang.ir/std/db-mysql/): اتصال به MySQL و MariaDB. - [پستگرس (db/postgres)](https://www.salamlang.ir/std/db-postgres/): کارخواه PostgreSQL نوشته‌شده با خود سلام: رشته‌ی اتصال و نشانی، TLS، پرسمان، تراکنش، استخر اتصال و مهاجرت. - [ردیس (db/redis)](https://www.salamlang.ir/std/db-redis/): کارخواه Redis: کلید و مقدار، هش، لیست، مجموعه و انتشار. - [تایپ‌سنس (db/typesense)](https://www.salamlang.ir/std/db-typesense/): کارخواه Typesense: مجموعه، سند، جستجوی مقاوم در برابر غلط تایپی، دسته‌بندی‌شده، گروهی، برداری و اجتماعی، مترادف، گزینش، کلیدهای API، تحلیل و خوشه. - [الستیک سرچ (db/elasticsearch)](https://www.salamlang.ir/std/db-elasticsearch/): کارخواه الستیک سرچ و OpenSearch: سند، جستجو، تجمیع، بارگذاری دسته‌ای، اس کیو ال و مدیریت نمایه. - [میلی‌سرچ (db/meilisearch)](https://www.salamlang.ir/std/db-meilisearch/): کارخواه Meilisearch: نمایه، سند، جستجوی متنی، وجهی، ترکیبی و فدرال، تنظیمات، کارها و کلیدهای API. - [اپن سرچ (db/opensearch)](https://www.salamlang.ir/std/db-opensearch/): کارخواه OpenSearch: سند، دسته‌ای، زبان پرسمان، تجمیع، پیمایش و نقطه‌ی زمانی، مدیریت نمایه، SQL و PPL، جستجوی برداری k-NN، سیاست ISM، امنیت و امضای AWS. - [گراف‌کیوال (graphql)](https://www.salamlang.ir/std/graphql/): سرور GraphQL: طرح‌واره، حل‌کننده‌ها، اجرای پرسمان و رسیدگی به HTTP. - [گوگل (google)](https://www.salamlang.ir/std/google/): احراز هویت حساب سرویس گوگل برای APIهای گوگل. - [بات (telegram/bot)](https://www.salamlang.ir/std/telegram-bot/): ساختن بات با Bot API: پیام، دکمه، وب‌هوک و حلقه‌ی دریافت. - [نود (node)](https://www.salamlang.ir/std/node/): برنامه‌ی سلام در Node.js: ماژول‌ها، پرونده‌ها، فرایندها و اشیای جاوااسکریپت. - [ای دبلیو اس (aws)](https://www.salamlang.ir/std/aws/): Amazon S3، SQS و STS و هر سرویس سازگار با S3، با امضای نسخه‌ی ۴. - [ال ال وی ام (llvm)](https://www.salamlang.ir/std/llvm/): ساختن، بهینه‌سازی، اجرا و پیوند کد با LLVM. - [سه‌گانه هدف (llvm/triple)](https://www.salamlang.ir/std/llvm-triple/): آرایش داده و ویژگی‌های هدف از روی سه‌تایی، بی نیاز به LLVM. - [بهینه‌سازی (optim)](https://www.salamlang.ir/std/optim/): بهینه‌سازهای شبکه‌ی عصبی: SGD، آدام، RMSProp و زمان‌بندی نرخ یادگیری. - [اونیکس (onnx)](https://www.salamlang.ir/std/onnx/): خواندن و اجرای مدل‌های ONNX بی وابستگی بیرونی. - [جی‌جی‌یو‌اف (gguf)](https://www.salamlang.ir/std/gguf/): خواندن پرونده‌های مدل GGUF، قالب llama.cpp. - [نمایش وب (webview)](https://www.salamlang.ir/std/webview/): برنامه‌ی دسکتاپ با رابط HTML در پنجره‌ی بومی. - [تانسور (tensor)](https://www.salamlang.ir/std/tensor/): آرایه‌های چندبعدی و عملیات عددی برای یادگیری ماشین. - [مشتق‌گیری خودکار (autograd)](https://www.salamlang.ir/std/autograd/): مشتق‌گیری خودکار معکوس برای آموزش مدل‌ها. - [شبکه عصبی (nn)](https://www.salamlang.ir/std/nn/): لایه‌های شبکه‌ی عصبی: خطی، پیچشی، بازگشتی، ترنسفورمر و نقطه‌ی بازرسی. - [مدل زبانی بزرگ (llm)](https://www.salamlang.ir/std/llm/): اجرای مدل‌های زبانی Llama و Qwen از پرونده‌ی GGUF. - [ماتریس (matrix)](https://www.salamlang.ir/std/matrix/): جبر خطی: ماتریس، دستگاه معادلات، تجزیه‌ها، مقادیر ویژه و آمار. - [تصویر (image)](https://www.salamlang.ir/std/image/): خواندن، ویرایش و ذخیره‌ی تصویر و نوشتن متن فارسی روی آن. - [گراف (graph)](https://www.salamlang.ir/std/graph/): نظریه‌ی گراف: پیمایش، کوتاه‌ترین مسیر، درخت پوشا، شار، رنگ‌آمیزی، جامعه‌ها و مرکزیت. - [یادگیری ماشین (ml)](https://www.salamlang.ir/std/ml/): یادگیری ماشین کلاسیک: پیش‌پردازش، رگرسیون، دسته‌بندی، درخت، خوشه‌بندی و ارزیابی. - [اپن‌سی‌وی (opencv)](https://www.salamlang.ir/std/opencv/): بینایی ماشین با OpenCV: پردازش تصویر، ویژگی‌ها، تشخیص چهره، شبکه‌ی عصبی و ویدیو. - [صدا (audio)](https://www.salamlang.ir/std/audio/): صدا به شکل قطعه‌ای از نمونه‌ها: بریدن، آمیختن، سنجیدن و برگرداندن آن. - [صدا/ویو (audio/wav)](https://www.salamlang.ir/std/audio-wav/): خواندن و نوشتن پرونده‌های ویو: پی‌سی‌ام، اعشاری، ای‌لا و میولا. - [صدا/پردازش سیگنال (audio/dsp)](https://www.salamlang.ir/std/audio-dsp/): تبدیل فوریه، پنجره‌ها، صافی‌ها و بازنمونه‌گیری برای صدا. - [صدا/کدک (audio/codec)](https://www.salamlang.ir/std/audio-codec/): باز کردن و ذخیره پرونده صدا بی آنکه قالبش را نام ببرید. - [صدا/ایف (audio/aiff)](https://www.salamlang.ir/std/audio-aiff/): خواندن و نوشتن پرونده‌های ایف و ایف‌سی. - [صدا/ای‌یو (audio/au)](https://www.salamlang.ir/std/audio-au/): خواندن و نوشتن قالب ای‌یوی سان و نکست. - [صدا/فلاک (audio/flac)](https://www.salamlang.ir/std/audio-flac/): فشرده‌سازی بی‌اتلاف: خواندن و نوشتن فلاک. - [صدا/برچسب صدا (audio/tag)](https://www.salamlang.ir/std/audio-tag/): خواندن و نوشتن برچسب‌های یک ترانه: عنوان، هنرمند، آلبوم و تصویر جلد. - [صدا/موسیقی (audio/music)](https://www.salamlang.ir/std/audio-music/): نت‌ها، گام‌ها، آکوردها و کوک‌ها، دستگاه‌های ایرانی در میانشان. - [صدا/صداساز (audio/synth)](https://www.salamlang.ir/std/audio-synth/): ساختن صدا از هیچ: نوسازها، پوشش‌ها و صداها. - [صدا/میدی (audio/midi)](https://www.salamlang.ir/std/audio-midi/): خواندن، نوشتن و نواختن پرونده‌های میدی استاندارد. - [صدا/ام‌پی‌تری (audio/mp3)](https://www.salamlang.ir/std/audio-mp3/): خواندن فریم‌ها، سرآیندها و برچسب‌های نرخ متغیر یک پرونده ام‌پی‌تری. ## برای عامل‌های هوش مصنوعی - [همه‌ی مستندات در یک فایل](https://www.salamlang.ir/llms-full.txt): همه‌ی درس‌ها و همه‌ی صفحه‌های کتابخانه‌ی استاندارد به صورت متن ساده، برای بارگذاری در کانتکست مدل. - [اسکیل سلام برای عامل‌ها (SKILL.md)](https://raw.githubusercontent.com/SalamLang/Salam/main/SKILL.md): مرجع به‌روز نوشتن و تبدیل کد به سلام: نحو فعلی زبان به فارسی و انگلیسی، کتابخانه‌ی استاندارد، قاعده‌های سخت‌گیرانه‌ی کامپایلر و زبان صفحه. آن را به عنوان اسکیل در Claude Code یا هر عاملی که فایل SKILL.md می‌خواند نصب کنید. - [افزونه‌ی Claude Code](https://github.com/SalamLang/Salam/tree/main/tools/mcp/claude-plugin): افزونه‌ای با اسکیل سلام و فرمان‌هایی برای بررسی، اجرا و جست‌وجوی API کد سلام. - [سرور MCP](https://github.com/SalamLang/Salam/tree/main/tools/mcp): سروری برای پروتکل Model Context Protocol که به خود زبان سلام نوشته شده و کامپایلر (بررسی، ساخت، اجرا، قالب‌بندی) و فهرست واقعی کتابخانه‌ی استاندارد را در اختیار مدل می‌گذارد. ## Optional - [کد منبع در گیت‌هاب](https://github.com/SalamLang/Salam) - [نسخه‌ها و دانلود](https://github.com/SalamLang/Salam/releases) - [ویرایشگر آنلاین](https://editor.salamlang.ir)