.TH mlton 1 "December 30, 2024" .SH "نام (NAME)" mlton \- کامپایلر کل‌برنامه برای زبان برنامه‌نویسی استاندارد ام‌ال (SML) .SH "خلاصه دستور (SYNOPSIS)" \fBmlton\fP \fI[option ...] file\fB.\fP{\fBc\fP|\fBmlb\fP|\fBo\fP|\fBsml\fP} [file\fB.\fP{\fBc\fP|\fBo\fP|\fBs\fP|\fBS\fP} ...]\fR .SH "توضیحات (DESCRIPTION)" .PP دستور \fBMLton\fP از خط فرمان به همراه مجموعه‌ای از گزینه‌ها و به دنبال آن یک نام فایل و فهرستی از فایل‌ها برای کامپایل، اسمبلی و پیوند زدن اجرا می‌شود. ساده‌ترین حالت، اجرای \fBmlton foo.sml\fP است، جایی که \fBfoo.sml\fP حاوی یک برنامه معتبر SML است؛ در این حالت MLton برنامه را برای تولید یک فایل اجرایی با نام \fBfoo\fP کامپایل می‌کند. از آنجا که \fBMLton\fP از کامپایل جداگانه (separate compilation) پشتیبانی نمی‌کند، برنامه باید کل برنامه‌ای باشد که مایل به کامپایل آن هستید. با این حال، برنامه می‌تواند به امضاها (signatures) و ساختارهای تعریف‌شده در کتابخانه پایه (Basis Library) ارجاع دهد. برنامه‌های بزرگ‌تر، که چندین فایل را در بر می‌گیرند، می‌توانند با سیستم ML Basis کامپایل شوند. در این حالت، \fBmlton foo.mlb\fP برنامه کامل SML را که توسط پایه \fBfoo.mlb\fP شرح داده شده است کامپایل می‌کند، که ممکن است هم فایل‌های SML و هم پایه‌های اضافی را مشخص نماید. برای جزئیات بیشتر به \fBراهنمای MLton\fP مراجعه کنید. گزینه‌های زمان کامپایل \fBMLton\fP، نام فایل خروجی، میزان پرگویی پیام‌های زمان کامپایل، و انجام یا عدم انجام برخی بهینه‌سازی‌ها را کنترل می‌کنند. آن‌ها همچنین می‌توانند مشخص کنند چه فایل‌های میانی ذخیره شوند و می‌توانند فرایند کامپایل را زودهنگام در یکی از گذرهای میانی متوقف کنند؛ در این صورت می‌توان با ارسال فایل‌های تولیدشده به \fBMLton\fP کامپایل را از سر گرفت. ابزار \fBMLton\fP از پسوند فایل ورودی برای تعیین نوع برنامه ورودی استفاده می‌کند. پسوندهای ممکن عبارتند از: \fB.c\fP، \fB.mlb\fP، \fB.o\fP، \fB.s\fP و \fB.sml\fP. بدون آرگومان، \fBMLton\fP شماره نسخه را چاپ کرده و خارج می‌شود. برای مشاهده پیام راهنمای نحوه استفاده، \fBMLton\fP را با یک سوییچ نامعتبر، مانند \fBmlton \-z\fP اجرا کنید. در توضیحات زیر و در پیام نحوه استفاده، برای فلگ‌هایی که چندین انتخاب را می‌پذیرند (مثلاً \fI{\fBtrue\fP|\fBfalse\fP}\fR)، اولین مقدار ذکرشده مقدار پیش‌فرض است. .SH "گزینه‌های زمان کامپایل (Compile-time options)" .TP \fB\-align \fIn\fP\fR هم‌ترازی اشیا در حافظه را بر اساس مقدار مشخص‌شده (\fB4\fP یا \fB8\fP) تنظیم می‌کند. مقدار پیش‌فرض بسته به معماری متفاوت است. .TP \fB\-as\-opt \fIoption\fP\fR ارسال \fIoption\fP به \fBgcc\fP هنگام کامپایل کردن کد اسمبلی. اگر مایلید گزینه‌ای را به اسمبلر ارسال کنید، باید از نحو \fB\-Wa,\fP در \fBgcc\fP استفاده کنید. .TP \fB\-cc \fIcc\fP\fR تعیین فایل اجرایی برای کامپایلر C. کامپایلر C همچنین برای کامپایل کد اسمبلی (فایل‌های \fB.s\fP) به کد شیء (فایل‌های \fB.o\fP) و پیوند دادن کد شیء به یک فایل اجرایی فراخوانی می‌شود. .TP \fB\-cc\-opt \fIoption\fP\fR ارسال \fIoption\fP به \fBgcc\fP هنگام کامپایل کردن کد C. .TP \fB\-codegen \fI{\fBnative\fP|\fBx86\fP|\fBamd64\fP|\fBc\fP|\fBllvm\fP}\fP\fR تولید کد شیء بومی (native) از طریق اسمبلی amd64، کد C، کد LLVM، یا اسمبلی x86. با گزینه \fB\-codegen native\fP (\fB\-codegen amd64\fP یا \fB\-codegen x86\fP)، ابزار \fBMLton\fP معمولاً سریع‌تر کامپایل می‌کند و کد بهتری تولید می‌نماید. .TP \fB\-const '\fIname value\fP'\fR تنظیم مقدار یک ثابت در زمان کامپایل. در ادامه فهرستی از ثابت‌های در دسترس، مقادیر پیش‌فرض آن‌ها و آنچه کنترل می‌کنند آمده است. \fBExn.keepHistory \fI{\fBfalse\fP|\fBtrue\fP}\fP\fR .in +.5i فعال‌سازی \fBMLton.Exn.history\fP. تنظیم این مقدار روی \fBtrue\fP هزینه کارایی به همراه دارد؛ هم در مصرف حافظه استثناها و هم در زمان اجرا، به دلیل کارهای اضافی که باید در هر بار ساخت، پرتاب (raise) و مدیریت (handle) استثنا انجام شود. .in -.5i .TP \fB\-default\-ann \fIann\fP\fR تعیین یادداشت‌های پیش‌فرض ML Basis. برای مثال، \fB\-default\-ann 'warnUnused true'\fP باعث می‌شود هشدارهای متغیرهای استفاده‌نشده به‌طور پیش‌فرض فعال شوند. مقادیر پیش‌فرض می‌توانند توسط یک یادداشت در یک فایل ML Basis بازنویسی شوند. .TP \fB\-default\-type \fItype\fP\fR تعیین انتساب پیش‌فرض برای یک نوع اولیه (primitive). برای مثال، \fB\-default\-type word64\fP باعث می‌شود نوع سطح‌بالای \fBword\fP و ساختار سطح‌بالای \fBWord\fP در کتابخانه پایه به ترتیب برابر با \fBWord64.word\fP و \fBWord64:WORD\fP شوند. به همین ترتیب، \fB\-default\-type intinf\fP باعث می‌شود نوع سطح‌بالای \fBint\fP و ساختار سطح‌بالای \fBInt\fP در کتابخانه پایه به ترتیب برابر با \fBIntInf.int\fP و \fBIntInf:INTEGER\fP شوند. .TP \fB\-disable\-ann \fIann\fP\fR نادیده گرفتن یادداشت مشخص‌شده ML Basis در تمام فایل‌های ML Basis. برای مثال، جهت مشاهده \fIتمام\fR هشدارهای انطباق (match) و استفاده‌نشده، با این گزینه‌ها کامپایل کنید: \fB\-default\-ann 'warnUnused true'\fP، \fB\-disable\-ann forceUsed\fP، \fB\-disable\-ann nonexhaustiveMatch\fP، \fB\-disable\-ann redundantMatch\fP، و \fB\-disable\-ann warnUnused\fP. .TP \fB\-export\-header \fIfile\fP\fR نوشتن پیش‌نمونه‌های C (پروتوتیپ‌ها) در \fIfile\fP برای تمامی توابع در برنامه که از SML به C صادر (export) شده‌اند. .TP \fB\-ieee\-fp \fI{\fBfalse\fP|\fBtrue\fP}\fP\fR باعث می‌شود مولد کد بومی x86 نسبت به پیروی از استاندارد ممیز شناور IEEE سخت‌گیرانه عمل کند. به‌طور پیش‌فرض، به دلیل هزینه کارایی، چنین نیست. این گزینه تنها همراه با \fB\-codegen x86\fP اثر دارد. .TP \fB\-inline \fIn\fP\fR تنظیم آستانه درون‌خطی‌سازی (inlining) مورداستفاده در بهینه‌ساز. این آستانه معیاری تقریبی از اندازه کد یک رویه است. مقدار پیش‌فرض 320 است. .TP \fB\-keep \fI{\fBg\fP|\fBo\fP}\fP\fR ذخیره فایل‌های میانی. اگر هیچ آرگومان \fB\-keep\fP داده نشود، آنگاه تنها فایل خروجی ذخیره می‌شود. .in +.5i \fBg\fP فایل‌های تولیدشده \fB.c\fP و \fB.s\fP که به \fBgcc\fP ارسال می‌شوند و فایل‌های تولیدشده \fB.ll\fP که به \fBllvm-as\fP ارسال می‌شوند .br \fBo\fP فایل‌های شیء (\fB.o\fP) .in -.5i .TP \fB\-link\-opt \fIoption\fP\fR ارسال \fIoption\fP به \fBgcc\fP هنگام پیوند زدن (linking). می‌توانید از این گزینه برای مشخص کردن مسیرهای جستجوی کتابخانه، مانند \fB\-link\-opt \-Lpath\fP، و کتابخانه‌ها جهت پیوند، مانند \fB\-link\-opt \-lfoo\fP، یا حتی هر دو به‌طور هم‌زمان، مانند \fB\-link\-opt '\-Lpath \-lfoo'\fP استفاده کنید. اگر مایلید گزینه‌ای را به پیونددهنده ارسال کنید، باید از نحو \fB\-Wl,\fP در \fBgcc\fP استفاده کنید؛ برای مثال: \fB\-link\-opt '\-Wl,\-\-export\-dynamic'\fP. .TP \fB\-llvm\-as \fIllvm\-as\fP\R مشخص کردن فایل اجرایی برای اسمبلر \fB.ll\fP به \fB.bc\fP در LLVM؛ می‌تواند برای انتخاب نسخه خاصی از ابزار استفاده شود (مانند \fB\-llvm\-as llvm\-as\-14\fP). .TP \fB\-llvm\-as\-opt \fIoption\fP\fR ارسال \fIoption\fP به \fBllvm-as\fP هنگام اسمبل کردن کد LLVM (\fB.ll\fP به \fB.bc\fP). .TP \fB\-llvm\-llc \fIllc\fP\R مشخص کردن فایل اجرایی برای کامپایلر سیستمی \fB.bc\fP به \fB.o\fP در LLVM؛ می‌تواند برای انتخاب نسخه خاصی از ابزار استفاده شود (مانند \fB\-llvm\-llc llc\-14\fP). .TP \fB\-llvm\-llc\-opt \fIoption\fP\fR ارسال \fIoption\fP به \fBllc\fP هنگام کامپایل کردن کد LLVM (\fB.bc\fP به \fB.o\fP). .TP \fB\-llvm\-opt \fIopt\fP\R مشخص کردن فایل اجرایی برای بهینه‌ساز \fB.bc\fP به \fB.bc\fP در LLVM؛ می‌تواند برای انتخاب نسخه خاصی از ابزار استفاده شود (مانند \fB\-llvm\-opt opt\-14\fP). .TP \fB\-llvm\-opt\-opt \fIoption\fP\fR ارسال \fIoption\fP به \fBopt\fP هنگام بهینه‌سازی کد LLVM (\fB.bc\fP به \fB.bc\fP). .TP \fB\-mlb\-path\-map \fIfile\fP\fR استفاده از \fIfile\fP به عنوان نگاشت مسیر ML Basis برای تعریف متغیرهای مسیر اضافی MLB. استفاده مکرر از \fB\-mlb\-path\-map\fP و \fB\-mlb\-path\-var\fP مجاز است، و تعاریف متغیر در نگاشت‌های مسیر متأخرتر نسبت به قبلی‌ها اولویت دارند. .TP \fB\-mlb\-path\-var '\fIname value\fP'\fR تعریف یک متغیر مسیر اضافی MLB. استفاده مکرر از \fB\-mlb\-path\-map\fP و \fB\-mlb\-path\-var\fP مجاز است، و تعاریف متغیر در نگاشت‌های مسیر متأخرتر نسبت به قبلی‌ها اولویت دارند. .TP \fB\-output \fIfile\fP\fR مشخص کردن نام فایل خروجی نهایی. نام پیش‌فرض، همان نام فایل ورودی است که پسوند آن حذف شده و یک پسوند مناسب (که ممکن است خالی باشد) اضافه شده است. .TP \fB\-profile \fI{\fBno\fP|\fBalloc\fP|\fBcount\fP|\fBtime\fP}\fP\fR تولید یک فایل اجرایی که داده‌های پروفایلینگ (سنجش کارایی) را جمع‌آوری می‌کند. هنگامی که چنین فایل اجرایی اجرا شود، یک فایل \fBmlmon.out\fP تولید خواهد کرد. صفحه راهنمای \fBmlprof\fP نحوه استخراج اطلاعات از این فایل را شرح می‌دهد. .TP \fB\-profile\-branch \fI{\fBfalse\fP|\fBtrue\fP}\fP\fR در صورت درست (true) بودن، پروفایلر داده‌های کارایی را به‌طور جداگانه برای هر شاخه از تعریف یک تابع، عبارت \fBcase\fP و عبارت \fBif\fP جمع‌آوری می‌کند. .TP \fB\-profile\-stack \fI{\fBfalse\fP|\fBtrue\fP}\fP\fR در صورت درست (true) بودن، پروفایلر داده‌های کارایی را برای تمام توابع موجود در پشته جمع‌آوری می‌کند، نه فقط تابعی که در حال حاضر اجرا می‌شود. .TP \fB\-profile\-val \fI{\fBfalse\fP|\fBtrue\fP}\fP\fR در صورت درست (true) بودن، پروفایلر داده‌های کارایی را به‌طور جداگانه برای هر اعلان (توسعه‌پذیر) \fBval\fP جمع‌آوری می‌کند. .TP \fB\-runtime \fIarg\fP\fR ارسال آرگومان به سیستم زمان اجرا از طریق \fB@MLton\fP. این آرگومان پیش از سایر سوییچ‌های خط فرمان \fB@MLton\fP پردازش خواهد شد. استفاده مکرر از \fB\-runtime\fP مجاز است و تمام آرگومان‌ها را به ترتیب ارسال خواهد کرد. اگر یک سوییچ زمان اجرا بیش از یک بار رخ دهد، آخرین تنظیم اثرگذار خواهد بود. نیازی به ارائه \fB@MLton\fP آغازین یا \fB\-\-\fP پایانی نیست؛ این موارد به‌طور خودکار ارائه خواهند شد. یک آرگومان برای \fB\-runtime\fP ممکن است شامل فاصله خالی باشد، که باعث می‌شود آرگومان توسط زمان اجرا به عنوان توالی‌ای از کلمات تلقی شود. برای مثال، خط فرمان: .in +.5i \fBmlton \-runtime 'ram\-slop 0.4' foo.sml\fP .in -.5i باعث می‌شود foo طوری اجرا شود که گویی به این صورت فراخوانی شده است: .in +.5i \fBfoo @MLton ram\-slop 0.4 \-\-\fP .in -.5i یک فایل اجرایی ایجادشده با \fB\-runtime stop\fP هیچ‌یک از آرگومان‌های \fB@MLton\fP را پردازش نمی‌کند. این ویژگی برای ایجاد یک فایل اجرایی مفید است، مانند \fBecho\fP، که باید با \fB@MLton\fP مانند هر آرگومان خط فرمان دیگری برخورد کند. .in +.5i \fB% mlton \-runtime stop echo.sml\fP .in -.5i .in +.5i \fB% echo @MLton \-\-\fP .in -.5i .in +.5i \fB@MLton \-\-\fP .in -.5i .TP \fB\-show\-basis \fIfile\fP\fR چاپ ساختاریافته و خوانای (pretty print) پایه تعریف‌شده توسط برنامه ورودی در \fIfile\fP. .TP \fB\-show\-def\-use \fIfile\fP\fR خروجی دادن اطلاعات تعریف-استفاده (def-use) در \fIfile\fP. هر شناسه تعریف‌شده در یک خط ظاهر می‌شود، و در خطوط بعدی موقعیت هر بار استفاده از آن می‌آید. .TP \fB\-stop \fI{\fBf\fP|\fBg\fP|\fBo\fP|\fBtc\fP}\fP\fR مشخص کردن زمان توقف. .in +.5i \fBf\fP فهرست فایل‌ها روی خروجی استاندارد (تنها زمانی معنادار است که ورودی \fBfoo.mlb\fP باشد) .br \fBg\fP فایل‌های تولیدشده \fB.c\fP و \fB.s\fP .br \fBo\fP فایل‌های شیء (\fB.o\fP) .br \fBtc\fP پس از بررسی نوع (type checking) .in -.5i اگر با \fB\-stop g\fP یا \fB\-stop o\fP کامپایل کنید، می‌توانید کامپایل را با اجرای \fBMLton\fP روی فایل‌های تولیدشده \fB.c\fP و \fB.s\fP یا \fB.o\fP از سر بگیرید. .TP \fB\-target \fI{\fBself\fP|...}\fP\fR تولید یک فایل اجرایی که روی بستر مشخص‌شده اجرا می‌شود. مقدار پیش‌فرض \fBself\fP است، به این معنی که برای همان ماشینی که \fBMLton\fP روی آن در حال اجرا است کامپایل کند. برای استفاده از هر هدف دیگری، ابتدا باید یک کامپایلر چندسکویی (cross compiler) نصب کنید. برای جزئیات به \fBراهنمای MLton\fP مراجعه کنید. .TP \fB\-target\-as\-opt \fItarget\fP \fIoption\fP\fR مشابه \fB\-as\-opt\fP، این گزینه \fIoption\fP را هنگام اسمبلی به \fBgcc\fP ارسال می‌کند، با این تفاوت که تنها زمانی \fIoption\fP را ارسال می‌کند که معماری یا سیستم‌عامل مقصد، \fItarget\fP باشد. .TP \fB\-target\-cc\-opt \fItarget\fP \fIoption\fP\fR مشابه \fB\-cc\-opt\fP، این گزینه \fIoption\fP را هنگام کامپایل کردن کد C به \fBgcc\fP ارسال می‌کند، با این تفاوت که تنها زمانی \fIoption\fP را ارسال می‌کند که معماری یا سیستم‌عامل مقصد، \fItarget\fP باشد. .TP \fB\-target\-link\-opt \fItarget\fP \fIoption\fP\fR مشابه \fB\-link\-opt\fP، این گزینه \fIoption\fP را هنگام پیوند زدن به \fBgcc\fP ارسال می‌کند، با این تفاوت که تنها زمانی \fIoption\fP را ارسال می‌کند که معماری یا سیستم‌عامل مقصد، \fItarget\fP باشد. .TP \fB\-verbose \fI{\fB0\fP|\fB1\fP|\fB2\fP|\fB3\fP}\fP\fR میزان پرگویی درباره گذرهایی که در حال اجرا هستند. پیش‌فرض 0 است. .in +.5i \fB0\fP بدون خروجی (ساکت) .br \fB1\fP فراخوانی‌های کامپایلر، اسمبلر و پیونددهنده .br \fB2\fP 1، به همراه گذرهای میانی کامپایلر .br \fB3\fP 2، به همراه اندازه برخی از ساختارهای داده .in -.5i .SH "گزینه‌های سیستم زمان اجرا (Runtime system options)" فایل‌های اجرایی تولیدشده توسط \fBMLton\fP آرگومان‌های خط فرمانی را می‌پذیرند که سیستم زمان اجرا را کنترل می‌کنند. این آرگومان‌ها اختیاری هستند و پیش از آرگومان‌های معمول فایل اجرایی می‌آیند. برای استفاده از این گزینه‌ها، نخستین آرگومان فایل اجرایی باید \fB@MLton\fP باشد. سپس آرگومان‌های اختیاری به دنبال آن می‌آیند، باید با \fB\-\-\fP خاتمه یابند، و به دنبال آن‌ها هر آرگومانی برای برنامه قرار می‌گیرد. آرگومان‌های اختیاری از طریق \fBCommandLine.arguments\fP در دسترس برنامه SML قرار \fIنمی‌گیرند\fP. برای مثال، یک فراخوانی معتبر برای \fBhello-world\fP به این صورت است: .in +.5i \fBhello-world @MLton gc\-summary fixed\-heap 10k \-\- a b c\fP .in -.5i در مثال فوق: \fBCommandLine.arguments () = ["a", "b", "c"]\fP. وجود توالی‌ای از آرگومان‌های \fB@MLton\fP مجاز است، مانند: .in +.5i \fBhello-world @MLton gc\-summary \-\- @MLton fixed\-heap 10k \-\- a b c\fP .in -.5i گزینه‌های زمان اجرا همچنین می‌توانند \fBMLton\fP را کنترل کنند، مانند: .in +.5i \fBmlton @MLton fixed\-heap 0.5g \-\- foo.sml\fP .in -.5i .TP \fBfixed\-heap \fIx{\fBk\fP|\fBK\fP|\fBm\fP|\fBM\fP|\fBg\fP|\fBG\fP}\fP\fR استفاده از هیپ (heap) با اندازه ثابت به مقدار \fIx\fP، که در آن \fIx\fP یک عدد حقیقی است و حرف انتهایی واحد آن را نشان می‌دهد. .in +.5i \fBk\fP یا \fBK\fP 1024 .br \fPm\fP یا \fBM\fP 1,048,576 .br \fBg\fP یا \fBG\fP 1,073,741,824 .in -.5i مقدار \fB0\fP به معنای استفاده از تقریباً تمام RAM موجود روی دستگاه است. اندازه هیپ استفاده‌شده توسط \fBfixed\-heap\fP شامل تمام حافظه تخصیص‌یافته توسط کد SML است، از جمله حافظه برای پشته (یا پشته‌ها، در صورت وجود چندین ریسه). با این حال، شامل هیچ حافظه‌ای که برای خود کد یا حافظه استفاده‌شده توسط متغیرهای سراسری C، پشته C یا malloc به کار رفته است نمی‌شود. .TP \fBgc\-messages\fP چاپ پیام در شروع و پایان هر دوره جمع‌آوری زباله (garbage collection). .TP \fBgc\-summary\fP چاپ خلاصه‌ای از آمارهای جمع‌آوری زباله پس از پایان برنامه. .TP \fBgc\-summary\-file \fIfile\fP\fP چاپ خلاصه‌ای از آمارهای جمع‌آوری زباله پس از پایان برنامه در فایل مشخص‌شده توسط \fIfile\fP. .TP \fBload\-world \fIworld\fP\fR راه‌اندازی مجدد محاسبات با فایل مشخص‌شده توسط \fIworld\fP، که باید از طریق فراخوانی \fBMLton.World.save\fP توسط همان فایل اجرایی ایجاد شده باشد. برای جزئیات به \fBراهنمای MLton\fP مراجعه کنید. .TP \fBmax\-heap \fIx{\fBk\fP|\fBK\fP|\fBm\fP|\fBM\fP|\fBg\fP|\fBG\fP}\fP\fR اجرای محاسبات با هیپی که اندازه آن به‌طور خودکار تغییر می‌کند و هرگز بزرگ‌تر از \fIx\fP نمی‌شود؛ که در آن \fIx\fP یک عدد حقیقی است و حرف انتهایی مانند \fBfixed\-heap\fP واحد را نشان می‌دهد. اندازه هیپ برای \fBmax\-heap\fP نیز مانند \fBfixed\-heap\fP محاسبه می‌شود. .TP \fBmay\-page\-heap \fI{\fBfalse\fP|\fBtrue\fP}\fP\fR فعال‌سازی صفحه‌بندی هیپ روی دیسک در صورت ناتوانی در افزایش اندازه هیپ به مقدار دلخواه. .TP \fBno\-load\-world\fP غیرفعال‌سازی \fBload\-world\fP. این گزینه می‌تواند از طریق \fB\-runtime no\-load\-world\fP به عنوان آرگومانی به کامپایلر ارسال شود تا فایل‌های اجرایی تولید کند که world را بارگیری نخواهند کرد. این ویژگی ممکن است برای اطمینان از اینکه فایل‌های اجرایی با بیت set-uid یک world نامشخص را بارگیری نمی‌کنند مفید باشد. .TP \fBram\-slop \fIx\fP\fR ضرب کردن \fBx\fP در مقدار حافظه RAM دستگاه برای به دست آوردن مقداری از RAM که سیستم زمان اجرا مجاز به استفاده از آن می‌داند. به‌طور معمول \fBx\fP کمتر از 1 است و برای در نظر گرفتن فضای اشغال‌شده توسط سایر برنامه‌های در حال اجرا روی همان دستگاه استفاده می‌شود. .TP \fBstop\fP باعث می‌شود سیستم زمان اجرا به محض رسیدن به \fB\-\-\fP بعدی، پردازش آرگومان‌های \fB@MLton\fP را متوقف کند. این گزینه می‌تواند از طریق \fB\-runtime stop\fP به عنوان آرگومانی به کامپایلر ارسال شود تا فایل‌های اجرایی بسازد که هیچ آرگومان \fB@MLton\fP را پردازش نکنند. .SH "عیب‌یابی (DIAGNOSTICS)" پیام‌های خطای نوع در MLton در قالبی مناسب برای پردازش توسط Emacs نیستند. برای جزئیات درباره نحوه رفع این مورد، پیوند زیر را ببینید: http://mlton.org/Emacs .SH "همچنین ببینید (SEE ALSO)" .BR mlprof (1) و \fBراهنمای MLton\fP.