moaminsharifi/fa-wiki-spell-checker huggingface dataset:
درجهٔ ستوانیاری در کشورها یا نیروهای مختلف به صورت‌های گوناگونی وجود دارد. برخی کشورها این ستوانیاران را به عنوان یک درجه‌دار تلقی می‌کنند یعنی او را جزو افسران به‌شمار نمی‌آورند. اما در برخی دیگر از کشورها درجهٔ ستوانیاری، درجه‌ای بین افسری و درجه‌داری است که به نفرات متخصص اعطا می‌شود.
در ایالات متحده، ستوانیاران با یک حکم (Warrant) منصوب می‌شوند و سپس توسط ریاست جمهوری (فرماندهی کل قوا) به درجهٔ ستوانیار نائل می‌گردند.
این درجه در ایران تا مدتی وجود داشت، اما بعدها لغو شد تا کسانی که مدارج درجه‌داری را طی می‌کردند به رتبه ستوان‌سومی ارتقا پیدا کنند. هم‌اکنون یک استوار یکم پس از پایان چهار سال توقف به جای دریافت درجهٔ ستوانیاری، می‌تواند یک افسر با درجه ستوان سوم شود.
این دسته کسانی هستند که درجه‌شان پایین‌تر از افسری است و بیشینهٔ تودهٔ ارتش را تشکیل می‌دهند. این نظامیان که نشان درجهٔ خود را بر روی بازو نصب می‌کنند در کشورهای مختلف عناوین مختلفی دارند. برای مثال در آمریکا به آنان پرسنل داوطلب (Enlisted Personnel)، در بریتانیا و برخی از کشورهای دیگر درجه‌داران متفرقه (Other Ranks) و در کانادا اعضای بدون حکم یا تأییدنشده (Non-commissioned Members) گفته می‌شود.
درجه‌داران (که در آمریکا و برخی کشورهای دیگر افسران بدون تأییدیه خوانده می‌شوند) آن دسته از پرسنل نظامی هستند که تحت فرمان یک افسر عمل کرده و اختیارات وسیعی از طرف وی برای سرپرستی و رسیدگی به دیگر اعضای نظامی داشته یا مسئول انجام امور مهم اداری می‌شوند. برداشت رایج پیرامون درجه‌داران در نیروی زمینی آمریکا و حتی بسیاری دیگر از کشورها این است که «درجه‌داران ستون فقرات ارتش هستند!» ایشان مسئول مراقبت و کنترل مستقیم اعضای نظامی جزء هستند و غالباً در یگان‌های رزمی به عنوان افسران اجرائیات عمل می‌کنند.
بالاترین و ارشدترین نفرات درجه‌دار به لحاظ رسمی پایین‌تر از افسران جزء و حتی ستوانیاران تلقی می‌شوند. با این حال اغلب این درجه‌داران دارای تجربهٔ بیشتری در امور رزمی و غیره نسبت به افسران جزء هستند. در بیشتر نیروهای زمینی جهان به دلیل آن که افسران جزء مسئولیت‌ها و اختیارات سنگین دارند اما از تجربهٔ کمتری برخوردارند، درجه‌داران ارشد را به عنوان سرگروهبان یگان در کنار ایشان می‌گمارند تا مشاوره‌های لازم را به آن‌ها بدهد. در برخی سازمان‌ها ممکن است درجه‌داران ارشد و قدیمی مسئولیت رسمی داشته و دارای احترام غیررسمی بیشتری نسبت به افسران جزء باشند. اما در این وضعیت هم احترام ستوانیاران بالاتر است زیرا ستوانیاران غالباً از بین درجه‌داران ارشد انتخاب می‌شوند.
درجات درجه‌داران در نیروی زمینی عبارت است از استوار، گروهبان و سرجوخه. در نیروی دریایی نیز به ایشان ناواستوار، مهناوی و سرناوی می‌گویند
به آن دسته از پرسنل نظامی که دارای هیچ‌گونه اختیارات فرماندهی نیستند و تنها ملزم به اطاعت از دستورهای مافوق بوده (که اصطلاحاً به آن‌ها در ایران امربَر گفته می‌شود) عناوینی چون سرباز (در نیروی زمینی)، سرباز/سرباز هوایی (Airman) (در نیروی هوایی)، گارد (در گارد ساحلی) و ناوی یا ملوان در (نیروی دریایی) داده می‌شود. در سپاه تفنگداران دریایی ایالات متحده بدون توجه به درجه به تمام پرسنل، تفنگدار (Marine) گفته می‌شود. در برخی از کشورها عنوان‌های دیگری برای سربازان صرف به کار برده می‌شود که این نام‌ها در واقع نشان‌دهندهٔ سطح دریافت دستمزد بوده و ربطی به اختیارات نظامی ندارد. این القاب ممکن است در برخی کشورها درجه حساب شوند و در برخی دیگر هیچ نشانهٔ مزیتی برای نفر ایجاد نکنند. هر درجه نشان‌دهندهٔ آن است که نفر تا چه اندازه و به چه میزان توانسته‌است به نحو احسن در جنگ یا تمرینات عمل کند.
مخاطب ایرانی باید توجه داشته باشد که درجهٔ سرباز با عنوان سرباز متفاوت است. در ارتش، تمام پرسنل خود را سربازان (Soldier) میهن می‌دانند که مراد از این واژه در این‌جا از خودگذشتگی و آمادگی برای جنگ است. اما درجهٔ سرباز (Private) صرفاً به کسانی گفته می‌شود که اختیار خاصی از لحاظ رزمی یا اداری بر نیروهای دیگر ندارند و باید صرفاً از دستورهای مافوق اطاعت کنند. شاید اصطلاح سرباز صرف (که به اشتباه به صورت سرباز صفر باب شده‌است) از آن رو استفاده می‌شود تا نشان‌دهندهٔ این موضوع باشد که وی صرفاً یک نظامی (سرباز) است که دارای هیچ اختیاراتی نیست.
انتصاب (ترفیع درجه) اشاره به وسیله‌ای دارد که شخص از طریق آن، به مقامی رسیده و می‌تواند اختیارات خود را اعمال می‌کند. برای مثال در بسیاری از کشورهای پادشاهی، افسران از طریق کمیسیون پادشاهی و در بسیاری از کشورهای دیگر از طریق کمیسیون ریاست جمهوری در مقام افسری نصب می‌شوند. در کشورهای مشترک‌المنافع ستوانیاران نیز از پادشاه یا ریاست جمهوری حکم دریافت می‌کنند. در ایالات متحده، ریاست جمهوری افسران لایق را برای انتصاب به سنای این کشور معرفی می‌کند. بسیاری از این افسرها به صورت یک جا و با رأی‌گیری علنی منصوب می‌شوند؛ اما امرا لازم است که در برابر کمیسیون نیروهای مسلح حاضر شوند و به پرسش‌های اعضای آن پاسخ مناسب دهند تا بتوانند رضایت ایشان را پیش از اخذ رأی در سنا جلب کنند.
درجه‌داران به وسیلهٔ یک برگهٔ حکم که معمولاً از طریق فرمانده نیرو صادر می‌شود منصوب می‌شوند. ورود به نیرو نیز معمولاً با ثبت‌نام در آموزشگاه‌های درجه‌داری انجام می‌شود.
گاهی اوقات ممکن است که پرسنل در مقامی خدمت کنند که بالاتر از درجه‌شان هست. برای مثال در نیروی دریایی بریتانیا، ممکن بود یک ناخدا یکم کار یک کمودور را انجام دهد و در نیروی زمینی یک سرباز کار یک سرجوخه را.
هر چهار نفر یک تیم را تشکیل می‌دهند که نفر اول فرمانده تیم دارای اسلحهٔ کمری و شاید همراه با اسلحهٔ سازمانی ارتش که در حال حاضر ژ۳ می‌باشد، نفر دوم دارای اسلحهٔ ژ۳ یا تیربار، نفر سوم اسلحهٔ ژ۳ دوربین‌دار، و نفر چهارم خمپاره‌انداز، یا بعد از انقلاب آرپی‌جی زن می‌باشند. هر دو تیم یک گروه، به علاوه یک نفر فرمانده گروه جمعاً نه نفر. هر نه گروه به علاوه یک نفر فرمانده گروهان، یک گروهان. هر چهار گروهان یک گردان، شاید متشکل از سه گروهان پیاده و یک گروهان تدارکات یا …. هر سه گردان پیاده و یک گردان زرهی یک هنگ یا تیپ؛ که در اغلب مناطق نظامی ایران در قالب یک پادگان قرار می‌گیرند. هر سه یا چهار تیپ یک لشکر. هر سه یار چهار لشکر یک سپاه. هر سه یا چهار سپاه یک ارتش. نهایتاً طبق آیین‌نامهٔ ارتش جمهوری اسلامی ایران، تقسیم‌بندی بعدی با عنوان ارتش‌ها بیان شده که در حال حاضر ایران فاقد چنین رده‌ای از نیرو می‌باشد.
ارتش جمهوری اسلامی ایران دارای ۴ سپاه شامل ۴ لشکر زرهی و ۶ لشکر پیاده می‌باشد. نیروی هوایی آن دارای ۱۴ پایگاه هوایی با تمام تشکیلات یک تیپ کامل می‌باشد، که فرماندهی هر پایگاه را یک سرتیپ دو به عهده دارد. هرکدام از نیروهای چهارگانه، فرماندهی با درجهٔ سرتیپ داشته که نهایتاً فرماندهٔ کل ارتش سرلشکر می‌باشد. به علت فقدان دو درجهٔ بالاتر از سرلشکر در نیروهای نظامی ایران بعد از انقلاب، تمامی افسران ارتش و سپاه و نیروهای انتظامی و وزارت دفاع جمهوری اسلامی ایران عملاً در جایگاه سازمانی دو رتبه بالاتر از درجهٔ خود قرار می‌گیرند؛ که این امر یک مسئلهٔ خود به خودی نبوده و مدیریتی‌ست و در آیین‌نامهٔ ارتش احتمالاً نیامده است. به طوری که با انتصابات و انتقال اشخاص از اداره‌ای به ادارهٔ دیگر مد نظر فرماندهٔ ذی‌ربط قرار می‌گیرد.
برای درک بهتر معنای این درجات - و برای آن که بتوان مقایسه‌ای بین آن‌ها در نیروهای مسلح جهان، ملل گوناگون و تنوع القاب و نشان‌ها به دست آورد - شناخت سطوح و اندازه‌های نسبی هر یگان مفید به نظر می‌رسد. برای این منظور از نیروهای زمینی سپاه تفنگداران دریایی ایالات متحده به عنوان الگو استفاده می‌کنیم. به یاد داشته باشید که در هر کشور ممکن است سیستم خاصی استفاده گردد. در واقع در نیروی زمینی آمریکا شخصی با درجهٔ یکسان با همتای خود در سپاه تفنگداران دریایی بر یگانی فرماندهی می‌کند که با اندازهٔ یگان آن شخص دیگر تفاوت دارد.
در بررسی سیر فرماندهی نفرات در این سیستم، از پایین به بالا، یک سرجوخه فرمانده یک تیم آتش به استعداد سه نفر به غیر از خود وی است، یک گروهبان یکم فرمانده یک گروه است که دارای سه تیم آتش باشد. در نتیجه یک گروه کامل در این نیرو ۱۳ نفر ظرفیت دارد. گروه‌ها را معمولاً با شماره مشخص می‌کنند، مثلاً گروه یکم، گروه دوم و…
یک ستوان بر یک دسته فرماندهی می‌کند که می‌تواند دارای سه یا چهار گروه باشد. در نیروهای پیاده تفنگداران دریایی، دسته‌های تفنگدار معمولاً دارای سه گروه تفنگدار به استعداد ۱۳ نفر، یک پزشکیار، یک فرمانده دسته و یک سرگروهبان دسته (که پس از فرمانده جایگاه دوم را دارد) هستند. یک دستهٔ ادوات به جای این سه گروه از یک قسمت خمپاره‌انداز ۶۰ میلی‌متری، یک قسمت هجومی (؟) و یک قسمت تیربار متوسط استفاده می‌کند. یک دسته پیاده بسته به نوع نیرو می‌تواند از ۴۲ تا ۵۵ نفر نیرو داشته باشد. دسته‌ها معمولاً شماره‌گذاری می‌شوند (دستهٔ یکم) یا طبق مأموریت اصلیشان نام‌گذاری می‌شوند (مثل دستهٔ خدمات).
یک سروان فرمانده یک گروهان می‌شود که معمولاً دارای چهار دسته (سه دستهٔ تفنگدار و یک دستهٔ ادوات) است. مرکز فرماندهی وی می‌تواند شامل یک Gunnery Sergeant به همراه هفت نفر دیگر باشد. در نتیجه یک گروهان می‌تواند بین ۱۷۵ تا ۲۲۵ نیرو داشته باشد. یک سروان ممکن است بر یگان‌های همسانی نظیر آتشبار یا قسمت (Detachment) نیز فرماندهی کند. در کشورهای انگلیسی‌زبان معمولاً از حروف الفبا برای نام‌گذاری گروهان‌ها استفاده می‌شود اما در کشورهای غیرانگلیسی‌زبان از اعداد استفاده می‌شود.
یک سرهنگ دوم، فرمانده یک گردان یا اسکادران می‌شود که غالباً دارای چهار گروهان به همراه اعضای ستاد گردان می‌باشد. یک گردان می‌تواند بین ۵۰۰ تا ۱۵۰۰ نفر نیرو داشته باشد که معمولاً در قالب دو تا شش گروهان قرار می‌گیرند.
یک سرهنگ بر یک هنگ یا گروه هوایی فرماندهی می‌کند که غالباً دارای چهار گردان (در یگان‌های پیاده) یا پنج تا شش گروه هوایی (در گروه هوایی) است. گردان‌ها و هنگ‌ها معمولاً شماره‌گذاری می‌شوند که این شماره‌گذاری می‌تواند هم به صورت یک گردان مستقل باشد و هم به صورت بخشی از ساختار هنگ. برای مثال ۱/۱ تفنگداران دریایی در سپاه تفنگداران دریایی یا گردان ۱–۵۰۱ پیاده در نیروی زمینی آمریکا.
برای درک بهتر مثال آخر بهتر است به سراغ یک یگان واقعی برویم. گردان یکم از هنگ یکم تفنگداران دریایی از لشکر یکم تفنگداران دریایی از نیروی یکم اعزامی تفنگداران دریایی از سه گروهان پیاده، یک گروهان ادوات و یک گروهان خدمات و ستاد تشکیل شده‌است. بالاتر از آن، هنگ یکم تفنگدار دریایی (یا همان تفنگدارهای دریایی یکم؛ در اصطلاح ارتش آمریکا) از چهار گردان، یک گروهان ستاد هنگ تشکیل یافته‌است. گروه کنترل هوایی ۱۸، از گروه هوایی یکم تفنگدار دریایی، از نیروی سوم (III) اعزامی تفنگداران دریایی، از چهار اسکادران، یک آتشبار و یک detachment که مجموعه‌ای از یگان‌هایی با اندازه‌های مختلف تحت یک یگان به اندازهٔ هنگ است تشکیل شده‌است.
به‌طور سنتی در سطح بعدی تیپ قرار می‌گیرد که توسط یک سرتیپ فرماندهی می‌شود و معمولاً دارای دو یا چند هنگ است. اما این ساختار امروزه دیگر منسوخ شده‌است. امروزه در نیروی زمینی آمریکا یک تیپ از نظر اندازه تقریباً برابر با هنگی است که بین سه تا هفت گردان داشته باشد. استعداد آن معمولاً در حدود ۱۵۰۰ تا ۳۵۰۰ نفر است. اما تیپ‌ها در سپاه تفنگداران دریایی آمریکا تنها به منظور انجام مأموریت‌های خاص شکل می‌گیرند. همچنین این تیپ‌ها از لحاظ اندازه بزرگتر و دارای گردان‌های متنوع‌تری نسبت به هنگ هستند. به این صورت این تیپ‌ها می‌توانند نقش سنتی خود را به عنوان کوچکترین آرایشی که می‌تواند به‌طور مستقل و بدون دریافت پشتیبانی خدماتی- تاکتیکی از بیرون عمل کند در میدان نبرد پیاده کنند. تیپ‌ها هم معمولاً شماره‌گذاری می‌شوند.
سطح بالاتر از هنگ و تیپ، لشکر نام دارد که توسط یک سرلشکر فرماندهی می‌شود و دارای ۱۰٬۰۰۰ تا ۲۰٬۰۰۰ نفر نیرو است. برای مثال لشکر یکم تفنگدار دریایی از چهار هنگ تفنگدار دریایی (از همان نوع یادشده)، یک گردان هجومی آبخاکی، یک گردان شناسایی، دو گردان شناسایی زره‌سبک، یک گردان مهندسی رزمی، یک گردان تانک و یک گردان ستادی لشکر که جمعاً به اندازه ۱۹٬۰۰۰ نفر می‌شوند تشکیل شده‌است. (درون گردان ستادی لشکر، یک گروهان ستادی، یک گروهان خدماتی، یک گروهان دژبان، یک گروهان مخابرات و یک گروهان ترابری قرار دارند) از یک یگان مشابه درون نیروی اعزامی تفنگدار دریایی (MEF) می‌توان گروه پشتیبانی (MLG) را نام برد که یک یگان در حد هنگ نیست بلکه یگان پشتیبانی بسیار بزرگتری است که دارای چندین گردان از پرسنل خدماتی است. لشکرها را معمولاً شماره‌گذاری می‌کنند اما ممکن است آن‌ها را بر اساس نوع مأموریت یا نام یک شخصیت برجسته نام‌گذاری کنند.
لشکر یکم تفنگدار دریایی بخشی از نیروی اعزامی تفنگدار دریایی است. این نیرو همچنین دارای یگان‌های نظیر گروه هوایی سوم تفنگدار دریایی، گروه اول پشتیبانی تفنگدار دریایی، تیپ اول اعزامی تفنگدار دریایی (در صورت نیاز)، سه یگان اعزامی تفنگدار دریایی (که دارای گروه‌های بالگرد هستند) و یک گروه مأموریت هوانیروز تفنگدار دریایی در حد گردان است. در سپاه تفنگداران دریایی ایالات متحده کلاً سه نیروی اعزامی تفنگدار دریایی وجود دارد.
در نیروی زمینی ایالات متحده سطح بالاتر از لشکر، سپاه نام دارد اما این سطح در تفنگداران دریایی نیروی اعزامی تفنگدار دریایی گفته می‌شود. فرمانده آن نیز یک سپهبد است. در بسیاری از نیروهای زمینی جهان، یک سپاه دارای ۶۰٬۰۰۰ نفر نیرو است که معمولاً به سه لشکر تقسیم می‌شود. سپاه (و دیگر سازمان‌های مشابه آن) معمولاً توسط اعداد رومی مشخص می‌شوند و اگر این سپاه‌ها در قالب نیروهای مشترک (بین‌المللی) باشند ملیتشان نیز به آن اعداد اضافه می‌شود. برای مثال V (US) Corps (سپاه پنجم آمریکا), VIII (ROK) Corps (سپاه هشتم بریتانیا), II MEF (سپاه دوم تفنگدار دریایی), I Canadian Corps (سپاه یکم کانادا).
در طول جنگ جهانی دوم، به دلیل حجم گستردهٔ نبرد، چندین سپاه در نیروهای زمینی گنجانده می‌شد و در تئوری یک ژنرال یا ارتشبد (چهار ستاره) ولی در عمل یک سپهبد (سه ستاره) بر آن نیرو که بالغ بر ۲۴۰٬۰۰۰ نفر داشت فرماندهی می‌کرد. نیروها به وسیلهٔ شمارهٔ حروفی یا عناوین مأموریت، نام‌گذاری می‌شوند و اگر در قالب نبردهای مشترک بین‌الملی باشند نام ملیتشان هم به آن عنوان اضافه می‌شود. مثال: نیروی زمینی هشتم (آمریکا) (Eighth (US) Army)، نیروی زمینی سوم بریتانیا (Third (ROK) Army)، نیروی زمینی بریتانیا در راین (British Army of the Rhine (BAOR)).
این نیروها نیز در قالب گروه نیرو (یا گروه ارتش) دسته‌بندی می‌شوند. این گروه بزرگترین سازمان رزمی است که در جنگ‌های نوین توسط یک فرمانده اداره می‌گردد. گروه‌های نیرو تا به حال بین ۴۰۰٬۰۰۰ تا ۱٬۵۰۰٬۰۰۰ نیرو داشته‌اند. برای شناسایی گروه نیرو از اعداد رقمی استفاده می‌شود و اگر این یگان در قالب گروه‌های بین‌المللی باشد از نشان بین‌المللی کشورها نیز در عنوان استفاده می‌گردد. مثال: 12 (BR) Army Group (گروه ارتش ۱۲ بریتانیا).
این مثال‌ها استانداردهایی را نشان می‌دهند که در کل جهان و در طول تاریخ مصداق دارند: درجه به‌طور کلی اندازهٔ یگان فرماندهی را در یک سامانهٔ تو در توی متشکل از درجات و یگان‌ها تداعی می‌کند. با این وجود، اندازهٔ یگانی که برای یک درجهٔ خاص در نظر گرفته می‌شود بستگی به مأموریت آن یگان، نوع سلاح‌های آن و راهبرد جنگ دارد.
چین کلاغ از قله‌های جنوبی البرز جنوبی در نزدیکی تهران با ارتفاع ۲۸۲۰ متر است. این کوه از شمال به یونجه‌زار و از غرب به کوه‌های امامزاده داوود و از شرق به کوه‌های درکه و از جنوب به منطقه سعادت‌آباد و فرحزاد و بخشی از
محله ی درکه محدود می شود.
چین کلاغ قبل امامزاده داوود غربی ترین
قله شناخته شده در رشته کوه توچال است.
از جاهای دیدنی مسیر صعود به این کوه آبشار دره دیوانه و غار دو سنگ (اگر از طرف درکه صعود کنیم) سنگ نشین و دره بهشت و معدن سنگ سعادت‌آباد (اگر از طرف سعادت‌آباد صعود کنیم) و رودخانه فرحزاد و قهوه‌خانه جاده یونجه‌زار (اگر از طرف یونجه‌زار صعود کنیم) است. صعود به این قله از طرف یونجه‌زار برای کوهنوردان تازه‌کار مشکل است.
از زیبایی های دیگر هم آبشار کارا است
که در مسیری که از سمت درکه می رود هست. در مابقی مسیر جنگل کارا و در انتهای
مسیر گردنه کارا که مسیر ارتباطی بین دو قله معروف و زیبای چین کلاغ و دوشاخ است.
مسیر های مختلفی برای صعود بهچین کلاغ وجود دارد اما ۳ تا مسیر معروف و اصلی دارد که اولین گزینه برای بیشتر کسانی که می خواهند به قله چین کلاغ صعود کنند از سمت
سعادت آباد و فرحزاد است که تقریبا
بیشتر مسیر از روی یال رد می شود.
مسیر دوم از سمت معدن سنگ سبز درکه
گذر می کند که یک سوم مسیر از دره و مابقی
از روی یال رد می شود که یکی از زیبا ترین مسیر ها برای صعود به چین کلاغ است.
و مسیر سوم که بخشی از مسیر آن را مسیر کوهپیمایی پلنگ چال تشکیل می دهد که از دره ی کارا و جنگل کارا رد می شود که زیبایی فوق العاده ای دارد در انتها مسیر به گردنه ی کارا می رسد که همان طور که گفته شد مسیر بین دوشاخ و چین کلاغ است.
این مسیر هایی که گفته شد پر تردد ترین
و مسیر های اصلی معروف برای صعود به این قله است. توصیه می شود که اگر برای اولین
بار است که می خواهید به این قله بروید یکی
از این سه مسیر را برای رسیدن انتخاب کنید و
تا حد امکان مسیر هایی که معین و قدیمی هستند را دنبال کنید.
رادیو هرات یکی از رادیوهای دیرینه محلی در افغانستان است که روی فرکانس ۱۰۵٫۲ موج اف ام در شهر هرات قابل دریافت است.
این رادیو زیر نظر اداره رادیو و تلویزیون هرات (دولتی) به پخش برنامه در دو نوبت از ساعت هفت صبح الی ده و از ساعت چهار عصر الی هفت شام می‌پردازد.
اخبار، برنامه‌های ذوقی و تفریحی و پخش نامه‌های شنونده گان در اولویت‌های کاری این رسانه قرار دارد.
اسکیم یک زبان برنامه‌نویسی تابعی است که از چندین پارادایم مثل پارادایم تابعی و دستوری پشتیبانی می کند. این زبان یکی از سه ویش های لیسپ در کنار Common Lisp و Clojure می باشد. برعکس Common Lisp، اسکیم از فلسفه طراحی حداقل گرا استفاده می کند، بر اساس این فلسفه هسته استاندارد باید کوچک باشد، ضمن این که برای توسعه زبان ابزار های قدرتمندی را دارا باشد.
اسکیم در طول دهه ۷۰ در آزمایشگاه هوش مصنوعی دانشگاه MIT توسط توسعه دهندگانش، Guy L. Steele و Gerald Jay Sussman به وسیلهٔ یک سری از یادداشت‌ها که حالا به عنوان مقالات لاندا شناخته می‌شوند توسعه و انتشار داده شد. این زبان از اولین زبان‌های برنامه‌نویسی بود که از تداوم کلاس اول پشیبانی می‌کند. تأثیر قابل توجهی بر تلاشی که منجر به توسعه Lisp رایج شد داشت.
زبان اسکیم در استاندارد IEEE رسمی استانداردسازی شده‌است1178-1990 (Reaff 2008) IEEE Standard for the Scheme Programming Language. IEEE part number STDPD14209, unanimously reaffirmed at a meeting of the IEEE-SA Standards Board Standards Review Committee (RevCom), March 26, 2008 (item 6.3 on minutes), reaffirmation minutes accessed October 2009. NOTE: this document is only available for purchase from IEEE and is not available online at the time of writing (2009). و عملاً استانداردی که گزارش تجدید نظر در طرح زبان الگوریتمی اسکیم (RnRs) نامیده می‌شود. بزرگترین استاندارد پیاده‌سازی شده R5RS است (۱۹۹۸); یک استاندراد جدید، R6RS، در سال ۲۰۰۷ تصویب شده‌است.اسکیم پایه کاربری متنوعی را به دلیل فشردگی و ظرافت دارد، اما فلسفه حداقل گرای آن باعث واگرایی میان پیاده‌سازی‌های کاربردی آن شده‌است، به‌طوری‌که کمیته فرمان اسکیم آن را «سیار ترین زبان برنامه‌نویسی» و «یک خانواده از گویش ها» می‌نامد تا یک زبان برنامه‌نویسی تنها.
اسکیم در دهه ۷۰ به عنوان تلاشی برای فهمیدن مدل بازیگر Carl Hewitt، برای قصدی که Steele و Sussmanدر "مفسر کوچک Lisp" با استفاده از Maclisp نوشتند و بعد از آن "مکانیزم‌های افزوده شده برای ساختن بازیگرها و ارسال پیام هاً شروع شد. اسکیم در اصل و به رسم دیگر زبان‌های مشتق شده از Lisp مانند Planner یا Connover , "schemer" نامیده می‌شد. نام حال حاضر نتیجه از استفاده نویسندگان از سیستم عامل ITS است، که نام فایل‌ها را به دو بخش از که هر کدام حد اکثر شش کارکتر می‌پذیرند سات. در حال حاضر، "Schemer" برای اشاره به برنامه‌نویس اسکیم استفاده می‌شود.
اسکیم در درجه اول یک زبان برنامه‌نویسی تابعی است. این زبان، ویژگی‌های بسیاری را با دیگر زبان‌های خانواده زبان لیسپ (Lisp) دارد. نحو بسیار ساده اسکیم بر پایهٔ عبارات، لیست‌های پرانتزی است که در آن یک عملگر پیشوند با آرگومانهایش دنبال می‌شود. بدین ترتیب، برنامه‌های اسکیم شامل دنبالهٔ لیست‌های تو در تو است. لیست‌ها همچنین، ساختار اصلی داده‌ها در اسکیم هستند، که منجر به یک هم‌ارزی نزدیک بین کد منبع و فرمت‌های داده (homoiconicity) می‌شود. برنامه‌های اسکیم می‌توانند به راحتی بخش‌های کد اسکیم را به صورت پویا ایجاد و ارزیابی کنند.
وابستگی به لیست‌ها به عنوان ساختار داده‌ها بین همه لهجه‌های لیسپ وجود دارد. اسکیم، یک مجموعه غنی از اولویت‌های پردازش لیست از جمله "cons", "car" و "cdr" را از نمونه‌های قدیمی تر لیسپ (اجداد لیسپ) به ارث می‌برد. اسکیم به شدت اما به صورت پویا از متغیرهای تایپ شده‌استفاده می‌کند و از رویه‌های (procedures) کلاس اولیه پشتیبانی می‌کند؛ بنابراین، رویه‌ها را می‌توان به عنوان مقادیر به متغیرها یا آرگومان‌ها تعیین نمود.
این بخش به‌طور عمده بر ویژگی‌های نوآورانه این زبان تمرکز می‌کند، از جمله ویژگی‌هایی که اسکیم را از سایر لیسپ‌ها متفاوت می‌کند. همچنین به جز موارد ذکر شده، توصیف ویژگی‌های مربوط به استاندارد R5RS.
"در نمونه‌هایی که در این بخش ارائه شده است، از علامت "(نتیجه) result ===>"، برای نشان دادن نتیجهٔ ارزیابی عبارت خط ماقبل استفاده می‌شود. این همان قرارداد استفاده شده در R5RS است."
این بخش، آن ویژگی‌های اسکیم را توصیف می‌کند که آن را از دیگر زبان‌های برنامه‌نویسی (از همان ابتدا) متمایز می‌کند. این‌ها جنبه‌هایی از اسکیم هستند که بیشترین تأثیر را بر هر محصول زبان اسکیم دارند، و جنبه‌هایی هستند که تمامی نسخه‌های نسخه‌های زبان برنامه‌نویسی اسکیم، از سال ۱۹۷۳ به بعد، آن را دارا هستند.
اسکیم یک زبان بسیار ساده است، بسیار آسان‌تر از خیلی از زبان‌های قابل مقایسه دیگر (از نظر قدرت بیان) پیاده‌سازی می‌شود.The Scheme 48 implementation is so-named because the interpreter was written by Richard Kelsey and Jonathan Rees in 48 hours (August 6th – 7th, 1986. See Richard Kelsey; Jonathan Rees; Mike Sperber (2008-01-10). "The Incomplete Scheme 48 Reference Manual for release 1.8". Jonathan Rees, s48.org. Retrieved 2012-08-09. این سهولت را می‌توان به استفاده از محاسبات لامبدا تا بسیاری از نحو این زبان، از فرم‌های ابتدایی تر نسبت داد. به عنوان مثال از ۲۳ ساختار نحوی مبتنی بر عبارات s در استاندارد R5RS، ۱۱ تا به عنوان فرم مشتق یا فرم کتابخانه‌ای طبقه‌بندی شده‌اند، که می‌تواند به صورت ماکروی شامل اشکال اساسی بیشتر، به ویژه لامبدا نوشته شود. همان‌طور که R5RS عنوان می‌کند (R5RS بخش ۳٫۱): «اساسی‌ترین ساختارهای انقیاد متغیر عبارات لامبدا است، زیرا تمام دیگر ساختارهای انقیاد متغیر را می‌توان به شکل عبارات لامبدا توضیح داد.»Richard Kelsey; William Clinger; Jonathan Rees; et al. (August 1998). "Revised5 Report on the Algorithmic Language Scheme". Higher-Order and Symbolic Computation. 11 (1): 7–105. doi:10.1023/A:1010051815785. Retrieved 2012-08-09.
فرم‌های بنیادی: define, lambda, if, quote, unquote, unquote-splicing, quasiquote, define-syntax, let-syntax, letrec-syntax, syntax-rules, set!
فرم‌های کتابخانه ای: do, let, let*, letrec, cond, case, and, or, begin, named let, delay
مثال: یک ماکرو برای پیاده‌سازی به عنوان یک عبارت لامبدا برای اجرای انقیاد متغیر.
بنابراین استفاده از "let" مانند بالا، پیاده‌سازی اسکیم عبارت "(let ((a 1)(b 2)) (+ b a))" را به عنوان "((lambda (a b) (+ b a)) 1 2)" بازنویسی می‌کند، که کار پیاده‌سازی را به نمونه رویه‌های کدنویسی کاهش می‌دهد.
در ۱۹۹۸، ساسمَن و استیل اشاره کردند که اسکیمِ مینیمالیسم یک هدف طراحی آگاهانه نخواهد بود، بلکه به نوعی نتیجهٔ ناخواسته فرایند طراحی است. «ما در واقع تلاش می‌کردیم چیزی پیچیده و کشف شده را بسازیم، که به‌طور تصادفی چیزی ساختیم که تمام اهداف ما را دربر گرفته بود اما خیلی ساده‌تر از آنچه ما قبلاً در نظر داشتیم. ما متوجه شدیم که محاسبات لامبدا _ یک فرمالیزم ساده و کوچک _ می‌تواند به عنوان هستهٔ یک زبان برنامه‌نویسی قوی و با معنا به کار رود.»Gerald Jay Sussman and Guy L. Steele, Jr. (December 1998). "The First Report on Scheme Revisited" (PDF). Higher-Order and Symbolic Computation. 11 (4): 399–404. ISSN 1388-3690. doi:10.1023/A:1010079421970. Retrieved 2012-08-09.
همانند بسیاری از زبان‌های برنامه‌نویسی مدرن و برخلاف لیسپ‌های قدیمی تر مانند ماکلیسپ(Maclisp)، اسکیم به صورت واژگانی محدود می‌شود (= در scope قرار می‌گیرد): تمام انقیاد متغیرهای ممکن در یک واحد برنامه می‌تواند با خواندن متن یک واحد برنامه بدون در نظر گرفتن مفاد آن تحلیل کند. این در مقایسه با محدوده پویایی (dynamic scope) است که مشخصه گویش‌های اولیه لیسپ بود؛ به دلیل هزینه‌های پردازش مرتبط با روش‌های جایگزینی متنی اولیه استفاده شده برای پیاده‌سازی الگوریتم‌های محدوده لغوی (Lexical Scoping) در کامپایلرها و مفسران روز. در آن لیسپ‌ها، برای یک مرجع متغیر آزاد درون یک رویه، کاملاً امکان‌پذیر بود که به انقیادهای کاملاً مجزا خارج از رویه (بسته به فراخوانی) منتسب نماید.
انگیزهٔ ترکیب محدوده لغوی(lexical scoping)، که در اوایل دهه ۱۹۷۰ یک مدل محدوده غیرمعمول بود، به نسخه جدیدی از لیسپ، از مطالعات ساسمَن در مورد زبان الگول (ALGOL) نشئت گرفت. او پیشنهاد کرد که مکانیزم‌های محدوده لغوی مشابه الگول کمک می‌کند تا هدف اولیه خود از اجرای مدل بازیگر هِویت (Hewitt’s Actor) در لیسپ را تحقق ببخشند. بینش کلیدی در چگونگی معرفی محدوده لغوی به یک گویش لیسپ، در مقاله لامبدای ساسمَن و استیل ۱۹۷۵ شهرت یافت؛ «اسکیم: یک مفسر برای محاسبات گسترده لامبدا»، که در آن، آن‌ها مفهوم بستار لغوی را تصویب کردند؛ (در صفحه ۲۱)، که در یک یادداشت هوش مصنوعی از جوئل موسِز کسی که این ایده را به پیتر ج لَندین نسبت داده، شرح داده شده بود.Joel Moses (June 1970), The Function of FUNCTION in LISP, or Why the FUNARG Problem Should Be Called the Environment Problem (PDF), AI Memo 199, retrieved 2012-08-09, A useful metaphor for the difference between FUNCTION and QUOTE in LISP is to think of QUOTE as a porous or an open covering of the function since free variables escape to the current environment. FUNCTION acts as a closed or nonporous covering (hence the term "closure" used by Landin). Thus we talk of "open" Lambda expressions (functions in LISP are usually Lambda expressions) and "closed" Lambda expressions. [...] My interest in the environment problem began while Landin, who had a deep understanding of the problem, visited MIT during 1966-67. I then realized the correspondence between the FUNARG lists which are the results of the evaluation of "closed" Lambda expressions in LISP and ISWIM's Lambda Closures.
نشانه ریاضیاتی آلونزو چِرچ (Alonzo Church)، محاسبات لامبدا، الهام بخش استفاده از «لامبدا» به عنوان یک کلید واژه برای معرفی رویه، همچنین تأثیر در توسعه تکنیک‌های برنامه‌نویسی تابعی شامل استفاده از توابع درجه بالاتر در لیسپ می‌باشد. اما لیسپ‌های ابتدایی تر، عبارات مناسبی از محاسبات لامبدا نبودند؛ به دلیل رفتار متغیرهای آزادش.
معرفی محدوده لغوی، مسئله را با ایجاد همبستگی (هم‌ارزی) میان برخی اَشکال لامبدا و بیان عملی آن‌ها در یک زبان برنامه‌نویسی کارا حل کرده‌است. ساسمَن و استیل نشان دادند که زبان جدید می‌تواند برای استنتاج تمام معانی اِخباری و دستوری زبان‌های برنامه‌نویسی دیگر مانند الگول و فرترن و محدوده پویا دیگر لیسپ‌ها، با استفاده از عبارات لامبدا، نه به عنوان رویه ساده، بلکه به عنوان «ساختارهای کنترل و اصلاح‌کننده‌های محیط» استفاده شود. آن‌ها شیوهٔ continuation-passing را همراه با اولین توصیف اسکیم در اولین مقالات لامبدا معرفی کردند و در مقالات بعدی، قدرت استفاده عملی محاسبات لامبدا را نشان دادند.
اسکیم، ساختار بلوکی خود را از زبان‌های با ساختار بلوکی قدیمی تر به ارث برده است، به ویژه الگول. در اسکیم، بلوک‌ها با ۳ ساختار انقیاد پیاده‌سازی می‌شود: “let”، “let*” و “letrec”. برای مثال، ساختار زیر یک بلوک ایجاد می‌کند که در آن یک نماد به نام var به شماره ۱۰ محدود می‌شود:
بلوک‌ها می‌توانند تو در تو باشند تا ساختار بلوکی پیچیدهٔ دلخواه با توجه به نیاز برنامه‌نویس ایجاد نماید. استفاده از ساختار بلوک برای ایجاد انقیادها، خطر برخورد فضای نام را کاهش می‌دهد که در غیر این صورت ممکن است اتفاق بیفتد. (در شرایط عدم استفاده از ساختار بلوک)
یک نوع از “let” و “let*”، اجازه انقیادها را می‌دهد تا به متغیرهای تعریف شده قبلی در همان ساختار ارجاع دهد؛ بنابراین:
نوع دیگر، “letrec”، طراحی شده تا رویه‌های بازگشتی دوگانه را قادر سازد به یکدیگر بسته شوند.
تمامی رویه‌های محدود در یک “letrec”، می‌توانند با نام به دیگری اشاره کنند، همچنین مقادیر متغیرهایی که قبلاً در همان “letrec” تعریف شدند، اما ممکن است به مقادیر تعریف شده بعدی در همان “letrec” اشاره نکنند.
یک نوع از “let”، فرم "named let"، یک شناسه پس از کلیدواژهٔ “let” دارد. این متغیرهای "let" را به آرگومان‌های یک رویه که نامش همان "شناسهٔ داده شده" و بدنه آن همان بدنه فرم "let" است، به هم می‌پیوندد (مقید می‌کند). بدنه می‌تواند با فراخوانی رویه، به دلخواه تکرار شود. "named let" به‌طور گسترده‌ای برای پیاده‌سازی تکرار استفاده می‌شود.
مثال: یک شمارنده ساده
مانند هر رویه در اسکیم، رویه ایجاد شده در “named let”، یک شی کلاس اول است.
برای جزئیات بیشتر در این موضوع، بازگشت دنباله را ببینید.
اسکیم یک ساختار تکرار دارد، اما استفاده از بازگشت دنباله بیشتر اصطلاحی است. پیاده‌سازی استاندارد اسکیم برای بهینه‌سازی فراخوانی‌های دنباله به منظور پشتیبانی از تعداد نامحدودی از فراخوانی‌های فعال دنباله مورد نیاز هستند(R5RS بخش ۳٫۵). یک ویژگی که اسکیم به عنوان بازگشت دنباله مناسب توصیف می‌کند _ و آن را برای برنامه نویسان اسکیم برای نوشتن الگوریتم‌های تکراری با استفاده از ساختارهای بازگشتی آسان‌تر می‌کند، که بعضی اوقات بیشتر بصری و حسی هستند. رویه‌های بازگشت دنباله و فرم “named let”، از خاصیت «تکرار» با استفاده از بازگشت دنباله
پشتیبانی می‌کنند.
===> (0 1 4 9 16 25 36 49 64 81)
این زیربخش تصمیم‌های طراحی را مستند می‌کند که در طول سال‌ها به اسکیم یک شخصیت خاص داده‌اند، اما نه از نتایج اصلی طراحی.
اسکیم یک مجموعه نسبتاً کامل از نوع داده‌های عددی را شامل انواع پیچیده و منطقی مشخص می‌کند که در اسکیم به عنوان برج عددی شناخته می‌شوند. (R5RS sec. 6.2).. این استاندارد، یا این‌ها مانند انتزاع برخورد می‌کند، و پیاده‌ساز را به هیچ نمایش خاص داخلی متعهد نمی‌کند. اعداد ممکن است کیفیت دقیق بودن را داشته باشند. یک عدد دقیق تنها می‌تواند توسط یک دنباله از عملیات دقیق که با دیگر اعداد دقیق درگیر هستند تولید شود—بنابریان نادقیق بودن واگیری است. استاندارد مشخص می‌کند که هر یک از دو پیاده‌سازی باید نتایج یکسانی را برای تمام عملیات بر روی اعداد دقیق داشته باشند.
استاندارد R5RS، روال exact->inexact و inexact->exact را مشخص می‌کند که می‌تواند در تغییر دقیق بودن یک عدد مورد استفاده قرار گیرد. رویه inexact->exact «عدد دقیقی که از لحاظ عددی نزدیکترین به آرگومان است» را تولید می‌کند. رویه exact->inexact «عدد نادقیق که از لحاظ عددی به آرگومان نزدیکترین است» را تولید می‌کند. استاندارد R6RS این رویه‌ها را از گزارش اصلی حذف می‌کند، اما آن‌ها را به عنوان رویه‌های سازگار R5RS در کتابخانه استاندارد مشخص می‌کند (rnrs r5rs (6)). در استاندارد R5RS، پیاده‌سازی‌های اسکیم نیاز به پیاده‌سازی کل برج عددی ندارند، بلکه آن‌ها باید «یک زیر مجموعه منسجم شامل هردوی مقصود پیاده‌سازی و روح زبان اسکیم» را پیاده‌سازی کنند. (R5RS sec. 6.2.3).. استاندارد R6RS جدید نیاز به پیاده‌سازی تمام برج دارد، و «شی‌های عدد صحیح دقیق و شی‌های عدد منطقی دقیق از عملاً اندازه نامحدود و دقت، و پیاده‌سازی کردن رویه‌های مخصوص… که آن‌ها همیشه نتایج دقیقی را هنگامی که آرگومان‌های دقیق به آن‌ها می‌دهیم بازمی‌گردانند» (R6RS sec. 3.4, sec. 11.7.1).
مثال ۱: ریاضیات دقیق در یک پیاده‌سازی که اعداد پیچیده منطقی دقیق را پشتیبانی می‌کند.
مثال ۲: همان ریاضی در یک پیاده‌سازی که هیچ‌یک از اعداد منطقی یا پیچیده را پشتیبانی نمی‌کند ما اعداد حقیقی را در نشانه منطقی می‌پذیرد:
هر دو پیاده‌سازی با استاندارد R5RS تأیید می‌شوند اما دومی با استاندارد R6RS تأیید نمی‌شود زیرا تمام برج اعداد را پیاده‌سازی نکرده‌است.
همچنین ببینید: Lazy evaluation
اسکیم ارزیابی تأخیر را پشتیبانی می‌کند در قالب delay و رویه force.
متن نحوی تعریف اصلی از قول حفظ شده‌است، و ارزش آن نیز پس از استفاده از force حفظ شده‌است. قول تنها یکبار ارزیابی می‌شود. این نخستین‌ها، که مقادیر شناخته را یه عنوان قول تولید یا رسیدگی می‌کنند، می‌توانند برای ساختارهای پیاده‌سازی ارزیابی تنبل پیشرفته مانند جریان‌ها [۲۰] استفاده شوند. در استاندارد R6RS، این‌ها دیگر اولیه نیستند، اما در عوض، به عنوان بخشی از کتابخانه سازگاری R5RS (rnrs r5rs (6)) فراهم می‌شوند. در R5RS، یک پیاده‌سازی پیشنهاد شده از delay و force، پیاده‌سازی قول به عنوان یک رویه بدون آرگومان (یک تانک) و استفاده از یادداشت برداری برای اطمینان از این که تنها یکبار ارزیابی صورت گرفته‌است، صرف نظر از تعداد دفعاتی که force صدا زده می‌شودد (R5RS sec. 6.4).[3] داده می‌شود. SRFI 41 اصطلاح هر دوی دنباله‌های محدود و نامحدود را با صرفه جویی خارق‌العاده‌ای توانمند می‌کند. برای مثال، این یک تعریف از دنباله فیبوناچی با ساتفاده از توابع تعریف شده در SRFI 41:[20] است.
===> 218922995834555169026
بیشتر Lispها یک ترتیب را بای ارزیابی آرگومان‌های رویه مشخصی می‌کنند. ترتیب ارزیابی‌ها—شامل ترتیب در اینکه عبارت‌ها در موقعیت عملیات ارزیابی شده‌اند—ممکن است توسط یک پیاده‌سازی روی یک پایه فراخوانی-بوسیله-فراخوانی انتخاب شده باشد، و تنها محدودیت این است که "تاثیر هرکدام از ارزیابی‌های موازی عبارات عملگر و عمولند، محدود است تا با برخی دنباله ترتیب ارزیابی استوار شود." (R5RS sec. 4.1.3)[3]
Ev یک رویه است که آرگومان‌های داده شده به آن را بررسی می‌کند، سپس مقدار آن را برمی‌گرداند. در تضاد با Lispهای دیگر، ظاهر یک عبارت در در موقعیت عملگر (اولین گزینه) از یک عبارت اسکیم، تا زمانی که نتیجه عبارت یک رویه در یک موقعیت عملکر دیگر است، کاملاً قانونی است.
در فراخوانی رویه "+" برای جمع ۱ و ۲، عبارت (ev +), (ev 1) و (ev 2) ممکن است تا زمانی که ارزیابی موازی آن‌ها بر روی هم تأثیری نداشته باشند، بدون هیچ ترتیبی ارزیابی شوند؛ بنابراین این سه خط که در ادامه آورده شده‌است، ممکن است در هیچ ترتیبی توسط استاندارد اسکیم زمانی ه کد مثال بالا اجرا می‌شود نمایش داده نشوند، اگرچه متن یک خط ممکن است با دیگر عوض نشده باشد بخاطر اینکه ممکن است دنباله تمرکز ارزیابی را نقص کند.
ارزیابی ۱
ارزیابی ۲
ارزیابی رویه
مقاله اصلی: Hygienic macro
در استاندارد R5RS و همچنین گزارش‌های بعد از آن، نحو اسکیم می‌تواند به آسانی توسط سیستم‌های ماکرو مشتق شود. استاندارد R5RS یک ماکرو بهداشتی قدرتمند را معرفی می‌کند که به برنامه نویسان اجازه می‌دهد تا ساختار نحوی جدید را به زبان با استفاده از الگوهای ساده که با زیرزبان همخوانی دارد اضافه کنند. (R5RS sec 4.3).[3]. با توجه به این، سیستم ماکرو بهداشتی به یک ضمیمه از استاندارد R4RS، یه عنوان یک سیستم سطح بالا همراه با سطح با سیستم ماکرو سطح پایین کاهش یافته‌است، که با هر دوی آن‌ها مانند افزونه‌هایی به اسکیم رفتار می‌شود تا یک بخش ضروری از زبان [۲۱].
پیاده‌سازی سیستم بهداشتی ماکرو، که همچنین syntax-rules نیز می‌گویند، باید دامنه نحوی باقی‌مانده زبان را رعایت کنند؛ که این کار با یک نام‌گذاری خاص و قواعد دامنه برای گسترش ماکرو و اجتناب از خطاهای برنامه‌نویسی رایج که می‌توانند در سیستم ماکرو دیگر زبان‌های برنامه‌نویسی رخ بدهند، خاطر جمع می‌شود. R6RS سیستم‌های تحول پیچیده بیشتری را مشخص می‌کند، syntax-case، که به عنوان یک افزونه برای اسکیم R5RS برای مدتی موجود بوده‌است.
دعوت‌ها از ماکروها و رویه‌ها یک شباهت نزدیک دارند – هر دو s-عبارت هستند—اما با آن‌ها متفاوت رفتار می‌شود. وقتی کامپایلر به یک s-عبارت در برنامه برخورد می‌کند، اول چک می‌کند تا بفهمد که آیا علامت به عنوان یک کلید نحوی درون دامنه نحوی حال حاضر قرار دارد یا خیر. اگر قرار دارد، سپس تلاش می‌کند تا ماکرو را گسترش دهد، با گزینه‌های دنباله s-عبارت مانند آرگومان‌ها بدون کد کامپیایل برای ارزیابی کردن رفتار می‌کند، و این فرایند به صورت بازگشتی تکرار می‌شود تا هیچ ماکرو دعوت دیگری باقی نماند. اگر یک کلید نحوی نباشد، کامپایلر کد را برای ارزیابی آرگومان درون دنباله s-عبارت و سپس ارزیابی متغیر معرفی شده توسط علامت در هد s-عبارت کامپایل می‌کند و آن را به عنوان یک رویه با دنباله ارزیابی عبارات با آرگومان‌های واقعی برای آن‌ها فراخوانی می‌کند.
بیشتر پیاده‌سازی‌های اسکیم همچنین سیستم‌های ماکرو اضافی ارائه می‌دهند. میان آنها، محبوب ترین‌ها syntactic closures, explicit renaming macros و define-macro یک ماکرو سیستم غیر بهداشتی شبیه به سیستم فراهم شده در Lisp رایج هستند.
با توجه به R5RS، اسکیم هیچ استانداردی برای رویه ارزیابی که در همه Lispهای دیگر وجود دارد، ندارد، اگرچه اولین مقاله لامبدا ارزیابی را "شبیه به تابع ارزیابی Lisp" توصیف کرده بود. [۱۶] و اولین گزارش تجدید نظر شده در ۱۹۷۸ آن را با enclose عوض کرد، که دو آرگومان را می‌گیرد. دومی، سومی و چهارمین گزارش تجدید نظر شده، هر گونه معادل بودن ارزیابی را حذف کردند.
دلیل این گیجی این است که در اسکیم با دامنه نحوی نتایج ارزیابی یک عبارت بستگی به جایی دارد که ارزیابی می‌شود. برای مثال، واضح نیست که نتیجه از ارزیابی عبارت زیر باید ۵ باشد یا 6: [22]
اگر در محیط بیرونی تر ارزیابی شود، جایی که name تعریف شده‌است، نتیجه جمع عملگر هاست. اگر در محیط درونی ارزیابی شود، جایی که علامت "+" است، نتیجه ضرب دو عملگر خواهد بود.
R5RS این گیجی را با استفاده از مشخص کردن سه رویه که محیطها را باز میگردانندو فراهم کردن یک رویه ارزیابی که یک s-عبارت و یک محیط را می‌گیرد و عبارت را درمحیط فراهم شده ارزیابی می‌کند حل می‌کند. (R5RS sec. 6.5)[3]. R6RS این را به وسیلهٔ فراهم کردن یک رویه به نام environment که یک برنامه‌نویس می‌تواند دقیقاً مشخص کند کدام شی‌ها را وارد به محیط ارزیابی وارد کند مشتق می‌کند.
در بسیاری از لهجه‌های Lisp، شامل Lisp رایج، با قرار دادن مقدار NIL در یک مقدار در یک عبارت بول، آن را غلط تعیین می‌کنند. در اسکیم از زمان استاندارد IEEE در ۱۹۹۱، [۲] تمام مقادیر بجز #f، شامل NILهای معادل در اسکیم که مانند '() نوشته می‌شوند، به عنوان مقدار درست در عبارات بول ارزیابی می‌شوند. (R5RS sec. 6.3.1)[3]
از آنجا که در بیشتر Lispها مقدار صحیح T می‌باشد، ثابتی که مقدار درست را در اسکیم نمایندگی می‌کند با #T نشان می‌دهیم.
در اسکیم نوع داده‌های اولیه غیرقابل ترکیب هستند. تنها یکی از پیش بینی‌های زیر از یک شی اسکیم می‌تواند درست باشد : boolean?, pair?, symbol?, number?, char?, string?, vector?, port?, procedure?. (R5RS sec 3.2)[3]
درون نوع داده‌های عددی، به وسیله تضاد، مقادیر عددی همپوشانی می‌کنند. برای مثال، یک عدد صحیح تمامی انواع زیر را در یک زمان راضی می‌کند : integer?, rational?, real?, complex? و number?. (R5RS sec 6.2)[3]
همچنین بینید: relational operator
سه نوع تعادل میان شی‌های خودسرانه در اسکیم وجود دارد که با سه روش معادله اساسی مختلف، عملگرهای ارتباطی برای امتحان کردن تساوی eq?, eqv? و equal? مشخص شده‌اند:
- eq? به #f ارزیابی می‌شود مگر اینکه پارامترهایش نماینده داده یکسان در حافظه باشند؛ eqv? در کل شبیه به همان eq? است اما با داد ه‌های اولیه کار می‌کند (مانند کاراکترها و اعداد) خصوصااعدادی که همان مقداری که را نمایندگی می‌کنند که eqv? هستند حتی اگر به همان شی اشاره نکنند.
- equal? دو ساختار داده را مانند لیست‌ها، بردارها و رشته‌ها مقایسه می‌کند تا مشخص شود آن‌ها ساختار متضاد و محتوای eqv? دارند. (R5RS sec. 6.1)[3]
وابستگی عملیات داده همچنین در اسکیم نیز وجود دارد: string=? و string-ci=? دو رشته را مقایسه می‌کنند (دومی یک مقایسه وابسته به بزرگی و کوچکی حروف را انجام می‌دهد); char=? و char-ci=?دو کاراکتر را مقایسه می‌کنند؛ = دو عدد را مقایسه می‌کند. [۳]
همچنین ببینید: Comment (computer programming)
براساس استاندارد R5RS، پیام استاندارد در اسکیم یک نقطه ویرگول بود، که بقیه خط‌ها را برای اسکیم نامریی می‌کرد. بسیار از پیاده‌سازی‌ها کنوانسیون‌های اجازه دهنده به پیام‌گذاری را پشتیبانی می‌کنند که برای بیش از یک خط باشد، و استاندارد R6RS هر دوی آن‌ها را اجازه می‌دهد: یک s-عبارت می‌تواند تماماً با یک علامت #; به یک پیام تبدیل شود و یک دامنه پیام می‌تواند با احاطه شدن توسط علامت‌های #| و |# تولید شود.
ورودی و خروجی اسکیم بر درگاه نوع داده بنا شده‌است. (R5RS sec 6.6)[3]. R5RS دو درگاه پیش‌فرض قابل دستیابی بت رویه‌های current-input-port و current-output-port را تعریف می‌کند، که با مفاهیم ورودی استاندارد و خروجی استاندارد در یونیکس مطابق دارند. بیشتر پیاده‌سازی‌ها current-error-port را نیز فراهم می‌آورند. تغییر مسیر ورودی و خروجی استاندارد در استاندارد، به وسیلهٔ رویه‌های استاندارد مانند with-input-from-file و with-output-to-file پشتیبانی می‌شود. بیشتر پیاد هسازی‌ها درگاه‌های رشته را با قابلیت‌های شبیه به تغییر مسیر، توامند کردن بسیاری از عملیات ورودی-خروجی که به جای فایل بافر باشند را به وسیلهٔ رویه توصیف شده در SRFI 6.[24] فراهم می‌آورند. استاندارد R6RS رویه‌های درگاه پیچیده‌تر و تواناتر و بسیاری دیگر از انواع جدید درگاه را فراهم می‌آورند. مثال‌های زیر در R5RS سختگیرانه اسکیم نوشته شده‌اند.
مثال ۱: با خروجی پیشفرض به جریان خروجی درگاه
مثال ۲: مانند ۱، اما با استفاده از آرگومان درگاه اختیاری به رویه خروجی
مثال ۳: مانند ۱، اما خروجی به یک فایلی که جدید ساخته شده‌است منتقل شده
مثال ۴: مانند ۲، اما با بازکردن و بستن درگاه صریح فایل به ارسال خروجی به فایل
مثال ۵: مانند ۲، اما با ستفاده از فراخوانی-با-فایل-خروجی به ارسال خروجی به فایل
رویه‌های مشابه برای ورودی فراهم شده‌اند. R5RS مسندهای input-port? و output-port? فراهم می‌کند. برای ورودی و خروجی کاراکتر write-char, read-char, peek-char و char-ready? فراهم شده‌اند. برای خواندن و نشوتن عبارات اسکیم، اسکیم read و write را فراهم کرده‌است. در یک عملیات خواندن، نتیجه باگردانده شده پایان-شی-فایل است اگر درگاه ورودی به آخر فایل رسیده باشد، و این می‌تواند توسط مسند eof-object? آزماش شود.
علاوه بر استاندارد، SRFI 28 یک فرمت پایه تعریف شده شبیه به تابع فرمت لیسپ رایج، بعد از اینکه نامگذاری شد را تعریف می‌کند. [۲۵]
در اسکیم رویه‌ها محدود به متغیرها هستند. در استاندارد R5RS زبان کاملاً مجاز است که اتصالات ساخته شده طی رویه متغیر را تغییر دهد، و به‌طور مؤثر آن‌ها را بازتعریف کند. (R5RS "تغییرهای زبان")[۳]. برای مثال، ممکن است + را طوری گسترش دهد که رشته را قبول کند همان‌طور که برای اعداد عمل می‌کند:
در R6RS هر اتصال، شامل اتصالات استاندار، به یک کتابخانه تعلق دارند و تمامی اتصالات خروجی تغییرناپذیر هستند. (R6RS sec 7.1)[4]. به همین خاطر، بازتعریف رویه‌های استاندارد به وسیله جهش ممنوع است. در عوض، این امکان وجود دارد که رویه‌های مختلف تحت نام‌های رویه‌های استاندارد وارد شوند، که اثر آن شبیه به بازتعریف است.
بررسی رویه‌ها و فرم‌های استاندارد
زبان رسمی در استانداردهای R5RS (1998) و R6RS (2007) تعریف شده‌است. آن‌ها یک «فرم» استاندارد توصیف می‌کنند: کلمات کلیدی و نحو همراه، که ساختار کنترل زبان را ارائه می‌دهند و رویه‌های استاندارد که کارهای معمول را انجام می‌دهند.
این جدول فرم‌ها و اَشکال استاندارد در اسکیم را توصیف می‌کند. بعضی از فرم‌ها در بیش از یک ردیف ظاهر می‌شوند زیرا آن‌ها به راحتی نمی‌توانند به یک تابع در زبان طبقه‌بندی شوند. فرم‌ها با نماد "L" در این جدول به عنوان فرم‌های "کتابخانه" طبقه‌بندی شده و اغلب با استفاده از فرم‌های بنیادی تر به عنوان ماکروها پیاده‌سازی می‌شوند؛ که باعث می‌شود وظیفه پیاده‌سازی بسیار ساده‌تر از سایر زبان‌ها شود.
فرم‌های استاندارد در زبان اسکیم R5RS
توجه داشته باشید که “begin” به عنوان یک نحو کتابخانه در R5RS تعریف می‌شود، اما توسعه دهنده باید برای دستیابی به قابلیت پیوند، در مورد آن بداند. در R6RS، دیگر یک نحو کتابخانه نیست.
دو جدول زیر رویه‌های استاندارد در اسکیم R5RS را توصیف می‌کند. R6RS بسیار گسترده‌تر است و خلاصه‌ای از این نوع هم کارا نخواهد بود.
بعضی رویه‌ها در بیشتر از یک خط ظاهر می‌شوند زیرا به راحتی نمی‌توانند به یک تابع در زبان طبقه‌بندی شوند.
رویه‌های استاندارد در زبان اسکیم R5RS
رویه‌های کاراکتری و رشته‌ای که "-ci" را در نام خود دارند، مقایسه‌های مستقل موردی بین آرگومانهایشان انجام می‌دهند: نسخهٔ حروف بزرگ و حروف کوچک از یک کاراکتر یکسان، برابر خواهد بود.
رویه‌های عددی استاندارد در زبان اسکیم R5RS
پیاده‌سازی – و / که بیش از دو آرگومان را تعریف می‌کند اما در R5RS اختیاری است.
به دلیل کوچک‌سازی طرح، بسیاری از رایج‌ترین روش‌ها و صورت‌های نحوی به وسیله استاندارد تعریف نمی‌شود. به منظور کوچک نگهداشتن زبان هسته‌ای (اصلی) اما استانداردسازی پسوندها، جامعه طرح دارای درخواست طرح برای فرایند اجراست (srfi) که بدان وسیله مجموعه‌های پسوند از طریق بحث دقیق طرح‌های پیشنهادی پسوند تعریف می‌شوند. این امر قابلیت انتقال کد را افزایش می‌دهد. بسیاری از srfiها به وسیلهٔ همه اجراها تا بیشتر اجراهای طرح پشتیبانی می‌شوند. برخی srfiهایی که دارای پشتیبانی نسبتاً گسترده در اجراهای متفاوت هستند، شامل موارد زیر می‌باشند:"Scheme Systems Supporting SRFIs". The SRFI Editors, schemers.org. 2009-08-30. Retrieved 2012-08-09. , https://srfi.schemers.org/srfi-implementers.html
-ساخت پسوند شرطی مبتنی بر ویژگی
-مجموعه فهرست
-انواع داده‌های برداری عددی همگن
-پورت رشته اولیه
-دریافت و پیوند با مقادیر متعد
-تعریف انواع ثبت
-مجموعه رشته
دسته اصلی:
طراحی کمینه و ظریف اسکیم را به یک هدف محبوب برای طراحان زبان، دنبال کنندگان سرگرمی و آموزنده‌ها تبدیل کرده‌است و بخاطر اندازه کوچکش به دلیل مفسر کوچک، همچنین یک انتخاب محبوب برای سیستم‌های جاسازی شده و اسکریپتی است. این نتیجه از امتیازات پیاده‌سازی بدست آمده‌است.75 known implementations of Scheme are listed by "scheme-faq-standards". Community Scheme Wiki. 2009-06-25. Retrieved 2009-10-20. که بسیاری از آن‌ها با هم متفاوت هستند بنابرین حمل برنامه‌ها از یک پیاده‌سازی به پیاده‌سازی‌های دیگر کاملاً دشوار است و اندازه وچک زبان استاندارد به این معناست که نوشتن یک برنامه مفید با هر پیچیدگی دراسکیم استاندارد و قابل حمل تقریباً غیرممکن است. استاندارد R6RS یک زبان خیلی گسترده‌تر را طی تلاشی برای گسترده‌تر کردن درخواست‌های برنامه نویسانش مشخص می‌کند. تقریباً تمامی پیاده‌سازی یک حالت-لیسپ سنتی حلقه خواندن-ارزیابی-چاپ را برای توسعه و خطایابی ارائه می‌دهند. همچنین اغلب، برنامه‌های اسکیم را به اتصالات قابل اجرا تبدیل می‌کنند. پشتیبانی برای کد اسکیم تعبیه شده در برنامه‌های نوشته شده به دیگر زبان‌ها نیز مانند سادگی نسبی پیاده‌سازی‌های اسکیم که آن را یک انتخاب محبوب برای اضافه کردنقابلیت‌های اسکریپتی به سیستم‌های بزرگتر توسعه یافته در زبان‌هایی مانند c کرده‌است، رایج است.
Gambit, Chicken, و Biglooبا اسکیمای کامپایل شونده به c کار می‌کنند که به‌طور خاص تعبیه کردن را آسان می‌کنند. علاوه بر این، مترجم Bigloo می‌تواند جوری پیکربندی شود که بایت کدهای JVM تولید کند، و همچنین یک تولیدکننده بایت کد برای .NET باشد.
برخی پیاده‌سازی‌ها ویژگی‌های اضافه تری را فراهم می‌کنند. برای مثال Kawa و JSchee یکپارچه‌سازی با کلاس‌های جاوا را فراهم می‌کنند، و اسکیم به مترجم‌های c معمولاً کار راب برای کتابخانه‌های خارجی نوشته شده به زبان c، بسته به اینکه به کد تعبیه شده در c واقعی در سورس اسکیم اجازه دهیم، راحت می‌کند. یک مثال دیگر Pvts است، که یک مجموعه از ابزار بصری را برای پشتیبانی یادگیری اسکیم ارائه می‌دهد.
این طرح به‌طور گسترده به وسیلهٔ چندین مدرسه مورد استفاده قرار می‌گیرد. به‌طور ویژه دوره‌های علوم کامپیوتری مقدماتی از این طرح در رابطه با ساختار کتاب درسی و تغییر برنامه‌های کامپیوتری (sicp) استفاده می‌کنند. برای ۱۲ دهه گذشته plt پردازی pragrambydesign اجرا کرده‌است.
2- mit ۶٬۰۰۱ قدیمی در این طرح آموزش داده شده. هر چند ۶٬۰۰۱ با دوره‌های جدید تر جایگزین شد، اما هنوز sicp آموزش به زبان mit را ادامه می‌دهد. کتاب دو چگونه برنامه‌ها را طراحی کنیم (با نویسندگی مایتاس فلیس) به وسیلهٔ چندین مؤسسه آموزش عالی برای دوره‌های علوم کامپیوتری مقدماتی آن‌ها به کار برده می‌شود. هم دانشگاه فورس استرن و هم مؤسسه ورسسترپلی تکنیک از این طرح به‌طور انحصاری برای دوره‌های مقدماتی «اصول علوم کامپیوتری» و مقدمه‌ای برطراحی برنامه استفاده می‌کنند رز_هولمان از این طرح در دوره مفاهیم زبان برنامه‌نویسی پیشرفته تر استفاده می‌کند.
روالها در اسکیم، تابع‌های دستهٔ اول هستند که برنامه‌نویسی تابعی را شدنی می‌کند.
رادیو صدای جوان که با نام رادیوی علمی آموزشی دانشگاه هرات نیز یاد می‌شود در سال ۱۳۸۲ در محوطه دانشکده ادبیات دانشگاه هرات رادیوئی از سوی شاخه خبرنگاری این دانشکده ایجاد شد که بخش برنامه‌های علمی آموزشی می‌پردازد.
این رادیو به تدریج به یکی از رادیوهای موفق غیر دولتی و آزاد هرات تبدیل شد. برنامه‌های تفریحی، سیاسی و علمی آموزشی در اولیت کاری این رادیو قرار دارد.
این رادیو روی فرکانس ۹۲٫۳ مگاهرتز موج FM در شهر هرات و ولسوالی‌های نزدیک آن قابل دریافت است.
هم اینک این رسانه توسط دانشجویان بخش خبرنگاری دانشکده ادبیات دانشگاه هرات و تعدادی از استادان این شعبه اداره می‌گردد که به‌طور متوسط ۱۲ ساعت برنامه داشته که در لابلای برنامه‌های خود ۴ بخش خبری به زبان‌های فارسی پشتو و انگلیسی را پخش می‌کند.
میثاق بین‌المللی حقوق مدنی و سیاسی () یکی از عهدنامه‌های سازمان ملل متحد بر پایهٔ اعلامیه جهانی حقوق بشر است. این میثاق در ۱۶ دسامبر ۱۹۶۶ ایجاد شد و در ۲۳ مارس ۱۹۷۶ برابر با ۳ فروردین ۱۳۵۵ لازم‌الاجرا شد.
دولت ایران در تاریخ ۱۵ فروردین ۱۳۴۷ این میثاق را امضا کرد و در ۱۷ اردیبهشت ۱۳۵۴ از به تصویب رساند و به این ترتیب به آن اعتبار قانونی بخشیده و خود را به آن متعهد ساخته‌است.ابراهیمی، محمد، میثاق بین‌المللی حقوق مدنی و سیاسی، در: پژوهشکده باقرالعلوم. بازدید: ۲۹ اوت ۲۰۱۰.
میثاق بین‌المللی حقوق مدنی و سیاسی و میثاق بین‌المللی منع شکنجه که برپایه اعلامیهٔ جهانی حقوق بشر تدوین شده‌اند، توسل به مجازات‌های غیرانسانی مثل قطع عضو را ممنوع کرده‌است.حکم قطع دست با گیوتین در مشهد اجرا شد، رادیو فردا
آبشار شِوی یکی از بزرگ‌ترین آبشارهای طبیعی خاورمیانه و یکی از زیباترین آبشارهای ایران است. آبشار شوی در موقعیت جغرافیایی E484936 N324745 و در منطقه زاگرس بختیاری و در روستایی به نام شوی از توابع بخش شهیون و دهستان امامزاده سید محمود شهرستان دزفول در استان خوزستان واقع شده ‌است. سایت رسمی متعلق به مرکز آمار ایران در بخش تقسیمات کشوری، قرارگیری آن در استان خوزستان و شهرستان دزفول را محرز می‌ کند.
آبشار شوی، پس از بیرون آمدن از غار، از پرتگاهی بلند به پایین سرازیر می‌شود. ارتفاع آبشار ۸۵ متر و عرض آن ۷۰ متر است. آب آن پس از عبور از کوه‌ها و دره‌ها، به رود دز و نهایتاً به دریاچهٔ سد دز در استان خوزستان می‌ریزد.
پوشش گیاهی اطراف این آبشار، از درختانی مانند بید، انجیر، مو، زبان‌گنجشگ، افرا، کیکم و بلوط تشکیل شده ‌است. در زیر آبشار و بر روی دیواره‌های آن گیاه سیاه‌وشان و سایر گیاهان آب‌دوست روییده‌اند. در نزدیکی این آبشار، آبشار بزرگ دیگری وجود دارد که گاه از آن به عنوان آبشار دوم شوی یاد می‌شود.
اِعلامیهٔ مَطبوعاتی (که بسته به مورد، اطلاعیهٔ مطبوعاتی و بیانیهٔ مطبوعاتی هم نامیده می‌شود) گزارش، خبر یا بیانیه‌ای است که به‌صورت نوشته یا ضبط‌شده برای اعضاء رسانه‌های خبری فرستاده می‌شود و منظور از آن اعلان‌کردن مطلبی است که شخص فرستنده آن را دارای ارزش خبری می‌داند.
اعلامیه‌های مطبوعاتی معمولاً از طریق پست الکترونیکی، یا دورنگار به ویراستاران مربوطه در روزنامه‌ها، مجلات، ایستگاه‌های رادیویی یا تلویزیونی فرستاده می‌شود.
گاه از فرستادن اعلامیه‌های مطبوعاتی برای اعلان کردن یک نشست خبری استفاده می‌شود.
نشست خبری، نشست رسانه‌ای یا کنفرانس مطبوعاتی یکی از رویدادهای رسانه‌ای است که در آن خبرسازان از خبرنگاران دعوت می‌کنند تا برای شنیدن سخنان فرد یا افراد خبرساز و همچنین (اغلب) ارائه پرسش‌ها به مکان مشخصی بیایند.
دو دلیل اصلی برای برگزاری نشست‌های خبری وجود دارد. یکی اینکه فرد خبرساز از این طریق می‌تواند به بسیاری از پرسش‌های گزارشگران و خبرنگاران در یک جا و یکباره پاسخ بدهد و دیگر ناچار نیست به تلفن‌های بسیار زیاد جواب دهد؛ و دلیل دوم اینست که شخص می‌تواند از این راه به موضوع مورد نظر خود که پیش از این مد نظر خبرنگاران قرار نگرفته‌بوده پوشش خبری بدهد و افکار عمومی را به آن جلب کند.
سالن (به انگلیسی: Kūh-e Sālen) نام کوهی به ارتفاع ۲۶۵۰ متر در شمال استان خوزستان و در حدود ۲۰ کیلومتری مرز استان لرستان و نیز از نظر تقسیمات کشوری در بخش سردشت دزفول واقع شده که در منطقه کوهستانی زاگرس بختیاری قرار دارد. جهت کوه به صورت شمال غربی - جنوب شرقی و امتداد آن ۳۸ کیلومتر است. سالن کوه در همسایگی کوه هفت تنان با ارتفاع ۲۰۰۰ متر، قرار دارد، دیواره‌های عظیم هفت‌تنان و سالن کوه مناسب‌ترین محل برای دیواره نوردی و سنگ نوردی حرفه‌ای است.
این کوه یکی از کوه‌های مرتفع و برفگیر استان خوزستان است که علاقه‌مندان زیادی برای ورزش کوهنوردی حرفه‌ای به این کوه مراجعه می‌کنند.
۱ - مسیر روستای خرمیزان از ضلع شمالی
۲- مسیر روستای چلون از ضلع شمالی
۳- مسیر روستای المون از ضلع شمال غربی
۴- مسیر روستای تپی از ضلع جنوبی
۵ - مسیر جازسون پاره از ضلع جنوب شرقی
۶ - مسیر روستای لطف آباد و تودو از ضلع جنوب شرقی
آبشار شوی که یکی از آبشارهای زیبا و دیدنی دنیاست در جنوب غربی سالن کوه قرار دارد. همچنین این کوه دارای هفت چشمه به نام هفت چشمون است که در دامنه قله‌های این کوه واقع اند و آب نسبتاً فراوانی دارند.
اصلاحیه بیست و ششم قانون اساسی ایالات متحده آمریکا ، قانونی است که سن قانونی لازم برای حق رأی دادن در آمریکا را ۱۸ سالگی می‌داند.The Constitution of the United States: Amendments 11-27
بند اول:
بند دوم:
تا ابتدای دهه ۱۹۷۰ در ایالات متحده آمریکا سن رأی دهندگان یکسان نبود. هر ایالت متناسب با شرایط خود و برداشت از قانون یک حداقل سن لازم برای شرکت درانتخابات ریاست جمهوری ایالات متحده آمریکا یا انتخابات کنگره ایالات متحده آمریکا را تعیین کرده بود. به عنوان مثال دردهه ۱۹۶۰، در جورجیا و کنتاکی، جوانان با حداقل ۱۸ سال می‌توانستند در انتخابات شرکت کنند در حالی که درآلاسکا، این سن ۱۹ سال و در هاوایی ۲۰ سال بود و بقیه ایالت‌ها نیز به جوانان با حداقل ۲۱ سال اجازه شرکت در انتخابات را می‌دادند.
ظهور جنبش ضد جنگ در دهه ۱۹۶۰ برسن رأی دهندگان تأثیر گذاشت. گروهی از جوانان در تظاهرات خیابانی علیه جنگ ویتنام فریاد می‌زدند که چرا در ۱۸ سالگی مجبور هستند برای وطن بجنگند و در این راه کشته شوند اما برای تعیین سرنوشت کشور باید تا سن ۲۱ سالگی صبر کنند. این اعتراضات آنچنان شدید بود که سرانجام در سال ۱۹۷۱ کنگره ایالات متحده آمریکا پیشنهاد الحاق یک اصلاحیه به قانون اساسی ایالات متحده آمریکا را به تصویب رساند. دراین اصلاحیه، حداقل سن رأی دهندگان درسراسر ایالات متحده آمریکا ۱۸ سال تعیین گشت. اصلاحیه بیست و ششم قانون اساسی در۳۰ ژوئن ۱۹۷۱ به تصویب مجالس قانونگذاری دوسوم ایالت‌ها رسید و جنبه قانونی به خود گرفت. این درحالی بود که تنها ۵ هفته قبل ازآن در ۲۳ مارس این پیشنهاد از تصویب کنگره گذشته بود. بدین ترتیب، سریع‌ترین مصوبه اصلاحیه قانون اساسی تاریخ ایالات متحده آمریکا سن رأی دهندگان را حداقل ۱۸ سال تعیین کرد.