CatCoding

当前 17,共 26 页

惰性求值和流

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

Types and Programming Languages (3)

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

Types and Programming Languages (2)

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

Types and Programming Languages (1)

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

Understanding Computation

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

广告

我到了一个做无人机的公司工作,叫做大疆创新 (DJI)。最近内部有一些推广活动,有感兴趣的朋友了解一下。 大疆精灵 这页面我隔壁小伙子做的,看起来还不错 :) Phantom 系列是公司卖得最好的一款产品,市场主要在欧美。 这个东西挺好,比如能拍出这样的照片:stacy-s-breathless- ......

Rust coming to 1.0

Again, one article just for writing practice. :) Rust-lang release alpha 1.0 today. Rust aims to be a systems level programming language to replace C ......

lcc 阅读记录

之前看 EOPL 感觉收获挺大,最近又花业余时间看了看编译相关的东西,这是我看 lcc 的时候顺手记下的一些自己的理解。这本书《A Retargetable C Compiler》还挺大头的。lcc 代码量不是特别大,更复杂的是 tinyCC,tinyCC 甚至可以直接运行 C 代码。 alloc. ......

折腾服务器

最近花了一些时间研究机器的部署,主要是实践了网络安装服务器和 OpenStack 部署。 网络安装 Ubuntu 如果有多台服务器,网络安装似乎是唯一的选择。基本原理就是在局域网里面配置一个 host,里面配置好一个 DHCP 服务和 TFTP 服务,用 Apache 弄一个系统镜像供服务器下载。 ......