- Fennel là một ngôn ngữ lập trình chạy trên runtime Lua
- Lua là một ngôn ngữ lập trình đơn giản nhưng mạnh mẽ, dễ tích hợp vào các chương trình khác để cung cấp khả năng tái lập trình cho người dùng
- Fennel khắc phục những nhược điểm của Lua, mang lại một lựa chọn thay thế rõ ràng hơn và giảm lỗi hơn
- Fennel sử dụng cú pháp họ Lisp để giảm độ phức tạp cú pháp và tăng khả năng đọc mã
- Fennel cung cấp các tính năng được cải thiện so với Lua ở các khía cạnh như gán lại biến, ký pháp bảng và kiểm tra đối số của hàm
Fennel là gì?
- Fennel là một ngôn ngữ lập trình chạy trên runtime Lua
- Lua là một ngôn ngữ đơn giản nhưng mạnh mẽ, dễ tích hợp vào các chương trình khác để cho phép người dùng tái lập trình chương trình
- Fennel khắc phục những nhược điểm của Lua, mang lại một lựa chọn thay thế rõ ràng hơn và giảm lỗi hơn
Ưu điểm của Lua
- Lua là một ngôn ngữ nhỏ gọn và nhanh, gồm khoảng 19.000 dòng mã C và được biên dịch thành 278kb
- Vẫn cung cấp các tính năng mạnh mẽ trong khi duy trì sự đơn giản về mặt khái niệm
- Dễ tích hợp vào các chương trình khác, cho phép người dùng tái lập trình chương trình
Các đặc điểm chính của Fennel
- Fennel sử dụng cú pháp họ Lisp để giảm độ phức tạp cú pháp và tăng khả năng đọc mã
- Mọi thứ đều được xử lý như biểu thức, không có sự mơ hồ về độ ưu tiên toán tử hay việc trả về sớm
- Biến: khiến việc dùng biến toàn cục trở nên khó hơn để giảm sai sót, và dùng
var khi gán lại biến để tăng tính rõ ràng
Bảng và vòng lặp
- Fennel cải thiện ký pháp bảng để phân biệt giữa mảng và bảng khóa/giá trị
- Trong vòng lặp, sử dụng
for và each để cung cấp cú pháp rõ ràng
Hàm và các tính năng khác
- Fennel hỗ trợ kiểm tra đối số của hàm, tạo lỗi khi thiếu đối số
- Hỗ trợ destructuring và pattern matching, cho phép viết câu lệnh điều kiện theo hướng khai báo hơn
- Bao gồm hệ thống macro, giúp dễ dàng mở rộng các dạng cú pháp mới
2 bình luận
Ý kiến trên Hacker News
Thật vui khi thấy các ngôn ngữ mới nhắm đến runtime Lua
Fennel rất tốt
Ngoài Forth, Lisp và Lua, Tcl cũng xứng đáng được nhắc đến như một ngôn ngữ nhúng nhỏ gọn
Tôi không hiểu được sức hấp dẫn của các ngôn ngữ kiểu LISPy
Cách tiếp cận của Fennel khi biên dịch sang Lua nhưng vẫn giữ được khả năng metaprogramming thật thanh lịch
Fennel khá tốt
Thông tin dành cho những ai đang tìm các ngôn ngữ khác được xây dựng trên Lua
Những người phàn nàn về dấu ngoặc có lẽ là chưa viết Lisp đủ nhiều
Rất hợp cho phát triển game kiểu casual và vui vẻ
Có vẻ link MoonScript đang được gắn sai~
https://moonscript.org/