Scheme 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Scheme 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Scheme 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Scheme 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Scheme 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 未知
开发语言
操作系统 跨平台
软件类型 开源软件
所属分类 编程语言
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2009-03-25

软件简介

Scheme语言是LISP语言的一个方言(或说成变种),它诞生于1975年的MIT,对于这个有近三十年历史的编程语言来说,它并没有象 C++,java,C#那样受到商业领域的青睐,在国内更是鲜为人知。但它在国外的计算机教育领域内却是有着广泛应用的,有很多人学的第一门计算机语言就 是Scheme语言。

它是一个小巧而又强大的语言,作为一个多用途的编程语言,它可以作为脚本语言使用,也可以作为应用软件的扩展语言来使用,它具有元语言特性,还有很多独到的特色,以致于它被称为编程语言中的"皇后"。

下面是洪峰对Scheme语言的编程特色的归纳:

  • 词法定界(Lexical Scoping)

  • 动态类型(Dynamic Typing)

  • 良好的可扩展性

  • 尾递归(Tail Recursive)

  • 函数可以作为值返回

  • 支持一流的计算连续

  • 传值调用(passing-by-value)

  • 算术运算相对独立

展开阅读全文

评论 (1)

加载中
@红薯 显为人知的“显”打错了,应为“鲜为人知” Scheme
2014/02/15 22:38
回复
举报
更多评论
发表了资讯
2012/05/27 00:00

用 Scheme 语言写 Android app

Shawn the R0ck 写道 "Android app的火热程度不用介绍,但对于一些热衷于动态语言的黑客使用Java来开发app还是有一些别扭,作为GNU的官方项目之一的Kawa语言框架提供了另外一个选择,Kawa可以把Scheme语言直接编译成Java的bytecode,这样写Android app也就可以使用Scheme语言了,通过在Scheme中直接调用android SDK的API就可以了,这对Scheme黑客而言是一大福音,这里有Hello World的例子。 btw:别TM以为GNU项目都是old schoo...

6
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/09/15 23:53

Rhyme scheme

31.43% 1000ms 65536K A rhyme scheme is the pattern of rhymes at the end of each line of a poem or song. It is usually referred to by using letters to indicate which lines rhyme; lines designated with the same letter all rhyme with each other. e.g., the following "poem'' of 44 lines has an associated rhyme scheme "ABBA'' 1 —— 9999 bugs in the code A 2 —— Fix one line B 3 —— Should be fine...

0
0
发表了博客
2013/09/21 22:59

scheme 初探

学习 Common Lisp 太累了,想换个心情,学学 Scheme, 据说这门语言极其精简,又是 Lisp 的一大分支,还是学院派所大力推崇的。 开始的几个特性确实不错, 1. 函数和变量使用一个命名空间。这个符合大多数语言的习惯。变量嘛,只有一个意思最好,二义性可不是什么好事。 2. 词法变量和闭包的支持,这体现了语言开发者的实力,这个特性可是很重要的。 3. 符号的命名规范挺人性化的,问号结尾就是判断类的函数,中缀箭头就是转换的...

2
4
发表了博客
2018/12/20 09:33

scheme 之门

scheme 之门 开始之前 这是一篇 Scheme 的介绍文章. Scheme 是一个 LISP 的方言, 相对于 Common LISP 或其他方言, 它更强调理论的完整和优美, 而不那么强调实用价值. 我在 学习 Scheme 的时候, 常想的不是 "这有什么用", 而是 "为什么" 和 "它 的本质是什么". 我觉得这样的思考对学习计算机是非常有益的. 我不知道 "Scheme 之道" 这个题目是否合适, 我还没到能讲 "XXX 之道" 的时候. 但 Scheme 确实是一个极具哲学趣味的语言, 它...

0
0
发表了博客
2012/12/09 22:23

scheme的form

在c语言里,定义一个整数是这样的: int a = 2; 这个变量的名字是a,值是2; 定义一个函数(scheme里叫过程)是这样的: int add(int a, int b) { return a+b; } 上面的代码定义了一个过程,名字是add,值就是这个函数体; 再看scheme的做法, 定义一个整数: (define a 2) 定义一个过程: (define add (lambda (x y) (+ x y))) 在scheme里,像a和add这样的东西都叫form,也就是“形式”,scheme把过程和别的数据类型看成是一样...

0
0
发表于数据库专区
2020/09/28 17:12

influx - scheme

#### 数据库 ```sql -- 创建数据库 CREATE DATABASE mydb --删除数据库 DROP DATABASE "db_name" -- 查看所有的数据库 show databases; -- 使用特定的数据库 use database_name; -- 重命名数据库 SELECT * INTO "copy_NOAA_water_database"."autogen".:MEASUREMENT FROM "NOAA_water_database"."autogen"./.*/ GROUP BY * SELECT * INTO "copy_NOAA_water_database"."autogen".:MEASUREMENT FROM "NOAA_water_database"."autog...

0
0
发表了博客
2016/11/22 12:11

注册URL Scheme

我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的。但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的。我们可以通过系统的OpenURL来打开该app,并可以传递一些参数。 例如:你在Safari里输入www.alipay.com,就可以直接打开你的支付宝app,前提是你的手机装了支付宝。如果你没有装支付宝,应该显示的是支付宝下载界面,点击会跳到AppStore的支付宝下载界...

0
1
发表了博客
2014/11/27 15:21

Scheme语言入门

Scheme语言入门 最早听说 LISP,是 Stallman 的 GNU Emacs 中将 LISP 作为嵌入语言,定制和增强 Emacs。GNU Emacs 是一个文本编辑器,文本就是一种符号,而 Lisp 正好就是针对符号计算发明的,因此在GNU Emacs 中使用 Lisp 是顺理成章的事情。 Lisp 语言的历史已经很久了,几乎与 Fortran 一样长。二十世纪五十年代,计算机科学家先是发明了针对数字计算的 Fortran 语言,后来针对符号计算,由MIT 的John McCarthy于1960年开发出...

0
7
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2018/03/18 12:13

racket的gui界面不能启动是怎么回事

racket全部按照默认配置安装,运行drracket不是应该打开图形界面吗?

1
0
发表了问答
2016/10/13 20:31

scheme 中如何在函数代码中 return 值

return 能够简化编程模型,为什么 scheme 找不到这个函数呢?是不是这个函数加进去太难了?

2
0
发表了问答
2012/07/25 17:13

newLISP 是如何令我惊愕忘形的

译者:skydark 偶然看到这篇文章, 感到非常有意思,忍不住想翻译一下。 原文标题是“How newLISP Took My Breath (And Syntax) Away”,非常漂亮的一个标题,但是不知道怎么翻译好,就随便编了一个句子上来了……= = newLISP 是一种奇特的 LISP 方言,有非常鲜明和有趣的特点,这篇文章的作者以亲身经历对这些特点做了一个简要的概述。 另外必须强调的是,尽管我清楚我英文(和汉语)是如此之烂(从高二高三没上过课到大学没翻过书...

7
21
发表了问答
2014/07/13 23:44

Racket 语言获取当前命名空间的所有符号

Racket 文档似乎很多,但大都重复。社区似乎很大,但大都不能互动。遇到一些问题,始终不知道怎么往前走: 1. 如何获取当前命名空间所有的符号,如何获取当前所有的命名空间。 2. Racket 的方括号和圆括号效果相同,是不是在任意位置都能互换呢?

2
0
发表了问答
2014/07/20 19:01

LispEx - 让 Lisp 支持并发编程(Go 语言实现的 Lisp 解释器)

LispEx 是用 Go 语言编写的一款符合 R5RS 标准的 Lisp 解释器。 有意思的地方是,在设计之初我就考虑是否能为其添加一些并发编程的语言特性,让这门古老的编程语言充满生机起来。 于是便选择了 Go 语言来实现它,耗时近 2 个月,Go 里面的一些特性如:goroutine, channel, select 等语义都在 LispEx 中有了支持。 开源地址: https://github.com/kedebug/LispEx 遵守 KISS 原则,尽量把代码设计的简单,易懂。很多模块被很好的分...

10
6
发表了问答
2013/08/18 19:04

Common Lisp 和 Scheme 的函数命名空间不同

最近在 <<On Lisp>> 看到 Common Lisp 和 Scheme 的不同: 1. 在Common Lisp眼中,一个符号的symbol-value和symbol-function是不一样的,而Scheme 对两者不作区分。在Scheme里面,变量只有唯一对应的值,它可以是个函数,也可以是另一种对 象。因此,在Scheme中就不需要#’或者funcall了。Common Lisp的: (let ((f #’(lambda (x) (1+ x)))) (funcall f 2)) 在Scheme中将变成: (let ((f (lambda (x) (1+ x)))) (f 2)) 2. 由于...

7
0
发表了问答
2009/03/25 09:50

Scheme语言深入

http://www.ibm.com/developerworks/cn/linux/l-schm/part3/

1
1
发表了问答
2012/01/18 22:06

lisp 書下載,第一本超好評,第二本超好評但個人我會先讀别本

http://www.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html http://paulgraham.com/onlisptext.html

1
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
1 评论
33 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部