CatCoding

当前 32,共 51 页

惰性求值和流

lazy-eval 什么是惰性求值惰性在函数式编程语言中很常见,他的通俗解释就是一个变量或者表达式,不到必要的时候不会被 eval。比如函数在传递参数的时候,参数的值可以不确定。 这种方式叫做 call-by-name,首先很明显这可能会造成一部分 performance 差异,如果 ......

Types and Programming Languages (2)

ReferencesSide effectIn particular, besides just yielding results, evaluation of terms in these languages may assign to mutable variables (ref ......

Types and Programming Languages (3)

Subtypingsubtyping 解决的问题是多态,OO 的一个基本要素。 we say that S is a subtype of T, written S <: T, to mean that any term of type S can safely be use ......

Types and Programming Languages (1)

最近掉进另外一个 PL 的坑里面,就是想读一下这本书,顺便继续熟悉一下 Ocaml。下面的记录是阅读过程中的一些摘录和理解。 1-2 章是数学预备部分,理论部分有些地方比较难懂,主要是一些数学符号看久了眼花。解释器的实现大多只用看 syntax.ml 和 core.ml,就是语法和具 ......

Understanding Computation

前些天花了一些时间读这本书《计算的本质:深入剖析程序和计算机》。总的来说这本书非常不错。虽然讲述的是一些看似理论的东西,里面有不少短小的 Ruby 程序,读起来还是非常有趣的。回想当年大学的时候有一门课程叫做形式语言与自动机,当时觉得这门课真是太没劲了。理论的东西终究需要一些实践才能 ......