lisp
芦笛
这个作者很懒,什么都没留下…
展开
-
common lisp 下载设置入门
起点linux: https://gist.github.com/jteneycke/7947353windows: http://jaist.dl.sourceforge.net/project/lispstick/lispstick.zip第一次尝试: 创建独立的可执行程序lispstick\Steel Bank Common Lisp\1.1.12 .\sbcl.exe –core sbcl原创 2016-05-09 21:06:07 · 2356 阅读 · 0 评论 -
lisp 代码计算月供
;; 等额本息还款debx, 输入总金额A, 年利率y, m个月还清, 计算月供和总利息:;; 例子: (debx 1000000 0.0631 (* 30 12)) ;==>;; 6196.247877564253;; 1230649.235923131(define (debx A y m) (let* [(b (/ y 12)) (b1 (expt (+ 1 b) ...原创 2018-03-25 14:26:42 · 564 阅读 · 0 评论 -
chez scheme for android 移植完成
到今天终于把喜欢的lisp移植到android上,前后花了不少晚上时间。android版本由scheme 命令行可执行程序, 解释器运行时petite.boot, 编译器组件scheme.boot三个文件组成。另外还开发了一个跟chez scheme官方源码无关的加载器:run-native-exe apk: 调用scheme, IO重定向到UI。运行示例:上面的截屏有几个技术点,这里总结下: ...原创 2018-03-18 23:20:04 · 1819 阅读 · 1 评论 -
C++ namespace和scheme library 对比
#include int a = 1;namespace A { int a = 2; namespace B { int a = 3; int fun() { printf("%d %d %d\n", a, A::a, ::a); //3 2 1 } }}int main() { A::B::fun(); using namespace A; //引入A::原创 2018-02-04 23:02:01 · 362 阅读 · 0 评论 -
数学集合的lisp表示
数学上集合的表示:有理数集 和正实数集 则可以分别表示为 和 lisp 表示:(set-of x (x in '(1 2 3))) ;==> (1 2 3)(set-of (cons x y) (x in '(1 2 3)) (y is (* x x))) ;==> ((1 . 1) (2 . 4) (3 . 9原创 2018-01-28 21:34:31 · 332 阅读 · 0 评论 -
用lisp语言操作sqlite3数据库
linux环境下,先下载[1]对sqlite3.so的封装库代码。接口文档参考[2], 例子来自[3]。> (load "sqlite3.sls") ;加载库代码> (import (sqlite3)) ;引入名字空间> (define db (open-database "yy.db")) ;创建或打开数据库> (define stmt (prepare db "CREATE T原创 2018-02-01 22:44:12 · 987 阅读 · 0 评论 -
离散傅里叶变换DFT的推导和lisp实现
lisp 代码:点击打开链接执行例子:> (load "ss/dft.ss")> (dft '(1 1 1 1 1 1 1 1))(8 0 0 0 0 0 0 0)> (idft (dft '(1 1 1 1 1 1 1 1)))(1 1.0 1.0 1.0 1 1.0 1.0 1.0)> (dft '(1 2 3 4 5 6 7 8))(36 -4.0+9.6原创 2018-01-31 23:08:34 · 551 阅读 · 0 评论 -
binary indexed tree
binary indexed tree背景二进制索引树(binary indexed tree [bit])是一种高效计算累积频率的“假想数据结构“,不是通所说的二叉搜索树(binary search tree)。 对一维数组A求累积频率, 常规做法如下。 更新(x, v) := A[x] += v; //O(1) 查询(x) := A[0] + A[1] + … + A[x]; //O(N)原创 2017-01-01 11:16:23 · 429 阅读 · 0 评论 -
common lisp 安装和使用第三方包
就slime 安装有两个做法, 一个通过sbcl load quicklisp, 一个通过emacs M-x list-packages。发现当sbcl卸载后slime不行了,重新又搞了一遍,还是quicklisp好用些。lisp本身要放到环境中才能发挥威力。如果说emacs比vim的优势,就是emacs使用的elisp,更容易扩展。vim 的语法高亮做的太过了,以致于导致文本本身的标原创 2016-05-15 11:42:37 · 3679 阅读 · 0 评论 -
计算机生成的简单英文句子
> (define (sentence) (append (noun-phrase) (verb-phrase)))> (define (noun-phrase) (append (Article) (Noun)))> (define (verb-phrase) (append (Verb) (noun-phrase)))> (define (Article) (on...原创 2018-03-27 22:25:09 · 1119 阅读 · 0 评论