سؤال

أبحث عن دليل للبرمجة متعددة اللغات بهاتين اللغتين.

وأنا أعلم ذلك التبادل بينهما ممكن, ، نظرًا لأن كلاهما يعمل على نفس Java VM، وتم تجميعهما على نفس الكود الثانوي.ولكن هناك بعض المرهقة:

  • هل بإمكاني استخدم لتجميع رمز Clojure؟
  • هل بإمكاني استخدم لتجميع كود سكالا؟

(نعم ، نعم ، أعلم أنه يمكنني فقط توصيل جرة من لغة واحدة إلى المشروع في لانج الأخرى.)

  • هل هناك مكتبات يمكن أن تنقذني من الكتابة؟ رمز interop boilerplate?
  • وما إلى ذلك وهلم جرا

لذا فإن السؤال هو كيفية إعداد تطوير متعدد اللغات في Scala وClojure؟

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

المحلول

لم أستخدمها، لكن Leiningen لديه دعم SCALAC .

نصائح أخرى

الجواب القصير: استخدم مافين3

maven3 مع زي البرنامج المساعد لـ clojure و maven-scala-plugin سيسمح لك بالحصول على مشروع متعدد اللغات ومتكامل بشكل جيد حيث يمكنك استخدام أي لغة تريدها طالما كانت Java؛)

كان أحد التغييرات الكبيرة في Maven3 هو الدفع نحو برمجة JVM متعددة اللغات بما في ذلك القدرة على كتابة POMs بالعديد من اللغات.ستفقد بريق لينينجن عندما تسلك هذا الطريق، على الرغم من حصولك على الكثير في المقابل.

شخصيا، سأبقى بعيدا عن استخدام Maven مباشرة على الرغم من الجواب المقبول. هنا هو تعريف مشروع Leiningen البسيط الذي:

  • يولد مصادر Java من القواعد ANTTLR4 (ككافأة)؛
  • يجمع مصادر جافا؛
  • compiles مصادر scala (أفضل استخدام scala أعلى رمز antlr4 java الذي تم إنشاؤه لأنه موجز للغاية وممتع للعمل معه)؛
  • يستمر مع الاشياء عباءة.
giveacodicetagpre.

لاستخدام Antlr4 Plugin Download and 'Lein install' the Lein-Antlr4 Plugin. إذا لم تكن بحاجة إليها، فما عليك سوى إزالة الأسطر ذات الصلة من تعريف المشروع.

لاستخدام البرنامج المساعد Scala أحتاج إلى تنزيل وتغيير

giveacodicetagpre.

إلى

giveacodicetagpre.

في Plugin's Project.CLJ، ثم "تثبيت Lein" محليا. مع إصدار التبعية الأقدم، كنت أحصل على

giveacodicetagpre.

من مترجم Scala.

كبديل مافن: madle قادر على ترجمة كل من اللغات.

تم إنشاء سمة Scala's GransoDicetagcode لتمكين تكامل أسهل مع لغات مكتوبة بشكل حيوي، ولكن عليك أن تكتب وكيل الشحن الخاص بك.أيضا، عليك إعادة كتابة ذلك مع Scala 2.10، حيث تم تغيير بعض الشيء.ربما، في الواقع، يجب عليك استخدام Scala 2.10 (المعلم 2 متاح).قد يساعدك دعم القط Scala 2.10 أيضا في التكامل على جانب SCALA.

em يمكن استخدام SBT لتجميع عباءة، نظرا لأن SBT مرن للغاية، ولكن، بشكل أكثر عمليا، لا يوجد دعم عباءة عباءة متوفرة بسهولة.يمكنك أن تنظر إلى هذا البرنامج المساعد كمثال على كيفية إضافة مجموعة من اللغات الأخرى.

أجد أنه فضولي أن القليل من التكامل بين Scala و Clojure يبدو أنه موجود.غالبا ما تتم مقارنة، وغالبا ما ترى الناس يقولون إنه اختيار واحد على الآخر.

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