Marvin's Blog【程式人生】

Ability will never catch up with the demand for it

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 …
02 Mar 2021

The Racket Guide阅读笔记【四】

The Racket Guide阅读笔记,chapter 5, 6. 5 Programmer-Defined Datatypes 5.1 Simple Structure Types: struct struct可以用来创建自定义的类型。语法如下: (struct …
01 Mar 2021

Racket文档阅读笔记:SQL篇

SQL: A Structured Notation for SQL Statements (require sql)需要安装sql包。 sql模块以s表达式的方式来式SQL的一个子集。它可以生成直接在db模块中可以用的语句。除此之外还提供宏和函数用以创建并操控SQL的AST。 …
28 Feb 2021

Racket文档阅读笔记:DB篇

文档所在DB: Database Connectivity。 以SQLite为例,理解Racket对DB的支持。 连接 racket支持几种不同的数据库,SQLite就是其中之一。有些数据库连接是通过连线的方式,有些数据库是通过FFI操作的。SQLite属于后者,需要通 …