Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Thư viện mach7 hỗ trợ pattern matching cho C++
Nếu như hôm trước Stroustrup chỉ lộ ý định là sẽ cân nhắc đưa tính năng pattern matching vào C++17, thì hôm qua một bộ thư viện lập trình hỗ trợ pattern matching cho C++ đã được lan truyền trên cộng đồng mạng như 1 proof-of-concept.
Mã nguồn bộ thư viện có thể được tham khảo tại https://github.com/solodon4/Mach7.
Nói qua về pattern matching: đây là một tính năng của ngôn ngữ lập trình và có ở các ngôn ngữ lập trình hiện đại như Rust, Clojure, Scala... Về định nghĩa, pattern matching là tính năng cung cấp ngữ pháp và thủ tục hiệu quả để kiểm tra cấu trúc dữ liệu đồng thời cho phép phân tích kiểu dữ liệu đó thành các thành phần con.
★ http://bit.ly/AcceptNoVisitors
Mach7 cung cấp 1 interface khá đẹp hỗ trợ pattern matching trong C++. Cách dùng thư viện có thể được tham khảo trong thư mục https://github.com/solodon4/Mach7/tree/master/code/patterns của mã nguồn.
Trong bài báo viết về mach7, tác giả đưa ra các ví dụ use-case và so sánh về performance của mach7. Kết quả có thể được tham khảo chi tiết hơn ở paper trên hay như hình dưới đây (mình copy về).
Cá nhân mình thấy đây là tính năng rất thú vị và mình muốn nó sẽ có trong C++17.
C++ chắc chắn sẽ là ngôn ngữ hoàn toàn khác với tính năng này.







