Marvin's Blog【程式人生】

Ability will never catch up with the demand for it

15 Apr 2021

The Racket Reference阅读笔记

The Racket Reference阅读笔记。 1 Language Model 1.2 Syntax Model racket的语法解析分为两个阶段,一是read阶段,作用将文件中的字符解析成语法对象。而是expand阶段,作用是将语法对象进行必要的处理以便于下一阶段的进 …
20 Mar 2021

Windows下编译libedit失败记

记一次失败的折腾。 起因,Windows下Racket的命令行编辑不好用,因为不能使用libedit。查看了以下racket的readline的源码,发现 (ffi-lib "libedit" '("3" "2" "0.0.43" "0.0.53" "0" "")))),这些数字 …
15 Mar 2021

The Racket Guide阅读笔记【十一】

The Racket Guide阅读笔记,chapter 20, 21,22, 23. 20 Parallelism Racket提供两种形式的并行,future以及place。 Racket的thread只为并发使用,不为并行使用。 future的功能通 …
10 Mar 2021

Racket的XREPL

XREPL: eXtended REPL xrepl扩展了racket的默认repl。xrepl会在xrepl-lib安装了的时候自动启用。 raco pkg install xrepl raco pkg install xrepl-lib 1 Meta REPL …
09 Mar 2021

The Racket Guide阅读笔记【九】

The Racket Guide阅读笔记,chapter 16, 17. 16 Macros 本文描述Racket的宏。 另一个值得参考的是Fear of Macros。 Racket提供有宏调试器,以及syntax/parse库来帮助宏的写作。 16.1 …
09 Mar 2021

The Racket Guide阅读笔记【十】

The Racket Guide阅读笔记,chapter 18, 19. 18 Concurrency and Synchronization 提供thread来支持并发。tread是抢占式的,也就是说一个thread抢占另一个thread,并不需要被抢占者同意。 18.1 …
08 Mar 2021

The Racket Guide阅读笔记【八】

The Racket Guide阅读笔记,chapter 15. 15 Reflection and Dynamic Evaluation 15.1 eval eval可以接受动态生成的表达式。 (define (eval-formula formula) (eval `(let …
07 Mar 2021

The Racket Guide阅读笔记【七】

The Racket Guide阅读笔记,chapter 12, 14. 12 Pattern Matching 语法形式: (match target-expr [pattern expr ...+] ...) pattern可以是 普通常量 cons, list, …
05 Mar 2021

The Racket Guide阅读笔记【六】

The Racket Guide阅读笔记,chapter 10. 10 Exceptions and Control 10.1 Exceptions 异常使用with-handler来捕获 (with-handlers …
04 Mar 2021

UWP的Composition相关文档阅读

Visual layer Visual layer为UI提供提供图形、效果和动画方面的支持。所有Windows设备的UI都具有Visual layer。UI是以声明的方式描述的,而Visual layer的工作就是把这些声明映射到底层的显示设备上。这些图形、效果和动画的实现 …
04 Mar 2021

Emacs手册阅读

熟悉一个工具最显而易见的办法就是阅读其手册。在Emacs中可以通过C-h r打开手册。 23 Major and Minor Modes 23.1 Major Modes M-x ?-mode启用某个mode。例如M-x lisp-mode进入lisp模式。 有的模式存在快捷键, …
03 Mar 2021

The Racket Guide阅读笔记【五】

The Racket Guide阅读笔记,chapter 7. 7 Contracts 7.1 Contracts and Boundaries 合约(contract)是一个模块为其自身提供的使用声明。 #lang racket (provide (contract-out …