payamvha/North_RAG huggingface dataset:
دریایی ایالات متحده کلاً سه نیروی اعزامی تفنگدار دریایی وجود دارد. در نیروی زمینی ایالات متحده سطح بالاتر از لشکر، سپاه نام دارد اما این سطح در تفنگداران دریایی نیروی اعزامی تفنگدار دریایی گفته می‌شود. فرمانده آن نیز یک سپهبد است. در بسیاری از نیروهای زمینی جهان، یک سپاه دارای ۶۰٬۰۰۰ نفر نیرو است که معمولاً به سه لشکر تقسیم می‌شود. سپاه (و دیگر سازمان‌های مشابه آن) معمولاً توسط اعداد رومی مشخص می‌شوند و اگر این سپاه‌ها در قالب نیروهای مشترک (بین‌المللی) باشند ملیتشان نیز به آن اعداد اضافه می‌شود. برای مثال
ملیتشان نیز به آن اعداد اضافه می‌شود. برای مثال 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 رسمی استانداردسازی شده‌است و عملاً استانداردی که گزارش تجدید نظر در طرح زبان الگوریتمی اسکیم (RnRs) نامیده می‌شود. بزرگترین استاندارد پیاده‌سازی شده R5RS است (۱۹۹۸); یک استاندراد جدید، R6RS، در سال ۲۰۰۷ تصویب شده‌است.اسکیم پایه کاربری
R6RS، در سال ۲۰۰۷ تصویب شده‌است.اسکیم پایه کاربری متنوعی را به دلیل فشردگی و ظرافت دارد، اما فلسفه حداقل گرای آن باعث واگرایی میان پیاده‌سازی‌های کاربردی آن شده‌است، به‌طوری‌که کمیته فرمان اسکیم آن را «سیار ترین زبان برنامه‌نویسی» و «یک خانواده از گویش ها» می‌نامد تا یک زبان برنامه‌نویسی تنها. تاریخچه. مقاله اصلی: ریشه‌ها. اسکیم در دهه ۷۰ به عنوان تلاشی برای فهمیدن مدل بازیگر Carl Hewitt، برای قصدی که Steele و Sussmanدر "مفسر کوچک Lisp" با استفاده از Maclisp نوشتند و بعد از آن "مکانیزم‌های افزوده شده برای
نوشتند و بعد از آن "مکانیزم‌های افزوده شده برای ساختن بازیگرها و ارسال پیام هاً شروع شد. اسکیم در اصل و به رسم دیگر زبان‌های مشتق شده از Lisp مانند Planner یا Connover , "schemer" نامیده می‌شد. نام حال حاضر نتیجه از استفاده نویسندگان از سیستم عامل ITS است، که نام فایل‌ها را به دو بخش از که هر کدام حد اکثر شش کارکتر می‌پذیرند سات. در حال حاضر، "Schemer" برای اشاره به برنامه‌نویس اسکیم استفاده می‌شود. ویژگی‌های متمایز. اسکیم در درجه اول یک زبان برنامه‌نویسی تابعی است. این زبان، ویژگی‌های بسیاری را با دیگر
تابعی است. این زبان، ویژگی‌های بسیاری را با دیگر زبان‌های خانواده زبان لیسپ (Lisp) دارد. نحو بسیار ساده اسکیم بر پایهٔ عبارات، لیست‌های پرانتزی است که در آن یک عملگر پیشوند با آرگومانهایش دنبال می‌شود. بدین ترتیب، برنامه‌های اسکیم شامل دنبالهٔ لیست‌های تو در تو است. لیست‌ها همچنین، ساختار اصلی داده‌ها در اسکیم هستند، که منجر به یک هم‌ارزی نزدیک بین کد منبع و فرمت‌های داده (homoiconicity) می‌شود. برنامه‌های اسکیم می‌توانند به راحتی بخش‌های کد اسکیم را به صورت پویا ایجاد و ارزیابی کنند. وابستگی به لیست‌ها به
پویا ایجاد و ارزیابی کنند. وابستگی به لیست‌ها به عنوان ساختار داده‌ها بین همه لهجه‌های لیسپ وجود دارد. اسکیم، یک مجموعه غنی از اولویت‌های پردازش لیست از جمله "cons", "car" و "cdr" را از نمونه‌های قدیمی تر لیسپ (اجداد لیسپ) به ارث می‌برد. اسکیم به شدت اما به صورت پویا از متغیرهای تایپ شده‌استفاده می‌کند و از رویه‌های (procedures) کلاس اولیه پشتیبانی می‌کند؛ بنابراین، رویه‌ها را می‌توان به عنوان مقادیر به متغیرها یا آرگومان‌ها تعیین نمود. این بخش به‌طور عمده بر ویژگی‌های نوآورانه این زبان تمرکز می‌کند، از
بر ویژگی‌های نوآورانه این زبان تمرکز می‌کند، از جمله ویژگی‌هایی که اسکیم را از سایر لیسپ‌ها متفاوت می‌کند. همچنین به جز موارد ذکر شده، توصیف ویژگی‌های مربوط به استاندارد R5RS. "در نمونه‌هایی که در این بخش ارائه شده است، از علامت "(نتیجه) result ===&gt;"، برای نشان دادن نتیجهٔ ارزیابی عبارت خط ماقبل استفاده می‌شود. این همان قرارداد استفاده شده در R5RS است." ویژگی‌های طراحی بنیادی. این بخش، آن ویژگی‌های اسکیم را توصیف می‌کند که آن را از دیگر زبان‌های برنامه‌نویسی (از همان ابتدا) متمایز می‌کند. این‌ها
(از همان ابتدا) متمایز می‌کند. این‌ها جنبه‌هایی از اسکیم هستند که بیشترین تأثیر را بر هر محصول زبان اسکیم دارند، و جنبه‌هایی هستند که تمامی نسخه‌های نسخه‌های زبان برنامه‌نویسی اسکیم، از سال ۱۹۷۳ به بعد، آن را دارا هستند. مینیمالیسم (minimalism). اسکیم یک زبان بسیار ساده است، بسیار آسان‌تر از خیلی از زبان‌های قابل مقایسه دیگر (از نظر قدرت بیان) پیاده‌سازی می‌شود. این سهولت را می‌توان به استفاده از محاسبات لامبدا تا بسیاری از نحو این زبان، از فرم‌های ابتدایی تر نسبت داد. به عنوان مثال از ۲۳ ساختار نحوی مبتنی
نسبت داد. به عنوان مثال از ۲۳ ساختار نحوی مبتنی بر عبارات s در استاندارد R5RS، ۱۱ تا به عنوان فرم مشتق یا فرم کتابخانه‌ای طبقه‌بندی شده‌اند، که می‌تواند به صورت ماکروی شامل اشکال اساسی بیشتر، به ویژه لامبدا نوشته شود. همان‌طور که R5RS عنوان می‌کند (R5RS بخش ۳٫۱): «اساسی‌ترین ساختارهای انقیاد متغیر عبارات لامبدا است، زیرا تمام دیگر ساختارهای انقیاد متغیر را می‌توان به شکل عبارات لامبدا توضیح داد.» فرم‌های بنیادی: define, lambda, if, quote, unquote, unquote-splicing, quasiquote, define-syntax, let-syntax,
quasiquote, define-syntax, let-syntax, letrec-syntax, syntax-rules, set! فرم‌های کتابخانه ای: do, let, let*, letrec, cond, case, and, or, begin, named let, delay مثال: یک ماکرو برای پیاده‌سازی به عنوان یک عبارت لامبدا برای اجرای انقیاد متغیر. (define-syntax let (syntax-rules () ((let ((var expr) ...) body ...) ((lambda (var ...) body ...) expr ...)))) بنابراین استفاده از "let" مانند بالا، پیاده‌سازی اسکیم عبارت "(let ((a 1)(b 2)) (+ b a))" را به عنوان "((lambda (a b) (+ b a)) 1 2)" بازنویسی می‌کند، که کار
(a b) (+ b a)) 1 2)" بازنویسی می‌کند، که کار پیاده‌سازی را به نمونه رویه‌های کدنویسی کاهش می‌دهد. در ۱۹۹۸، ساسمَن و استیل اشاره کردند که اسکیمِ مینیمالیسم یک هدف طراحی آگاهانه نخواهد بود، بلکه به نوعی نتیجهٔ ناخواسته فرایند طراحی است. «ما در واقع تلاش می‌کردیم چیزی پیچیده و کشف شده را بسازیم، که به‌طور تصادفی چیزی ساختیم که تمام اهداف ما را دربر گرفته بود اما خیلی ساده‌تر از آنچه ما قبلاً در نظر داشتیم. ما متوجه شدیم که محاسبات لامبدا _ یک فرمالیزم ساده و کوچک _ می‌تواند به عنوان هستهٔ یک زبان برنامه‌نویسی
_ می‌تواند به عنوان هستهٔ یک زبان برنامه‌نویسی قوی و با معنا به کار رود.» محدوده واژگانی (Lexical Scope). همانند بسیاری از زبان‌های برنامه‌نویسی مدرن و برخلاف لیسپ‌های قدیمی تر مانند ماکلیسپ(Maclisp)، اسکیم به صورت واژگانی محدود می‌شود (= در scope قرار می‌گیرد): تمام انقیاد متغیرهای ممکن در یک واحد برنامه می‌تواند با خواندن متن یک واحد برنامه بدون در نظر گرفتن مفاد آن تحلیل کند. این در مقایسه با محدوده پویایی (dynamic scope) است که مشخصه گویش‌های اولیه لیسپ بود؛ به دلیل هزینه‌های پردازش مرتبط با روش‌های
بود؛ به دلیل هزینه‌های پردازش مرتبط با روش‌های جایگزینی متنی اولیه استفاده شده برای پیاده‌سازی الگوریتم‌های محدوده لغوی (Lexical Scoping) در کامپایلرها و مفسران روز. در آن لیسپ‌ها، برای یک مرجع متغیر آزاد درون یک رویه، کاملاً امکان‌پذیر بود که به انقیادهای کاملاً مجزا خارج از رویه (بسته به فراخوانی) منتسب نماید. انگیزهٔ ترکیب محدوده لغوی(lexical scoping)، که در اوایل دهه ۱۹۷۰ یک مدل محدوده غیرمعمول بود، به نسخه جدیدی از لیسپ، از مطالعات ساسمَن در مورد زبان الگول (ALGOL) نشئت گرفت. او پیشنهاد کرد که
زبان الگول (ALGOL) نشئت گرفت. او پیشنهاد کرد که مکانیزم‌های محدوده لغوی مشابه الگول کمک می‌کند تا هدف اولیه خود از اجرای مدل بازیگر هِویت (Hewitt’s Actor) در لیسپ را تحقق ببخشند. بینش کلیدی در چگونگی معرفی محدوده لغوی به یک گویش لیسپ، در مقاله لامبدای ساسمَن و استیل ۱۹۷۵ شهرت یافت؛ «اسکیم: یک مفسر برای محاسبات گسترده لامبدا»، که در آن، آن‌ها مفهوم بستار لغوی را تصویب کردند؛ (در صفحه ۲۱)، که در یک یادداشت هوش مصنوعی از جوئل موسِز کسی که این ایده را به پیتر ج لَندین نسبت داده، شرح داده شده بود. محاسبات
ج لَندین نسبت داده، شرح داده شده بود. محاسبات لامبدا. نشانه ریاضیاتی آلونزو چِرچ (Alonzo Church)، محاسبات لامبدا، الهام بخش استفاده از «لامبدا» به عنوان یک کلید واژه برای معرفی رویه، همچنین تأثیر در توسعه تکنیک‌های برنامه‌نویسی تابعی شامل استفاده از توابع درجه بالاتر در لیسپ می‌باشد. اما لیسپ‌های ابتدایی تر، عبارات مناسبی از محاسبات لامبدا نبودند؛ به دلیل رفتار متغیرهای آزادش. معرفی محدوده لغوی، مسئله را با ایجاد همبستگی (هم‌ارزی) میان برخی اَشکال لامبدا و بیان عملی آن‌ها در یک زبان برنامه‌نویسی کارا حل
و بیان عملی آن‌ها در یک زبان برنامه‌نویسی کارا حل کرده‌است. ساسمَن و استیل نشان دادند که زبان جدید می‌تواند برای استنتاج تمام معانی اِخباری و دستوری زبان‌های برنامه‌نویسی دیگر مانند الگول و فرترن و محدوده پویا دیگر لیسپ‌ها، با استفاده از عبارات لامبدا، نه به عنوان رویه ساده، بلکه به عنوان «ساختارهای کنترل و اصلاح‌کننده‌های محیط» استفاده شود. آن‌ها شیوهٔ continuation-passing را همراه با اولین توصیف اسکیم در اولین مقالات لامبدا معرفی کردند و در مقالات بعدی، قدرت استفاده عملی محاسبات لامبدا را نشان دادند.
قدرت استفاده عملی محاسبات لامبدا را نشان دادند. ساختار بلوک. اسکیم، ساختار بلوکی خود را از زبان‌های با ساختار بلوکی قدیمی تر به ارث برده است، به ویژه الگول. در اسکیم، بلوک‌ها با ۳ ساختار انقیاد پیاده‌سازی می‌شود: “let”، “let*” و “letrec”. برای مثال، ساختار زیر یک بلوک ایجاد می‌کند که در آن یک نماد به نام var به شماره ۱۰ محدود می‌شود: بلوک‌ها می‌توانند تو در تو باشند تا ساختار بلوکی پیچیدهٔ دلخواه با توجه به نیاز برنامه‌نویس ایجاد نماید. استفاده از ساختار بلوک برای ایجاد انقیادها، خطر برخورد فضای نام را
بلوک برای ایجاد انقیادها، خطر برخورد فضای نام را کاهش می‌دهد که در غیر این صورت ممکن است اتفاق بیفتد. (در شرایط عدم استفاده از ساختار بلوک) یک نوع از “let” و “let*”، اجازه انقیادها را می‌دهد تا به متغیرهای تعریف شده قبلی در همان ساختار ارجاع دهد؛ بنابراین: (var2 (+ var1 12))) نوع دیگر، “letrec”، طراحی شده تا رویه‌های بازگشتی دوگانه را قادر سازد به یکدیگر بسته شوند. (letrec ((female (lambda (n) (if (= n 0) 1 (- n (male (female (- n 1))))))) (male (lambda (n) (if (= n 0) 0 (- n (female (male (- n 1))))))))
(if (= n 0) 0 (- n (female (male (- n 1)))))))) (let loop ((i 0)) (if (&gt; i n) (cons (cons (female i) (male i)) (loop (+ i 1))))))) ===&gt; ((1 . 0) (1 . 0) (2 . 1) (2 . 2) (3 . 2) (3 . 3) (4 . 4) (5 . 4) (5 . 5)) تمامی رویه‌های محدود در یک “letrec”، می‌توانند با نام به دیگری اشاره کنند، همچنین مقادیر متغیرهایی که قبلاً در همان “letrec” تعریف شدند، اما ممکن است به مقادیر تعریف شده بعدی در همان “letrec” اشاره نکنند. یک نوع از “let”، فرم "named let"، یک شناسه پس از کلیدواژهٔ “let” دارد. این متغیرهای "let"
پس از کلیدواژهٔ “let” دارد. این متغیرهای "let" را به آرگومان‌های یک رویه که نامش همان "شناسهٔ داده شده" و بدنه آن همان بدنه فرم "let" است، به هم می‌پیوندد (مقید می‌کند). بدنه می‌تواند با فراخوانی رویه، به دلخواه تکرار شود. "named let" به‌طور گسترده‌ای برای پیاده‌سازی تکرار استفاده می‌شود. مثال: یک شمارنده ساده (if (&gt; n 10) (cons n (loop (+ n 1))))) ===&gt; (1 2 3 4 5 6 7 8 9 10) مانند هر رویه در اسکیم، رویه ایجاد شده در “named let”، یک شی کلاس اول است. بازگشت دنباله مناسب. برای جزئیات بیشتر در این
بازگشت دنباله مناسب. برای جزئیات بیشتر در این موضوع، بازگشت دنباله را ببینید. اسکیم یک ساختار تکرار دارد، اما استفاده از بازگشت دنباله بیشتر اصطلاحی است. پیاده‌سازی استاندارد اسکیم برای بهینه‌سازی فراخوانی‌های دنباله به منظور پشتیبانی از تعداد نامحدودی از فراخوانی‌های فعال دنباله مورد نیاز هستند(R5RS بخش ۳٫۵). یک ویژگی که اسکیم به عنوان بازگشت دنباله مناسب توصیف می‌کند _ و آن را برای برنامه نویسان اسکیم برای نوشتن الگوریتم‌های تکراری با استفاده از ساختارهای بازگشتی آسان‌تر می‌کند، که بعضی اوقات بیشتر بصری
بازگشتی آسان‌تر می‌کند، که بعضی اوقات بیشتر بصری و حسی هستند. رویه‌های بازگشت دنباله و فرم “named let”، از خاصیت «تکرار» با استفاده از بازگشت دنباله پشتیبانی می‌کنند. (let loop ((i n) (res '())) (if (&lt;i 0) res (loop (- i 1) (cons (* i i) res))))) ===&gt; (0 1 4 9 16 25 36 49 64 81) استانداردهای پیاده‌سازی. این زیربخش تصمیم‌های طراحی را مستند می‌کند که در طول سال‌ها به اسکیم یک شخصیت خاص داده‌اند، اما نه از نتایج اصلی طراحی. برج عددی. مقاله اصلی: اسکیم یک مجموعه نسبتاً کامل از نوع داده‌های عددی را شامل
مجموعه نسبتاً کامل از نوع داده‌های عددی را شامل انواع پیچیده و منطقی مشخص می‌کند که در اسکیم به عنوان برج عددی شناخته می‌شوند. (R5RS sec. 6.2).. این استاندارد، یا این‌ها مانند انتزاع برخورد می‌کند، و پیاده‌ساز را به هیچ نمایش خاص داخلی متعهد نمی‌کند. اعداد ممکن است کیفیت دقیق بودن را داشته باشند. یک عدد دقیق تنها می‌تواند توسط یک دنباله از عملیات دقیق که با دیگر اعداد دقیق درگیر هستند تولید شود—بنابریان نادقیق بودن واگیری است. استاندارد مشخص می‌کند که هر یک از دو پیاده‌سازی باید نتایج یکسانی را برای تمام
از دو پیاده‌سازی باید نتایج یکسانی را برای تمام عملیات بر روی اعداد دقیق داشته باشند. استاندارد R5RS، روال exact-&gt;inexact و inexact-&gt;exact را مشخص می‌کند که می‌تواند در تغییر دقیق بودن یک عدد مورد استفاده قرار گیرد. رویه inexact-&gt;exact «عدد دقیقی که از لحاظ عددی نزدیکترین به آرگومان است» را تولید می‌کند. رویه exact-&gt;inexact «عدد نادقیق که از لحاظ عددی به آرگومان نزدیکترین است» را تولید می‌کند. استاندارد R6RS این رویه‌ها را از گزارش اصلی حذف می‌کند، اما آن‌ها را به عنوان رویه‌های سازگار R5RS در
اما آن‌ها را به عنوان رویه‌های سازگار R5RS در کتابخانه استاندارد مشخص می‌کند (rnrs r5rs (6)). در استاندارد R5RS، پیاده‌سازی‌های اسکیم نیاز به پیاده‌سازی کل برج عددی ندارند، بلکه آن‌ها باید «یک زیر مجموعه منسجم شامل هردوی مقصود پیاده‌سازی و روح زبان اسکیم» را پیاده‌سازی کنند. (R5RS sec. 6.2.3).. استاندارد R6RS جدید نیاز به پیاده‌سازی تمام برج دارد، و «شی‌های عدد صحیح دقیق و شی‌های عدد منطقی دقیق از عملاً اندازه نامحدود و دقت، و پیاده‌سازی کردن رویه‌های مخصوص… که آن‌ها همیشه نتایج دقیقی را هنگامی که
مخصوص… که آن‌ها همیشه نتایج دقیقی را هنگامی که آرگومان‌های دقیق به آن‌ها می‌دهیم بازمی‌گردانند» (R6RS sec. 3.4, sec. 11.7.1). مثال ۱: ریاضیات دقیق در یک پیاده‌سازی که اعداد پیچیده منطقی دقیق را پشتیبانی می‌کند. x ===&gt; 509/60+1/3i ===&gt; #t مثال ۲: همان ریاضی در یک پیاده‌سازی که هیچ‌یک از اعداد منطقی یا پیچیده را پشتیبانی نمی‌کند ما اعداد حقیقی را در نشانه منطقی می‌پذیرد: xr ===&gt; 8.48333333333333 xi ===&gt; 0.333333333333333 ===&gt; #f ===&gt; #f هر دو پیاده‌سازی با استاندارد R5RS تأیید می‌شوند اما
دو پیاده‌سازی با استاندارد R5RS تأیید می‌شوند اما دومی با استاندارد R6RS تأیید نمی‌شود زیرا تمام برج اعداد را پیاده‌سازی نکرده‌است. ارزیابی تأخیر. همچنین ببینید: Lazy evaluation اسکیم ارزیابی تأخیر را پشتیبانی می‌کند در قالب delay و رویه force. ===&gt; 22 (force eval-aplus50)) ===&gt; 70 ===&gt; 22 متن نحوی تعریف اصلی از قول حفظ شده‌است، و ارزش آن نیز پس از استفاده از force حفظ شده‌است. قول تنها یکبار ارزیابی می‌شود. این نخستین‌ها، که مقادیر شناخته را یه عنوان قول تولید یا رسیدگی می‌کنند، می‌توانند برای
عنوان قول تولید یا رسیدگی می‌کنند، می‌توانند برای ساختارهای پیاده‌سازی ارزیابی تنبل پیشرفته مانند جریان‌ها [۲۰] استفاده شوند. در استاندارد R6RS، این‌ها دیگر اولیه نیستند، اما در عوض، به عنوان بخشی از کتابخانه سازگاری R5RS (rnrs r5rs (6)) فراهم می‌شوند. در R5RS، یک پیاده‌سازی پیشنهاد شده از delay و force، پیاده‌سازی قول به عنوان یک رویه بدون آرگومان (یک تانک) و استفاده از یادداشت برداری برای اطمینان از این که تنها یکبار ارزیابی صورت گرفته‌است، صرف نظر از تعداد دفعاتی که force صدا زده می‌شودد (R5RS sec.
تعداد دفعاتی که force صدا زده می‌شودد (R5RS sec. 6.4).[3] داده می‌شود. SRFI 41 اصطلاح هر دوی دنباله‌های محدود و نامحدود را با صرفه جویی خارق‌العاده‌ای توانمند می‌کند. برای مثال، این یک تعریف از دنباله فیبوناچی با ساتفاده از توابع تعریف شده در SRFI 41:[20] است. (define fibs (stream-cons 0 (stream-cons 1 (stream-map + fibs (stream-cdr fibs))))) ===&gt; 218922995834555169026 ترتیب ارزیابی آرگومان‌های رویه. بیشتر Lispها یک ترتیب را بای ارزیابی آرگومان‌های رویه مشخصی می‌کنند. ترتیب ارزیابی‌ها—شامل ترتیب در
مشخصی می‌کنند. ترتیب ارزیابی‌ها—شامل ترتیب در اینکه عبارت‌ها در موقعیت عملیات ارزیابی شده‌اند—ممکن است توسط یک پیاده‌سازی روی یک پایه فراخوانی-بوسیله-فراخوانی انتخاب شده باشد، و تنها محدودیت این است که "تاثیر هرکدام از ارزیابی‌های موازی عبارات عملگر و عمولند، محدود است تا با برخی دنباله ترتیب ارزیابی استوار شود." (R5RS sec. 4.1.3)[3] (display (if (procedure? n) "procedure" n)) (newline) n))) ((ev +) (ev 1) (ev 2))) ===&gt; 3 Ev یک رویه است که آرگومان‌های داده شده به آن را بررسی می‌کند، سپس مقدار آن را
داده شده به آن را بررسی می‌کند، سپس مقدار آن را برمی‌گرداند. در تضاد با Lispهای دیگر، ظاهر یک عبارت در در موقعیت عملگر (اولین گزینه) از یک عبارت اسکیم، تا زمانی که نتیجه عبارت یک رویه در یک موقعیت عملکر دیگر است، کاملاً قانونی است. در فراخوانی رویه "+" برای جمع ۱ و ۲، عبارت (ev +), (ev 1) و (ev 2) ممکن است تا زمانی که ارزیابی موازی آن‌ها بر روی هم تأثیری نداشته باشند، بدون هیچ ترتیبی ارزیابی شوند؛ بنابراین این سه خط که در ادامه آورده شده‌است، ممکن است در هیچ ترتیبی توسط استاندارد اسکیم زمانی ه کد مثال بالا
ترتیبی توسط استاندارد اسکیم زمانی ه کد مثال بالا اجرا می‌شود نمایش داده نشوند، اگرچه متن یک خط ممکن است با دیگر عوض نشده باشد بخاطر اینکه ممکن است دنباله تمرکز ارزیابی را نقص کند. ارزیابی ۱ ارزیابی ۲ ارزیابی رویه ماکروهای بهداشتی. مقاله اصلی: Hygienic macro در استاندارد R5RS و همچنین گزارش‌های بعد از آن، نحو اسکیم می‌تواند به آسانی توسط سیستم‌های ماکرو مشتق شود. استاندارد R5RS یک ماکرو بهداشتی قدرتمند را معرفی می‌کند که به برنامه نویسان اجازه می‌دهد تا ساختار نحوی جدید را به زبان با استفاده از الگوهای ساده
نحوی جدید را به زبان با استفاده از الگوهای ساده که با زیرزبان همخوانی دارد اضافه کنند. (R5RS sec 4.3).[3]. با توجه به این، سیستم ماکرو بهداشتی به یک ضمیمه از استاندارد R4RS، یه عنوان یک سیستم سطح بالا همراه با سطح با سیستم ماکرو سطح پایین کاهش یافته‌است، که با هر دوی آن‌ها مانند افزونه‌هایی به اسکیم رفتار می‌شود تا یک بخش ضروری از زبان [۲۱]. پیاده‌سازی سیستم بهداشتی ماکرو، که همچنین syntax-rules نیز می‌گویند، باید دامنه نحوی باقی‌مانده زبان را رعایت کنند؛ که این کار با یک نام‌گذاری خاص و قواعد دامنه برای
که این کار با یک نام‌گذاری خاص و قواعد دامنه برای گسترش ماکرو و اجتناب از خطاهای برنامه‌نویسی رایج که می‌توانند در سیستم ماکرو دیگر زبان‌های برنامه‌نویسی رخ بدهند، خاطر جمع می‌شود. R6RS سیستم‌های تحول پیچیده بیشتری را مشخص می‌کند، syntax-case، که به عنوان یک افزونه برای اسکیم R5RS برای مدتی موجود بوده‌است. (define-syntax when (syntax-rules () ((when pred exp exps ...) (if pred (begin exp exps ...))))) دعوت‌ها از ماکروها و رویه‌ها یک شباهت نزدیک دارند – هر دو s-عبارت هستند—اما با آن‌ها متفاوت رفتار می‌شود.
s-عبارت هستند—اما با آن‌ها متفاوت رفتار می‌شود. وقتی کامپایلر به یک s-عبارت در برنامه برخورد می‌کند، اول چک می‌کند تا بفهمد که آیا علامت به عنوان یک کلید نحوی درون دامنه نحوی حال حاضر قرار دارد یا خیر. اگر قرار دارد، سپس تلاش می‌کند تا ماکرو را گسترش دهد، با گزینه‌های دنباله s-عبارت مانند آرگومان‌ها بدون کد کامپیایل برای ارزیابی کردن رفتار می‌کند، و این فرایند به صورت بازگشتی تکرار می‌شود تا هیچ ماکرو دعوت دیگری باقی نماند. اگر یک کلید نحوی نباشد، کامپایلر کد را برای ارزیابی آرگومان درون دنباله s-عبارت و
کد را برای ارزیابی آرگومان درون دنباله s-عبارت و سپس ارزیابی متغیر معرفی شده توسط علامت در هد s-عبارت کامپایل می‌کند و آن را به عنوان یک رویه با دنباله ارزیابی عبارات با آرگومان‌های واقعی برای آن‌ها فراخوانی می‌کند. بیشتر پیاده‌سازی‌های اسکیم همچنین سیستم‌های ماکرو اضافی ارائه می‌دهند. میان آنها، محبوب ترین‌ها syntactic closures, explicit renaming macros و define-macro یک ماکرو سیستم غیر بهداشتی شبیه به سیستم فراهم شده در Lisp رایج هستند. محیط‌ها و ارزیابی. با توجه به R5RS، اسکیم هیچ استانداردی برای رویه
با توجه به R5RS، اسکیم هیچ استانداردی برای رویه ارزیابی که در همه Lispهای دیگر وجود دارد، ندارد، اگرچه اولین مقاله لامبدا ارزیابی را "شبیه به تابع ارزیابی Lisp" توصیف کرده بود. [۱۶] و اولین گزارش تجدید نظر شده در ۱۹۷۸ آن را با enclose عوض کرد، که دو آرگومان را می‌گیرد. دومی، سومی و چهارمین گزارش تجدید نظر شده، هر گونه معادل بودن ارزیابی را حذف کردند. دلیل این گیجی این است که در اسکیم با دامنه نحوی نتایج ارزیابی یک عبارت بستگی به جایی دارد که ارزیابی می‌شود. برای مثال، واضح نیست که نتیجه از ارزیابی عبارت
برای مثال، واضح نیست که نتیجه از ارزیابی عبارت زیر باید ۵ باشد یا 6: [22] (let ((+ *)) (evaluate (list name 2 3)))) اگر در محیط بیرونی تر ارزیابی شود، جایی که name تعریف شده‌است، نتیجه جمع عملگر هاست. اگر در محیط درونی ارزیابی شود، جایی که علامت "+" است، نتیجه ضرب دو عملگر خواهد بود. R5RS این گیجی را با استفاده از مشخص کردن سه رویه که محیطها را باز میگردانندو فراهم کردن یک رویه ارزیابی که یک s-عبارت و یک محیط را می‌گیرد و عبارت را درمحیط فراهم شده ارزیابی می‌کند حل می‌کند. (R5RS sec. 6.5)[3]. R6RS این را
می‌کند حل می‌کند. (R5RS sec. 6.5)[3]. R6RS این را به وسیلهٔ فراهم کردن یک رویه به نام environment که یک برنامه‌نویس می‌تواند دقیقاً مشخص کند کدام شی‌ها را وارد به محیط ارزیابی وارد کند مشتق می‌کند. رفتار مقادیر غیر بول در عبارات بول. در بسیاری از لهجه‌های Lisp، شامل Lisp رایج، با قرار دادن مقدار NIL در یک مقدار در یک عبارت بول، آن را غلط تعیین می‌کنند. در اسکیم از زمان استاندارد IEEE در ۱۹۹۱، [۲] تمام مقادیر بجز #f، شامل NILهای معادل در اسکیم که مانند '() نوشته می‌شوند، به عنوان مقدار درست در عبارات بول