Python 装饰器复习

在前段时间的面试中,我被问了一个很基础的问题:decorator怎么写。然而很遗憾的是我当时确实就是写错了。我想这确实是对装饰器理解有误造成的。

阅读全文

Project Euler 第二题 Haskell 题解

最近看到了Project Euler的问题2,感觉是挺有意思的。然后打算用Haskell做一做。

问题本体如下:

1
2
3
4
5
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

简单来说的话,就是求斐波那契数列四百万以下偶数的和。

阅读全文

git早期版本源码分析2

Initial revision of 'git', the information manager from hell

阅读全文

Babun pact包管理器更换源

介绍一下Babun中更新镜像的配置方式。Babun是一个基于Cygwin的Windows Shell。它里面使用一个基于cyg-apt的软件pact做包管理器。这里记录如何给这个包管理器更换国内的源。

阅读全文

git早期版本源码分析1

假期闲在家里,几乎没有什么事情可做,打算看看一些代码,了解一下他们是怎么实现的。当然首先想到的就是虽然一直在用,但是一直都没有用明白的Git了。

Git的项目位置在这里 。因为水平有限,而且git的用户手册也推荐从第一个版本开始进行,所以我当然很乐意从最早的版本开始了。

Git的第一个版本是Linus Torvalds在两周之内完成的。如果你直接clone了整个项目,你依然能获得Git的第一次提交:

1
git checkout e83c5163316f89bfbde7d9ab23ca2e25604af290

阅读全文

BibTeX简单介绍

这一篇打算介绍一下BibTeX结合LaTeX的使用。选择这个话题是因为恰逢数模美赛期间使用到了这么一个东西,然后在网上找教程的时候,发现大多数教程都一样:存在同一个错误。所以还是觉得有必要说一下的。

阅读全文

chibi-scheme使用

这只是一个小短篇,介绍一下chibi-scheme的使用(在C语言里进行编程)。其中很多都是直接翻译的官方文档原文。

阅读全文

chibi-scheme源码阅读5

这一次打算介绍chibi-scheme中出现其他语义分析函数,以及简单提一下chibi-scheme中的GC技术。

阅读全文

chibi-scheme源码阅读4

有点想一口气把这些东西都做完的意思。继续分析chibi-scheme中的ast类型。这一次是介绍:

阅读全文

chibi-scheme源码阅读3

这篇文章会介绍一下 chibi-scheme 语法分析的其他部分,因为我总觉得这其实是很有趣的部分。

从sexp中可以看到所有的ast类型的定义。可见其中比较复杂的是 lambda类型。这一次打算看一看lambda这个结构体的语法分析,因为其中牵涉到Context类型、我打算整篇博客就介绍这一个部分。

阅读全文