徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

Scheme

指数 Scheme

Scheme是一种函数式编程语言,是Lisp的两种主要方言之一(另一种为Common Lisp)。不同于Common Lisp,Scheme遵循極簡主義哲学,以一个小型语言核心作为标准,加上各种强力语言工具(语法糖)来扩展语言本身。 麻省理工學院與其他院校曾采用Scheme教授计算机科学入門課程。著名的入門教材《-zh-hans:计算机程序的构造和解释;zh-hant:電腦程式的構造和解釋-》(SICP)利用Scheme來解釋程序設計 。Scheme的廣泛受眾被視為一個主要優勢,然而不同實現之間的差異成為了它的一個劣勢。 Scheme最早由麻省理工學院的蓋伊·史提爾二世與傑拉德·傑伊·薩斯曼在1970年代發展出來,並由兩人發表的「λ論文集」推廣開來。 Scheme語言與λ演算關係十分密切。小寫字母「λ」是Scheme語言的標誌。 Scheme的哲学是:设计计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。Scheme是第一個使用靜態作用域的Lisp方言,也是第一个引入“干净宏”和第一类续延的编程语言。.

56 关系: ALGOL动态语言印第安那大學參與者模式同像性堆疊溢位尾端遞迴布萊恩·哈維作用域侯世達北京大学國立雲林科技大學傑拉德·傑伊·薩斯曼備忘錄哲学函數程式語言C语言Chez schemeCommon Lisp程序设计方法程序自修改第一類物件编程范型电气电子工程师学会階乘Eval萊斯大學西北大学计算机科学计算机程序的构造和解释语法糖麻省理工学院阿隆佐·邱奇闭包 (计算机科学)蓋伊·史提爾二世自循環直譯器自由软件耶鲁大学GIMPGNOMEGNUGNU GuileISWIMJavaJavaScriptLISPLogo语言LuaMaclispPython...RubyS-表达式柏克萊加州大學標誌滑鐵盧大學.NET框架 扩展索引 (6 更多) »

ALGOL

ALGOL,名稱源自演算法語言(ALGOrithmic Language)的縮寫,是一族指令式編程語言,發展於1950年代中期,對許多其它程式語言產生了重大影響。计算机协会在教科書及學術文章採用此語言做為描述演算法的標準語法超過三十年。 由大多數近代程式語言皆使用類似ALGOL的語法來看,ALGOL可與差不多同時期的FORTRAN、LISP及COBOL並列為四大最有影響力的高階語言。ALGOL被設計用來避免FORTRAN中一些已知的問題,最終引領了許多其它程式語言的興起,包括PL/I、Simula、BCPL、B、Pascal及C。 ALGOL引入了程式碼區間,並用begin⋯end來分隔。它是第一個利用詞法作用域實作巢狀函式的語言,也是第一個注重形式語言定義的語言,並在ALGOL 60報告中引入了巴科斯範式來作為設計語言形式文法的原則。 ALGOL主要有三種規格,以初次發表的年份命名:.

新!!: Scheme和ALGOL · 查看更多 »

动态语言

动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的ECMAScript(JavaScript)便是一个动态语言,除此之外如PHP、Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。 大部分动态语言都使用动态类型,但也有些不是。.

新!!: Scheme和动态语言 · 查看更多 »

印第安那大學

#重定向 印第安纳大学.

新!!: Scheme和印第安那大學 · 查看更多 »

參與者模式

在電腦科學中,參與者模式(Actor model)是一種並行運算上的模型。「參與者」是一種程式上的抽象概念,被視為並行運算的基本單元:當一個參與者接收到一則訊息,它可以做出一些決策、建立更多的參與者、傳送更多的訊息、決定要如何回答接下來的訊息。參與者模式在1973年於Carl Hewitt、Peter Bishop及Richard Steiger的論文中提出。.

新!!: Scheme和參與者模式 · 查看更多 »

同像性

在计算机编程中,同像性(homoiconicity,來自希臘語單詞 homo,意為與符號含義表示相同)是某些编程语言的特殊屬性,它意味着一个程序的结构与其句法是相似的,因此易于通过阅读程序来推测程序的内在涵义。如果一门编程语言具备了同像性,说明该语言的文本表示(通常指源代码)與其抽象語法樹(AST)具有相同的結構(即,AST 和語法是同形的)。该特性允許使用相同的表示語法,將語言中的所有代碼當成資料,來存取以及轉換,提供了“代码即数据”的理论前提。 同像語言中,程序的主要呈現方式,也是語言本身原始類型中的資料結構。這使得元編程(metaprogramming)更加容易,因為程序代碼可以被視為資料:語言中的反射(運行時檢查程序的實體)取決於單一的、性質相同的結構,而且它不必去處理,其它一些不同結構所導致的複雜語法。換句話說,同像性是程序的源代碼即是基本的資料結構,而這個語言本身知道如何存取源碼的文本。 Lisp編程语言是具有同像性質的典型範例。它的設計很容易進行對列表的操作,而且其語法結構即採用嵌套列表形式的S-表达式。LISP 程式以列表的形式來編寫; 所以可在運行時存取本身擁有的函數和程序,並以編程的方式重新設計自己。具有同像屬性的語言通常有對句法巨集的全面支持,允許程序員以簡明的方式來表達程序的變換。這類語言有 Clojure(現代流行的 LISP 方言),Rebol 和 Refal,以及最近的 Julia 等等編程語言。.

新!!: Scheme和同像性 · 查看更多 »

堆疊溢位

--(stack overflow)在電腦科學中是指使用過多的記憶體时導致呼叫堆疊產生的溢位。堆疊溢位的產生是由於過多的函數呼叫,導致呼叫堆疊無法容納這些呼叫的返回地址,一般在遞迴中產生。堆疊溢位很可能由無限遞迴(Infinite recursion)產生,但也可能僅僅是過多的堆疊層級。 堆疊溢位在核心設計中尤其危險,因此很多入門核心設計教程建議使用者不要嘗試使用遞迴程式;而是基於安全和效能考量,改用迴圈處理問題。 在POSIX相容平台上,堆疊溢位通常會造成作業系統產生SIGSEGV訊號。.

新!!: Scheme和堆疊溢位 · 查看更多 »

尾端遞迴

#重定向 尾调用.

新!!: Scheme和尾端遞迴 · 查看更多 »

布萊恩·哈維

布萊恩·K·哈維(Brian K. Harvey,)是一名電腦科學的教育家。哈維在柏克萊加州大學擔任終身講師職位,並長期主講基礎電腦科學課程。他在柏克萊任教期間獲得了數個授課獎項。 哈維曾參加開發了Logo語言,並在柏克萊寫作了一個Logo的實作Berkeley Logo。.

新!!: Scheme和布萊恩·哈維 · 查看更多 »

作用域

在電腦程式設計中,作用域(scope,或譯作有效範圍)是名字(name)与实体(entity)的绑定(binding)保持有效的那部分计算机程序。不同的编程语言可能有不同的作用域和名字解析。而同一语言内也可能存在多种作用域,随实体的类型变化而不同。作用域类别影響變量的绑定方式,根據語言使用靜態作用域還是動態作用域变量的取值可能会有不同的結果。.

新!!: Scheme和作用域 · 查看更多 »

侯世達

道格拉斯·理查·郝夫斯臺特(Douglas Richard Hofstadter,),中文名侯世達,美國学者、作家。他的主要研究领域包括意识、类比、艺术创造、文学翻译以及数学和物理学探索。 侯世达因其著作《哥德尔、埃舍尔、巴赫》獲得普立茲獎(非小说类别).

新!!: Scheme和侯世達 · 查看更多 »

北京大学

北京大学,简称北大,创建于1898年,初名京师大学堂,成立之初为中国最高学府,同时也是国家最高教育行政机关,行使教育部职能,统管全国教育。中华民国建立后,校名改为北京大学校,后又改名为国立北京大学。1916年至1927年,蔡元培任北京大学校长时期,“循思想自由原则、取兼容并包之义”,推行改革,把北大办成以文、理两科为重点的综合性大学,使北京大学成为新文化运动的中心、五四运动的策源地。1937年抗日战争爆发后,北大与清华、南开合并组建国立西南联合大学。日本战败后,北京大学回到北平。1952年院系调整后,北京大学聚集了原北大、清华、燕大三校的自然科学、人文学者,奠定了北大文理两科长期领先的地位。2000年,北京大学与北京医科大学合并。如今北京大学是一所兼具自然科学、人文学科、社会科学、医学以及新型工科的综合性大学。北京大学现有六个校区。北京大学校址原本在沙滩红楼、公主府等地,1952年院系调整后迁入位于北京西北郊的原燕京大学校园(燕园)。燕园兼收中国古典韵味和西方规划理念,主要景观有未名湖、博雅塔等。.

新!!: Scheme和北京大学 · 查看更多 »

國立雲林科技大學

國立雲林科技大學(英語:National Yunlin University of Science & Technology ,縮寫:NYUST),簡稱雲科大。1989年奉教育部成立籌備處,1991年國立雲林技術學院正式成立開始招收高職畢業生,1997年教育部核准改名國立雲林科技大學。.

新!!: Scheme和國立雲林科技大學 · 查看更多 »

傑拉德·傑伊·薩斯曼

傑拉德·傑伊·薩斯曼(Gerald Jay Sussman,),生於美國,著名計算機科學家,現為麻省理工學院教授。他是自由軟體基金會的創始元老之一,現任理事。.

新!!: Scheme和傑拉德·傑伊·薩斯曼 · 查看更多 »

備忘錄

備忘錄(memorandum,簡寫為 memo),意指任何一種能夠幫助記憶,簡單說明主題與相關事件的書面資料。它源自於memorandum est,由動詞 memoro (原義是「提及、回憶、相關的」),所形成的動名詞,意為:「這是應該被記住的」。 在商業辦公、法律文件或外交談判中,一些非正式或半正式的文件通常都會被稱為備忘錄,可以是簡單的字條、文件,或是通訊記錄。備忘錄可以有各種形式,也不一定有固定格式,各個機構內部可以自行決定它的格式。在中国大陆政府及国有企业内部的会议中,備忘錄被称为会议纪要,有时可以发挥行政上的契约和指令作用。 作為法律文書,備忘錄記錄了某些交易或是契約,但是缺乏完整的法律強制性,其中包括了政治備忘錄、諒解備忘錄(Memorandum of Understanding, MoU)、協議備忘錄(Memorandum of agreement)、聯合備忘錄(Memorandum of association)等。迪安·艾奇遜曾說過:「備忘錄寫作的目的,不在於提醒閱讀者,而是在保護寫作者。」 Category:法律文書 Category:法律术语 Category:商業術語 Category:文件 ru:Инвестиционный меморандум.

新!!: Scheme和備忘錄 · 查看更多 »

哲学

哲學(philosophy)是研究普遍的、根本的问题的学科,包括存在、知识、价值、理智、心灵、语言等领域。哲学与其他学科的不同是其批判的方式、通常是系统化的方法,并以理性论证為基礎。在日常用语中,其也可被引申为个人或团体的最基本信仰、概念或态度。.

新!!: Scheme和哲学 · 查看更多 »

函數程式語言

函數式編程(functional programming)或称函数程序设计,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免使用程序状态以及易变物件。函數程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。 比起指令式編程,函數式編程更加強調程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。.

新!!: Scheme和函數程式語言 · 查看更多 »

C语言

C是一种通用的程式語言,广泛用于系统软件与应用软件的开发。于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇與肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。 C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C語言的設計影響了众多後來的程式語言,例如C++、Objective-C、Java、C#等。 二十世纪八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。.

新!!: Scheme和C语言 · 查看更多 »

Chez scheme

#重定向 Chez Scheme.

新!!: Scheme和Chez scheme · 查看更多 »

Common Lisp

Common Lisp,縮寫為CL(不是組合邏輯的縮寫)是Lisp編程語言的一種方言,由ANSI INCITS 226-1994(R2004)(前身為ANSI X3.226-1994(R1999)),所定義的語言規範標準。Common Lisp HyperSpec是源自於ANSI Common Lisp標準的網頁超連結版本。 CL語言是為標準化和改良Maclisp而開發的後繼者。到20世紀80年代初,幾個工作群組已經在設計MacLisp各種後繼者,例如:Lisp Machine Lisp(又名 ZetaLisp),Spice Lisp,NIL和S-1 Lisp。CL是為了標準化和擴展此前眾多的MacLisp分支而開發,它本身並非具體的實作,而是對語言設立標準的規範。有數個實作符合Common Lisp規範,其中包括自由和開源軟件,以及商業化產品。CL支援了結構化、函數式和物件導向編程等範式。相对于各种嵌入在特定产品中的语言,如Emacs Lisp和AutoLISP,Common Lisp是一種用途廣泛的编程语言。不同於很多早期Lisp,Common Lisp如同Scheme,其中的變量是預設為詞法作用域的。 身為一種動態編程語言,它有助於進化和增量的軟件開發,並將其迭代編譯成高效的執行程序。這種增量開發通常是互動持續地改善,而不需中斷執行中的應用程序。它還支援在後期的分析和優化階段添加可選的型別註記與轉型,使編譯器產生更有效率的代碼。例如在硬體和實作的支援範圍內,fixnum能保存一個未封裝整數,允許比大整數或任意精度類型更高效率的運算。同樣地,在每個模組或函數的基礎上可聲明優化,指示編譯器要編譯成哪一類型的安全級別。 CL包含了支援多分派和方法組合的物件系統,縮寫為CLOS,它通常以元物件(Metaobject)協定來實現。 CL藉由標準功能進行擴展,例如Lisp宏(编译时期程序自身完成的代码重排(compile-time code rearrangement accomplished by the program itself))和阅读器宏(赋予用户自定义的語法以扩展具特殊意义的符号(extension of syntax to give special meaning to characters reserved for users for this purpose))。 CL為Maclisp和约翰·麦卡锡的原創Lisp提供了一些向後兼容性。這允許較舊的Lisp軟件移植到Common Lisp之上。.

新!!: Scheme和Common Lisp · 查看更多 »

程序设计方法

《程序设计方法》(How to Design Programs, HtDP)是一本由MIT出版社出版的关于如何设计程序的教材。作者为Matthias Felleisen、Robert Bruce Findler、Matthew Flatt和Shriram Krishnamurthi。该书介绍了一种设计诀窍,从问题描述出发,通过六个步骤编写出完整的程序。 和另外一本名著《计算机程序的构造和解释》类似,《程序设计方法》使用Scheme语言。事实上,作者提供了专门为该书开发的程序设计环境,名为DrScheme。DrScheme提供了从初级到高级的一系列语言级别。 这本书的中文版由黄林鹏和朱崇恺翻译,人民邮电出版社出版。.

新!!: Scheme和程序设计方法 · 查看更多 »

程序自修改

程序自修改(Self-modifying code)是指程序在运行期间(Run time)修改自身指令。可能的用途有:病毒利用此方法逃避杀毒软件的查杀,反静态分析,反盗版 ,單晶片程序升级。.

新!!: Scheme和程序自修改 · 查看更多 »

第一類物件

一類物件(First-class object)在電腦科學中指可以在執行期創造並作為參數傳遞給其他函數或存入一個變數的實體。將一個實體變為第一類物件的過程叫做「物件化」(Reification)。 「第一類物件」這一名稱最早由克里斯托弗·斯特雷奇在1960年代發明,原稱「第一類公民」(First-class citizen),意指函數可作為電腦語言中的第一類公民。英文中也稱「First-class entity」或「First-class value」。.

新!!: Scheme和第一類物件 · 查看更多 »

编程范型

编--程范型、编--程范式或程式--設計法(Programming paradigm),(範即模範、典範之意,範式即模式、方法),是一类典型的编程风格,是指从事软件工程的一类典型的风格(可以对照方法学)。如:函數式編程、程序編程、面向对象编程、指令式编程等等為不同的编程范型。 编程范型提供了(同时决定了)程序员对程序执行的看法。例如,在面向对象编程中,程序员认为程序是一系列相互作用的对象,而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。 正如软件工程中不同的群体会提倡不同的「方法学」一样,不同的编程语言也会提倡不同的「编程范型」。一些语言是专门为某个特定的范型设计的(如Smalltalk和Java支持面向对象编程,而Haskell和Scheme则支持函数式编程),同时还有另一些语言支持多种范型(如Ruby、Common Lisp、Python和Oz)。 很多编程范型已经被熟知他们禁止使用哪些技术,同时允许使用哪些。例如,纯粹的函数式编程不允许有副作用;结构化编程不允许使用goto。可能是因为这个原因,新的范型常常被那些习惯于较早的风格的人认为是教条主义或过分严格。然而,这样避免某些技术反而更加证明了关于程序正确性——或仅仅是理解它的行为——的法则,而不用限制程序语言的一般性。 编程范型和编程语言之间的关系可能十分复杂,由于一个编程语言可以支持多种范型。例如,C++设计时,支持过程化编程、面向对象编程以及泛型编程。然而,设计师和程序员们要考虑如何使用这些范型元素来构建一个程序。一个人可以用C++写出一个完全过程化的程序,另一个人也可以用C++写出一个纯粹的面向对象程序,甚至还有人可以写出杂揉了两种范型的程序。.

新!!: Scheme和编程范型 · 查看更多 »

电气电子工程师学会

電機電子工程師學會(Institute of Electrical and Electronics Engineers,簡稱為IEEE,英文读作“i triple e”)是一个建立於1963年1月1日的国际性电子技术与电子工程师协会,亦是世界上最大的专业技术组织之一,擁有來自175個國家的36萬會員。 除設立於美國紐約市的總部以外,亦在全球150多個國家擁有分會,並且還有35個專業學會及2個聯合會。其每年均會發表多種雜誌、學報、書籍,亦舉辦至少300次的專業會議。 目前IEEE在工業界所定義的標準有著極大的影響。.

新!!: Scheme和电气电子工程师学会 · 查看更多 »

階乘

一个正整数的階乘(factorial)是所有小於及等於該數的正整數的積,并且有0的阶乘为1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。 亦即n!.

新!!: Scheme和階乘 · 查看更多 »

Eval

在一些程序语言中,eval 是一个把字符串当作表达式执行而返回一个结果的函数;在另一些之中,它执行多行的代码就好像它们被包括在其中,而不是包括 eval 的这一行。eval 的输入不一定是字符串;在支持句法抽象的语言(如 Lisp)中,eval 的输入将会由抽象句法形式组成。.

新!!: Scheme和Eval · 查看更多 »

萊斯大學

莱斯大学(Rice University;威廉·马歇尔·莱斯大学于1912年开办,开办之初名为威廉·马歇尔·莱斯文学、科学与艺术发展学院)是座落于美国德克萨斯州休斯顿市的一所私立的研究型综合性大学。莱斯大学以其精英的本科学部著称,小而精致,同时有着优秀的应用科学和工程学研究生项目,是美国最著名的大学之一,素有南方哈佛之称。莱斯大学在材料科学、纳米科学、人工心脏研究、以及太空科學等领域占有世界领先的地位。.

新!!: Scheme和萊斯大學 · 查看更多 »

西北大学

西北大学可以指:.

新!!: Scheme和西北大学 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: Scheme和计算机科学 · 查看更多 »

计算机程序的构造和解释

《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs,SICP)是一本关于计算机程序设计的总体性观念的基礎教科书,由MIT press與McGraw-Hill共同出版行銷。作者是麻省理工学院的教授哈尔·阿伯尔森、傑拉德·傑伊·薩斯曼,此外傑拉德·傑伊·薩斯曼的妻子Julie Sussman也有參與本書的製作。封底的作者圖像是由其實驗室的同僚Nick Papadakis後製的合成照。 书中使用程序设计语言Lisp的方言Scheme来解释计算机科学的核心概念,包括抽象(abstraction),递归(recursion),直譯器(interpreters),以及(metalinguistic abstraction)。具體而微地由宏觀到微觀給出清楚地輪廓與脈絡。.

新!!: Scheme和计算机程序的构造和解释 · 查看更多 »

语法糖

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·蘭丁发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性。 举例来说,许多程序语言提供专门的语法来对数组中的元素进行引用和更新。从理论上来讲,一个数组元素的引用涉及到两个参数:数组和下标向量,比如这样的表达式,get_array(Array, vector(i, j))。然而,许多语言支持这样直接引用 Array。同理,数组元素的更新涉及到三个参数,set_array(Array, vector(i, j), value),但是很多语言提供这样直接赋值,Array.

新!!: Scheme和语法糖 · 查看更多 »

麻省理工学院

麻省理工學院(Massachusetts Institute of Technology,縮寫為MIT)是位於美國麻薩諸塞州劍橋市的私立研究型大學。成立於1861年,當時目的是為了響應。學校採用了辦學,早期著力於應用科學與工程學的實驗教學。麻省理工的研究人員在二戰及冷戰期間,致力開發電腦、雷達及慣性導航系統技術;戰後的防禦性科技研究使學校得以進一步發展,教職員人數及校園面積在的帶領下有所上升。大學於1916年遷往現在位於查爾斯河北岸的校址,沿岸伸延逾,佔地。 擁有6間學術學院、32個學系部門的麻省理工學院常獲納入全球最佳學府之列。學校一直聞名於物理科學與工程學的教研,但在近代亦大力發展諸如生命科學、經濟學、管理學、語言學等其他學術範疇。別名「工程師」的麻省理工體育校隊合計31支,涵蓋不同項目,學生因此可參與不同類型的跨校體育聯賽。 ,著名麻省理工師生、校友或研究人員包括了91位諾貝爾獎得主、52位國家科學獎章獲獎者、45位羅德學者、38名麥克阿瑟獎得主、6名菲爾茲獎獲獎者、25位图灵奖得主。此校同時具很強的創業文化,由其校友所創辦的公司利潤總值相當於全球第十一大經濟體。.

新!!: Scheme和麻省理工学院 · 查看更多 »

阿隆佐·邱奇

阿隆佐·邱奇(Alonzo Church,)是美国数学家,1936年发表可计算函数的第一份精确定义,对算法理论的系统发展做出巨大贡献。邱奇在普林斯顿大学受教并工作四十年,曾任数学与哲学教授。1967年迁往加利福尼亚大学洛杉矶分校。 解决算法问题包括构造一个能解决某一指定集及其他相关集的算法,如果该算法无法构建,则表明该问题是不可解的。证明此种问题不可解性的定理是算法理论中的一大突破,邱奇的算法即为该类算法的首例。邱奇证明了基本几何问题的算法不可解性。同时证明了一阶逻辑中真命题全集的解法问题是不可解的。.

新!!: Scheme和阿隆佐·邱奇 · 查看更多 »

闭包 (计算机科学)

在计算机科学中,闭包(Closure),又稱词法闭包(Lexical Closure)或函數閉包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 闭包的概念出现于60年代,最早实现闭包的程序语言是Scheme。之后,闭包被广泛使用于函数式编程语言如ML语言和LISP。很多命令式程序语言也开始支持闭包。 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。运行时,一旦外部的 函数被执行,一个闭包就形成了,闭包中包含了内部函数的代码,以及所需外部函数中的变量的引用。其中所引用的变量称作上值(upvalue)。 闭包一词经常和匿名函数混淆。这可能是因为两者经常同时使用,但是它们是不同的概念。.

新!!: Scheme和闭包 (计算机科学) · 查看更多 »

蓋伊·史提爾二世

#重定向 小蓋伊·史提爾.

新!!: Scheme和蓋伊·史提爾二世 · 查看更多 »

自循環直譯器

自循環直譯器(Meta-circular evaluator)是元直譯器(Metainterpreter,或Self-interpreter)的一種。自循環直譯器不僅是在直譯語言中寫成(如Scheme的自循環直譯器是在Scheme中寫成),而且通過底層語言的功能來實現直譯語言的功能。因此,自循環直譯器不需擔心如何具體實現任何功能,而只需處理語言讀入與直譯,所以尤其適合作為教育用途。自循環直譯器一般在同像(即程式與資料為同一格式,如Lisp)的語言中出現。 自循環直譯器最早出現於約翰·麥卡錫的Lisp 1.5版定義,其中麥卡錫以Lisp語言的功能來描述Lisp的直譯規則。.

新!!: Scheme和自循環直譯器 · 查看更多 »

自由软件

自由軟體(free software),根據自由軟體基金會对其的定義,是一类可以不受限制地自由使用、複製、研究、修改和分發的,尊重使用者自由的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是专有软件(proprietary software),或被稱為私有軟體、封閉軟體(其定義與是否收取費用無關──自由軟體不一定是免費軟體)。自由軟體受到選定的「自由軟體授權協議」保護而發佈(或是放置在公有領域),其發布以原始碼為主,二進制檔案可有可無。自由軟體許可證的類型主要有GPL许可证和BSD许可证兩種。.

新!!: Scheme和自由软件 · 查看更多 »

耶鲁大学

耶魯大學(英文:Yale University)是一所坐落於美國紐黑文市的私立研究型大學。學校最初於1701年10月9日,以“大學學院”之名成立,是全美第三古老的高等學府。校方為了感謝伊利胡·耶魯(英屬東印度公司總裁)的捐助,而在1718年改名為“耶魯學院”。學院最初旨在為公理會培養神學與聖典語言學人才,其後自1777年起加入了人文與科學教育課程。19世紀期間,學校增設了多所研究生與專業學院,更於1861年頒發了美國第一個博士學位。1886年,耶魯正式以現代大學的運作模式辦學。 耶魯大學的各個學術單位被歸入12所學院裡:最原始的本科學院、文理研究院及10所專業學科學院。儘管大學是由耶魯校董會所管理,但每個學院都有權編制、修改及監察自己的學位課程。除了紐黑文市中心的中央(本部)校園外,耶魯還在該市的西部建設了多個體育場所(包括了)及西黑文校園,亦在新英格蘭地區擁有多個森林與自然保育區。截至2015年6月30日,耶魯的捐款回贈達到二百五十六億美元,金額在全球教育機構中位列第二。 耶魯的--教育為博雅模式,並提供多個,附設住宿學院系統;研究或專業學科課程的模式則各有不同。幾乎所有的大學教職員都會參與教授本科課程。館藏逾1500萬冊,是全美第三大的圖書館系統。除了學習外,學生還能通過名為“耶魯牛頭犬”的校隊參與各種跨校體育競賽,也能加入各個學會。 畢業於耶魯大學的著名人士來自不同學術範疇:這包括了5位美國總統、15名聯邦最高法院大法官、多個國家政治要員及13位在世的億萬富豪。另也有60名諾貝爾獎得主及230位羅德學者是此校的師生或校友。.

新!!: Scheme和耶鲁大学 · 查看更多 »

GIMP

GIMP(,名稱由GNU Image Manipulation Program(GNU图像处理程序)的首字母組成)是一個自由及開放原始碼的點陣圖圖像編輯器,用於图像照片润饰及編輯、自由繪圖、調整大小、裁剪、相片蒙太奇、裝換圖像格式以及其他專業任務。 GIMP始於1995年,使用GPLv3+,可运行於GNU/Linux、MS Windows、Mac OS X等平台,其原生文件格式的扩展名是.xcf。.

新!!: Scheme和GIMP · 查看更多 »

GNOME

GNOME(或)是一個完全由自由软件組成的桌面环境。它的目標作業系統是Linux,但是大部分的BSD系統亦支持GNOME。 GNOME是由志願貢獻者和受僱貢獻者組成的GNOME計劃開發,其最大的公司貢獻者為紅帽公司。它是一個為開發軟件框架、基於這些框架來開發用戶端軟件及協調軟件翻譯和開發無障礙軟件的專案。 GNOME是GNU計劃的一部分。.

新!!: Scheme和GNOME · 查看更多 »

GNU

GNU是一個自由的作業系統,其內容軟體完全以GPL方式釋出。這個作業系統是GNU計劃的主要目標,名稱來自GNU's Not Unix!的遞迴縮寫,因為GNU的設計類似Unix,但它不包含具著作權的Unix代碼。GNU的創始人,理察·馬修·斯托曼,將GNU視為「達成社會目的技術方法」。 作為作業系統,GNU的發展仍未完成,其中最大的問題是具有完備功能的內核尚未被開發成功。GNU的內核,稱為Hurd,是自由軟體基金會發展的重點,但是其發展尚未成熟。在實際使用上,多半使用Linux內核、FreeBSD等替代方案,作為系統核心,其中主要的操作系統是Linux的發行版。Linux作業系統包涵了Linux內核與其他自由軟體計畫中的GNU組件和軟體,可以被稱為GNU/Linux(見GNU/Linux命名爭議)。.

新!!: Scheme和GNU · 查看更多 »

GNU Guile

GNU Guile 是 GNU 计划首选的扩展系统,是 Scheme 程序设计语言的一种实现,首个版本于1993年问世。 Guile 提供了“libguile”可将语言嵌入至其他程序并通过 C API 紧密的结合。同样的,新的类型和子程序的定义也可以通过 C API 扩展 Guile 自身。.

新!!: Scheme和GNU Guile · 查看更多 »

ISWIM

ISWIM 是 Peter J. Landin 设计并描述于他在1966年于ACM通讯中出版的文章《The Next 700 Programming Languages》中的抽象计算机编程语言(或编程语言家族)。名称是如下首字母缩写“If you See What I Mean”。 尽管没有实现,它被证明为在编程语言特别是函数式编程语言开发中非常有影响力的语言,比如 SASL,Miranda,ML,Haskell 和它们的后继者。 ISWIM 是带有由加了语法糖的 lambda 演算组成的函数式核心的指令式语言,它增加了(i)可变变量和赋值,(ii)强力控制机制 — Landin 的 J 算子,它能够捕获当前的续体(Scheme 的 call/cc 算子是简化版本的 Landin 的 J 算子)。因为基于 lambda 演算,ISWIM 有高阶函数和词法辖域变量。 ISWIM 的操作语义是使用 Landin 的 SECD抽象机定义的,并且使用了传值调用因而是及早求值的。ISWIM 的目标之一就是看起来更像数学表示,所以 Landin 放弃了 ALGOL 的语句间分号和 begin...

新!!: Scheme和ISWIM · 查看更多 »

Java

Java是一種廣泛使用的電腦程式設計語言,擁有跨平台、物件導向、泛型程式設計的特性,广泛应用于企业级Web应用开发和移动应用开发。 任職於昇陽電腦的詹姆斯·高斯林等人于1990年代初开发Java語言的雛形,最初被命名为Oak,目標設定在家用电器等小型系統的程式语言,應用在电视机、电话、闹钟、烤面包机等家用电器的控制和通訊。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代網際網路的发展,Sun公司看見Oak在網際網路上应用的前景,于是改造了Oak,於1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的-zh-hans:指针; zh-hant:指標;-,改以-zh-hans:引用; zh-hant:參照;-取代,同時移除了C++中的--和多重继承特性,改用接口取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。昇陽電腦对Java语言的解释是:「Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言」 Java不同於一般的编译語言或直譯語言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的執行速度有了大幅提升。 与传统型態不同,Sun公司在推出Java時就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司後來推出了与之竞争的.NET平台以及模仿Java的C#语言。後來Sun公司被甲骨文公司併購,Java也隨之成為甲骨文公司的產品。 現時,行動作業系統Android大部分的代碼採用Java 程式設計語言編程。.

新!!: Scheme和Java · 查看更多 »

JavaScript

JavaScript,一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的直譯語言。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。 虽然JavaScript与Java这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响。在语法结构上它又与C语言有很多相似(例如if条件语句、while循环、switch语句、do-while循环等)。 在客户端,JavaScript在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的HTML5和CSS3语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如Node.js。.

新!!: Scheme和JavaScript · 查看更多 »

LISP

LISP是具有悠久歷史的計算機編程語言家族,有獨特和完全括號的前綴符號表示法。起源於西元1958年,是現今第二悠久而仍廣泛使用的高階編程語言。只有FORTRAN編程語言比它更早一年。LISP編程語族已經演變出許多種方言。現代最著名的通用編程語種是Common Lisp和Scheme。 LISP最初創建時受到阿隆佐·邱奇的lambda演算的影響,用來作為計算機程序實用的數學表達。因為是早期的高階編程語言之一,它很快成為人工智能研究中最受歡迎的編程語言。在計算機科學領域,LISP開創了許多先驅概念,包括:.

新!!: Scheme和LISP · 查看更多 »

Logo语言

Logo是一种计算机程式设计语言,在1966年由西摩爾·派普特和Wally Feurzeig设计,设计Logo的初衷是为了向儿童教授计算机编程技能。Logo一词源自希腊语邏各斯(logos)。 Logo的原型来自另一个计算机语言LISP,派普特修改了LISP的语法使其更易于阅读。Logo常被称作没有括号的Lisp。 Logo是一种直譯語言,和其他语言不同的是,它内置一套海龟绘图(Turtle Graphics)系统,通过向海龟发送命令,用户可以直观地学习程序的运行过程,因此很适于儿童学习。它亦適合用作數學教學。 Logo继承了Lisp的「表」的概念,所以在函数处理等方面拥有强大的能力,因此Logo不仅是初学者学习程序设计的良药,更是有特殊需求的计算机科学家的好帮手。.

新!!: Scheme和Logo语言 · 查看更多 »

Lua

Lua()程序设计语言是一个简洁、轻量、可扩展的脚本语言,Lua在葡萄牙语中的意思是月亮。.

新!!: Scheme和Lua · 查看更多 »

Maclisp

Maclisp,或拼為MACLISP,Lisp程式語言的方言之一。它由Lisp 1.5版發展而成,最早起源自1960年代麻省理工學院的MAC計劃(Project MAC),並因此得名。它主要是由理查德·格林布拉特(Richard Greenblatt)在PDP-6上發展出來,之後由約翰·懷特(John L. White)負責維持與持續發展。在1970年代開始,在PDP-6 上,Lisp又發展出其他分支,如BBN Lisp,為了區分,它開始被稱呼為Maclisp。.

新!!: Scheme和Maclisp · 查看更多 »

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

新!!: Scheme和Python · 查看更多 »

Ruby

Ruby 是一种面向对象、命令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本電腦科學家松本行弘(Matz)设计并开发。 遵守BSD许可证和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。.

新!!: Scheme和Ruby · 查看更多 »

S-表达式

所谓“S-表达式/運算式”(S-expression)或“sexp”(其中“S”代表“符号的”),是指一种以人类可读的文本形式表达半结构化数据的约定。S-表达式可能以其在Lisp家族的编程语言中的使用而为人所知。其他应用则见于由Lisp衍生的语言,如,以及如IMAP之类通信协议中作为标记出现和约翰·麦卡锡的。语法细节和所支持的数据类型虽因语言而异,但这些语言间最通用的特性则是使用S-表达式作为括号化的前缀表示法(有时亦作剑桥波兰表示法)。.

新!!: Scheme和S-表达式 · 查看更多 »

柏克萊加州大學

#重定向 加利福尼亞大學柏克萊分校.

新!!: Scheme和柏克萊加州大學 · 查看更多 »

標誌

#重定向 标志.

新!!: Scheme和標誌 · 查看更多 »

滑鐵盧大學

滑鐵盧大學(University of Waterloo),在加簡稱UW,是加拿大滑铁卢市的一所研究型省立大學,以教會學校為前身,建校於1957年。因加拿大最早成立的計算機科學系而知名,工程系全科為建教合作制度,且擁有全球最大規模的獨立數學院(Faculty of Mathematics)。占地面積約為1000英畝,屬于中型。另設四個分校區,是U15大學聯盟成員。滑鐵盧的代表隊曾多次獲得ACM國際大學生程序設計競賽的北美冠軍。校隊名為“Warriors”。 滑鐵盧大學以學習與實習並重的合作教育(co-operative education)而立足,本科生在課程進行期間將在相關機構工作以作實習。多年來畢業生在硅谷各大公司就業率名列前茅,動手能力眾所周知。 相較于其他安省的類似理工科大學,該校的學生有傑出的表現。在Maclean杂志15年来对加拿大非医学博士类别的综合性大学的排名裡,University of Waterloo有13次排名第一。2014在Maclean的Best Overall排名中例第三,2015年升上Best Overall 第一,躋身UBC和多大之上。.

新!!: Scheme和滑鐵盧大學 · 查看更多 »

.NET框架

--是由微軟開發,一個致力於敏捷軟體開發(Agile software development)、快速應用開發(Rapid application development)、平臺獨立性和網路透明化的軟體框架。.NET是微軟為2000年代對伺服器和桌上型軟體工程邁出的第一步。.NET包含許多有助於互聯網和內部網應用迅捷開發的技術。.NET框架是微軟公司繼Windows DNA之後的新開發平臺。.NET框架是以一種採用系統虛擬機運行的編程平臺,以通用語言運行庫(Common Language Runtime)為基礎,支援多種語言(C#、F#、VB.NET、C++、Python等)的開發。.NET也為應用程式介面(API)提供了新功能和開發工具。這些革新使得程式設計員可以同時進行Windows應用軟體和網路應用軟體以及元件和服務(web服務)的開發。.NET提供了一個新的反射性的且物件導向程式設計編程介面。.NET設計得足夠通用化從而使許多不同高階語言都得以被彙集。 甲骨文公司的Java程式語言和Java平臺企業版技術是.NET平臺的競爭對手之一。 2014年11月12日,微軟宣布將完全開放.NET Framework的原始碼,並提供給Linux和OS X使用。.

新!!: Scheme和.NET框架 · 查看更多 »

重定向到这里:

Scheme语言

传出传入
嘿!我们在Facebook上吧! »