2014-06-13 14 views

Trả lời

3

này nên làm việc:

baz = Foo { bar = (\x -> x*3) } 
15

Nó chỉ là một giới hạn cú pháp - Tôi nghi ngờ rằng nếu tính năng này đã được xem xét, nó sẽ đã bị từ chối vì có giải pháp thay thế đơn giản. Ngoài ra, nếu nó được hỗ trợ, câu hỏi tiếp theo sẽ là lý do tại sao không phù hợp với mô hình với nhiều mệnh đề, và tổng thể nó sẽ chỉ làm cho ngôn ngữ lớn hơn cho không phải tất cả những gì đạt được nhiều.

Bạn có thể sử dụng baz = Foo { bar = \x -> x*3 } để thay thế cho trường hợp cụ thể bạn đã cung cấp hoặc xác định chức năng phụ trợ.

+0

Nếu đó là một quyết định thiết kế đơn giản, liệu nó có được ghi lại ở đâu đó không? – Vektorweg

+2

Xin lỗi nếu câu trả lời của tôi hơi gây nhầm lẫn, đó là phỏng đoán được giáo dục của tôi hơn là một số kiến ​​thức lịch sử nhất định. –

+3

Ganesh là đúng, nó đã được xem xét và từ chối trong tên của sự đơn giản. Thiết kế của Haskell không thực sự có bất kỳ bản ghi nào, ngoại trừ một số danh sách gửi thư cũ. – augustss

Các vấn đề liên quan