Может ли кто-нибудь дать мне четкое различие между системой скрытого и манифестального типа?В чем разница между типом скрытого типа и типом манифеста?
ответ
См. Anton van Straaten's post на Lambda the Ultimate. Он описывает скрытую типизацию в контексте Схемы.
Манифест типизации будет использоваться в статически типизированном языке, где тип термина объявляется синтаксически или может быть выведен во время компиляции из других таких терминов.
Скрытый ввод: стиль ввода, который не требует явных деклараций типа. Он связан с duck typing, dynamic typing и type inference. Вы можете видеть их на таких языках, как Python, Lisp, Haskell и т. Д.
Манифест ввода: тип всех объявленных переменных явно идентифицирован. Такие языки, как C, C++ и Java, следуют этому.
Иногда эта же концепция придумывается независимо в разных областях информатики. Это один из тех случаев. Что Схема сообщество вызывает латентных и манифест печатать, остальная часть мира называет неявное и явных печатать. Смысл в точности то же самое:
В явно/манифеста типирование, программист должен явно записать типы, таким образом, типы становятся манифеста в исходном коде.
В неявное/латентный типирование, программист не записывает типы. Таким образом, типы неявные или скрытые.
Обратите внимание, что вопрос о неявной и явной типизации полностью ортогонален, например, динамическое и статическое типирование, сильное против слабого набора текста, звук против неправильной типизации, безопасная и небезопасная типизация и номинальная или структурная и утиная типизация.
Haskell, например, неявно, сильно, статически, звучит, безопасно, структурно типизирован.
Часть причины, на которую трудно ответить на ваш вопрос, заключается в том, что это активная область исследований. В частности, существует целая группа людей, которые хотели бы смешивать типизированные и нетипизированные языки и разрешать программы, где определенные части печатаются, а некоторые части - нет.
Я утверждаю, что пока еще нет широкого соглашения о том, какое значение, наконец, будет придано термину «скрытый тип».
Однако проблема с скрытыми и манифестными типами не является той же проблемой, что и проблема вывода типа.
Тип вывода, на языке статически типизированного языка, относится к системе, которая может выводить типы для условий программы без помощи программистов, как правило, используя систему типа унифицированного стиля и унификации. Haskell и OCaml имеют типовой вывод.
- 1. Разница между (типом) и типом
- 2. В чем разница между типом и типом данных в Haskell?
- 3. В чем разница между неуправляемым типом и управляемым типом?
- 4. В чем разница между примитивным типом и атомным типом?
- 5. В чем разница между типом параметра и типом NULL?
- 6. Разница между ссылочным типом и типом объекта?
- 7. В чем разница между типом и типом .__ new__ в python?
- 8. В чем разница между медиатипом, типом контента и типом?
- 9. В чем разница между составным типом и анонимным типом?
- 10. В чем разница или взаимосвязь между типом и типом?
- 11. В чем разница между (типом) значением и типом (значением)?
- 12. Java - В чем разница между стиранием типа и типом вывода?
- 13. В чем разница между встроенным типом типа и типами numpy.int?
- 14. В чем разница между безопасностью типа и типом вывода?
- 15. В чем разница между типичным типом и определением общего типа?
- 16. разница между родовым типом и подстановочным типом
- 17. Разница между подстановочным типом и ограниченным типом
- 18. Разница между типом ввода и аргументом типа
- 19. разница между типом и __class__
- 20. Разница между типом документа и типом значений в couchbase
- 21. Разница между типом и явно развернутым типом в Swift
- 22. Разница между любым типом и общим типом в swift
- 23. Разница между типом данных и объектом
- 24. OWL В чем разница между int и целым типом
- 25. Разница между классом и типом
- 26. В чем разница между ref и типом в XML-схеме?
- 27. Разница между типом и Newtype в Haskell
- 28. В чем разница между jtype (JNI) и типом C/C++?
- 29. В OSGi, в чем разница между типом отслеживаемого сервиса и типом отслеживаемого объекта
- 30. Разница между типом% и типом данных в оракула
Я не знаю, haskell, не могли бы вы проиллюстрировать каждый из этих характерных признаков в haskell? – unj2
плюс 1! но как Haskell структурно набирается? –