转:SCHEME 语言是怎么来的 -1】的更多相关文章

最近自己陷入了很长时间的学习和思考之中,突然发现好久没有更新博文了,于是便想更新一篇. 这篇文章是我之前程序设计语言课作业中一段代码,用scheme语言实现单源最段路算法.当时的我,花了一整天时间,学习了scheme并实现了SPFA算法,那天实现之后感觉很有成就感-在这里贴出来,以飨读者. 突然发现博客园不支持scheme语言,于是只能放弃高亮了.不得不说,scheme代码有没有高亮差别好大…… ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 题目…
一年前事实上有时间看完SICP这本书,后来由于种种原因,一直没有继续再学.由于SICP中使用Scheme确实应用不多.在Java,C++的语言眼里,Scheme确实非常另类.现在MIT已经放弃了使用Scheme作为SICP的教学语言而转向python之际,我在此開始学习这本书与这门语言的学习.SICP主要使用Scheme语言来解决计算机科学中的一些问题.为了督促自己,每天都能学习.积小流而成江海,把自己的学习过程放在这里,以供自己复习. 本系列主要包含两部分Scheme语言层面的问题及SICP中…
JSchemeMin 是一个JVM平台上的Scheme语言实现. 作为R7RS的实现,JSchemeMin支持Scheme的所有标准特性,包括头等公民地位的过程.尾递归优化.继续.用户定义记录.库(包括R7RS附录A中全部语法和过程,不只base).异常和健康宏展开. 作为基于JVM的实现,JSchemeMin 让Scheme程序可以调用Java平台的API,也让Java程序运行Scheme代码,这使Scheme可作为Java(以至别的JVM语言)程序的一种扩展语言. 目前,JSchemeMin…
小学生都能用的编程语言 2020的春季中小学受疫情影响,一直还没有开学,孩子宅在家说想做一个学校要求的研究项目,我就说你做一个怎么样通过编程来学习数学的小项目吧,用最简单的计算机语言来解决小学数学问题.虽然我是一个老码农,但一直不赞成教小学生学编程,觉得这是揠苗助长,小学生不应该过早的固化逻辑思维而放松形象思维,某些少儿编程机构居然教学C++游戏编程,我觉得这真是在摧残祖国的花朵.现在孩子宅在家 ,想让他学点什么好几次冒出学编程的想法都被自己给否决了,直到我看到数学老师要求同学们整理小学阶段的数…
导言 Scheme 是 LISP 的一个方言(dialect).著名的 SICP 书就是以 Scheme 为教学语言(实际上 SICP 的作者就是 Scheme 的作者). 虽然 Scheme 本身只是一个精简化的适合教学的语言,可它首先提出的一些重要的思想,引领了新一代的LISP语言的出现. 实际上, LISP 语言发展的历史是连续的,之所以我在这里人为的把 LISP 的发展史划分为上一代和现代,是因为随着 Scheme 首次引入并规范化了一些重要概念, LISP 语言出现了很多以前从来没有大…
scheme是lisp的一种 编辑器能够用emacs.网上有非常多教导怎样编写的 (begin (display "hello") (newline)) 编写完以.scm保存,这里保存为test.scm 然后sudo apt-get install racket  //也能够安装scm Racket (原名 PLT Scheme[4][5]) 是个通用.多范型,属于Lisp家族的函数式编程语言,它的设计目的当中之中的一个是为了提供一种语言创造.设计与实作的平台,Racket被广泛应用在…
OpenCascade Tcl vs. ACIS Scheme eryar@163.com 摘要Abstract:本文通过OpenCascade的Tcl/Tk和ACIS的Scheme的对比来说明脚本语言在程序中的重要作用.及通过在Tcl中实现自定义的命令来理解Draw Test Harness的实现,在此基础上更有利于对OpenCascade的理解,其中Draw Test Harness一些命令的实现可以做为程序实现的参考. 关键字Key Words:OpenCascade, Tcl/Tk, A…
前言 一直以来对Lisp语言怀有很崇敬的心里,<黑客与画家>对Lisp更是推崇备至,虽然看了不少有关Lisp的介绍但都没有机会去写段程序试试,就像我对C++一样,多少有点敬畏.这个周末花了不少时间来研究Lisp.Lisp是古老的函数式语言,跟C,C++等命令式语言完全不一样的编程风格,但Lisp的方言很多,最后Lisp标准委员制定了Common Lisp,但内容很长,有1000多页,因此功能比较强大:而Lisp的另外一个主要分支就是Scheme,它的标准内容只有不到100页,所以非常简单,适合…
最近因病休养在家,另外也算是正式的离开Snack Studio.终于有了大把可以自由支配的时间.可以自主的安排.最近闲暇的时间总算是恶补了不少前段时间行业没有时间关注的新事物.看着行业里引领潮流的东西,除非为数不多的天才能够创造得出,估计大多数人跟我一样,看着这些目不接暇的潮流总是觉得多少有些不知所措.但这并不妨碍从一个学习者的角度来了解这些新东西.类似本篇即将要谈到的R语言. 当一旦涉及一个新的领域.或一门新的语言.总是很容易陷入一些具体细节中而无法从更高的角度看到一门语言形成的背后的行业的背…
现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑到论坛上吼一嗓子,然后欣然or悲伤的离去,一直到遇到下一个问题再回来.当然,这不是最好的学习方式,最好的方式是——看书.目前,市面上介绍R语言的书籍很多,中文英文都有.那么,众多书籍中,一个生手应该从哪一本着手呢?入门之后如何才能把自己练就成某个方面的高手呢?相信这是很多人心中的疑问.有这种疑问的人…
R 语言的优劣势是什么? 2015-05-27 程序员 大数据小分析   R,不仅仅是一种语言 本文原载于<程序员>杂志2010年第8期,因篇幅所限,有所删减,这里刊登的是全文. 工欲善其事,必先利其器,作为一个战斗在IT界第一线的工程师,C/C++.java.perl.python.ruby.php.javascript.erlang等等等等,你手中总有一把使用自如的刀,帮助你披荆斩棘. 应用场景决定知识的储备与工具的选择,反过来,无论你选择了什么样的工具,你一定会努力地把它改造成符合自己应…
发表在<程序猿>2007年7月刊上.不log上写帖子不用考虑版面限制,所以这里的帖子比发表的啰嗦点.赵健平编辑,Jacky,和刘未鹏都给了我非常多帮助,在这里一并谢了.免费的Scheme实现非常多.我用的是PLT Scheme,能够到这里下载.PLT Scheme的IDE(Dr. Scheme)支持Emacs的键盘绑定,用emacs的老大们应该喜欢.Dr.Scheme内置中文支持: 以下是正文: 不能影响你思考方式的编程语言不值得学习 – Alan Perlis[1]   不少朋友问,为什么要…
本篇分析continuation的一个著名例子"阴阳迷题",这是由David Madore先生提出的,原谜题如下: (let* ((yin ((lambda (foo) (display "@") foo) (call/cc (lambda (bar) bar)))) (yang ((lambda (foo) (display "*") foo) (call/cc (lambda (bar) bar))))) (yin yang)) 这里引用了h…
GNU Guile是一种Scheme编程语言的解释器和虚拟机.Guile是GNU Ubiquitous Intelligent Language for Extensions的缩写.Guile是GNU工程的官方扩展语言.Guile的理念是“开发者用C或C++实现关键算法和数据结构,并输出函数和类型供解释代码(interpreted code)使用.应用程序成为一组由解释器结合起来的原语,将编译代码的高效和解释代码的灵活结合起来.. Guile 问世于 1995 年,它是用于 Scheme 语言的…
Java语言学校的危险性(译文) 作者: 阮一峰 日期: 2008年12月 7日 下面的文章是More Joel on Software一书的第8篇. 我觉得翻译难度很大,整整两个工作日,每天8小时以上,才译出了5000字.除了Joel大量使用俚语,另一个原因是原文涉及"编程原理",好多东西我根本不懂.希望懂的朋友帮我看看,译文有没有错误,包括我写的注解. ==================== JAVA语言学校的危险性 作者:Joel Spolsky 译者:阮一峰 原文: http…
Continuation Pass Style在函数式编程(FP)中有一种被称为Continuation Passing Style(CPS)的风格.在这种风格的背后所蕴含的思想就是将处理中可变的一部分抽象为一个function,并将其作为一个参数传入.这是高度抽象的方法,所带来的表达的威力也是无与伦比的.下面举一个例子,实现CPS描述的fold函数.在此之前需要简单介绍一下fold概念,在FP中这是一个非常有效的处理list的工具.一般它的signature是fold(f,initial,li…
[怪毛匠子整理] 1.下载 wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz 2.解压: tar -zxvf R-3.0.1.tar.gz cd R-3.0.1 3.安装 yum install readline-devel yum install libXt-devel ./configure 如果使用rJava需要加上 --enable-R-shlib ./configure  --enable-R-shlib -…
下面的文章是More Joel on Software一书的第8篇. 原文: http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html 如今的孩子变懒了. 多吃一点苦,又会怎么样呢? 我一定是变老了,才会这样喋喋不休地抱怨和感叹"如今的孩子".为什么他们不再愿意.或者说不再能够做艰苦的工作呢. 当我还是孩子的时候,学习编程需要用到穿孔卡片(punched cards).那时可没有任何类似"退格&quo…
开始学习Scheme   函数式编程(Functional Programming)是在MIT研究人工智能(Artificial Intelligence)时发明的,其编程语言为Lisp.确切地说,Lisp是一个语言家族,包括无数的方言如:Scheme.Common Lisp.Haskell……等等.   最后一次学习Scheme已经是去年7月份的事情了.本来只是出于兴趣,以及拓宽自己思路的目的来学习.未曾想,由于工作需要,Scheme编程已经成为一个必备的技能了.其实这里面也由办公室政治的原因…
scheme 之门 开始之前 这是一篇 Scheme 的介绍文章. Scheme 是一个 LISP 的方言, 相对于 Common LISP 或其他方言, 它更强调理论的完整和优美, 而不那么强调实用价值. 我在 学习 Scheme 的时候, 常想的不是 "这有什么用", 而是 "为什么" 和 "它 的本质是什么". 我觉得这样的思考对学习计算机是非常有益的. 我不知道 "Scheme 之道" 这个题目是否合适, 我还没到能讲…
算法语言Scheme修订6报告 R6RS简体中文翻译 来源 https://r6rs.mrliu.org/   MICHAEL SPERBERR. KENT DYBVIG, MATTHEW FLATT, ANTON VAN STRAATEN(编辑)RICHARD KELSEY, WILLIAM CLINGER, JONATHAN REES(编辑,算法语言Scheme修订5报告)ROBERT BRUCE FINDLER, JACOB MATTHEWS(作者,形式语义) 2007年09月26日 在G…
LISP的介绍:Paul Graham 的主页 http://paulgraham.com/index.html Lisp之根源 - 保罗·格雷厄姆 http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html 创造者的鉴赏力 - 保罗·格雷厄姆 http://daiyuwen.freeshell.org/gb/taste/taste.html 为什么Lisp语言如此先进?(译文) http://www.ruanyifeng.com/blog/2…
说明:此类博客来自以下链接,对原内容做了标注重点知识,此处仅供自己学习参考! 来源:https://wangdoc.com/javascript/basic/introduction.html 1.诞生 JavaScript 因为互联网而生,紧跟着浏览器的出现而问世.回顾它的历史,就要从浏览器的历史讲起. 1990年底,欧洲核能研究组织(CERN)科学家 Tim Berners-Lee,在全世界最大的电脑网络——互联网的基础上,发明了万维网(World Wide Web),从此可以在网上浏览网页…
一.为什么要写这个工具? 公司内容有多个项目需要同一个功能,而这些项目中,有的是用Java的,有的是用C++的,同时由于某些现实条件限制,无法所有项目都调用统一的服务接口(如:可能运行在无网络的情况下),所以可选方案有两种: a.分别用Java和C++实现两套一样的功能. b.实现一个生成工具,用来生成同一种逻辑的Java和C++代码. 现在项目还刚刚开始,还不确定未来会使用以上两种方案之中的哪一种,不过我还是需要事先做准备. 二.本文不会有的内容 我不希望在一篇技术文章中涉及到任何业务,以及为…
互联网起火-Web时代的来临 在行文之前,反手就安利一下<浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战>. 浏览器始祖NCSA Mosaic在1993年1月发布(于1992年末由国家超级计算机应用中心—National Center for Supercomputing Applications开发).Mosaic可以同时展示文字和图片,从此浏览器变得有趣多了. 在当时人气爆发的大受欢迎.Mosaic的出现,算是点燃了后期互联网热潮的火种之一.NCSA将Mosaic的商业运营权…
lilypond的许多底层设定是通过scheme语言写的,特别是要写函数的时候. 所以了解一下scheme的作用很重要. 不幸的是,不像lilypond本身的代码,scheme代码的结果是不会直接预览的,这个问题困扰我很久 直到这几天稍微摸索清楚了,把scheme里面和作图有关的一些命令整理如下,包括了以下内容: 1)用坐标的方式作图 2)图像的基本操作,如移动.复制.放缩.旋转等 \version "2.20.0" \language "english" \pap…
参考下面的文章, 是很好的: http://www.cnblogs.com/staven/p/5142515.html http://pcwanli.blog.163.com/blog/static/453156112010111441852254/ php为什么如此强大好用? 很重要的一个因素是, 它提供了众多的 功能强大的 内置函数.而且这些函数是非常灵活的,"有句套话是: php做到了怎么方便怎么来, 怎么好用就怎么用", 基本上你想到的功能, 函数都提供了. 基本上你不用自己去…
前言 前端工程师在中国兴起也就5年左右,以前公司里没有专门前端工程师的这个职位,很多前端方面的任务都是由全栈工程师来完成,有的基础一点的后台或者设计的帮助分担一些.但是随着互联网的快速发展,特别是所谓的Web2.0的发展,前端业务变得复杂起来,需要有专业的前端工程师来满足用户多样化的需求. 然而,高校的计算机教育并没有跟上互联网快速发展步伐,现在高等学校里没有的前端课程,对于需要打基础的前端同学来说学习起来比较困难. 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格…
http://www.cnblogs.com/dreamingbaobei/p/5062901.html 工作多年,一直忙忙碌碌的应用各种技术,现在不忙了,问问自己究竟在做什么,究竟会什么竟答不上来,回想起来工作中经常是被要求多快好省的去实现一个目标,用度娘解决问题,却没时间了解原因,今天就从宏观的角度入手来归纳总结一下.最准确的网页设计思路是把网页分成三个层次,即:结构层(HTML).表示层(CSS).行为层(Javascript).一.HTML.CSS.JavaScript简介及简单分工 1…
完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾,难以入睡.也希望看到这篇博文的朋友有所收获.) "UNIX 是简单的,你不需要成为天才也能理解这种简单" 由于GNU/Linux这个词太长,下面如果没有特别指明,“Linux”就是指“GNU/Linux”. 在这个年代,恐怕没有人需要我来介绍 Linux 是什么了吧?如果你觉得“Linu…