Một số trực giác hỗ trợ gọi nhà xây dựng có thể trong Haskell trong tháng chỉ là gì?


11

Trực giác của một loại tùy chọn như Maybe Intkhông có Int (do đó, Nothingcó) hoặc có một số Int; có một cái gì đó ở đó

Nó có ý nghĩa với tôi rằng chúng ta gọi hàm tạo kiểu cho trường hợp "phủ định" Nothing, vì nó có nghĩa chính xác là - không Intcó ở đó. Nhưng tại sao lại sử dụng từ Chỉ trong trường hợp nhấn mạnh vào một cái gì đó thực sự ở đó ?

Đối với tôi, từ "Chỉ" mang ý nghĩa rằng thứ mà nó mô tả ít hơn từ thay thế; sự đối lập của một cái gì đó thực sự ở đó; ví dụ,

A: Tối nay bạn có làm gì không?

B: Không; Tôi chỉ sẽ nghỉ và TV của đồng hồ.

A: Bạn đã điều tra những âm thanh ma quái đáng sợ xung quanh nhà bạn?

B: yeah, hóa ra nó thực sự chỉ là một con cú.

Rõ ràng tôi không có bất kỳ trực giác nào mà lựa chọn đặt tên này dựa trên. Nó là gì? Bởi vì với tôi, từ Chỉ có nghĩa ngược lại với cách nó được sử dụng trong Maybeloại.


4
Trong trường hợp này, tôi nghĩ Scala đã đi với cái tên tốt hơn là Một số trái ngược với Không (không nói đó là phát minh của Scala).
Andres F.

3
@AresresF. Nó quay trở lại ít nhất là ML mà Oderky chắc chắn rất quen thuộc.
Derek Elkins rời SE

2
@RobertHarvey Nếu một Haskeller đang sử dụng Maybenhư một đơn nguyên, họ có thể sẽ sử dụng returnvà có thể là một cái gì đó giống như mzerothay vì Nothing. Khi Justđược sử dụng trực tiếp, thường Maybekhông được sử dụng theo kiểu đơn nguyên tại thời điểm đó.
Derek Elkins rời SE

2
Tiền lệ lịch sử sẽ là Optionloại. Các nhà thiết kế của Haskell có lẽ cảm thấy rằng foo x = Just x"đọc" tốt hơn foo x = Some x. Tương tự, định nghĩa data Maybe a = Just a | Nothingđọc khá tốt là " Maybe aJust ahoặc là Nothing". Someđọc hợp lý tốt ở đó, nhưng Nonekhông cho data Option a = Some a | None.
Derek Elkins rời SE

3
Họ vẫn còn sống. Bạn có thể gửi email cho những người như Phil Wadler và Simon Peyton Jones và hỏi họ. Hoặc thử danh sách gửi thư Haskell-Cafe.
Derek Elkins rời SE

Câu trả lời:


2

Điều này đã được giải thích trong quá khứ bởi Simon Peyton Jones. Nó ngụ ý rằng Không có gì có thể là giá trị hoặc 'chỉ' một giá trị loại khác. Có "chỉ" một thứ khác có thể được trả về như một giá trị, hoặc không có gì.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.