`
seagate
  • 浏览: 38354 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

轻盈的蜻蜓--newLISP!

 
阅读更多

2011年11月23日,Lisp语言的发明人,人工智能的创始人,John McCarthy 与世长辞。在这里,作为LISP语言的fans,表示哀悼。


虽然很多人认为,Lisp语言只适用于AI的研发中,但实质上,他是一门通用的开发语言。由于某些原因,Lisp并不像另外一些通用语言那么流行。其中,没有合适的实现版本和开发环境,是一个重要的因素。上一篇博文中,推荐了AllegroCL和Racket,现在另一款更加小巧的LISP语言开发环境,newLISP来了。


CODE LIKE YOU THINK

首先介绍下优点。newLISP是开源软件,3大平台Linux,Mac,Windows全部支持。其次,体积小巧,执行程序大小才200多k。最后,完善的文档尤其令人称赞, 教程和手册一应俱全, 在开源软件中很难得。

newLISP可以以可执行程序的形式发布写好的软件,体积同样小巧轻盈,与SBCL核心压缩后仍然有6M相比,真是恐龙与蜻蜓的差别。


newLISP语法简洁,函数数量不超过200个,少而精,如果是Lisp语言的初学者,newLisp是更好的选择。

 

newLISP自身带了一个IDE环境,使用的是java做UI,因此需要安装java运行环境。(吐槽一下,这个IDE环境该有的功能都有了,但是仍然太简单)。如不喜欢java,也可以换成GTK。


newLISP的特性如下:

  • 体积小巧
  • 支持各种常用的数据结构
  • 支持网络编程
  • 自身就是一个HTTP Server
  • 支持面向对象
  • GUI
  • 很容易调用C语言开发的各种函数库
  • 作为脚本语言,或嵌入到其他语言中


点击这里 ,访问newLISP的官方网站。

点击这里 ,查看国外网友热情洋溢的推荐文章

  • 大小: 4.8 KB
分享到:
评论
2 楼 seagate 2012-09-18  
好吧,看起来他不支持big number
1 楼 sw2wolf 2012-09-18  
newlisp连fac(30)都算不出?!
>((define (fac n) (if (= n 1) 1 (* n (fac (- n 1)))))
>(fac 30)
-8764578968847253504

ECL中
>(defun fac (n) (if (= n 1) 1 (* n (fac (- n 1)))))
>(fac 100)
933262154439441526816992388562667004907159682643816214685929638952175999932      
299156089414639761565182862536979208272237582511852109168640000000000000000
00000000

相关推荐

    newlisp-labs:newLISP编程

    newlisp实验室newlisp-labs是一组示例代码,其主要目的是试验和测试newLISP # ubuntusudo apt-get install libreadline-dev libffi-dev libevent-devsudo ln -s /usr/lib/x86_64-linux-gnu/libsqlite3.so /usr/local...

    monitor_newlisp

    MONITOR_NEWLISP 动机 需要一组 newlisp 脚本来监控不占用大量资源的 Linux 系统。 这包括: bb-base:newlisp 中的 xymon 基础脚本集。 bb-mysql:newlisp 中的 xymon mysql 监控脚本集。 bb-wx:Newlisp 脚本...

    newlisp-matrix-client:newlisp 中的 matrix.org 客户端,作为编写机器人的基础

    newlisp-矩阵-客户端这是一个用于化持久通信的客户端库,主要用作机器人的基础。地位该项目处于早期开发阶段。 这是我的第一个 newlisp 项目,所以风格有时可能会改变。 一些代码是实验性的。示例用法 (load "matrix...

    define-ext:用于newLISP的基于插件的外码嵌入器-开源

    ====一个newLISP-www.newlisp.org-宏,它使用户可以内联“定义”可调用的外部代码,就像他们“定义” lambda或宏一样。 C,包括汇编语言和普通对象代码插件。 对象代码插件没有外部依赖关系。 C和Assembly插件依赖...

    newlisp.snippet:新的LISP附件模块

    关于一个类似于LISP的脚本语言“ newLISP”的小模块。它只是为个人使用而编写的,因此不是很有条理。使用共享库的用户可能无法在64位版本上运行(例如zlib.lsp)其他用于编辑Emacs的类型确定库 --iconv库* ck解释器...

    newlisp中文教程

    newlisp中文教程,作为lisp的后起之秀,newlisp有些理念比较有价值,值得学习,所以分享下,希望对大家有用

    newLISP-开源

    适用于BSD,LINUX,MacOS X,SunOS和Win32的newLISP:小型,快速的350+功能,-C-,MySQL,PostgreSQL,SQLite,ODBC,TCP / IP,UDP,XML,Java接口,字符串处理,正则表达式,数学,财务,统计功能,Win32 DLL

    用newlisp通过C++动态库访问MongoDB

    我想让我的newlisp程序访问MongoDB. 现在已经有MongoDB C driver,但是我没有时间去学习,只想尽快的完成工作。下面是我的方法,用C++创建一个动态库,这个动态库引用了MongoDB C++ driver. 但是会用extern "C" 导出...

    EMSE-DeepCom:EMSE-DeepCom的数据集

    EMSE-DeepCom EMSE-DeepCom的源代码和数据集 模型训练 命令: python3 __main__.py config.yaml --train -v 从Github提取的项目 项目信息列在文件projects.txt中。... Java方法和类在项目中的分布 ...

    app-meldingsplichtige-api:自动提交API的测试堆栈

    Meldingsplichtige API 自动提交API的测试堆栈。 该堆栈将在不久的将来集成到中。运行应用程序docker-compose up堆栈是从开始构建的。清理数据库有时您可能需要清理数据库并确保其处于原始状态。...

    ShortNotizer-开源

    要在浏览器中快速记录笔记,请使用电子名片盒系统,数据库以及有关主题和时间的报告。 纯净而简单。 使用newLISP作为本地主机。

    radare2-bindings:Valabind和朋友的r2 API绑定

    它支持多种编程语言: PythonJavaScript Java走RubyPerla 瓦拉NewLisp 诡计OCaml 其他一些实验性绑定用于: 吉尔C ++ C# 该软件包还包含vdoc /子目录,该子目录包含用于生成所有的规则。依存关系要从存储库构建...

    aardio帮助文档

    因为 aardio奇特的语言特性,aardio的胶水能力极强,在aardio中可以非常方便的调用C语言、C++、C#、Java、Python、Javascript、Node.Js、Flash ActionScript、PHP、VBScript、NewLISP、Delphi、Go语言 .........

    aardio工具解压版

    因为 aardio奇特的语言特性,aardio的胶水能力极强,在aardio中可以非常方便的调用C语言、C++、C#、Java、Python、Javascript、Node.Js、Flash ActionScript、PHP、VBScript、NewLISP、Delphi、Go语言 .........

    EmEditor的120多个语法高亮文件(esy)

    newlisp.esy nice.esy nncron.esy nsis.esy opal_20051105.esy pdp11.esy php.esy php4.2.esy php5.esy php5a.esy pic16asm.esy plsql.esy postscript.esy PowerShell.esy PowerShellV2.esy ...

    bdu:Better du-以易于阅读的形式显示文件大小,按大小排序和着色

    百度更好的杜bdu以人类可读的格式显示文件大小,但按大小正确排序(如果有超级猫可用,则按大小)上色。依存关系系统工具 [可选]用法以递增顺序显示当前目录中所有文件的文件大小: bdu 以递增顺序显示当前目录中...

    English-Sentence:电视连续剧《老友记》的抄本

    English-Sentence:电视连续剧《老友记》的抄本

    SICP-Answers:计算机程序的结构和解释

    SICP-答案计算机程序的结构和解释 这个项目包含了我对本书中这些问题的答案。其中一些来自的作品,请参见

    sdb:基于简单和快速字符串的键值数据库,支持数组和json

    SDB(字符串数据库) sdb是基于djb的cdb磁盘... vala,luvit,newlisp和nodejs的绑定 sdb数据库的命令行前端 具有sdb后端的memcache客户端和服务器 数组支持(语法糖) json解析器/获取器(js0n.c) 裂口 基于cdb代码

    getdns-stubby:Stubby的Docker映像

    粗短 Stubby的Docker映像 概述 致谢 Dockerfile改编自仓库可用文件。 版本控制 GitHub标签 该存储库使用[语义版本控制]来跟踪该项目的发布。 此存储库使用“固定” GitHub标记,即,一旦创建,标记将始终指向相同的...

Global site tag (gtag.js) - Google Analytics