有人可以为我阐明类型安全的用途吗?

Mic*_*ard 1 haskell types

我正在使用类型安全来消毒字符串,但我希望更多的用途明确表达.

Die*_*Epp 6

当然!

Baghdad :: City

launchMissilesAt :: City -> IO ()

fibonacci :: Integer -> Integer
Run Code Online (Sandbox Code Playgroud)

根据类型安全规则,我们知道fibonacci无法在巴格达发射导弹.(注意unsafePerformIO由于某种原因被标记为"不安全" - 它可能违反类型安全.请谨慎使用!)


ham*_*mar 5

耶索德Web框架具有的类型安全如何被用来在现实世界中的代码大有裨益几个很好的例子.

  • 类型安全的URL会阻止站点上的链接中断,因为更改或删除路由而不更新使用它的模板将导致编译时错误.
  • 对HTML使用单独的数据类型可以确保无法清理用户输入是类型错误,从而防止了许多常见的XSS漏洞.
  • 他们的类型安全本地化方法避免了翻译到具有不同单词顺序,不同复数规则等语言的许多常见问题,并且编译器可以再次警告您消息是否缺少翻译.