内射
类型家庭不一定是单射的。因此,我们无法从应用程序推断出参数。例如,在 servant
中,给定类型 Server a
,我们无法推断出类型 a
。要解决这个问题,我们可以使用 Proxy
。例如,在 servant
中,serve
函数的类型为 ... Proxy a -> Server a -> ...
。我们可以从 Proxy a
推断出 a
,因为 Proxy
是由 data
定义的,这是单射的。
类型家庭不一定是单射的。因此,我们无法从应用程序推断出参数。例如,在 servant
中,给定类型 Server a
,我们无法推断出类型 a
。要解决这个问题,我们可以使用 Proxy
。例如,在 servant
中,serve
函数的类型为 ... Proxy a -> Server a -> ...
。我们可以从 Proxy a
推断出 a
,因为 Proxy
是由 data
定义的,这是单射的。