8 Matching Annotations
1. Dec 2022
2. www.zhihu.com www.zhihu.com
1. 在计算机科学中，整体来说，PL 更接近 Theory 还是 System？

#### URL

3. www.zhihu.com www.zhihu.com
1. 如何评价PLT Redex？

#### URL

4. www.zhihu.com www.zhihu.com
1. 想看懂编程语言理论书籍需要什么前置的知识?

#### URL

5. www.zhihu.com www.zhihu.com
1. 系统地学习PLT需要读哪些经典书籍？

#### URL

6. www.zhihu.com www.zhihu.com
1. 怎么评价这份PLT Learning By Doing Guide 攻略？

#### URL

7. www.zhihu.com www.zhihu.com
1. 程序设计语言理论（PLT）领域里有哪些经典的教材？

#### URL

8. Nov 2019
9. stuartsierra.com stuartsierra.com
1. They answer the two chief complaints about Lisp syntax: too many parentheses and “unnatural” ordering

they do that, but I don't think that's their primary rationale and a deeper win more important they neatly express certain structure / shape of computation

#### URL

10. Oct 2019
11. github.com github.com
1. For example the following pattern: (let [x true y true z true] (match [x y z] [_ false true] 1 [false true _ ] 2 [_ _ false] 3 [_ _ true] 4)) ;=> 4 expands into something similar to the following: (cond (= y false) (cond (= z false) (let [] 3) (= z true) (let [] 1) :else (throw (java.lang.Exception. "No match found."))) (= y true) (cond (= x false) (let [] 2) :else (cond (= z false) 3 (= z true) 4 :else (throw (java.lang.Exception. "No match found.")))) :else (cond (= z false) (let [] 3) (= z true) (let [] 4) :else (throw (java.lang.Exception. "No match found.")))) Note that y gets tested first. Lazy pattern matching consistently gives compact decision trees. This means faster pattern matching. You can find out more in the top paper cited below.