Quali sono i limiti di inferenza del tipo? Quali sistemi di tipi non hanno un algoritmo di inferenza generale?Quali sono i limiti di inferenza di tipo?
risposta
Joe Wells ha mostrato che tipo di inferenza è indecidibile per il sistema F, che è la più elementare calcolo polimorfico lambda, scoperto indipendentemente da Girard e Reynolds . Questo è il risultato più importante che mostra i limiti dell'inferenza di tipo.
Ecco un problema importante che è ancora aperto: qual è il modo migliore per integrare i tipi di dati algebrici generalizzati in inferenza di tipo Hindley-Milner? Ogni anno Simon Peyton Jones propone nuove risposte, che è presumibilmente migliore della risposta dell'anno precedente. Non ho letto la versione di marzo 2009 e quindi non posso dire se credo che sarà definitiva.
Un sistema di tipo valore dipendente (o in breve, sistema di tipo dipendente) può descrivere tipi che dicono cose come: "Al momento della valutazione (runtime), il valore di questa variabile sarà sempre uguale al valore di quello variabile, che viene calcolata con un diverso processo di valutazione ". La deduzione automatica di questo tipo dal codice comporta prove automatiche di teoremi. Se l'insieme di teoremi che puoi esprimere è limitato a quelli automaticamente dimostrabili, non sarebbe un problema, ma nel caso di linguaggi tipizzati in modo dipendente, questo in genere non è il caso.
Quindi i sistemi tipizzati in modo dipendente non possono avere l'inferenza di tipo generale (e completa).
Sono sicuro che qualcuno in grado di fornire una risposta formale e completa morale ...
- 1. Quali sono i limiti spaziali dell'indice Lucene?
- 2. Quali sono i limiti di implementazione di MySQL Cluster NDB?
- 3. Archiviazione interna di Android: quali sono i limiti?
- 4. Quali sono i limiti tecnici di phoneGap/Cordova?
- 5. Quali sono i limiti di WiX e WiX Toolset?
- 6. Quali sono i limiti della distribuzione di file .pyc?
- 7. Quali sono i limiti della compilazione di dart in javascript?
- 8. Quali sono i limiti delle funzioni multi curl di PHP?
- 9. Quali sono i limiti del nome dell'argomento di Apache Kafka?
- 10. Inferenza di tipo Haskell per i Funcitors
- 11. Tipo di inferenza F #
- 12. Quali modifiche nell'algoritmo di inferenza del tipo causano questo comportamento?
- 13. Quali limiti ci sono sul numero di risorse Android?
- 14. Quali sono i limiti pratici dei thread per CPU?
- 15. Quali sono i limiti NSubstitute, specialmente rispetto a MOQ?
- 16. Quali sono i limiti del ragionamento nell'aritmetica quantificata in SMT?
- 17. Quali sono i limiti della dimensione dell'immagine del feed Fb.ui?
- 18. Quali sono i limiti superiore e inferiore e i tipi di valori dei pixel in OpenCV?
- 19. Scala domanda inferenza di tipo
- 20. metodi generici tipo di inferenza
- 21. Tipo di inferenza sul metodo restituito tipo
- 22. Tipo di inferenza di funzioni come argomenti
- 23. Tipo-Inferenza Scala Tipo Costruttore
- 24. Guai di inferenza del tipo di GHC
- 25. Quali sono i nuovi qualificatori di tipo introdotti con ARC?
- 26. Quali sono i limiti pratici al numero di istanze FileSystemWatcher un server in grado di gestire?
- 27. Problema tipo Scala (Inferenza)?
- 28. tipo parziale inferenza
- 29. Inferenza di tipo su funzioni generiche nidificate
- 30. inferenza di tipo non riesce misteriosamente
Quindi Algorithm W copre il più grande sottoinsieme possibile di System F che è decidibile? –
@ott: Non sono un teorico di tipo a punta, ma scommetto il mio simbolo | - che System F ha sottoinsiemi decidibili multipli e incomparabili. Per non parlare della possibilità di estensioni (GADT, vincoli di uguaglianza, tipi qualificati). È piena occupazione per la folla a punta :-) –
@Norman Ramsey: interessante. Non so se i teorici del tipo sono a punta di puntino, ma i documenti che ho visto sembrano essere molto lontani dalla realtà e non so se la teoria dei tipi diventerà mainstream e ampiamente accettata; devi ancora imparare la ML per capire anche le basi. –