Racket

Lisp语言的分支
授权协议 LGPL
开发语言 Lisp
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 谭曦
操作系统 Linux
开源组织
适用人群 未知
 软件概览

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并称为人工智能的两大语言,对人工智能的发展起了十分深远的影响。

  • 8 输入和输出 一个Racket端口对应一个流的Unix概念(不要与racket/stream的流混淆)。 一个Racket端口(port)代表一个数据源或数据池,诸如一个文件、一个终端、一个TCP连接或者一个内存字符串。端口提供顺序的访问,在那里数据能够被分批次地读或写,而不需要数据被一次性接受或生成。更具体地,一个输入端口(input port)代表一个程序能从中读取数据的一个源,一个输出端口

  • 21 运行和创建可执行文件 在开发程序时,很多Racket程序员使用DrRacket编程环境。要在没有开发环境的情况下运行程序,请使用racket(用于基于控制台的程序)或gracket(对于GUI程序)。本章主要介绍如何运行racket和gracket。     21.1 运行racket和gracket       21.1.1 交互模式       21.1.2 模块模式       21.

  • 取决于你如何看待它,Racket语言是: 一种编程语言(programming language)——Lisp语言的一种方言和Scheme的一种派生语言; 参见《Racket和Scheme的方言》以获取更多关于Lisp其它方言的信息以及它们与Racket的关系。 编程语言的一个家族(family)——Racket的变体,以及更多的; 一系列工具(tools)——用于编程语言的一个家族。 在不会有混

  • how do i do research 转载于:https://my.oschina.net/crcc/blog/813461

  • 22 更多库 本指南仅涵盖记录在The Racket Reference中记录的Racket语言和库。Racket发行版包括许多额外的库。 22.1 图形和图形用户界面 Racket为图形和图形用户界面(GUI)提供许多库: racket/draw提供了基本的绘图工具,包括绘制背景如位图(bitmap)和PostScript文件。 参见(part ("(lib scribblings/draw/d

  • https://www.cnblogs.com/scige/p/3379447.html 转载于:https://www.cnblogs.com/volcanorao/p/8921240.html

  • Jay McCarthy Greg Hendershott PRL Blog 转载于:https://my.oschina.net/crcc/blog/844543

  • #\newline #\a  ~ #\z #\nul #<hash> ... and so on. 转载于:https://www.cnblogs.com/zbjxb/archive/2012/12/03/3495788.html

  • JSON Eli Barzilay and Dave Herman    (require json)  package: base   这个库提供了一些实用程序,用于解析和生成JSON数据交换格式到(来自)Racket值的数据。有关JSON的更多信息,请参阅 JSON web site 和 JSON RFC 。 1 JS-表达式(JS-Expressions)   procedure (jsex

 相关资料
  • 本文主要学习 Go 语言中的分支语句。一共要介绍的有两个,分别式 if…else 和 switch…case。他们二者在 Go 语言中都做了新的功能拓展。 Tips:其中还有一个分支语句select…case我们将在Go语言的通道中介绍。 1. if…else 在 Go 语言中 if 关键字的作用和其它大部分语言相同,是用于测试某个布尔表达式或布尔值是否为真的。若为真则执行if之后{}中的语句,否

  • 主要内容:类型断言的书写格式,使用类型分支判断基本类型,使用类型分支判断接口类型type-switch 流程控制的语法或许是Go语言中最古怪的语法。 它可以被看作是类型断言的增强版。它和 switch-case 流程控制代码块有些相似。 一个 type-switch 流程控制代码块的语法如下所示: 输出结构如下: Type Square *main.Square with value &{5} 变量 t 得到了 areaIntf 的值和类型, 所有 case 语句中列举的类型

  • 主要内容:举例,特殊写法在Go语言中,关键字 if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号 括起来的代码块,否则就忽略该代码块继续执行后续的代码。 如果存在第二个分支,则可以在上面代码的基础上添加 else 关键字以及另一代码块,这个代码块中的代码只有在条件不满足时才会执行,if 和 else 后的两个代码块是相互独立的分支,只能执行其中一个。 如果存在第三个分支,则可以使

  • 本文向大家介绍汇编语言 跳转指令与C语言的条件分支,包括了汇编语言 跳转指令与C语言的条件分支的使用技巧和注意事项,需要的朋友参考一下 跳转指令 跳转指令也是一个组的指令,称为j组。其中jmp为无条件跳转,其余为条件跳转 上图为j组指令,可结合条件码访问指令加深理解 在机器指令水平上理解如何对跳转指令编码 如上图,通过反汇编软件得到机器指令与汇编语言,其中左边为机器指令编码,右边为对应汇编语言含义

  • 多重分支是组成分支结构的重要语句,甚至比单独的 if 语句用的更广泛一些。 1. 语法 if (条件判断) { 满足上述条件要执行的语句 } else { 不满足上述条件要执行的语句 } 执行过程 2. 场景 当需要程序作出不同的选择,并在选择后要分别执行不同的程序的时候使用。这有点像我们经常遇到非此即彼的选择。也就是如果你好好学习就会收到奖赏,否则你会…… 此处省略很多字。因为

  • C 语言与大多数计算机语言一样是按照语句的顺序逐条执行的。如同流水一样,从上到下顺序执行。这就如同我们每天的日常生活,对于上班族来说,就是起床,洗漱,吃早饭,上班,午饭。下班,晚饭,睡觉。感觉一切都平淡无奇。但是如果你想去购买一台电脑怎么办?这不是一件每天都发生的流水事件,而且你需要在有足够的钱的情况下才能购买。这个时候,你就要在满足有钱的条件下打破原有的生活顺序,去卖场购买一台电脑。这就是生活中

  • 1.3.4 Python 语言的基本成分 在自然语言中,我们用字词、句子、段落来写文章表达思想。类似地,编程语言也提供 各种语言成分用于构造程序表达计算。例如 HelloWorld 程序中的 print 是 Python 语言中用 于显示输出的一个保留词,而"Hello, World!"则是被显示的数据,这两个成分组合在一 起,就构成了一条完整的语句。本节简单介绍 Python 语言的基本成分,使

  • 主要内容:安装包,示例,应用Surv()和survfit()函数生存分析涉及预测特定事件发生的时间。 它也被称为失败时间分析或分析死亡时间。 例如预测癌症患者的生存天数或预测机械系统出现故障的时间。 R中的软件包:用于进行生存分析。该包中含有函数,它将输入数据作为R公式,并在所选变量中创建一个生存对象进行分析。然后使用函数来创建分析图。 安装包 语法 在R中创建生存分析的基本语法是 - 以下是使用的参数的描述 - time - 是直到事件发生的后续时间。 ev