Quali sono i lati negativi di ScopedTypeVariables
, se ce ne sono? Perché non è attivo per impostazione predefinita? Porta a inferenza peggiore? Ci sono casi limite dove fallisce? È molto più difficile da implementare in GHC?Aspetti negativi per ScopedTypeVariables
10
A
risposta
8
Non è attivo per impostazione predefinita per lo stesso motivo per cui ogni altra estensione non è attiva per impostazione predefinita - non fa parte dello standard Haskell.
Come dicevano gli augusti, questo richiede più logica nel correttore di tipi, ma non penso che nessuno lo consideri gravoso.
10
È anche perché cambia la semantica di un programma (combinato con altre estensioni). Considerare
{-# LANGUAGE RankNTypes #-}
foo :: forall a . (a -> a) -> (a -> a)
foo = bar
where
bar :: a -> a
bar = id
Si compila bene, ma con ScopedTypeVariables
ancora non riesce a compilare.
Problemi correlati
- 1. Aspetti negativi di onMousedown vs. onClick?
- 2. aspetti negativi di utilizzare Stripes + Primavera vs Spring MVC
- 3. Applicazione di aspetti agli aspetti con postsharp
- 4. Ci sono aspetti negativi delle prestazioni durante l'utilizzo delle classi di autoloading in PHP?
- 5. Aspetti non sempre eseguito
- 6. Aspetti PostSharp ottimali
- 7. itoa per i numeri negativi?
- 8. Avviso Aspetti in conflitto PostSharp
- 9. Aspetti multipli su un metodo
- 10. ScopedTypeVariables non porta variabili di tipo in ambito
- 11. Modulo per i dividendi negativi in Python
- 12. Layout tastiera iPhone per numeri negativi?
- 13. Algoritmo di Dijkstra per pesi negativi
- 14. Espressione regolare Java per numeri negativi?
- 15. Uso di annotate per aggiungere annotazioni diverse a diversi aspetti
- 16. Aspetti per il boot di avvio a molla
- 17. MS-Excel Tempi negativi
- 18. Kadane algoritmo numeri negativi
- 19. grandi letterali interi negativi
- 20. Programmazione orientata agli aspetti in C#
- 21. Programmazione orientata agli aspetti con Roslyn
- 22. Programmazione orientata agli aspetti in Android
- 23. Come testare gli aspetti di PostSharp?
- 24. Programmazione orientata agli aspetti in ASP.NET MVC
- 25. Aspetti dell'ordine con Spring AOP && MVC
- 26. Selettori CSS negativi
- 27. Numeri casuali e negativi
- 28. interi non negativi
- 29. variabili negativi in meno
- 30. php - array_fill indici negativi
Non è attivo per impostazione predefinita per lo stesso motivo per cui ogni altra estensione non è attiva per impostazione predefinita - non fa parte dello standard Haskell. –
Se questo è l'unico svantaggio per l'estensione, si prega di cambiare questo ad una risposta e accetterò. Sono consapevole che non è nello standard, ma non volevo distorcere la domanda. –
Posso solo pensare a dei vantaggi con "ScopedTypeVariables", ad eccezione di una leggera complicazione del type checker. – augustss