سؤال

بعد قراءة عملية Common Lisp فهمت أخيرا ما صفقة كبيرة حول وحدات الماكرو وأنا أبحث عن لغة .صافي منصة تدعم هذا.هناك عدد قليل من يسب اللهجات .صافي ولكن من ما كنت قد تمكنت من جمع كل إما جدا بيتا أو التخلي عنها.مؤخرا اهتمامي وقد أثارت Clojure, لكنه على منصة جافا و بينما على الأرجح يمكن استخدام ikvm أنه لا يشعر بعض المتكاملة.وخصوصا عندما كنت تريد أن تفعل أشياء مثل WPF.

لقد تم مؤخرا سماع الهمس حول و# حاولت البحث في الوثائق إذا كان يمكن أن تجد أي شيء عن الكلية الدعم ، ولكن لم يتم العثور عليه.حتى لا يعرف أحد ؟

شكرا :)

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

المحلول

حسنا, F# يستند OCaml و OCaml بدلا من ذلك واسعة النطاق الكلي النظام.نظرا النحوية والدلالية التشابه و# و OCaml كنت قد تكون قادرة على ميناء على Ocaml الماكرو النظام F#.

بخلاف سرقة Ocaml الكلية نظام أنا على علم من المعلبة الماكرو نظام F#.

نصائح أخرى

Nemerle ، http://nemerle.org/ ، .صافي اللغات (يدعم أيضا أحادية) يدعم الكثير من من نموذج البرمجة الوظيفية في حين أن البقاء بصريا على مقربة من C#.فقد واسعة النطاق الكلي الدعم.

لا.لا يوجد وحدات على F#.

هل نظرت في بو?في حين بو ليس لديها وحدات الماكرو ، فقد مفتوح مترجم الانابيب الذي هو بديل جيد وحدات الماكرو النحوية metaprogramming.

[تحرير] كما لوحظ في التعليقات ، بوو لا وحدات الماكرو الآن.

ولكن جيدة أهوال الجملة في تلك ocaml أمثلة تبدو غامضة

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

اعتقدت أنني يجب أن أشير إلى أن هناك الآن نشطة جدا .NET/أحادية ميناء Clojure.Clojure يدعم اللثغة نمط وحدات الماكرو كما ذكر في السؤال.

كما قال آخرون ، وحدات الماكرو غير معتمدة في F# في هذه المرحلة (أواخر عام 2010).

لقد تم مؤخرا سماع الهمس حول و# حاولت البحث في الوثائق إذا كان يمكن أن تجد أي شيء عن الكلية الدعم ، ولكن لم يتم العثور عليه.حتى لا يعرف أحد ؟

F# لا يدعم وحدات الماكرو وأنه من غير المرجح أنه سوف من أي وقت مضى.

كيف حول استخدام F# الاقتباسات ؟

http://tomasp.net/blog/fsquotations.aspx

التي قد تكون على العكس من ما تريد, ولكن هل تعلم عن RDNZL?انها foerign-وظائف واجهة (FFI) التي تمكنك من الاتصال .صافي المكتبات من يسب رمز.

هم على الأرجح أقل نضجا من أي Common Lisp أو مخطط التنفيذ ، ولكن هناك اللثغة اللهجات .صافي: L# و DotLisp.

هناك نوعان من بنشاط تطوير اللثغ على .صافي

IronScheme - DLR أساس نظام التنفيذ

Xronos - DLR بناء ميناء clojure

انا حاليا ببحث إمكانية الفوقية البرمجة في F#.إذا كان لنا أن تحديد وحدات الماكرو كما نص القالب الذي توسع في التعليمات البرمجية ثم هناك نوعان من الواضح النهج:

  1. قوالب T4.هناك تنفيذ F#: https://github.com/kerams/Templatus

  2. رأيت في مكان الاحتجاج F# من سلاسل منفصلة الجمعية ومن ثم التحميل من الجمعية.

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