به یک پیاده سازی از زبان ML، بر اساس گویش CAML نور با یک سیستم مبتنی بر شی کلاس کامل و یک سیستم ماژول قدرتمند در سبک استاندارد ML گسترش است.
هدف CAML شامل دو کامپایلر. یکی تولید بایت کد است که پس از آن توسط یک برنامه C تفسیر شده است.
این کامپایلر اجرا می شود به سرعت، قابل حمل برای اساسا هر 32 یا 64 بیتی پلاتفرم یونیکس است و تولید کد جمع و جور با حافظه مورد نیاز متوسط.
عملکرد برنامه های تولید شده بسیار خوب برای اجرای bytecoded است.
این کامپایلر استفاده می شود یا به عنوان یک مستقل، کامپایلر دسته گرا است که تولید برنامه های مستقل، و یا به عنوان یک سیستم سطح بالا مبتنی بر تعاملی.
کامپایلر های دیگر تولید کد بومی عملکرد بالا برای تعداد
از پردازنده.
تالیف طول می کشد و تولید کد بزرگتر است، اما برنامه های تولید ارائه عملکرد عالی، در حالی که حفظ حافظه مورد نیاز متوسط کامپایلر بایت کد است.
هدف CAML محبوب ترین نوع از زبان CAML است.
از نقطه نظر زبان، آن هسته زبان CAML با یک لایه شی گرا تمام عیار، و همچنین به عنوان یک سیستم ماژول قدرتمند، با یک صدا، سیستم نوع چند ریخت های استنتاج نوع همه در ارتباط است گسترش می یابد.
سیستم CAML هدف اجرای صنعتی قدرت از این زبان است، شامل یک عملکرد بالا کامپایلر بومی کد (ocamlopt) برای 9 معماری پردازنده (IA32، پاور، AMD64، آلفا، SPARC، MIPS، IA64، HPPA، StrongArm)، همچنین به عنوان یک کامپایلر بایت کد (ocamlc) و یک حلقه تعاملی خواندن- محاسبه- چاپ (اوکامی) برای توسعه سریع و قابل حمل.
توزیع CAML هدف شامل یک کتابخانه استاندارد جامع، یک دیباگر پخش (ocamldebug)، lexer (ocamllex) و تجزیه کننده (ocamlyacc) ژنراتور، یک پیش پردازنده بسیار چاپگر (camlp4) و یک ژنراتور اسناد و مدارک (ocamldoc).
در چه در این نسخه جدید است:
به روز رسانی به TCL / TK 8.6.
رد اظهارات متعدد از همان روش و یا متغیر نمونه در یک شی.
انتشار اطلاعات نسبت به نوع الگوی تطبیق، حتی در حضور انواع چند شکل.
در چه در نسخه 4.02.1 جدید است:
به روز رسانی به TCL / TK 8.6.
رد اظهارات متعدد از همان روش و یا متغیر نمونه در یک شی.
انتشار اطلاعات نسبت به نوع الگوی تطبیق، حتی در حضور انواع چند شکل.
در چه در نسخه 3.12.1 جدید است:
جوانه های ثابت:
متغیر استفاده نشده در شناسایی نیست "شامل (ساختار .. پایان)"
camlp4 تجدید نظر اشکال چاپ نحو در سطح بالا (گزارش CAML به لیست)
پیکربندی: آیا _WIN32 تحت برنامه Cygwin را تعریف نمی کند
مقایسه عمومی سخت در حالتی که دو بلوک های سفارشی هستند و در مقایسه مجموعه های مختلف عملیات های سفارشی.
مقایسه سخت بین bigarrays در مورد که در آن دو bigarrays انواع مختلف.
خودکار اشتباه ثابت از expm1 () و log1p ().
هنوز پسوند .exe را اضافه کنید در هنگام نصب اسکریپت پوسته ocamlmktop
ocamldoc: رفع جزئی مربوط به صفحه نمایش از گزینه های ocamldoc
اشکال ثابت با ارزش بزرگ در OCAMLRUNPARAM
عدم تطابق بین اظهارنامه و تعریف caml_major_collection_slice
خواسته ویژگی ها:
او '-ML-مترادف و گزینه ها "-mli-مترادف به ocamldep
او '-ocamldoc' گزینه به ocamlbuild
اضافه شدن امکان اضافه کردن گزینه های به ocamlbuild
اضافه دسترسی به تجزیه کننده camlp4 فعلی و پرینتر
انتخاب فرمان برای بهبود عملیات شناور بر AMD64
اضافه شدن 'usage_string "تابع برای ارگ
اجازه می دهد با محدودیت برای اضافه کردن یک معادله به تعریف نوع داده
اجازه می دهد به ادغام،before برچسب مانند آنهایی که دیگر
اجازه می دهد وابستگی به فایل "_oasis"
دیگر تغییرات:
تغییر به طور پیش فرض اندازه پشته جزئی از 32K 256K به کلمات.
اضافه شده عملیات جدید compare_ext به بلوک های سفارشی، به نام وقتی که مقایسه یک مقدار بلوک های سفارشی با یک عدد صحیح فاقد بسته بندی.
در چه در نسخه 3.12.0 جدید است:
الگوهای رکورد از فرم {LBL = پت؛ _} را به علامت که همه برچسب ها ذکر شده، هدفمند.
هشدار در حال حاضر شماره و می تواند در روشن و خاموش کردن به صورت جداگانه. سیستم قدیمی با حروف اشاره به مجموعه ای از هشدارهای هنوز هم پشتیبانی.
اضافه شدن گزینه '-strict رشته، به زور بخشی چپ دنباله به واحد نوع.
نقشه: پیاده سازی توابع از مجموعه ای این حس را برای نقشه.
اضافه کردن پشتیبانی برای dynlink بومی است.
معناشناسی هشدار 7 (کد 'M'، روش زیر پا بگذارند) تغییر کرده است (در حال حاضر تشخیص تمام باطل، نه فقط تعاریف تکرار در داخل بدن همان کلاس)، و در حال حاضر به طور پیش فرض غیر فعال است.
در چه در نسخه 3.11.2 جدید است:
مستندات بهتر برای حداقل و حداکثر w.r.t. نان
ocamlbuild با استفاده از کامپایلر اشتباه برای فایل های C
ocamlbuild استفاده نمی کند به درستی پیکربندی اطلاعات
در زیر برخی از نصب ویندوز، بالا راه اندازی بار برای معاونت یونیکس
مشکل با scanf و CRLF
ocamlmklib مشکل تحت ویندوز
مشکل BSD با آدرس سوکت، به عنوان مثال، در Unix.getnameinfo
موضوع را با تجزیه لیترال شناور شده توسط اسمبلر GNU
مشکل با ماژول ها و انواع خصوصی
در مورد نیاز:
کامپایلر GNU C - شورای همکاری خلیج فارس
نظر یافت نشد