Racket 介绍
Racket源自著名的专家型语言PLT
Scheme,同时又是Lisp语言的一个分支。它适用于从脚本Script到应用程序开发的任务执行工具,包括图形用户界面,Web服务器等。支持编译器的虚拟机,创建独立的可执行程序的工具,Racket
Web服务器,具有丰富而全面的功能库,适用于初学者和专家编程。
Racket可通过创建大量的语法系统来支持和创建新的编程语言,包括Typed Scheme,ACL2, FrTime, Lazy
Scheme和ProfessorJ等 。作为编程语言的通用测试平台,Racket软件包主要工具包括:
-
racket——系统核心部分,主要包括编译器、解释器和运行库程序;
-
DrRacket——原为DrScheme,是一个基于Racket的开源、跨平台系统的IDE集成编程环境,更加适用于初学者的GUI图形化用户编程界面;
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.具有表处理能力,即用链表形式表示所有的数据;
4.用递归作为描述问题和过程的方法;
5.用LISP语言书写的EVAL函数既可作为LISP语言的解释程序,又可以作为语言本身的形式定义;
6.程序本身也同所有其他数据一样用表结构形式表示。
已经证明:LISP的这些特点是解决人工智能核心问题的关键。它和后来由英国伦敦大学的青年学生柯瓦提出、由法国马赛大学的考尔麦劳厄(Alain
Colmerauer)所领导的研究小组于1973年首先实现的逻辑式语言PROLOG并称为人工智能的两大语言,对人工智能的发展起了十分深远的影响。
Racket 官网
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。