Erlang Javascript v.s SquirrelFish
浏览器引擎WebKit小组正在忙一件事,就是升级他们的新JS引擎:SquirrelFish(金鳞鱼)。他们强调从不同的方案中集思广益(包括Lua等),实现更快的JS解析速度。这令我想起另一边厢的引擎: erlyjs,用函数式语言Erlang写的JS引擎,号称“Javascript Flavoured Erlang”,Erlang的特点是非常适合多核,web服务...等..
虽然没有什么量化的测评 ...
by sp42 2008-07-05 浏览 (89) 回复 (6)
scala学习笔记1
最早接触ruby时,从网上找一些资料看,零零碎碎,由于没有实际的使用动力,一直没有深入.有些点也没有理解.后来,工作需要深入学习js.js断断续续使用了两年.对js的了解也由浅入深.特别是接触了scheme,erlang等以后.了解到"披着c外衣的lisp"的含义.回过头来,看ruby,一切忽然开朗.同样的openclass,但多了一等公民的函数.
扯了半天,回到主题.大家多看看fp语言,全当拓 ...
by dogstar 2008-04-14 浏览 (498) 回复 (0)
scheme解决约瑟夫环问题
看了javaeye上一个解决约瑟夫环的问题的帖子,就想能不能用scheme来解决。如果采用推导出的数学公式来处理当然很简单了:
(define (joseph n m)
(define (joseph-iter init s)
(if (> init n)
(+ s 1)
(joseph- ...
by dennis_zane 2008-03-20 浏览 (542) 回复 (3)
约瑟夫环问题
约瑟夫环问题
约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓 ...
by chenchuxin 2008-03-18 浏览 (522) 回复 (2)
因为你是男人 - 崔晓柏
因为你是男人
当母亲带着疲惫的微笑将你捧给世界,你已经是一座高山,是一片大海了。性别交给你一副重担,指给你一条路,对你说:走吧,你这男子汉!于是你便要长一副铮铮铁骨,把脚下坚实的土地踏得咚咚作响,去完成你的使命、你的光荣、你的答卷。
当洪水涌来的时候,你要退在最后;当大火燃烧的时候,你却要扑在前边。因为你是男人,你就应该有一副侠肝义胆!
当朋 ...
by justjavac 2008-03-12 浏览 (1086) 回复 (0)
Emacs Lisp中的hash table
(defun zj-hash-test () "hash table 测试" (interactive) (let (myhash val) ;; 创建hash table并告诉elips用equal来测试key是否存在 (setq myhash (make-hash-t ...
by Jamsa 2008-03-10 浏览 (215) 回复 (0)
Emacs Lisp与Shell的交互
一直以来对于w3m、tramp、dired等与shell关系密切的mode不是很了解,没有仔细读过代码。但总觉得应该是调用shell命令,再将shell命令的输出重定向到emacs中进行处理。今天在网上看到了相关的方法:调用shell命令(defun zj-open-directory-with-explorer ()
"在windows中用explorer浏览当前目录" ...
by Jamsa 2008-03-10 浏览 (212) 回复 (0)
Lua 的协同和 Scheme 的延续
我记得某期《程序员》在介绍 Lua 时说“Lua 的协同程序类似 Scheme 的延续,只是自由度更高。”。我认为这样的说法是欠妥的,因为事实上协同的能力比延续要弱。
首先来看下延续。理论上,延续是这样一种编程风格:对于每个函数,增加最后一个延续参数,所有的函数都不返回值,而把返回值作为参数传给延续参数。这样一来,建立延续标记的函数(如 call/cc)就可以获取调用路径中任何一个标记,并把它绑 ...
by lichray 2008-02-01 浏览 (345) 回复 (4)
递归下降语法分析详解
引用本文以 lichray 设计的 S-dict(t) 配置文件解析器为例,简单介绍了词法分析器的原理,详细讲述了递归下降语法分析器手工构造方法。因为该项目本身已经完成,故此本文拥有一个实际可用的例子,是不可多得的入门教程。
引用T1 大人说过,技术的迅速贬值是十分残酷的,比如大部分的手工优化代码,早已被编译器们代劳。这篇文章中要说的递归下降语法分析方法也是严重贬值了的技术之一。不过我认为,在享受 ...
by Lich_Ray 2008-01-12 浏览 (2773) 回复 (7)
形式化系统——数学或逻辑能力的局限?
做否证是个“缺德”的事,有点那么“一将功成万骨枯”的韵味,也有点那么“舍我其谁,颐指气使”的嚣张劲。做“否证”,砸了一个行当,肥了一己之私。哥德尔,算不上空前绝后,但就影响,堪称深远。或许几千 ...
by SilenceCliff 2007-12-29 浏览 (495) 回复 (5)
Intel NDA 协议
我最近正在作一个面向底层的开发工作,具体上说,是围绕内存制造与测试的工作。
这个项目就是为很多内存制造商提供测试方案,用于快速的检测内存模组的测试。
应对众多厂家的要求,我需要在软件的界面上显示测试的环境信息,这包括 CPU 速度和
cache 信息,SDRAM 的速率,通道模式,时序信息。时序信息包括了 CL,tRCD,tRP,tRAS。
当然还包括内存测试方案的信息,和测试状态信息 ...
by wickyl 2007-12-17 浏览 (528) 回复 (0)
在Drscheme使用stream的问题
这几天的sicp第三章快结束了,可是stream这边,我始终无法在drscheme中使用,因此在google大神的帮助下,找到了解决方法;
原文在这里:
http://schemewiki.org/view/Cookbook/MiscSICP
要在drscheme中使用stream,必须在代码中加入下面这部分:
(require (lib "defmacro.ss"))
; cons-s ...
by simohayha 2007-10-12 浏览 (735) 回复 (0)
KISS
打开Word已经许久,本想写篇过了保险代理人考试,公司人事变动方面感怀的文字。但那种情绪与思绪是那么难以捕捉与整理,面对屏幕良久,作罢。
上午从总部拿回最新这期的《程序员》。信手翻翻——就像数钞票那样,再看了看目录,SaaS就跟$一样充斥在各个角 ...
by SilenceCliff 2007-10-09 浏览 (928) 回复 (2)
消息传递:从风格到机制
引用这是最终确定的 JavaScript 基于消息传递编程风格的文章“OOP 诡异教程(上)”的下篇,它的 Python 改写版本就是 尝试用Python实现消息传递编程风格。原文地址:(豆瓣:http://www.douban.com/group/topic/1669427/ 博客:http://let-in.blogspot.com/2007/06/oop.html)。原来的想法是以风格开头, ...
by Lich_Ray 2007-08-18 浏览 (5351) 回复 (9)
Scala 用函数式编程的方法调用db4o
db4o 是一个开源的纯面向对象数据库,同时支持Java和dotNet。使用db4o可以用更加面向对象的方式存储数据,比JPA等通过ORM来协调数据库和对象之间的方案来的更为自然。
那么用函数式编程的眼光来看,应该如何使用db4o这样的库呢?首先我们来看一个db4o的包装类
xml 代码
package plan.util;
...
by fakechris 2007-08-10 浏览 (1153) 回复 (0)
读《ACM演讲集》有感
引用上个学期末学校开展“读书月”活动,然后我冒“天下”之大不讳写了这篇文章,现转发在此。
最近我在读一本似乎和编程没太大关系的计算机书籍,叫《ACM图灵奖演讲集 - 前20年》(以下简称《ACM演讲集》)。这本书收录了1966-1985年这20年间图灵奖获奖者们的演讲。相对于计算机的普及速度,文章已经很古老了,中文版出版也很久了,但并不像那些纷扰而嘈杂的电脑书刊那样稍纵即逝。普通的电脑书,充斥 ...
by Lich_Ray 2007-08-09 浏览 (8226) 回复 (23)
在scala里调用Hibernate JPA
虽然scala里也能直接使用hibernate逆向工程生成的entity文件,但是使用scala可以大大减少代码量。
pojo在java中的定义如下
java 代码
@Entity
@Table(name = "mytable", catalog = "my ...
by fakechris 2007-08-02 浏览 (1554) 回复 (1)
scala学习笔记(5) -- implicit type
scala的implicit def是一个非常重要而且容易被人忽视的特性,通过它能够模拟很多haskell/sml类型系统特有的能力。
考虑如下的接口
scala 代码
trait Filter[a] {
def filter(input:a)(f: a=>B ...
by fakechris 2007-07-31 浏览 (929) 回复 (0)
scala学习笔记(4) -- xml
scala的特色之一就是内置了对xml语法的支持,通过scala强大的语法加上
xml native支持
例子xml文件
<body>
<title>hellotitle>
<summary>hello worldsummary> ...
by fakechris 2007-07-30 浏览 (919) 回复 (1)
scala学习笔记(3) -- for comprehension
scala并不支持一般的for循环,取而代之的是for comprehesion。scala通过丰富
的for comprehesion特性支持各种循环结构。
要使一个类支持for comprehesion很简单,不需要继承任何trait,相应的实现
map, filter, flatMap, foreach四个方法中的一个或多个即可。下面针对每种
语法解释一下。
scala 伪代码 ...
by fakechris 2007-07-30 浏览 (1069) 回复 (4)
scala学习笔记(2) -- Option Class
Scala的Option class借鉴了sml里的option type。在sml里定义如下
Standard ML 代码
datatype 'a option = NONE | SOME of 'a;
相对应的,scala里是这么定义 ...
by fakechris 2007-07-30 浏览 (715) 回复 (0)
scala学习笔记(1)
由于有SML的底子,学习scala的过程也比较顺利。scala很多概念和sml是共通的,在这里记录一下学习中的一点心得。
scala是纯OO的语言,语言中所有的元素都是对象。数字是对象,函数也是对象。scala里所有对象的基类是Any,AnyVal是所有值类型对象的父类,包装了JVM中的值对象(int, boolean, float...),AnyRef是所有其他对象的父 ...
by fakechris 2007-07-26 浏览 (2309) 回复 (7)
functional.js 介绍及源码分析
引用本文对刚刚在网络上现身的 JavaScript 函数式编程库 functional.js 进行详尽的解读(地址已更正,感谢 hax)。
functional.js 是模仿 Haskell 语言标准库 Prelude 制作的函数式编程库,主要实现了:
扩展的克里化函数
运算符函数化
紧缩的匿名函数语法
无须指定参数的匿名函数语法
函数向导语法
基本的通用列表操作
部分扩展基于对 ...
by Lich_Ray 2007-07-26 浏览 (8005) 回复 (8)
javascript中的FP
http://osteele.com/archives/2007/07/functional-javascript
Higher-order functions
Predicates
Combinators
lambdas
Duck-Typing
好玩!
by radar 2007-07-25 浏览 (1179) 回复 (1)
Programming in Emacs Lisp笔记(十八) 终结
笔记连载完毕。感谢大家的支持!
离线版本可以从这里下载。
by Jamsa 2007-07-20 浏览 (1171) 回复 (0)
Programming in Emacs Lisp笔记(十七) 调试
调试
GNU Emacs中有两个高度器,debug和edebug。第一个是Emacs内建的可以随时使用它;第二个需要借助一些函数才能使用。
debug
假设你编写了用于加1的函数。但函数有个bug。你误将1-输入为1=了。函数定义如下:
(defun triangle-bugged (number) "Return sum of numbers 1 through NUMB ...
by Jamsa 2007-07-20 浏览 (1086) 回复 (0)
Programming in Emacs Lisp笔记(十六).emacs文件
.emacs文件
Emacs的缺省配置
Emacs缺省配置的优点。Emacs在你编辑C文件时将启动C mod,编写Fortan源文件时启动Fortran mode,编写未知文件时使用Fundamental mod。这些都是自动检测的,不需要干预。
可以通过~/.emacs对Emacs进行定制。这是你个人的初始化文件;它的内容是Emacs Lisp代码。
全局初始化文件
除了个人初始 ...
by Jamsa 2007-07-20 浏览 (1240) 回复 (0)
Programming in Emacs Lisp笔记(十五)准备图表
准备图表
我们的目标是构造一个图表显示Emacs lisp源码中所有函数定义的长度范围。
在实际应用中,如果你要创建一个图表,你可能会使用gnuplot之类的程序来完成这个工作。(gnuplot与GNU Emacs集成得很好。)但在这里,我们将使用前面我们所学的知识来完成这个工作。
在这章,我们将先编写一个简单的图表打印函数。第一个版本将作为原型,在此基础上来增强。
打印图表列
由于 ...
by Jamsa 2007-07-19 浏览 (848) 回复 (0)

