- Fennel เป็นภาษาโปรแกรมที่ทำงานบนรันไทม์ของ Lua
- Lua เป็นภาษาโปรแกรมที่เรียบง่ายแต่ทรงพลัง สามารถผสานเข้ากับโปรแกรมอื่นได้ง่ายและเปิดโอกาสให้ผู้ใช้เขียนโปรแกรมใหม่ได้
- Fennel เข้ามาแก้ข้อด้อยของ Lua โดยมอบทางเลือกที่ชัดเจนกว่าและช่วยลดข้อผิดพลาด
- Fennel ใช้ไวยากรณ์ตระกูล Lisp เพื่อลดความซับซ้อนของไวยากรณ์และเพิ่มความอ่านง่ายของโค้ด
- Fennel มอบความสามารถที่ดีกว่า Lua ในด้านการกำหนดค่าตัวแปรซ้ำ รูปแบบการเขียนตาราง และการตรวจสอบอาร์กิวเมนต์ของฟังก์ชัน
Fennel คืออะไร?
- Fennel เป็นภาษาโปรแกรมที่ทำงานบนรันไทม์ของ Lua
- Lua เป็นภาษาที่เรียบง่ายแต่ทรงพลัง สามารถผสานเข้ากับโปรแกรมอื่นได้ง่ายและเปิดโอกาสให้ผู้ใช้เขียนโปรแกรมใหม่ได้
- Fennel เข้ามาแก้ข้อด้อยของ Lua โดยมอบทางเลือกที่ชัดเจนกว่าและช่วยลดข้อผิดพลาด
ข้อดีของ Lua
- Lua เป็นภาษาที่ เล็กและเร็ว ประกอบด้วยโค้ด C ราว 19,000 บรรทัด และคอมไพล์แล้วมีขนาด 278kb
- ยังคงรักษา ความเรียบง่ายในเชิงแนวคิด ไว้ พร้อมกับมอบความสามารถที่ทรงพลัง
- สามารถผสานเข้ากับโปรแกรมอื่นได้ง่าย ทำให้ ผู้ใช้สามารถเขียนโปรแกรมใหม่ให้กับโปรแกรมนั้นได้
คุณสมบัติหลักของ Fennel
- Fennel ใช้ไวยากรณ์ ตระกูล Lisp เพื่อลดความซับซ้อนของไวยากรณ์และเพิ่มความอ่านง่ายของโค้ด
- ทุกอย่างถูกจัดการเป็น expression และไม่มีความกำกวมเรื่องลำดับความสำคัญของตัวดำเนินการหรือการคืนค่าก่อนกำหนด
- ตัวแปร: ทำให้การใช้ตัวแปรโกลบอลทำได้ยากขึ้นเพื่อลดความผิดพลาด และใช้
var เมื่อต้องกำหนดค่าตัวแปรซ้ำเพื่อเพิ่มความชัดเจน
ตารางและลูป
- Fennel ปรับปรุง รูปแบบการเขียนตาราง โดยแยกระหว่างอาร์เรย์กับตารางแบบคีย์/ค่า
- ในลูปใช้
for และ each เพื่อให้ได้ ไวยากรณ์ที่ชัดเจน
ฟังก์ชันและความสามารถอื่น ๆ
- Fennel รองรับ การตรวจสอบอาร์กิวเมนต์ ของฟังก์ชัน และจะเกิดข้อผิดพลาดเมื่อส่งอาร์กิวเมนต์มาไม่ครบ
- รองรับ destructuring และ pattern matching ทำให้เขียนเงื่อนไขในลักษณะประกาศเจตนาได้มากขึ้น
- มี ระบบแมโคร รวมอยู่ด้วย ทำให้ขยายรูปแบบไวยากรณ์ใหม่ ๆ ได้ง่าย
2 ความคิดเห็น
ความคิดเห็นบน Hacker News
รู้สึกยินดีที่ได้เห็นภาษาใหม่ ๆ มุ่งเป้าไปที่รันไทม์ Lua
mlua-rsอย่างมากFennel ดีมาก
นอกจาก Forth, Lisp และ Lua แล้ว Tcl ก็สมควรถูกกล่าวถึงในฐานะภาษาแบบฝังตัวขนาดเล็ก
ไม่เข้าใจเสน่ห์ของภาษาแนว LISPy
แนวทางของ Fennel ที่คอมไพล์เป็น Lua พร้อมคงความสามารถด้านเมตาโปรแกรมมิงไว้นั้นดูสง่างาม
Fennel ค่อนข้างดี
ข้อมูลสำหรับคนที่กำลังมองหาภาษาอื่นที่สร้างบน Lua
คนที่บ่นเรื่องวงเล็บน่าจะยังเขียน Lisp ไม่มากพอ
เหมาะกับการพัฒนาเกมแบบสบาย ๆ และสนุก
ลิงก์ของ MoonScript ใส่ผิดไว้นะ~
https://moonscript.org/