Concurrent Clean : Re: 型クラスと存在型
[id:lethevert:20061016:p1]では、ちょっと何がいいたいかよく分からなくなっていたのだけれど、
::Number :== E.(Arith a): Number ((a -> a) -> Number) introNumber :: a -> Number | Arith a introNumber n = app where app f = introNumber (f n) appNumber :: (a -> a) f -> Number | Arith a appNumber f (Number app) = app f
とかあって、
Start = incNumber (incNumber (incNumber (introNumber 1))) where incNumber = appNumber inc
が「introNumber 4」になるみたいな。
-
-
- -
-
やっぱりわけわからん。