pogotc/phil

PHp 解释型 Lisp

dev-master 2015-06-09 11:03 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:54:35 UTC


README

License Build Status Scrutinizer Code Quality

PHp 解释型 Lisp.

Phil 是一个基于 Clojure 语法松散的 Lisp 方言。

用法

Phil 可以通过运行 bin/phil 或使用 ./phil.phar (即将推出) 来调用。运行此命令将打开一个 REPL,您可以在其中运行简单命令。二进制文件还接受文件路径来运行脚本文件中的代码。

示例代码

与所有 Lisp 方言一样,模式是 (functionname args),因此要运行一个简单的 Hello World 应用,您只需运行

(println "Hello, World")

或者要计算一组数字的总和

(+ 1 2 3 4) ; returns 10

可以使用在 Clojure 中找到的 defn 关键字来声明函数

(defn sayHello (name) (println (+ "Hello, " name)))

(sayHello "Bob") ; returns "Hello, Bob"

递归函数和条件语句也得到了支持,允许编写如下代码

(defn length (xs)
	(if
	    (= 0 (count xs))
	    0
	    (+ 1 (length (rest xs)))
    )
)

(length '(1 2 3 4 5)) ; returns 5