revo - ภาษาดินามิกเพื่อความสนุกของการเขียนโปรแกรม
(github.com/if-not-nil)- เป็นภาษาประเภทไดนามิกที่เขียนด้วย Zig และใช้โครงสร้าง "everything is something" ที่ทุกอย่างคืนค่าเสมอ
- รองรับโมเดล concurrency ที่ลื่นไหล โดยเพียงเติม
spawnไว้หน้าโค้ดแบบ blocking ก็เปลี่ยนให้เป็น non-blocking ได้ - ใช้โอเปอเรเตอร์ pipe (
|>) เพื่อแปลงค่าต่อเนื่อง และอ้างอิงค่าก่อนหน้าด้วย_- ตัวอย่าง:
"hello" |> _:upper() |> _:sub(1, 2)
- ตัวอย่าง:
- รองรับ pattern matching และ result type โดยฟังก์ชันคืนค่าในรูป
(:ok, value)/(:err, reason)แล้วแยกเงื่อนไขด้วยmatch - มี first-class test ในตัว ที่จะคอมไพล์และรันก็ต่อเมื่อใส่แฟลก
--testพร้อมทั้งมีทั้งบล็อกtestแบบเดี่ยวและsuiteแบบรวมชุด - มี embedding API ที่สามารถฝังลงในโค้ด C ได้โดยตรงผ่าน
revo.h- เช่น
erevo_vm_create,erevo_compile,erevo_run,erevo_eval
- เช่น
- มี LSP server revolt ในตัวสำหรับจัดการ diagnostic/go-to-definition/hover/การอ้างอิง/สัญลักษณ์
- ถูกรวมมาให้ใน release build โดยค่าเริ่มต้น และรันได้ด้วย
revo --lsp
- ถูกรวมมาให้ใน release build โดยค่าเริ่มต้น และรันได้ด้วย
- มี isocline เป็น REPL backend เริ่มต้น รองรับการป้อนข้อมูลหลายบรรทัด/การเติมคำด้วย Tab/การค้นหาประวัติ
- เวอร์ชัน Windows ยังไม่สมบูรณ์: ยังไม่รองรับ asynchronous backend และ line editor แบบเต็มรูปแบบ
- สัญญาอนุญาต MIT
ยังไม่มีความคิดเห็น