• อินเทอร์พรีเตอร์ Clojure ที่ออกแบบเป็นภาษาแบบ "hosted" ซึ่งต่างจากอิมพลีเมนเทชัน Clojure บน Go อื่น ๆ
  • รองรับ interop ที่ขยายได้ ทำให้สามารถ ใช้ค่าทุกชนิดของ Go เป็นค่าของ Glojure ได้ และกลับกัน
  • ให้การเข้าถึง ไลบรารี Go ได้อย่างง่ายดาย คล้ายกับที่ Clojure เข้าถึง Java framework
  • รองรับ 2 รูปแบบ: เครื่องมือ CLI แบบ standalone (glj) และ การฝังในแอปพลิเคชัน Go
    • เมื่อนำไปฝัง สามารถเพิ่มการตั้งค่าที่สคริปต์ได้, ขยายด้วย ปลั๊กอิน Clojure, และผสมผสานประสิทธิภาพของ Go กับพลังการแสดงออกของ Clojure ได้
  • รองรับ การเรียกใช้งานสองทางระหว่าง Clojure ↔ Go โดยเรียกฟังก์ชัน Go จาก Clojure และเรียกฟังก์ชัน Clojure จาก Go ได้
  • มี interop ของ standard library จำนวนมากมาให้ในตัว
    • เพื่อหลีกเลี่ยงความกำกวมของ namespace จะเปลี่ยน / ในชื่อแพ็กเกจ Go เป็น : (เช่น net/httpnet:http)
    • แพ็กเกจเพิ่มเติมสามารถเปิดให้ใช้งานได้ด้วยการสร้าง package map แล้วคอมไพล์เอง
  • มีความสามารถ REPL แบบโต้ตอบ พร้อมโหมดแก้ไขแบบ Vi/emacs, การแก้ไขหลายบรรทัด, การเติมคำอัตโนมัติด้วย Tab, ประวัติถาวร, job control และ interrupt
  • มีความต่างในการแมปชนิดตัวเลขกับ Clojure (เช่น longint64, charlang.Char, BigInt*lang.BigInt)
  • ยังอยู่ใน ช่วงพัฒนาเริ่มต้น จึงยังมีบั๊กและฟีเจอร์ที่ยังไม่เสร็จ พร้อมข้อจำกัดด้านประสิทธิภาพ และยังไม่รับประกัน backward compatibility จนกว่าจะถึง v1
  • ไลเซนส์ EPL-1.0

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น