سؤال

كما أن الكثير من الناس أشار في هذا السؤال, Lisp هي تستخدم في الغالب تجربة التعلم.ومع ذلك, سيكون أمرا رائعا إذا استطعت بطريقة ما أستخدم اللثغة خوارزميات الجمع بينهما مع C# برامج.في كلية بلدي profs لا يمكن أن تقول لي كيفية استخدام بلدي اللثغة الروتين في برنامج (لا, لا كتابة واجهة المستخدم الرسومية في Lisp, شكرا لك).لذلك كيف يمكنني ذلك ؟

هل كانت مفيدة؟

المحلول

جرب هذه .صافي تطبيقات اللثغة:

IronScheme تهدف إلى R6RS مطابقة مخطط التنفيذ على أساس في Microsoft DLR.

L حادة .صافي هي قوية مثل اللثغة البرمجة لغة .صافي.فإنه يستخدم اللثغة لهجة مشابهة قوس ولكن تتكامل مع .صافي الإطار الذي يوفر مجموعة غنية من المكتبات.

نصائح أخرى

Clojure هو Lisp-1 جمعت على ذبابة على جافا بايت كود ، مما يؤدي إلى جيد جدا وقت الأداء.يمكنك استخدام Clojure ، عبر ترجمة ذلك إلى .صافي الجمعية باستخدام IKVM's ikvmc.بالطبع, عندما تستخدم في .صافي ، Clojure بسعادة يولد .صافي IL, مما يؤدي إلى نفس النوع من تجميع رمز الأداء يمكنك أن تتوقع عند استخدامه على JVM.

إذا كان مجرد إجراءات كنت ترغب في استخدام قد حاول LSharp الذي يتيح لديك اللثغة في التعبيرات .صافي:

http://www.lsharp.org/

العكس (باستخدام .صافي من اللثغة) سيكون RDNZL:

http://www.weitz.de/rdnzl/

على .صافي 1.1 SDK يحتوي على اللثغة مترجم سبيل المثال.راجع SDK\v1.1\المطورين أداة دليل\Samples\clisp

أعرف أن هذا هو حقا مسألة قديمة.ولكن سأحاول الإجابة من تجربتي الخاصة و المنظور.

إلى تلك مثلنا الذين يحبون نقاء الأناقة والبساطة من مخطط/Lisp, آمل أن يكون هذا يعطيك بعض التشجيع والإلهام كيف أنها يمكن أن تكون مفيدة جدا في الإنتاج الحقيقي :)

كنت مؤخرا مفتوح المصدر نظام مثل مترجم من العمل يسمى schemy, مكتوب في C# (~1500 سطر من التعليمات البرمجية).وهنا الدافع وكيف أنها مفيدة -

دون الخوض في الكثير من التفاصيل ، لقد تم بناء المعهد على شبكة الإنترنت الخادم التي تطلب التعامل مع المنطق المطلوب هو أن تكون plug-and-play من قبل مطورين آخرين/البيانات العلماء.كان هناك طلب واضح لفصل القلق هنا - الخادم لا يهتمون كثيرا عن طلب التعامل مع المنطق ، ولكن ذلك يحتاج إلى معرفة الطلبات التي يمكن التعامل معها و أين تجد ، تحميل المنطق معالجات.

لذلك بدلا من وضع معالجات التنفيذ في تطبيق الملقم الملقم فقط يوفر إعادة استخدامها "كتل" التي يمكن بالسلاسل معا على أساس بعض المعايير والمنطق لتشكيل خط أنابيب, أي معالجات محددة عبر التكوين.حاولنا سلمان/XML لوصف هذه الانابيب و سرعان ما أدرك أن كنت أساسا بناء جملة مجردة شجرة محلل.

كان هذا عندما أدركت هذا الطلب خفيفة الوزن ، s-التعبير الصغيرة القائمة على اللغة.وبالتالي أنا نفذت ادراجها schemy مترجم.

أنا وضعت مثال الأمر التعامل مع التطبيق هنا, الذي يلتقط جوهر فلسفة التصميم على ملقم ويب التي ذكرتها أعلاه.يعمل مثل ذلك:

  1. بل يمتد جزءا لا يتجزأ من Schemy مترجم مع بعض وظائف تنفيذها في C#.

  2. فإنه يجد .ss النصوص التي تعرف الأوامر تجهيز خط أنابيب باستخدام أولئك تنفيذ المهام.

  3. الخادم يرى قائما يؤلف خط أنابيب من السيناريو من قبل أبحث عن الرمز EXECUTE التي ينبغي أن تكون من نوع Func<object, object>.

  4. عند طلب الأمر يأتي ببساطة استدعاء المقابلة قيادة المعالج (واحد يحددها EXECUTE) ، و الردود مع النتيجة.

أخيرا, من هنا معقدة سبيل المثال النصي ، الذي يوفر على الانترنت الرجل-صفحة بحث عبر TCP هذا الأمر server:

مع هذا البرنامج النصي تحميلها من قبل قيادة ملقم TCP يمكن للعميل إصدار الأوامر man <unix_command> إلى الملقم:

$ ncat 127.0.0.1 8080

man ls

LS(1)                   FreeBSD General Commands Manual                  LS(1)

NAME
     ls -- list directory contents

SYNOPSIS
     ls [--libxo] [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwxy1,] [-D format]
        [file ...]

DESCRIPTION
     For each operand that names a file of a type other than directory, ls
     displays its name as well as any requested, associated information.  For
     each operand that names a file of type directory, ls displays the names
     of files contained within that directory, as well as any requested,

ربما يجب أن نلقي نظرة على L#.أنا لا أعرف إذا كان هذا هو ما كنت أبحث عنه (لم ألمس اللثغة منذ عام الجامعة) ولكن قد يكون من المفيد أن تحقق.

http://www.lsharp.org/

هناك أيضا DotLisp.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top