ambient monad 中术语 ambient 的含义
The sense of term ambient in ambient monad
Id
文档说明
The identity monad ... is ambient in the sense that plain pure values are values of Id
.
什么是环境? 环境 一词与纯值 的含义有什么关系?当 Id
是类型构造函数时,为什么我们可以说 of Id
的纯值?再一次,Id
实际上是类型构造函数还是正确的类型,因为 :kind
命令没有输出
scala> type Id[A] = A
type Id
scala> :kind -v Id
scala>
ambient
不是与 FP 或类型系统相关的术语,而是隐喻。
他们说 ambient
可能意味着它正在包装现有类型而实际上并没有对它产生太大影响。
val i:Id[Int] = 3
val i2:Int = i // Id[Int]==Int
说 plain pure values are values of Id
他们的意思是任何类型 X
的值也是 Id[X]
.
的值
val i:Id[Int] = 3:Int
val s:Id[String] = "3":String
您可以将 type Id[A] = A
视为“类型级别的函数”,returns 其参数 A
。
类似这样,但在类型级别:
def Id[T](i:T):T = i
没有“类型级别的函数”这样的术语,但每个类型构造函数都是类型系统级别的函数的模拟。
Id
文档说明
The identity monad ... is ambient in the sense that plain pure values are values of
Id
.
什么是环境? 环境 一词与纯值 的含义有什么关系?当 Id
是类型构造函数时,为什么我们可以说 of Id
的纯值?再一次,Id
实际上是类型构造函数还是正确的类型,因为 :kind
命令没有输出
scala> type Id[A] = A
type Id
scala> :kind -v Id
scala>
ambient
不是与 FP 或类型系统相关的术语,而是隐喻。
他们说 ambient
可能意味着它正在包装现有类型而实际上并没有对它产生太大影响。
val i:Id[Int] = 3
val i2:Int = i // Id[Int]==Int
说 plain pure values are values of Id
他们的意思是任何类型 X
的值也是 Id[X]
.
val i:Id[Int] = 3:Int
val s:Id[String] = "3":String
您可以将 type Id[A] = A
视为“类型级别的函数”,returns 其参数 A
。
类似这样,但在类型级别:
def Id[T](i:T):T = i
没有“类型级别的函数”这样的术语,但每个类型构造函数都是类型系统级别的函数的模拟。