推荐一个LISP的开发工具

简介:
也许大家对LISP这个历史悠久的语言会很陌生,但是这个诞生于上个世纪中叶的编程语言到现在还是拥有顽强的生命力。MIT的6.001课程还将它作为计算机科学的入门语言。
最近在学习LISP过程中了解了一个很强大的IDE,它的名字叫DrScheme.它是一个图形化的开发工具,用起来也很方便。这里是它的链 接:[url]http://download.plt-scheme.org/drscheme/[/url]。这里有Windows版的也有Linux版的.
安装好后,进入主界面,到工具栏中选择Language-->Choose Language,如下图所示。选择R5RS,the  Revised5 Report on the Algorithmic Language Scheme。
这里仿照一个简单程序,求平方根:
分别先定义square, average函数,求平方根的算法大概如下:
对输入x,
(1)猜测解a=1为;
(2)检查a*a-x是否足够小;假如足够小,就认为a是解;否则让a=(x/a+a)/2,反复循环,以接近其解;
(define (square x)
(* x x))
(define (average x y)
(/ (+ x y) 2))
(define (good-enough guess x)
(< (abs (- (square guess) x)) 0.001))
(define (improve guess x)
(average guess (/ x guess)))
(define (try guess x)
(if (good-enough guess x)
guess
(try (improve guess x) x)))
(define (squareroot x)
(try 1.0 x))
(squareroot 2)
写好程序后,运行Check Syntax,再运行Run即可。
以下是程序的检查中的演示图,有相当有趣的图形化界面:
此外LISP还支持大整数的运算,比如说:
> (* 1234567890 987654321 12345678987654321 )
15053411218366667518106431248473490
而且也支持分数表示等等。
就大概讲到这吧,我也是刚刚开始学LISP.希望有兴趣的朋友一起学习:)

本文转自Intel_ISN 51CTO博客,原文链接:http://blog.51cto.com/intelisn/130724,如需转载请自行联系原作者
相关文章
|
Java PHP 开发工具
编程语言Clojure入门
在众多的编程语言中,不少开发人员熟悉Java、C#、PHP等。但是很早以前,也有一些小众的语言,比如Lisp语言,它是一种适用于符号处理和自动推理的编程语言,内部使用表结构来表达非数值计算。而Clojure语言是在JVM上实现的Lisp风格的语言,语法与Lisp类似,且可以和Java语言进行互操作
1332 0
编程语言Clojure入门
|
4天前
|
自然语言处理 编译器 程序员
计算机基础(5)——编程语言与跨平台
程序设计语言是人们为了描述解题步骤(即编程序)而设计的一种具有语法语义描述的记号。计算机语言的种类非常的多,总的来说可以分成**机器语言,汇编语言,高级语言**三大类。 在计算机角度,每一种CPU类型都有自己可以识别的一套指令集,计算机不管这个程序是用什么语言来编写的,其最终只认CPU能够识别的二进制指令集。
计算机基础(5)——编程语言与跨平台
|
3月前
|
Rust 安全 Java
软件工程师,是时候了解下Rust编程语言了
2024年年初,美国政府发布了一份网络安全报告,呼吁软件开发人员停止使用容易出现内存安全漏洞的编程语言,比如:C和C++,转而使用内存安全的编程语言。这份报告由美国网络空间总监办公室 (ONCD) 发布,旨在落实美国总统拜登的网络安全战略,目标是“保护网络空间的基石”。 内存安全指的是程序在访问内存时,能够避免出现错误和漏洞,比如:缓冲区溢出、野指针等。Java由于其运行时错误检测机制,被认为是一种内存安全的语言。然而,C和C++允许直接操作内存地址,并且缺乏边界检查,容易出现内存安全问题。
86 10
|
7月前
|
Rust 安全 Linux
RUST 编程语言使构建更安全的软件变得更加容易。RUST ALL THE THINGS 需要什么?
RUST 编程语言使构建更安全的软件变得更加容易。RUST ALL THE THINGS 需要什么?
46 2
|
7月前
|
SQL 人工智能 自然语言处理
开发语言漫谈-prolog
这是个完全不一样的语言,很多程序员都没有听说过
|
8月前
|
网络协议 安全 API
使用Visual Basic编程语言实现网络编程
【4月更文挑战第27天】本文介绍了使用Visual Basic进行网络编程的基础、技术与最佳实践。内容涵盖网络编程基础,如TCP/IP、HTTP协议和Socket编程;使用WebClient类进行简单网络访问;通过WebRequest和WebResponse处理复杂HTTP交互;利用Socket类进行低级别网络操作;实现异步网络通信以保持UI响应;强调安全性和高级网络主题,如RESTful API和WCF。最后讨论了性能优化与故障排除,指出网络编程在Visual Basic中的重要性及未来发展。
96 1
|
8月前
|
JSON Rust 编译器
Rust 笔记:开发环境搭建与 rust 工具介绍
Rust 笔记:开发环境搭建与 rust 工具介绍
465 0
|
JSON Rust JavaScript
Rust 笔记开发环境搭建与 rust 工具介绍
本文记叙搭建 Rust 语言安装开发环境,及其相关工具知识的准备。
626 0
|
Rust IDE Java
我该用什么软件开发 Rust | 常用支持 Rust 的编辑器推荐
我该用什么软件开发 Rust | 常用支持 Rust 的编辑器推荐
3932 0
我该用什么软件开发 Rust | 常用支持 Rust 的编辑器推荐
Haskell 开发环境搭建
haskell,一种函数编程语言,既是解释型语言又是编译型语言。 相对Haskell来说,传统的Basic,Pascal,C++,C#,Java,Python等都是命令(imperative)编程语言, 程序语句有一定的执行次序. 函数(functional)编程语言则给出执行的内容, 关注于更高层次的"做什么"而不是"怎么做", 这就是二者最明显的一个区别。函数编程语言的语法功能非
1598 0

相关实验场景

更多