首页
Loop in Codes
取消

使用Lisp搭建独立博客

本文描述如何使用Lisp工具集搭建一个完整的个人博客站点。一个搭建好的例子站点可以参看我的个人博客:http://codemacro.com。 要搭建一个独立博客,需要两方面的支持。一是博客软件,二是根据选择的博客软件取得必须的“硬件“。例如我这里使用的是Lisp工具集,就需要一个可以完全控制的服务器,所以这里我需要一个VPS。当然,购买一个合适的域名也是必须的。以下将针对这些内容做描述。...

传递Lua函数到C/C++中

问题 在Lua中,因为函数也是第一类值,所以会出现将函数作为另一个函数的参数,或者函数作 为函数的返回值。这种机制在很多地方都能代码更灵活更简洁,例如: table.sort(table [,comp]) 这里的comp就要求传入一个函数,我们在调用时,大概会有如下形式: table.sort(t, comp) -- 直接写函数名 table.sort(t, ...

MMO游戏对象属性设计

一般的MMORPG中,游戏对象主要包括怪物和玩家。这两类对象在经过游戏性方面的不断“进化”后,其属性数量及与之相关的逻辑往往会变得很巨大。如何将这一块做得既不损失效率,又能保证结构的灵活、清晰、可维护?本文将提供一种简单的结构。 原始结构 最原始的结构,极有可能为这样: Player: +---------------+ | property-1 ...

多重继承和void*的糗事

C++为了兼容C,导致了不少语言阴暗面。Bjarne Stroustrup在<D&E>一书里也常为此表现出无奈。另一方面,强制转换也是C++的一大诟病。但是,因为我们的应用环境总是那么“不 纯”,所以也就常常导致各种问题。 本文即描述了一个关于强制转换带来的问题。这个问题几年前我曾遇到过(<多线程下vc2003,vc2005对虚函数表处理的BUG?>),当时...

浅谈代码分层:构建模块化程序

模块化的程序是怎样的程序?我们可以说一个具有明显物理结构的软件是模块化的,例如带 插件的软件,一个完整的软件由若干运行时库共同构建;也可以说一个高度面向对象的库是 模块化的,例如图形引擎OGRE;也可以说一些具有明显层次结构的代码是模块化的。 模块化的软件具有很多显而易见的好处。在开发期,一个模块化的设计有利于程序员实现, 使其在实现过程中一直保持清晰的思路,减少潜伏的BUG;而在维护期,...

Lisp实践:开发RSS阅读器

一、RSS阅读器的实现 RSS Reader的实现并不像它看上去那么复杂。当初在决定写这个作为Lisp练习时,甚至觉得 没有多少内容可做。其简单程度甚至用不了你启动一个慢速IDE的时间:D。对Lisp无兴趣的 TX只需要读完这一节即可, 什么是RSS阅读器? RSS在实现上,可以说是XML的又一次扩张式的应用。因为RSS最重要的东西就是一个XML文件 。RSS主要用于Web中的内容同...

Lisp一瞥:增强型变量Symbol

变量,是所有编程语言里都有的语法概念。在C/C++中,变量用于标示一个内存地址,而变 量名则在语法层面上代表这个地址。当链接器最终链接我们的程序时,就将这些名字替换 为实际的地址。在其他语言中,变量虽然或多或少有其他不同的含义,但也大致如此。 Lisp中的变量也差不多这样,但若将variable和Lisp中的 symbol 放在一起,则多少会 带来些困惑。 Lisp中的“变量” 很多教...

用lisp开发博客客户端

最近一直在学习Lisp这门语言。回头一看,基本上接近1个月了。刚开始接触Lisp是因为看 了<Lisp本质>,然后我发现有很多人宗教般地忠诚这门语言,于是就来了兴趣。 当然并不是每次因为某篇写得很geek技术文章就去学习某个新的技术点。一个月时间对我来 说还是很珍贵了。但是Lisp绝对是大部分程序员都值得一学的语言(就像Haskell一样)。 我能给出的简单理由包括: ...