✨Haskell (ngôn ngữ lập trình)

Haskell (ngôn ngữ lập trình)

Haskell là một ngôn ngữ lập trình thuần hàm, đặt theo tên của Haskell Curry. Vì là ngôn ngữ lập trình hàm, trong Haskell, hàm là "cư dân hạng nhất", với hầu hết các cấu trúc điều khiển là hàm.

Lịch sử

Năm 1987, trong hội nghị về ngôn ngữ lập trình hàm và kiến trúc máy tính (FPCA) diễn ra tại ở bang Oregon, Hoa Kỳ, một hội đồng với nhiệm vụ hợp nhất các ngôn ngữ lập trình hàm đã được thành lập. Đến năm 1990, phiên bản đầu tiên của Haskell ra đời (Haskell 1.0). Trong các năm sau đó, các phiên bản tiếp theo (1.1 đến 1.4) lần lượt được ra mắt. Tới năm 1998, Haskell được tiêu chuẩn hóa dưới cái tên Haskell 98. Phiên bản mới nhất của Haskell là Haskell 2010, giới thiệu vào tháng bảy 2010.

👁️ 9 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Haskell** là một ngôn ngữ lập trình thuần hàm, đặt theo tên của Haskell Curry. Vì là ngôn ngữ lập trình hàm, trong Haskell, hàm là "cư dân hạng nhất", với hầu hết các cấu
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
Đây là danh sách các ngôn ngữ lập trình đáng chú ý, được nhóm theo loại. Vì không có sơ đồ phân loại bao quát cho các ngôn ngữ lập trình, nên trong nhiều trường
Trong phần mềm máy tính, **lập trình đa năng** (tiếng Anh: **general-purpose programming language**) là ngôn ngữ lập trình được thiết kế để sử dụng cho việc Các ngôn ngữ lập trình ban đầu được
**Scala** ( ) là một ngôn ngữ lập trình đa mẫu hình, được thiết kế để tích hợp các tính năng của lập trình hướng đối tượng với lập trình hàm Nó cũng có thể
Mục đích của **danh sách các ngôn ngữ lập trình** này là bao gồm tất cả các ngôn ngữ lập trình hiện tại đáng chú ý, được sử dụng hiện tại và những ngôn ngữ
**Lập trình lượng tử** là quá trình thiết kế hoặc ghép nối các chuỗi lệnh, được gọi là mạch lượng tử, sử dụng các cổng, công tắc và toán tử để điều khiển hệ thống
Trong tin học, **mẫu hình lập trình** là một kiểu lập trình _kiểu có tính mẫu hình_ trong tiến hành về công nghệ phần mềm. Một mẫu hình lập trình cung cấp (xác định) quan
**Ngôn ngữ biên dịch** (tiếng Anh: _compiled language_) là ngôn ngữ lập trình có triển khai thường là trình biên dịch (bộ dịch tạo ra mã máy từ mã nguồn), chứ không phải trình thông
Trong ngành khoa học máy tính, **lập trình hàm** (**lập trình chức năng**) là một mô hình lập trình xem việc tính toán là sự đánh giá các hàm toán học và tránh sử dụng
**Lập trình máy tính** hay **lập chương trình máy tính,** thường gọi tắt là **lập trình** (, hay _programming_), là việc lập ra chương trình làm việc cho máy có bộ xử lý, nói riêng
Trong lập trình hướng đối tượng, **giao thức** (tiếng Anh: _protocol_) hay **giao diện** (_interface_) là một phương tiện phổ biến để các đối tượng không liên quan giao tiếp với nhau. Đây là định
**Lập trình tổng quát** (tiếng Anh: _generic programming_) là một dạng lập trình máy tính mà trong đó thuật toán được viết theo cách kiểu _được-xác-định-sau_ và sau đó được _khởi tạo_ (_instantiate_) nếu cần
Trong điện toán, **lập trình hướng khía cạnh** (tiếng Anh: _aspect-oriented programming_, viết tắt: _AOP_) là một mẫu hình lập trình nhằm tăng tính mô đun bằng cách cho phép phân tách những mối quan
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
**Gofer** ("**Go**od **F**or **E**quational **R**easoning") là một trong các phần mềm được phát triển từ ngôn ngữ lập trình Haskell. Ngôn ngữ được sử dụng cho các mục đích giáo dục và hỗ trợ một
Trong việc lập trình, các ngôn ngữ lập trình thường được coi là **kiểu yếu** hoặc **kiểu mạnh**. Nói chung thì các khái niệm này không có định nghĩa chính xác cụ thể. Thực ra,
nhỏ| Chương trình máy tính "Xin chào, thế giới" của [[Brian Kernighan (1978) ]] **Chương trình máy tính** là tập hợp các câu lệnh thực hiện một tác vụ cụ thể khi được máy tính
thumb|**Simple DirectMedia Layer** **Simple DirectMedia Layer** (thường được viết tắt là SDL) là một thư viện lập trình có khả năng trừu tượng hóa các phần cứng đồ họa, âm thanh hay thiết bị vào
Trong ngành khoa học máy tính, **quy hoạch động** (tiếng Anh: _dynamic programming_) là một phương pháp giảm thời gian chạy của các thuật toán thể hiện các tính chất của các bài toán con
Trong khoa học máy tính, **thuật toán tất định** là một thuật toán có đầu ra (output) hoàn toàn có thể dự đoán được (xác định được) qua đầu vào (input), và máy chạy thuật
[[Siêu máy tính song song hàng loạt Blue Gene/P của IBM]] **Tính toán song song** (tiếng Anh: _Parallel computing_), là một hình thức tính toán trong đó nhiều phép tính và tiến trình được thực
Trong lập trình máy tính, **mô thức async/await** là một tính năng cú pháp của nhiều ngôn ngữ lập trình, cho phép cấu trúc nên hàm 'bất đồng bộ, non-blocking' theo lối y hệt ở
Một số ngôn ngữ lập trình cung cấp **kiểu dữ liệu phức** để lưu và thực hiện các phép toán số học số phức dưới dạng một kiểu dữ liệu có sẵn (cơ bản). Trong
**Trường điều kiện ngẫu nhiên (CRFs)** là một dạng của Mô hình xác suất thường được áp dụng cho Dự đoán cấu trúc trong Nhận diện mẫu và Học máy. Một mô hình phân lớp
**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
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
**IntelliJ IDEA** là một IDE Java để phát triển các phần mềm máy tính. Ứng dụng được phát triển bởi JetBrains (trước đây gọi là IntelliJ), với giấy phép Apache 2 cho phiên bản cộng
**Redis** (/ˈrɛdɪs/; từ viết tắt của **Remote Dictionary Server**) là một cơ sở dữ liệu phân tán trong bộ nhớ, được sử dụng như một cơ sở dữ liệu đệm lưu dữ liệu dạng cặp
Môi trường phát triển tích hợp Eclipse phiên bản 3.1.2 trên nền Windows XP. **Eclipse** là một môi trường phát triển tích hợp dùng cho lập trình máy tính., Nó chứa một không gian làm
**Hệ thống kiểu Hindley–Milner** (**HM**) là một hệ thống kiểu cổ điển cho phép tính lambda với đa hình tham số (_parametric polymorphism_). Nó còn được gọi là **Damas–Milner** hay **Damas–Hindley–Milner**. Nó được mô tả
**Định dạng dấu phẩy động độ chính xác đơn** (đôi khi còn gọi là **FP32** hoặc **float32**) là một định dạng số máy tính, thường chiếm 32 bit trong bộ nhớ máy tính; nó có
**Ghiyāth al-Dīn Abū al-Fatḥ ʿUmar ibn Ibrāhīm Nīsābūrī** (ngày 18 tháng 5 năm 1048 – ngày 4 tháng 12 năm 1131), thông thường được biết đến với tên gọi **Omar Khayyám** (),, là một nhà
**Ethereum** **(ETH)** là một nền tảng điện toán có tính chất phân tán, công cộng, mã nguồn mở dựa trên công nghệ Blockchain. Nó có tính năng hợp đồng thông minh (kịch bản), tạo thuận
Trong khoa học máy tính, đặc biệt là trong biểu diễn tri thức và siêu logic học, lĩnh vực **suy luận tự động** (automated reasoning) được dành riêng cho việc hiểu các khía cạnh khác
**Đại học Missouri** (, thường được gọi là **Mizzou** hoặc **MU**) là một viện đại học nghiên cứu công lập tại Columbia, Missouri, Hoa Kỳ. Thành lập vào năm 1839, đây là viện đại học
**_Mây Atlas_** (tên gốc tiếng Anh: **_Cloud Atlas_**) là một bộ phim sử thi và khoa học viễn tưởng sản xuất năm 2012 của Đức sản xuất. Bộ phim dựa theo tiểu thuyết _Bản đồ
**Mary Louise** "**Meryl**" **Streep** (sinh ngày 22 tháng 6 năm 1949) là một nữ diễn viên và nhà nhân đạo người Mỹ. Được giới truyền thông gọi là "nữ diễn viên xuất sắc nhất của