January 1, 0001
我突然理解caller-saved寄存器是什么意思了。
那套yield
写得其实有问题,现在改好了。
赋值表达式的结果在C里竟然是右值,也即++(a = b)
是不合法的……更无法理解的是这在C++里竟然是左值,为什么啊?明明C的纯值语义更适合把它作为左值。
C的typedef事实上非常符合直觉。比如
typedef c *(*T)(b (*)(a));
事实上等价于
type T = ('a -> 'b) -> ref 'c;;
Blog of @megakite.
January 1, 0001
我突然理解caller-saved寄存器是什么意思了。
那套yield
写得其实有问题,现在改好了。
赋值表达式的结果在C里竟然是右值,也即++(a = b)
是不合法的……更无法理解的是这在C++里竟然是左值,为什么啊?明明C的纯值语义更适合把它作为左值。
C的typedef事实上非常符合直觉。比如
typedef c *(*T)(b (*)(a));
事实上等价于
type T = ('a -> 'b) -> ref 'c;;