Ngôn ngữ lập trình hàm mới nhấn mạnh đến hình thức phát triển theo kiểu

Ngoc Huynh

Kể từ bây giờ, Idris chủ yếu sẽ là một công cụ research vì compiler (trình biên dịch) và runtime đang chờ cải tiến.

Lập trình hàm đã bổ sung thêm một ngôn ngữ mới là Idris và phiên bản 1.0 của nó vừa mới được phát hành gần đây.

Ngôn ngữ rất đa năng, với các types (kiểu dữ liệu) phụ thuộc. Các types phụ thuộc cho phép types được xác định dựa trên các giá trị, có nghĩa là một số khía cạnh về hành vi (behavior) của một chương trình có thể được xác định chính xác theo type. Idris cũng thúc đẩy việc đánh giá cho khả năng biên dịch, trong đó một biểu thức được đánh giá đúng khi nó bị ràng buộc với một biến.

Idris cũng được đặc trưng bởi các tính năng như totality checking, coinductive types (kiểu dẫn truyền), một cú pháp mở rộng, một foreign function interface đơn giản dành cho C, và một môi trường tương tác theo kiểu Hugs. Huge 98 là ngôn ngữ lập trình dựa trên Haskell 98; Idris có mối liên hệ chặt chẽ với Agda và các ngôn ngữ lập trình hàm Epigram.

Sự phát triển của Idris được dẫn dắt bởi Edwin Brady, một giảng viên ngành khoa học máy tính tại trường Đại học St. Andrews ở Anh, ông thậm chí còn viết một cuốn sách về ngôn ngữ này với tựa đề là: “Type Driven Development with Idris”. Mặc dù đã phát hành phiên bản 1.0, nhưng Idris ở giai đoạn này vẫn còn chủ yếu là một công cụ research, phát sinh từ nghiên cứu về các types phụ thuộc. Trình biên dịch và runtime cần phải được cải tiến, và các bug cần phải được sửa. Một số thư viện quan trọng cũng chưa có sẵn.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com