Was sind die Schattenseiten zu ScopedTypeVariables
, wenn es irgendwelche gibt? Warum ist es nicht standardmäßig aktiviert? Führt dies zu schlechteren Schlussfolgerungen? Gibt es Grenzfälle, wo es scheitert? Ist es wesentlich schwieriger in GHC zu implementieren?Nachteile zu ScopedTypeVariables
10
A
Antwort
8
Es ist nicht standardmäßig aus dem gleichen Grund, dass jede andere Erweiterung nicht standardmäßig aktiviert ist - es ist nicht Teil des Haskell-Standards.
Wie August sagte - das erfordert mehr Logik in der Typüberprüfung, aber ich glaube nicht, dass jemand es als lästig betrachtet.
10
Es ist auch, weil es die Semantik eines Programms (in Kombination mit anderen Erweiterungen) ändert. Betrachten
{-# LANGUAGE RankNTypes #-}
foo :: forall a . (a -> a) -> (a -> a)
foo = bar
where
bar :: a -> a
bar = id
Es kompiliert in Ordnung, aber mit ScopedTypeVariables
es nicht selbst zu kompilieren.
Verwandte Themen
- 1. ScopedTypeVariables nicht Typvariablen in Umfang bringen
- 2. Index Nachteile
- 3. Nachteile von TestNG im Vergleich zu jUnit?
- 4. Was bedeutet es, "Nachteile zu hacken"?
- 5. NHibernate dynamic-update Nachteile?
- 6. plv8 Nachteile oder Einschränkungen?
- 7. OCaml Nachteile (: :) Operator?
- 8. Nachteile von shared_ptr
- 9. Offensichtliche Modulmuster Nachteile
- 10. WCF readerQuotas Einstellungen - Nachteile?
- 11. AUTONOMEN_TRANSACTION: Vor- und Nachteile
- 12. Nachteile von Linq
- 13. Nachteile von Erweiterungsmethoden?
- 14. Nachteile von CakePHP-Framework
- 15. Disable $ sce Service Nachteile
- 16. Nachteile von Sequel gem
- 17. Nachteile von Tomcat Http11NioProtocol
- 18. Nachteile (:) in CoffeeScript?
- 19. Nicht blockierende Messagebox & DllImport Nachteile
- 20. mongo db --smallfiles Switch Nachteile
- 21. Nachteile und Einschränkungen von ETags
- 22. Vorteile/Nachteile von Auto-Zeigern
- 23. NSDocument Architektur Vor- und Nachteile
- 24. Vorteile/Nachteile von Redis-Paginierungsstrategien
- 25. Vorteile/Nachteile von explodierten Kriegen
- 26. Schema Lisp Nachteile und Liste
- 27. Nachteile von onMousedown vs onClick?
- 28. C++ Class Forward Deklaration Nachteile?
- 29. Was sind die Nachteile der Einstellung jeder Eigenschaft zu stark?
- 30. Gibt es irgendwelche Nachteile mit Preparedstatement im Vergleich zu Statement
Es ist nicht standardmäßig aus dem gleichen Grund, dass jede andere Erweiterung nicht standardmäßig aktiviert ist - es ist nicht Teil des Haskell-Standards. –
Wenn das der einzige Nachteil für die Erweiterung ist, ändern Sie das bitte in eine Antwort und ich werde es akzeptieren. Ich bin mir bewusst, dass es nicht im Standard ist, aber ich wollte die Frage nicht verzerren. –
Ich kann nur an Vorteile mit 'ScopedTypeVariables' denken, abgesehen von einer leichten Komplizierung des Typprüfers. – augustss