我多次看到有人声称可以证明具有类型签名的函数
α → α
只能通过返回参数来实现,因为我们对参数的类型一无所知。
id :: α → α
id a = a
可以在http://blog.precog.com/?p=431找到该声明的示例
但是是什么阻止我们做出这样的 if 语句(伪代码)?
id :: α → α
id a = if ( a is_a_String) a + "hello"
else a
有没有我失踪的先决条件?
我多次看到有人声称可以证明具有类型签名的函数
α → α
只能通过返回参数来实现,因为我们对参数的类型一无所知。
id :: α → α
id a = a
可以在http://blog.precog.com/?p=431找到该声明的示例
但是是什么阻止我们做出这样的 if 语句(伪代码)?
id :: α → α
id a = if ( a is_a_String) a + "hello"
else a
有没有我失踪的先决条件?