Raymond Mill In Lisp】的更多相关文章

Raymond Mill is suitable for producing minerals powder, which is widely used in the metallurgy, building materials, chemical, and mining industry. It can be used for grinding barite, calcite, potash feldspar, talc, marble, ceramic, glass and some oth…
原文见:http://blog.jobbole.com/79421/ [译注]:Eric Raymond是开源运动的领袖人物,对于UNIX开发有很深的造诣,主持开发了fetchmail.他的<大教堂与集市>被奉为开源运动的经典之作.下面对几大开发语言的评价非常中肯,是我近年来看到的比较出色的评论.特别是他评价中抱有的那种“简单就是好”的思想,很值得我们深思.我特别选译出一些段落,供大家阅读思考. Raymond 此文不是在泛泛地去谈语言的优劣,而是要回答一个问题:在UNIX下开发开源项目,如何…
(译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就没能造起来. 巴别塔不建自毁,与其说上帝的分化将人类的语言复杂化,不如说是人类自身心灵和谐不再的分崩离析.之所以后来有了翻译,不仅是为了加强人类之间的交流,更寄达了一种愿望,希望能以此消除人际的隔阂,获求来自心灵的和谐及慰藉.真正的译者,把握血脉,抚平创痕,通传天籁,开启心门.) 这是我写的旋风式的编程语言简介—我本来为亚马逊开发者杂志本月的期刊…
     大概不少programmer都看过<黑客与画家>,作者用了整整一章的篇幅讨论Lisp的强大.我自然就会手痒痒.      几个月前,几天内攻城略地搞定了Python,用的方法便是用Py重写之前开发的类库,这样就能很快熟悉语法,培养语感.喜上眉梢的我,也尝试将同样的策略用在Lisp上,我开始查看它的语法和函数,比如如何定义类和函数,如何赋值等等.      但我慢慢发现,Lisp几乎都不需要学语法,就是括号和几个基本过程,无非就是lambda, define, let,cons,car…
Ok, Go ahead. 1 (a) (b) (c) (d) 2 注:union 在 Common Lisp 中的作用就是求两个集合的并集.但是这有一个前提,即给的两个列表已经满足集合的属性了.具体的操作过程似乎是对第一个 list 中的每一个元素在第二个 list 中查找,如无则标记一下:待第一个 list 的所有元素在第二个 list 中查完以后将所有标记过的元素放入一个 list 中与第二个 list 进行合并.这意味着,如果刚开始给的两个 list 不完全满足集合的属性,则会有重复出现…
    Lisp语言是第二古老的高级编程语言.许多的黑客和开发者对Lisp推崇备至,Paul Graham甚至说"编程语言现在的发展,不过刚刚赶上1958年Lisp语言的水平".     然而这样先进的语言在现在使用的编程语言从来没有排到前20,听说它的人不少,用的人却非常少.     许多人对Lisp语言的第一印象就是一层层的括号,很老的关于苏联黑客偷到Lisp源码的最后一页全是括号的笑话就不用再说了. 造成Lisp程序如此多括号的原因就是S表达式.所谓S表达式,是指一种以人类可读的…
首先,在对 Lisp 有一丢丢的了解下读这篇文章会大大激发你学下去的欲望.之后可以看作者的著作<ANSI Common Lisp>. 想要体会一下 Lisp 的强大,本文是不二之选. Concept atom list Primitive Operators atom eq car cdr cons cond quote Other defun lambda Type 'a 'b ... "string" 1 2 3 ... () nil 't 就上面这些,作者搞了一个 e…
Handling Automation errors in Visual LISP 翻译自原文Kean's blog:http://through-the-interface.typepad.com/through_the_interface/2006/08/handling_automa.html 自从VLisp被推广,开发者便利用它的能力优势来引用COM自动化接口.这种使LISP平台增加许多新的扩展的功能,就像你能通过召唤ObjectARX 程序来实现定义LISP函数.但是,自动操作LISP…
1. Write a procedure count-list to count the number of elements in a list (defun count-list (numbers) ( (+ (count-list (rest numbers))))) (print (count-list '(1 2 3)))5 6 result: 3 2. Write a procedure reverse-list to reverse each word in a list of w…
第三方软件库: http://download1.rpmfusion.org/free/fedora/releases/25/Everything/x86_64/os/repoview/index.html 原帖http://www.linuxdown.net/install/soft/2016/0303/4903.html 安装vim sudo dnf -y update sudo dnf install vim-enhanced common lisp 原帖:http://www.progr…
1, 在emacs C-x C-W 文件另存为保存所有REPL过程 由于 (load "foo.lisp")时只有定义语句可以正确执行, 执行语句不可正确被 (load "foo.lisp")解析执行 所以脚本写成了这个样子, 脚本名 parse_lisp_code.sh #!/bin/bashif [ -n "$1" ]; then   sed 's/CL-USER>//' $1 | expand -t 8 | egrep '^ *\(d…
(defun rmapcar (fn &rest args) (if (some #'atom args) (apply fn args) (apply #'mapcar #'(lambda (&rest args) (apply #'rmapcar fn args)) args))) 这段代码第一眼看上去,怎么都像无限递归,不断的用&rest对参数做list,然后用mapcar做car,但是这段代码又是确确实实能运行的.仔细分析以后,可以肯定哪个函数的调用对参数多做了一次类似ca…
流水账而已,分享给需要的人. slimv的首页 http://kovisoft.bitbucket.org/tutorial.html里面介绍说slimv开箱即可用,可是老天总会给一些奇怪的问题给你,因为是vim新手,对教程给出的windows配置没有太在意,直接拷贝,修改了路径,但是发现vim无论如何都不能连接到SWANK,每次就是弹出个SBCL的交互环境. 于是仔细看了windows配置的命令行,是给ccl用的,而我这里是想用sbcl(因为这个支援更多),当看到"-l"参数时,猜测…
看到ANSI Common Lisp 第三章的游程编码时,就发现作者很准确的使用了list和cons来生成目标列表,虽然list是由cons扩展而来,区别也仅仅是最后一个元素的加入方式,于是勾起了之前对cons的疑问. 当看到下面的这样的代码: (cons '(a b) '(c d)) 你会觉得输出结果是 ((a b) (c d)) 还是 ((a b) c d) 虽然敲入一下代码,就知道是后者,可是,为什么呢? 仔细看第三章cons的说明,发现cons放在c语言里面,无非就是一个如下的结构 ty…
ANSI Common Lisp 第二章 课后习题 7.只使用本章所介绍的操作符,定义一个函数,它接受一个列表作为实参,如果有一个元素是列表时,就返回真. (defun have-list (lst) (if (null lst) nil (do ((i lst (setf i (cdr i))) (exis nil)) ((null i) exis) (setf exis (and (listp (car i)) (not (null i))))))) 测试如下 当看到(have-list '…
两种出错处理方式:一种是对出错函数进行重定义,一种是对错误进行捕捉处理. ;;=================================================================================================== ;;=================================================================================================== ;;=======…
;;本专题所讲述的内容是人机交互以及常规数据处理技术;;★★★01.人机交互★★★;;△△△键盘输入交互△△△(getint "请输入整数");;从键盘输入整数,如果不是整数则重复提示输入整数直到输入的是整数.类似的函数[输入整数 getreal][输入字符串 getstring][控制和输入关键字 initget getkword] ;;△△△数据输出△△△(princ "The \"allowable\" tolerance is\"&quo…
很久以前,就准备学习Lisp,但是遇到不少困难,社区太凌乱,也一直很犹豫,直到看了<Common Lisp - 想说爱你不容易>,想看看Common Lisp怎么样,之前都是拿Lisp的方言Schemel来练习的.正好有一篇Windows下如何安装使用CLISP的文章<Lisp语言: 在Windows下搭建CLisp环境>,于是在官网下载了一个安装程序 http/SF     (sources and win32),下载win32那个.安装很简单,一路下来即可.打开主界面,马上写几…
1  无意看到"丢弃重口味的xml配置--spring4用groovy配置bean",这篇文章,里面说到spring4开始可以使用Groovy进行配置,可以取代xml方式和注解方式. 为此,我百度百科了下"Groovy和gradle",发现原来啊 groovy也是支持函数式编程的. 函数式编程中最古老的例子莫过于1958年被创造出来的LISP了,透过 LISP,可以用精简的人力.较现代的例子包括Haskell.Clean.Erlang和Miranda等. 2 对Li…
It has been a long time that I haven't dealt with my blog. On one hand I was preparing the exams.On the other hand I just learn more things and take some documents at local PC. As a result, I begin to learn Lisp as planned. 2.10 Variables let ; defin…
我想说说关于common lisp的开发环境问题,学习一个新的语言,如何最简单的搭建一个开发环境是至关重要的,它应该不让你在其他方面花费太多的精力,而只专注于学习语言本身. 其实我刚开始尝试的并不是commonlisp而是clojure,但是搭建开发环境让我有点灰心,可能跟二教这边的网速有关系吧,有个文件总是无法下载...伤心 commonlisp有个很好的wiki叫cliki,里面提供很多诸如开发环境,教程,工具,包等的内容,是一个非常好的资源,在实用commonlisp一书中推荐了一个lis…
说说我自己的背景吧,我是个半吊子的程序员,做任何事情喜欢比较了解然后再尝试,我接触过很多语言,大多数都把它当成工具来使用 我现在的工作大部分主要在于数据挖掘与机器学习方面,也学习web开发,我第一个拿来工作的语言是python,我是从那里得知函数式编程的概念的 说起lisp据说python就是模仿的lisp,而得知这个语言是从黑客与画家这本书中得知的,据说是一个特别值得尝试的语言,由于作者说如果年龄超过25岁,最好不要尝试学习它,我明年就本命年了,看来应该试着尝试一下了 在之前面临招工作的时候曾…
原文:Lisp Style Tips for the Beginner 本篇文章是一篇非正式的摘要,旨在帮助新手写出高效.易读的Lisp代码. 1 赋值   1.1 避免使用eval.赋值是Lisp内置的流程,所以你几乎没有任何理由自己调用它.如果你使用了它,那么请停下来并且重新思考一下你的问题,因为你解决问题的方法一定是错的. 1.2 熟悉宏.它是Lisp的一个重要特性,但是一个实现的很差的宏可以引起很严重的错误,而且对新手来讲很难解决.在你理解Lisp的解释器工作之前避免使用宏.绝不要编写宏…
说明:Visual Lisp属性的获取.赋值和方法的执行有多种形式.然而对于初学者来说一次性就要全部掌握显然是没有必要的,有时候每种方法都是通用的功能都一样我们就没有必要把所有方法都记住.我们只需要掌握常用的通用性最强的即可.这里方法和属性只用下面几种方式,对于方法名和属性名统一用双引号 “” ,且第一个字母大写,避免混乱. 知识点:;;;查看对象的属性和方法(vlax-dump-object obj T) ;;;方法与属性是否适用于某对象(vlax-property-available-p o…
newLISP 10.5.3 修复了一些 bug ,为 KMEANS 集群分析器增加了一些函数. newLISP是一个类似Lisp语言的.用于一般用途的脚本语言.它具有 LISP 语言所有的魔力,但更容易学习和使用. newLISP是友好的,快速和简小的.大部分您需要的功能都将已经内置. 下面是一段示例代码: (command-event (fn (s) (local (request) (if (find "?" s) ; is this a query (begin (set 'r…
Difference between LET and LET* in Common LISP   LET   Parallel binding which means the bindings come to life at the same time and they do not shadow each other. The values are effective inside LET and they are undefined outside LET. Just like local…
L-99: Ninety-Nine Lisp Problems 列表处理类问题的解答,用Scheme实现,首先定义几个在后续解题中用到的公共过程: ; common procedure (define (check-element xs f) (call/cc (lambda (break) (for-each (lambda (x) (if (f x) (break #t))) xs) #f))) (define (foldl f init xs) (define (iter xs acc)…
此教程是我花了一点时间和功夫整理出来的,希望能够帮到喜欢Lisp(Common Lisp)的朋友们.本人排版很烂还望多多海涵! <Lisp简明教程>PDF格式下载 <Lisp简明教程>ODT格式下载 具体的内容我已经编辑好了,想下载的朋友可以用上面的链接.本人水平有限,如有疏漏还望之处(要是有谁帮我排排版就好了)还望指出!资料虽然是我整理的,但都是网友的智慧,如果有人需要转载,请至少保留其中的“鸣谢”页(如果能有我就更好了:-)). Lisp简明教程 整理人:Chaobs 邮箱:c…
这几天开始玩Common Lisp,遇上了一个有意思的问题,CL一般是解释运行,也有实现可以编译生成字节码(fas文件).我正在用的两种CL实现是SBCL和CLISP,前者是我从<实用Common Lisp编程>一书中看来的,CLISP相对于SBCL的特点之一就是CLISP把Lisp编译成字节码文件(这就和Java很类似了,倍感亲切),可是也不能直接编译出机器代码,这让我这个执着于汇编与C语言的感觉非常不爽,想到以前在<Python核心编程>上看到的"sh-bang&qu…
到网站:https://common-lisp.net/project/lispbox/ 下载lispbox 解压下载下来的包,找到Emacs 测试: 我们也可以使用homebrew来安装lisp的解析器 brew install sbcl 安装完毕后使用sbcl启动交互环境 如果用lisp的术语来说,这是一个REPL(read–eval–print loop ).这个环境中就可以尝试Common Lisp编程了 adeMacBook-Pro:sbcl- apple$ sbcl This , a…