极致之美——百行代码实现全新智能语言Lisp

作者:月影 来源:51js 时间:2010-07-13 13:07:00 

首先要解释一下:


“极致之美”不是说月儿的这篇文章,因为本人还没有自大到这种程度:P,它形容的是Lisp和javascript结合的优美形态。

正如标题所描述的,下文是关于用javascript实现类Lisp语言的技巧,然而重点不在于如何实现一门编程语言,而是在于通过思考和实现过程展示javascript的简洁灵活和Lisp的优美。

或许这里接触Lisp的人不多,因此不少人一定会对以下的内容或形式感到奇怪,如果你完全没有接触过它,不必过分惊讶,Lisp的确与以前你见过得所有编程语言不同,因为,呃,它是Lisp,独一无二的Lisp,一段优雅、简洁、完整、独立的奇妙思想,也许你会觉得它很难懂,但是一旦你懂了,你会喜欢上它的。

好了,下面开始我们的LispScript之旅~


最近在网上偶然看到一篇文章,说javascript = C+Lisp,于是思考这样的问题,既然javascript包含着部分Lisp的血统,那么用javascript来实现一个类似于Lisp的人工智能脚本又会是什么样子?

LISt Processing语系作为一种“函数式”语系,自从诞生之日起便以其简单优美的风格和简洁高效的结构征服了许许多多的研究者和爱好者。

目前这种古老的语言和文法仍然被许许多多的人使用着并热爱着,而且在人工智能等领域发挥着非常巨大的作用。

我认为,javascript的灵活加上Lisp的简洁,应该能够创造出一种非常优美的语言,不过这种语言是什么样子的呢?相信大家也很想知道,那么下面我们一起来研究一下这个非常吸引人的问题。

(在仔细阅读下面的内容之前,建议大家先倒杯热茶,坐下来平静一下自己的心情,深呼吸一下,集中起精神来,因为下面的过程将是有趣而又颇耗脑细胞的...^^)

在进入Lisp王国之前,让我们先来做一些javascrip的准备工作...请仔细阅读下面的代码


以上这段简简单单不过数十行的javascript代码由三个辅助函数、一个主体对象、一个常量NIL(后面我们会知道它表示一个空表或者逻辑false),以及一个存放函数名称的堆栈组成。

标签:Lisp,javascript
0
投稿

猜你喜欢

  • Python和GO语言实现的消息摘要算法示例

    2023-03-27 02:07:05
  • uniapp使用H5调试时跨域问题解决

    2024-05-09 10:37:11
  • 简单了解python反射机制的一些知识

    2022-02-05 15:01:04
  • python中的None与NULL用法说明

    2022-01-01 13:59:15
  • Laravel框架表单验证格式化输出的方法

    2022-05-25 04:49:52
  • NumPy对数组按索引查询实战方法总结

    2021-02-23 06:33:18
  • python实现扫雷游戏的示例

    2023-04-14 12:07:21
  • 使用python绘制温度变化雷达图

    2021-06-23 05:44:02
  • RSS2.0规范中文版

    2008-06-25 13:53:00
  • Python图像处理二值化方法实例汇总

    2021-04-10 21:41:33
  • mysql 忘记root密码

    2010-12-14 14:50:00
  • asp三天学好ADO对象之第二天

    2008-10-09 12:49:00
  • Python代码打开本地.mp4格式文件的方法

    2021-08-27 21:43:04
  • mysql分页原理和高效率的mysql分页查询语句

    2024-01-22 00:07:39
  • 用一条mysql语句插入多条数据

    2024-01-18 16:35:40
  • sqlserver 触发器实例代码

    2012-01-29 18:30:45
  • ASP获取网页内容(解决乱码问题)

    2009-07-26 10:44:00
  • 关于Mysql5.7及8.0版本索引失效情况汇总

    2024-01-21 08:35:35
  • 详解PyQt5 事件处理机制

    2023-04-06 00:09:34
  • mysql5.5与mysq 5.6中禁用innodb引擎的方法

    2024-01-21 13:55:42
  • asp之家 网络编程 m.aspxhome.com