首页
学习
活动
专区
工具
TVP
发布

Lisp的本质(The Nature of Lisp)学习思考

我试着学了一下Lisp, 结果马上就撞了墙。我被那些范例代码吓坏了。我想很多初次接触Lisp语言的人, 一定也有过类似的感受。Lisp的语法太次了。...比如说: Lisp的括号只是表面现象; Lisp的代码和数据的表达方式没有差别, 而且比XML语法高明许多, 所以有无穷的好处; Lisp有强大无比的元语言能力, 程序员可以写出自我维护的代码; Lisp...你好, Lisp 到此刻为止, 我们所知的关于Lisp的指示可以总结为一句话: Lisp是一个可执行的语法更优美的XML, 但我们还没有说Lisp是怎样做到这一点的, 现在开始补上这个话题。...尽管在电脑科学领域, Lisp已经算是一门古老的语言, 直到现在仍然很少有人真的明白该怎样给初学者讲授Lisp。尽管Lisp老手们尽了很大努力,今天新手学习Lisp仍然是困难重重。...好在现在事情正在发生变化, Lisp的资源正在迅速增加, 随着时间推移, Lisp将会越来越受关注。Lisp使人超越平庸, 走到前沿。

1.6K60

Emacs Lisp

前言 Lisp 是一门很古老的语言 LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 的一个分支 Emacs Lisp...,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的,它受到Maclisp的影响很大,但是跟Common...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...;; 进入lisp-interaction-mode的方法: 把光标移动到辅助输入区,键入M-x lisp-interaction-mode ;; 然后回车。

2.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

Emacs Lisp

前言Lisp 是一门很古老的语言LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKIEmacs LispLisp 的一个分支Emacs Lisp...,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的,它受到Maclisp的影响很大,但是跟Common...Lisp与Scheme有所不同最近我迷上了 Emacs所以顺藤摸瓜,竟然搭进去了一门语言万万没想到,为了了解一个编辑器,竟然搭进去了一门语言好在这门语言结构比较简单清晰以致于可以用 15 分钟入个门Tip...: 这一篇纯属于摘抄,不是原创,只是好东西忍不住拿出来分享,如果原作者有意见,可以随时联系我,下线此文章,我完全尊重原作者的意见原文,请参考 Emacs Lisp 15 分钟入门

57140

走进 racket(lisp) 的世界

racket是一个lisp [1] 家族的语言,祖上是common lisp [2] 对立的阵营scheme [3],起初为教学的目的而创立。...像lisp这样能够编写macro的语言,如果无法调试macro,简直就是一场灾难,当时玩clojure进行不下去也是稍微复杂一点的macro总写不对有关(我的功力实在有限),但DrRacket的 "Macro...racket的其它优点,都或多或少跟lisp有关,这个我觉得自己不必多讲。...如果你看过「黑客与画家」,就知道Paul Graham近乎偏执地把一切溢美之词都给了lisp,说它是最有表现力的语言,说lisp是自己公司成功的"secret weapon"。...对于lisp的优点,比如说一切皆为表达式,一切表达式皆可计算为一个值或一个list,语言可以在任何时候(读取,编译,执行)可用等等,可以看阮一峰的博文「为什么Lisp语言如此先进」[5],这里就不赘述。

2.4K30

Emacs Lisp

前言 Lisp 是一门很古老的语言 LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 的一个分支 Emacs Lisp...,一种直译式的脚本语言,为LISP的方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言来扩展它们的功能,它的直译器是以C语言来实作的,它受到Maclisp的影响很大,但是跟Common...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...;; 进入lisp-interaction-mode的方法: 把光标移动到辅助输入区,键入M-x lisp-interaction-mode ;; 然后回车。

2.1K30

Clojure与LispClojure与Lisp

Clojure与Lisp "Lisp 不是一门语言,它是一种构建素材。"...(格林斯潘第十定律(Greenspun's Tenth Rule)) Clojure是一门Lisp方言(Lisp dialect)....自1960代末年至1980年初年,各种更新LISP版本涌现,有源自加利福尼亚大学伯克利分校的Franz Lisp、在AutoCAD运行的AutoLISP前身XLISP、犹他大学开展的Standard Lisp...Lisp语言就好比是快速排序(Quicksort)算法,这种算法是1960年提出的,至今仍然是最快的通用排序方法。 Lisp的思想 Lisp语言诞生的时候,就包含了9种新思想。...Lisp的宏 Lisp语言刚出现的时候,它的思想与其他编程语言大相径庭。后者的设计思想主要由50年代后期的硬件决定。随着时间流逝,流行的编程语言不断更新换代,语言设计思想逐渐向Lisp靠拢。

1.7K30

Emacs Lisp2

see the file named COPYING.wilmos@Nothing:~$ 代码直接上代码跟着代码边学边做;; This gives an introduction to Emacs Lisp...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...;; 进入lisp-interaction-mode的方法: 把光标移动到辅助输入区,键入M-x lisp-interaction-mode ;; 然后回车。...== 表达式,变量和函数 ==;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 冒号在Lisp中表示注释...真的很简洁优雅只是括号看起来有点怪它提供了编程的另一种思维方式很值得花时间了解一下----原文地址http://soft.dog/2018/07/23/emacs-lisp/

91840

为什么Lisp语言如此先进?(译文)

你会发现,排在越后面的语言,越像Lisp。 Python模仿Lisp,甚至把许多Lisp黑客认为属于设计错误的功能,也一起模仿了。...直到今天,最高级的主流语言,也只是刚刚接近Lisp的水平。虽然已经很接近了,但还是没有Lisp那样强大。 四、 Lisp语言诞生的时候,就包含了9种新思想。...在读取期运行代码,使得用户可以重新调整(reprogram)Lisp的语法;在编译期运行代码,则是Lisp宏的工作基础;在运行期编译代码,使得Lisp可以在Emacs这样的程序中,充当扩展语言(extension...就我所知,宏(采用Lisp语言的定义)目前仍然是Lisp独有的。一个原因是为了使用宏,你大概不得不让你的语言看上去像Lisp一样古怪。...如果使用Lisp语言,能让程序变得多短?以Lisp和C的比较为例,我听到的大多数说法是C代码的长度是Lisp的7倍到10倍。

1.1K60

Lisp语言简介_c++是什么语言

大家好,又见面了,我是你们的朋友全栈君 摘自维基百科,原链接为:http://zh.wikipedia.org/zh/LISP 因为Clojure是Lisp的一种的方言,所以我们可以先来了解一下Lisp...LISP有很多种方言,各个实现中的语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...在Unix/Linux系统中,还有一种和Emacs一起的Emacs Lisp(而Emacs正是用Lisp作为扩展语言进行功能扩展的)非常流行,并建立了自己的标准。...LISP语言的主要现代版本包括Common Lisp和Scheme。 基本介绍 LISP 是第一個函數型程式語言,区别于C/Java等命令型编程语言。...由于历史的原因,Lisp长期以来被认为主要用于AI领域,但Lisp并不是为AI而设计,而是一种通用的编程语言.

2.1K20

Lisp学习--Windows下面的开发环境搭建

很久以前,就准备学习Lisp,但是遇到不少困难,社区太凌乱,也一直很犹豫,直到看了《Common Lisp - 想说爱你不容易》,想看看Common Lisp怎么样,之前都是拿Lisp的方言Schemel...正好有一篇Windows下如何安装使用CLISP的文章《Lisp语言: 在Windows下搭建CLisp环境》,于是在官网下载了一个安装程序 http/SF     (sources and win32...现在,可以开始Common Lisp的学习之旅了,比如写第一个函数: ? 全选文字,右键菜单,发送到Lisp执行,就得到了结果4,很方便。 有了这个,大家还觉得学习Lisp很复杂么?...参考: 推荐另外一种Lisp环境 AllegroCL ,它有图形化的编程环境,可以开发窗体应用程序,请参考文章 Windows环境下学习Lisp和Scheme的两大利器 (http://seagate.iteye.com

2.8K60

如何用Python编写一个Lisp解释器

(有人开玩笑说 Lisp 就是“大量把人搞疯的括号”;而我认为 Lisp 象征着语法的纯粹性。)...而研究生伙伴 Tony DeRose 也有同样的需求,于是他们一起勾勒出了一个简单的 Lisp 程序,可用作预处理器。...然而,他们当时造出的 Lisp 虽然善于读取 Lisp 表达式,但读取非 Lisp 表达式时,慢得令人发指。 于是,作者和 Tony 分道扬镳了。...Tony 认为最难的部分是表达式的解释器;需要的是 Lisp,他知道如何编写 C 程序来处理非 Lisp 字符,并将其链接到 Lisp 程序。...有趣的是,Tony 用 C 写了个 Lisp 程序,因为他是个 C 程序员。而我写了个 C 程序,因为我是个 Lisp 程序员。 最后,他们都把工作搞定了。

1.3K40
领券