Các nhược điểm cho ScopedTypeVariables
, nếu có? Tại sao nó không được bật theo mặc định? Liệu nó dẫn đến suy luận tồi tệ hơn? Có trường hợp cạnh nào không? Việc triển khai GHC có khó khăn hơn không?Nhược điểm đối với ScopedTypeVariables
10
A
Trả lời
8
Nó không được bật theo mặc định vì cùng một lý do mà mọi tiện ích mở rộng khác không được bật theo mặc định - nó không phải là một phần của tiêu chuẩn Haskell.
Như đã nói - điều này đòi hỏi nhiều logic hơn trong trình kiểm tra loại nhưng tôi không nghĩ rằng bất kỳ ai coi nó là gánh nặng.
10
Nó cũng vì nó thay đổi ngữ nghĩa của một chương trình (kết hợp với các phần mở rộng khác). Hãy xem xét
{-# LANGUAGE RankNTypes #-}
foo :: forall a . (a -> a) -> (a -> a)
foo = bar
where
bar :: a -> a
bar = id
Nó biên dịch tốt, nhưng với ScopedTypeVariables
thậm chí không biên dịch được.
Các vấn đề liên quan
- 1. Ưu điểm và nhược điểm của Perl đối với OOP là gì?
- 2. Ưu điểm/nhược điểm đối với các chiến lược bao gói Java khác nhau
- 3. Ưu điểm/nhược điểm của đối tượng quan sát toàn cầu so với mixin
- 4. Nhược điểm của CouchDB
- 5. Nhược điểm của ánh xạ quan hệ đối tượng
- 6. SELECT * - ưu/nhược điểm
- 7. Nhược điểm của PDO (đối tượng dữ liệu PHP)
- 8. Ưu điểm và nhược điểm của BPMN?
- 9. Ưu điểm & nhược điểm của DotNetNuke?
- 10. Yêu cầu đối tượng, ưu và nhược điểm là gì?
- 11. WCF - ưu điểm và nhược điểm
- 12. Ưu điểm và nhược điểm của NHibernate
- 13. ưu và nhược điểm của TryCatch so với TryParse
- 14. Mục tiêu-C - Nhược điểm để kết nối với C++?
- 15. NHibernate dynamic-update Nhược điểm?
- 16. Nhược điểm chỉ gỡ lỗi trong C++?
- 17. Ưu điểm và nhược điểm của DDD Repositories
- 18. Ưu điểm và nhược điểm của Java Portlets?
- 19. Chuyển từ MySQL sang Cassandra - Ưu điểm/Nhược điểm?
- 20. Nhược điểm của hệ thống kiểu Scala so với Haskell?
- 21. Các nhược điểm của onMousedown so với onClick?
- 22. Nhược điểm để "VỚI SCHEMABINDING" trong SQL Server?
- 23. Nhược điểm của Javascript "mẫu var đơn"
- 24. Ưu điểm và nhược điểm của Điều tra so với Ống so với Ống là gì?
- 25. Ưu điểm/nhược điểm của các con trỏ tự động
- 26. Đặt lại CSS gốc - Nhược điểm?
- 27. Ưu điểm và nhược điểm: Jetbrains IntelliJ/Sublime Text
- 28. Ưu điểm/nhược điểm của .NET 64 bit là gì?
- 29. Ưu điểm và nhược điểm của Model-View-Controller
- 30. Ưu điểm/nhược điểm của IIS Web Garden
Nó không được bật theo mặc định vì lý do tương tự mà mọi tiện ích khác không được bật theo mặc định - nó không phải là một phần của tiêu chuẩn Haskell. –
Nếu đó là bất lợi duy nhất cho phần mở rộng, hãy thay đổi điều này thành câu trả lời và tôi sẽ chấp nhận nó. Tôi biết rằng nó không nằm trong tiêu chuẩn, nhưng tôi không muốn thiên vị câu hỏi. –
Tôi chỉ có thể nghĩ về các ưu điểm với 'ScopedTypeVariables', ngoại trừ một biến chứng nhỏ của trình kiểm tra loại. – augustss