Có thể thực hiện một số chương trình chức năng với ngôn ngữ Lua. Thực sự, Lua là một ngôn ngữ mutli-paradigm; Wikipedia tuyên bố rằng đó là ngôn ngữ 'kịch bản, bắt buộc, chức năng, hướng đối tượng, dựa trên nguyên mẫu'. Ngôn ngữ không thực thi một mô hình duy nhất, nhưng thay vào đó, đủ linh hoạt để cho phép lập trình viên thực hiện bất kỳ mô hình nào có thể áp dụng cho tình huống. Nó bị ảnh hưởng bởi Đề án.
Các tính năng của Lua bao gồm các chức năng hạng nhất , phạm vi từ vựng và các bao đóng và coroutines , rất hữu ích cho lập trình chức năng. Bạn có thể thấy các tính năng này được sử dụng như thế nào trên wiki người dùng Lua, có một trang dành riêng cho lập trình chức năng . Tôi cũng đã xem qua dự án Google Code này , nhưng tôi chưa sử dụng nó (nó tuyên bố bị ảnh hưởng bởi Haskell, một ngôn ngữ khác mà bạn đã đề cập).
eLua là một triển khai có sẵn được cấu hình cho một số bảng phát triển cho các kiến trúc ARM7TMDI, Cortex-M3, ARM966E-S và AVR32 và là nguồn mở để bạn có thể định cấu hình cho nền tảng của riêng mình. Lua được triển khai trong ANSI C và toàn bộ nguồn có trọng lượng dưới 200kB, vì vậy bạn có thể xây dựng nó cho hầu hết các nền tảng với trình biên dịch C. Nên sử dụng ít nhất 128k Flash và 32k RAM. Tôi đang làm việc trên một cổng PIC32 cho nó (vẫn đang trong giai đoạn 'Nhận bảng PIC32').
Điều tuyệt vời ở Lua là nó được thiết kế như một ngôn ngữ keo, do đó, rất dễ dàng để viết các phần mở rộng C cho những thứ cần nhanh chóng (như ngắt, v.v.) và sử dụng các tính năng động, diễn giải của ngôn ngữ để thực hiện nhanh chóng phát triển trong logic chương trình.
Lua không phải là ngôn ngữ chức năng thuần túy, nhưng bạn có thể thực hiện nhiều chương trình chức năng trong đó, nó nhanh và nhỏ ( so với các ngôn ngữ kịch bản khác ) và bạn không cần phải khởi động lại thiết bị của mình để thử chương trình. Thậm chí còn có một thông dịch viên tương tác!