Gemäß this answer "ATS" rekursive Typen "unterstützt". Was war der Grund, diese Funktion zu entfernen? Gibt es außerdem Pläne, es in Zukunft wieder einzuführen? TIA.Warum unterstützt ATS keine rekursiven Typen?
1
A
Antwort
1
Die direkte Unterstützung rekursiver Typen würde es sehr viel aufwendiger machen, die Typgleichheit zu überprüfen, dh festzustellen, ob zwei Typen gleich sind. Außerdem können die meisten typischen Anforderungen für rekursive Typen durch die Verwendung von Datentypen erfüllt werden.
abstype fix_t(f: type -> type)
prfun fold{f:type->type}(x: !f(fix_t(f)) >> fix_t(f)): void
prfun unfold{f:type->type}(x: !fix_t(f) >> f(fix_t(f))): void
Der folgende Link relevant sein können: Man kann auch so etwas wie einführen
Derzeit gibt es keinen Plan, wieder einzuführen rekursive Typen wieder in ATS.
Verwandte Themen
- 1. MySQL unterstützt keine rekursiven Funktionen? Warum? seit wann?
- 2. Warum unterstützt C# keine impliziten generischen Typen für Klassenkonstruktoren?
- 3. Haskell AST mit rekursiven Typen
- 4. Warum unterstützt OpenCL keine Rekursion?
- 5. ProtoBuff.Net unterstützt keine Null. Warum?
- 6. Warum unterstützt JSONPath keine Eltern?
- 7. Unterstützt Perl6 abhängige Typen?
- 8. Organisieren Sie meine gegenseitigen rekursiven Typen
- 9. Erstellen von polymorphen rekursiven Typen in Haskell
- 10. Endgültige taglose Codierung von gegenseitig rekursiven Typen
- 11. Warum müssen Mat-Typen keine Zeiger sein?
- 12. Warum unterstützen Java Generics keine primitiven Typen?
- 13. Warum unterstützt ErrorAction keine Lambdas in PowerShell?
- 14. Warum unterstützt IIS keine Chunked-Transfer-Codierung?
- 15. Warum unterstützt GHC Haskell keine überladenen Parameternamen?
- 16. Unterstützt Haskell geschlossene polymorphe Typen?
- 17. Klasse unterstützt keine Operatoren
- 18. Warum unterstützt OCaml nicht Subtyping?
- 19. ATS Fehler beheben
- 20. NULL-Typen definieren, wenn verschachtelte Typen nicht unterstützt werden
- 21. Unterstützt EF 6 SQL Server 2014-Typen?
- 22. Facebook iOS SDK: ATS-Ausnahme
- 23. Warum gibt es zwei Listentypen in ATS: Liste und Liste0?
- 24. Warum erzwingt Lean, dass rekursive Argumenttypen nach nicht-rekursiven Typen auftreten?
- 25. Grundlegendes zu rekursiven algebraischen Typen in der funktionalen Programmierung
- 26. Problem mit Scala rekursiven Typen (um eine Hlist zu erstellen)
- 27. Wie kann ich entweder zu mehr (und rekursiven) Typen verallgemeinern?
- 28. ITypeResolutionService löst keine Typen
- 29. Operator + erkennt keine Typen
- 30. Warum Scala keine Merkmalsparameter ableitet?