Suy luận kiểu

Suy luận kiểu (tiếng Anh: type inference) dùng để chỉ việc tự động phát hiện kiểu dữ liệu của một biểu thức trong ngôn ngữ lập trình.

Nó là một tính năng hiện diện trong một số ngôn ngữ kiểu tĩnh mạnh. Nó có các đặc trưng của ngôn ngữ lập trình hàm nói chung. Một số ngôn ngữ có suy luận kiểu gồm C++11, C# (từ phiên bản 3.0), Chapel, Clean, Crystal, D, F#, FreeBASIC, Go, Haskell, Java (từ phiên bản 10), Julia, Kotlin, ML, Nim, OCaml, Opa, RPython, Rust, Scala, Swift, Vala và Visual Basic (từ phiên bản 9.0). 
Phần lớn trong số chúng dùng kiểu suy luận kiểu đơn giản, đặc biệt hơn khi những ngôn ngữ còn lại sử dụng hệ thống kiểu Hindley-Milner để cung cấp một suy luận kiểu hoàn chỉnh hơn. Khả năng suy luận kiểu tự động giúp cho nhiều tác vụ lập trình dễ dàng hơn, cho phép lập trình viên bỏ qua các chú thích kiểu (type annotation) trong khi vẫn cho phép kiểm tra kiểu.

Tham khảo

Liên kết ngoài
 Archived e-mail message by Roger Hindley, explains history of type inference
 Polymorphic Type Inference  by Michael Schwartzbach, gives an overview of Polymorphic type inference.
 Basic Typechecking paper by Luca Cardelli, describes algorithm, includes implementation in Modula-2
 Implementation of Hindley-Milner type inference in Scala, by Andrew Forrest (retrieved ngày 30 tháng 7 năm 2009)
 
 What is Hindley-Milner? (and why is it cool?)  Explains Hindley-Milner, examples in Scala

Hệ thống kiểu
Lý thuyết kiểu
Suy luận