.\" Written by Robert Merkel (rgmerk@mira.net) .\" augmented by Rob Browning .\" Process this file with .\" groff -man -Tascii foo.1 .\" .\" title section date source manual .TH GUILE 1 "2017-05-22" GNU "GNU Guile 3.0" . .SH "نام (NAME)" guile \- زبان گسترش پروژه گنو (GNU) . .SH "خلاصه دستور (SYNOPSIS)" .B guile .RB [\| \-L .IR DIRECTORY \|] .RB [\| \-l .IR FILE \|] .RB [\| \-e .IR FUNCTION \|] .\".RI [\| \\\\ \|] .RB [\| \e \|] .RB [\| \-c .IR EXPR \|] .RB [\| \-s .IR SCRIPT \|] .RB [\| \-\- \|] .RI [\| SCRIPT .RI [\| ARGs\ for\ SCRIPT \|]\c .RI ] تنها پرکاربردترین گزینه‌ها در اینجا فهرست شده‌اند؛ برای مشاهده باقی موارد به ادامه متن رجوع کنید. . .SH "توضیحات (DESCRIPTION)" گنو گایل (GNU Guile) پیاده‌سازی زبان برنامه‌نویسی اسکیم (Scheme) است. این ابزار استانداردهای زبانی R5RS و R6RS را گسترش داده و ویژگی‌های تکمیلی لازم برای کاربردهای واقعی را فراهم می‌کند. گایل برای استفاده تعاملی، اسکریپت‌نویسی پایه، و گسترش برنامه‌های بزرگ‌تر، و همچنین برای توسعه برنامه‌های مستقل اسکیم بسیار مناسب است. خود فایل اجرایی .B guile یک کامپایلر تعاملی مستقل و محیط زمان اجرا (run-time) برای برنامه‌های اسکیم فراهم می‌کند؛ هم برای استفاده تعاملی و هم برای اجرای اسکریپت‌ها یا برنامه‌های اسکیم. این صفحه راهنما تنها دستورالعمل‌های مختصری برای فراخوانی .B guile از طریق خط فرمان ارائه می‌دهد. لطفاً برای اطلاعات بیشتر، مستندات info گایل را مطالعه فرمایید (دستور \fBinfo "(guile)Invoking Guile"\fR را در خط فرمان وارد نمایید). . .SH "گزینه‌ها (OPTIONS)" .TP .BI \-L \ DIRECTORY افزودن \fIDIRECTORY\fR به ابتدای مسیر بارگذاری ماژول‌های گایل. دایرکتوری‌های مشخص‌شده به ترتیبی که در خط فرمان ذکر شده‌اند و پیش از هر دایرکتوری دیگری در متغیر محیطی \fBGUILE_LOAD_PATH\fR جستجو می‌شوند. مسیرهای اضافه‌شده در اینجا، در حین اجرای فایل \fI~/.guile\fR کاربر اعمال نمی‌شوند. . .TP .BI \-C \ DIRECTORY مشابه \fB\-L\fR، اما مسیر بارگذاری را برای فایل‌های کامپایل‌شده تنظیم می‌کند. . .TP .BI \-l \ FILE بارگذاری کد منبع اسکیم از \fIFILE\fR و ادامه پردازش خط فرمان. . .TP .BI -e \ FUNCTION پس از خواندن \fISCRIPT\fR، اعمال \fIFUNCTION\fR بر روی آرگومان‌های خط فرمان. توجه داشته باشید که \fIFUNCTION\fR ارزیابی می‌شود؛ بنابراین برای نمونه، .B (@ (my-module) my-proc) در اینجا معتبر است. . .TP .B \e «سوییچ متا» (meta switch)، که برای دور زدن محدودیت‌های اسکریپت‌های #! به کار می‌رود. برای جزئیات بیشتر، بخش «The Meta Switch» را در مستندات texinfo ببینید. . .TP .B -- توقف پردازش آرگومان‌ها و شروع .B guile در حالت تعاملی. . .TP .BI -c \ EXPR توقف پردازش آرگومان‌ها و ارزیابی \fIEXPR\fR به عنوان یک عبارت اسکیم. . .TP .BI -s \ SCRIPT-FILE بارگذاری منبع اسکیم از \fISCRIPT-FILE\fR و اجرا به عنوان یک اسکریپت. توجه داشته باشید که در بسیاری از موارد استفاده از \fB-s\fR لازم نیست؛ می‌توان .B guile را به سادگی به صورت .B guile .I SCRIPT-FILE ARG... فراخوانی کرد. . .TP .B -ds اجرای \fB\-s \fISCRIPT\fR در این نقطه از توالی گزینه‌ها. توجه داشته باشید که این آرگومان باید همراه با \fB\-s\fR استفاده شود. . .TP .B --debug راه‌اندازی .B guile با ماشین مجازی خطایابی (debugging VM). به‌طور پیش‌فرض، زمانی که .B guile به صورت تعاملی فراخوانی شود خطایابی فعال است؛ در غیر این صورت غیرفعال خواهد بود. . .TP .B --no-debug راه‌اندازی .B guile بدون ماشین مجازی خطایابی، حتی اگر .B guile به صورت تعاملی در حال اجرا باشد. . .TP .B \-\-auto\-compile کامپایل خودکار فایل‌های منبع (رفتار پیش‌فرض). . .TP .B \-\-fresh\-auto\-compile نامعتبر دانستن حافظه پنهان (کش) کامپایل خودکار و اجبار به کامپایل مجدد. . .TP .B \-\-no\-auto\-compile غیرفعال‌سازی کامپایل خودکار فایل‌های منبع. . .TP .BI \-\-language \ LANG برای باقی آرگومان‌های خط فرمان، فرض می‌شود که فایل‌های مشخص‌شده با \fB\-l\fR و عبارت‌های ارسال‌شده با \fB\-c\fR به زبان \fILANG\fR نوشته شده‌اند که باید نام یکی از زبان‌های پشتیبانی‌شده توسط کامپایلر باشد. هنگام اجرا در حالت تعاملی، زبان REPL روی \fILANG\fR تنظیم می‌شود. . .TP \fB\-\-listen\fR[=\fIP\fR] گوش دادن روی یک درگاه (پورت) یا سوکت برای اتصال‌های راه دور REPL. برای جزئیات بیشتر به دفترچه راهنما مراجعه کنید. . .TP \fB\-\-use\-srfi\fR=\fIN,M\fR... بارگذاری افزونه‌های SRFI شامل \fIN\fR، \fIM\fR و غیره. برای نمونه، \fB \-\-use\-srfi\fR=\fI8,13\fR. . .TP \fB\-\-r6rs\fR, \fB\-\-r7rs\fR تطبیق محیط اولیه گایل برای پشتیبانی بهتر از R6RS یا R7RS. برای برخی نکات و هشدارها، بخش‌های «R6RS Incompatibilities» و «R7RS Incompatibilities» را در صفحات info ببینید. . .TP .BI -x \ EXTENSION افزودن \fIEXTENSION\fR به فهرست پسوندهای بارگذاری .B guile . . .TP \fB\-h\fR, \fB\-\-help\fR توصیف گزینه‌های خط فرمان و خروج. . .TP \fB\-v\fR, \fB\-\-version\fR نمایش نسخه guile و خروج. . .TP .B -q در حالت تعاملی، از بارگذاری فایل مقداردهی اولیه کاربر، .I ~/.guile جلوگیری می‌کند. . .SH "محیط (ENVIRONMENT)" .\".TP \w'MANROFFSEQ\ \ 'u .TP .B GUILE_LOAD_PATH اگر متغیر .RB $ GUILE_LOAD_PATH پیش از شروع .B guile تنظیم شده باشد، مقدار آن برای گسترش مسیر جستجوی فایل‌های اسکیم هنگام بارگذاری استفاده می‌شود. این متغیر باید فهرستی از دایرکتوری‌ها باشد که با دونقطه (:) از یکدیگر جدا شده‌اند و به ابتدای مقدار پیش‌فرض .B %load-path اضافه خواهند شد. .TP .B GUILE_LOAD_COMPILED_PATH اگر متغیر .RB $ GUILE_LOAD_COMPILED_PATH پیش از شروع .B guile تنظیم شده باشد، مقدار آن برای گسترش مسیر جستجوی فایل‌های کامپایل‌شده اسکیم (فایل‌های .go) هنگام بارگذاری استفاده می‌شود. این متغیر باید فهرستی از دایرکتوری‌ها باشد که با دونقطه (:) از یکدیگر جدا شده‌اند و به ابتدای مقدار پیش‌فرض .B %load-compiled-path اضافه خواهند شد. . .SH "فایل‌ها (FILES)" .TP .I ~/.guile یک اسکریپت گایل که پیش از وقوع هرگونه پردازش دیگر اجرا می‌شود. برای نمونه، فایل .I .guile زیر واسط خط‌خوان (readline) گایل را فعال می‌کند: .RS 9 .B (use-modules (ice-9 readline)) .RS 0 .B (activate-readline) . .SH "همچنین ببینید (SEE ALSO)" مستندات کامل گایل به صورت یک راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های .B info و .B guile به درستی در سیستم شما نصب شده باشند، دستور .IP .B info guile .PP باید دسترسی شما به راهنمای کامل را فراهم کند. وبگاه مقدمه‌ای کلی درباره زبان اسکیم ارائه می‌دهد. . .SH "اشکال‌زدایی و گزارش باگ (REPORTING BUGS)" یک فهرست پستی به نشانی برای گزارش باگ‌ها و اصلاحات گایل وجود دارد. اما پیش از گزارش هر مورد به عنوان باگ، لطفاً مطمئن شوید که واقعاً یک اشکال است، نه یک سوءتفاهم یا یک قابلیت تعمدی. از شما می‌خواهیم بخش «Reporting Bugs» را در کتابچه راهنمای مرجع گایل (یا سیستم Info) برای نکاتی درباره نحوه و زمان گزارش باگ مطالعه فرمایید. همچنین، شماره نسخه Guile مورد استفاده خود را در هر گزارش باگی که ارسال می‌کنید درج نمایید. اگر باگ‌ها به صورت ایزوله و تفکیک‌شده گزارش شوند، با احتمال بسیار بیشتری برطرف خواهند شد؛ بنابراین به نفع شماست که آنها را به گونه‌ای گزارش دهید که به سادگی قابل بازتولید باشند. . .SH "حق نشر (COPYING)" حق نشر \(co 2010, 2011, 2025 متعلق به بنیاد نرم‌افزارهای آزاد (Free Software Foundation, Inc.) مجوز تهیه و توزیع نسخه‌های عیناً برابر با این سند اعطا می‌شود، مشروط بر آنکه اعلان حق نشر و این اعلان مجوز در تمامی نسخه‌ها حفظ شوند. مجوز کپی و توزیع نسخه‌های تغییریافته این سند تحت شرایط کپی عین متن اعطا می‌شود، مشروط بر آنکه کل اثر مشتق‌شده حاصل تحت شرایط اعلان مجوزی دقیقاً یکسان با این اعلان توزیع شود. مجوز کپی و توزیع ترجمه‌های این سند به زبان‌های دیگر تحت شرایط فوق برای نسخه‌های تغییریافته اعطا می‌شود، مگر اینکه این اعلان مجوز در ترجمه‌ای که به تأیید بنیاد نرم‌افزارهای آزاد رسیده است ذکر شود. . .SH "نویسندگان (AUTHORS)" رابرت مرکل (Robert Merkel) به نشانی این صفحه راهنما را نوشته است. راب براونینگ (Rob Browning) به نشانی به آن افزوده است. .B guile یک نرم‌افزار گنو (GNU) است. گایل در اصل بر پایه مفسر SCM اوبری جافر (Aubrey Jaffer) توسعه یافته و حاصل کار افراد بسیار زیادی است.