Racket Lisp语言的分支

程序名称:Racket

授权协议: LGPL

操作系统: Linux

开发语言: Lisp

Racket 介绍

Racket源自著名的专家型语言PLT
Scheme
,同时又是Lisp语言的一个分支。它适用于从脚本Script到应用程序开发的任务执行工具,包括图形用户界面,Web服务器等。支持编译器的虚拟机,创建独立的可执行程序的工具,Racket
Web服务器,具有丰富而全面的功能库,适用于初学者和专家编程。

Racket可通过创建大量的语法系统来支持和创建新的编程语言,包括Typed Scheme,ACL2, FrTime, Lazy
Scheme和ProfessorJ等 。作为编程语言的通用测试平台,Racket软件包主要工具包括:

  • racket——系统核心部分,主要包括编译器、解释器和运行库程序;

  • DrRacket——原为DrScheme,是一个基于Racket的开源、跨平台系统的IDE集成编程环境,更加适用于初学者的GUI图形化用户编程界面;

  • raco——基于字符界面的命令行执行工具,用于执行Racket命令集,如安装系统组件功能包,创建函数库等。

Racket的特点是具有全面而丰富的库,可用于实现xml, web-server, web-framework, multiple-threads,
pattern match, latex, slides, posix, GUI等,其实用性不比Common
Lisp差。另外其与众不同的特点在于macro和continuation,并引入了syntax object和compilable macro的概念。

具体说来,LISP有以下几个主要特点:

1.计算用的是符号表达式而不是数;

2.具有表处理能力,即用链表形式表示所有的数据;

3.控制结构基于函数的复合,以形成更复杂的函数;

4.用递归作为描述问题和过程的方法;

5.用LISP语言书写的EVAL函数既可作为LISP语言的解释程序,又可以作为语言本身的形式定义;

6.程序本身也同所有其他数据一样用表结构形式表示。

已经证明:LISP的这些特点是解决人工智能核心问题的关键。它和后来由英国伦敦大学的青年学生柯瓦提出、由法国马赛大学的考尔麦劳厄(Alain
Colmerauer)所领导的研究小组于1973年首先实现的逻辑式语言PROLOG并称为人工智能的两大语言,对人工智能的发展起了十分深远的影响。

Racket 官网

http://racket-lang.org/

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。