Khác biệt giữa bản sửa đổi của “Phép tính lambda”

Nội dung được xóa Nội dung được thêm vào
nKhông có tóm lược sửa đổi
nKhông có tóm lược sửa đổi
Dòng 1:
{{sơ khai}}
Trong [[logic toán học]] và [[khoa học máy tính]], '''phép tính lambda''' ([[tiếng Anh]]:lambda calculus) hay còn được viết là '''λ-calculus''', là một [[hệ thống hình thức]] dùng trong việc định nghĩa [[hàm số]], ứng dụng hàm số và [[đệ quy]]. Phép tính lambda được [[Alonzo Church]] và [[Stephen Cole Kleene]] đề xuất vào những năm 193x như là một phần của một nghiên cứu về các [[nền tảng toán học]].<ref>A. Church, "A set of postulates for the foundation of logic", ''Annals of Mathematics'', Series 2, 33:346–366 (1932).</ref><ref>For a full history, see Cardone and Hindley's "History of Lambda-calculus and Combinatory Logic" (2006).</ref> Hệ thống nguyên thủy đã được chứng minh là xung khắc logic vào năm 1935 khi [[Stephen Kleene]] và [[J. B. Rosser]] phát triển [[nghịch lí Kleene&ndash;Rosser]]. Phép tính lambda sau đó đã được phát triển để trở thành một công cụ quan trọng trong việc nghiên cứu các vấn đề [[lý thuyết tính toán]] và [[lý thuyết đệ quy]], và hình thành nên nền tảng cơ bản của mô hình [[lập trình hàm]].<ref>Henk Barendregt, [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.7908 ''The Impact of the Lambda Calculus in Logic and Computer Science.''] ''The Bulletin of Symbolic Logic'', Volume '''3''', Number 2, tháng 6 năm 1997. </ref>
 
Trong giải tích lambda, các hàm là [[first-class entity|first-class entities]]: được truyền vào như các tham số, và trả lại kết quả. Bởi vậy các biểu thức lambda là một dạng của khái niệm thủ tục không có tên mà không tạo ra [[hiệu ứng phụ]]. Giải tích hàm có thể được hiểu như là một ngôn ngữ lập trình lý tưởng và vô cùng nhỏ gọn. Nó có khả năng biểu diễn bất kỳ [[giải thuật]] nào, và nó tạo ra mô hình [[lập trình hàm]]. Các chương trình được tạo thành từ các hàm không có trạng thái và chỉ đơn giản nhận vào dữ liệu và trả lại đầu ra, không tạo ra các hiệu ứng phụ làm thay đổi dữ liệu đầu ra. Các ngôn ngữ lập trình hàm hiện đại, xây dựng dựa trên giải tích lambda gồm có [[Erlang (programming language)|Erlang]], [[Haskell (programming language)|Haskell]], [[Lisp (programming language)|Lisp]], [[ML (programming language)|ML]], và [[Scheme (programming language)|Scheme]], cũng như là các ngôn ngữ gần đây như [[Clojure]], [[F Sharp (programming language)|F#]], [[Nemerle]], và [[Scala (programming language)|Scala]].
 
Giải tích lambda tiếp tục đóng vai trò quan trọng trong [[các nghiên cứu cơ bản về toán học]], thể hiện trong các thư từ trao đổi của [[Curry-Howard]]. Tuy nhiên, giải tích lambda không xác định kiểu (untyped) không tránh khỏi các nghịch lý về lý thuyết tập hợp (xem trong [[Nghịch lí Kleene-Rosser paradox]]).
 
<!---