# اپل دیلان
اپل دیلان پیاده‌سازی اولیه زبان برنامه‌نویسی دیلان می‌باشد که بین سال‌های ۱۹۹۲ تا ۱۹۹۵ توسط شرکت اپل توسعه داده شد. این زبان در دفتر اپل-کمبریج یا همان نرم‌افزار کورال (Coral Softwere) سابق که توسعه دهندگان Macintoch Common Lisp بودند، توسعه داده شد. زبان اولیه شباهت‌های بسیاری به زبان لیسپ داشت. برای مدتی، این زبان با هدف تبدیل شدن به زبان اصلی اپل نیوتون توسعه یافت. زمانی که پروژه اپل نیوتون زودتر از حد انتظار برای تولید سفارش داده شده بود، دیلان برای انتشار آماده نبود. در نتیجه یک سیستم‌عامل جدید برای پروژه اپل نیوتون بر پایه زبان C++ توسعه داده شد.
پس از اتفاقات اپل نیوتون، دیلان به عنوان یک سیستم برنامه‌نویسی دسکتاپ برای سیستم عامل مک کلاسیک تغییر کاربری داد. این امر موجب تغییرات گسترده در نحو (Syntax) زبان دیلان شد تا بیشتر به زبان C شبیه شود. ظاهراً به تشویق گروهی در دانشگاه کارنگی ملون، تا آن را برای برنامه نویسان آشنا به زبان‌های دیگر جذاب تر کند. هنگامی که در آوریل ۱۹۹۵ توسعه لغو شد، سیستم به دست آمده در حال پیشرفت بود. روند توسعه شش ماه دیگر ادامه پیدا کرد تا انتشار فناوری اپل دیلان (Apple Dylan Technology Release) ساخته شود، و در کنفرانس جهانی توسعه‌دهندگان اپل سال ۱۹۹۶ رونمایی شد. انتشار فناوری اولین و تنها نسخه رسمی اپل این سیستم بود.

## تاریخچه
دیلن در اوایل سال ۱۹۹۱ توسط گروهی از مهندسان زیرنظر اپل توسعه داده شد. اساس طراحی دیلن از زبان برنامه‌نویسی لیسپ الهام گرفته شده بود، اما در زمانی که منتشر شد، شباهت بیشتری به نحو زبان برنامه‌نویسی الگول داشت زیرا توسعه دهندگان تصور می‌کردند که استفاده از این نحو، زبان را آسان‌تر می‌کند. ویژگی‌های شیءگرایی آن از گویش CLOS گرفته شده و در دیلن تمام مقادیر اشیاء، درجه یک هستند.

## محیط توسعه
اپل دیلان شامل یک محیط توسعه پویا و یکپارچه است که از اسمال‌تاک و Macintoch Common Lisp و Think C الهام گرفته شده‌است و در ابتدا با کد Hula نامگذاری شده‌است. مانند Think C و بر خلاف Lisp و SmallTalk تمایز واضحی بین محیط توسعه و برنامه در حال توسعه ایجاد می‌کند. این کار را با پیوند دادن کدی به نام خرد (Stub) به برنامه هدف انجام می‌دهد و به محیط توسعه یکپارچه (IDE) اجازه می‌دهد با آن ارتباط برقرار کند (برای تزریق کد، انجام درون نگری و غیره) بدون به اشتراک گذاشتن یک محیط سیستم زمان اجرا با محیط توسعه یکپارچه.
محیط توسعه یکپارچه شامل اجزا زیر می‌شود:
- بایندر (Binder): ابزاری برای پیکربندی مرورگرها
- پایگاه داده منبع
- پایگاه داده تعریف
- کامپایل تدریجی
- دیباگر منبع چند پلتفرمی
- ابزارهای پروفایل
- سازنده رابط

پنجره اصلی مرورگر در محیط اپل دیلان، بایندر یا Binder است. یک پنجره بایندر از یک یا چند پنجره مرتبط تشکیل شده که هر پنجره دارای یک ورودی، یک خروجی، یک جنبه و یک سبک ارائه است. ورودی یک پنجره خروجی یک پنجره دیگر است: یک پنجره اطلاعات مربوط به شی (های) انتخاب شده را در پنجره ورودی خود نمایش می‌دهد. جنبه‌ها ویژگی‌های ورودی هستند، مانند کد منبع، محتوا، فراخوان‌ها، خواننده‌ها، نویسنده‌ها، مراجع یا کامپایل هشدارها. این اطلاعات را می‌توان به صورت طرح کلی یا نمودار ارائه کرد. ورودی‌ها، جنبه‌ها و سبک‌ها را می‌توان برای ساختن کپی‌هایی از مرورگر منبع اسمال تاک، یا نمودارهای فراخوانی ایستا، یا نمایشگرهای موقتی مانند فراخوان کننده‌های خوانندگان متغیرهایی که تابع انتخابی می‌نویسد استفاده کرد. همه نماها به صورت زنده هستند: کامپایل مجدد یک تابع، نمایشگرهایی را که شامل اطلاعات تماس‌های شخصی است، به‌روزرسانی می‌کند.
نمای کلی شامل نشانگرهای بصری است که نشان می‌دهد آیا رکورد منبع دارای تغییرات ذخیره نشده‌است، از آخرین باری که کامپایل شده تغییر کرده‌است یا پیام‌های ایجاد شده توسط کامپایلر (هشدارها و خطاها) دارد.

## چارچوب رابط کاربری
اپل دیلان شامل چارچوب رابط کاربر گرافیکی (GUI) می‌باشد که توسط مایک لاکوود (Mike Lockwood) به زبان دیلان نوشته شده‌است.این چارچوب کاملاً با سازنده رابط ویزی‌ویگ (نوع ویرایش سند) یا آنچه می‌نگری همان است که (در نهایت) به دست می‌آوری (What You See Is What You Get = WYSIWYG) با نام کد Meccano ادغام شده‌است که توسط رابین میر نوشته شده‌است. سازنده رابط به یک برنامه پیوند داده شده‌است، و به کاربران اجازه می‌دهد تا زمانی که برنامه در حال اجرا است، بین حالت‌های ویرایش و اجرا جابجا شوند. دکوراتورها به عنوان اشیاء گرافیکی نشان داده می‌شوند که می‌توانند روی یک شی رابط کاربری کشیده شوند تا رفتار یا ظاهر آن را از طریق ترکیب شیء تغییر دهند.

## پیاده‌سازی
هسته اپل دیلان در Macintosh Common Lisp پیاده‌سازی شده‌است، که بر اساس آن بقیه در دیلان پیاده‌سازی شده‌است. دفتر اپل کمبریج زندگی خود را با خرید شرکت Coral Software، توسعه دهندگان Macintosh Common Lisp آغاز کرد.
وقتی که هدف دیلان از پردازنده اپل نیوتون (معماری آرم) به مکینتاش رومیزی تغییر پیدا کرد، بک-اند آن تغییر یافت تا از APPLEX (یک اسمبلر قابل حمل که توسط گروه وین لوفبورو در اپل کوپرتینو طراحی شده بود) استفاده کند.