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

Elixir

指数 Elixir

Elixir是一个基于Erlang虚拟机的函数式、面向并行的通用编程语言。Elixir以Erlang为基础,支持分布式、高容错、实时应用程序的开发,亦可通过宏实现元编程对其进行扩展,并通过协议支持多态。.

21 关系: Apache许可证同像性多重编程范式多态 (面向对象程序设计)并发计算循环元编程副作用Clojure编程语言Erlang類型系統表示式高阶函数递归虛擬機器RubyUnicodeUTF-8惰性求值

Apache许可证

Apache许可证(Apache License),是一个由Apache軟件基金會发布的自由软件许可证,最初为Apache http服务器而撰写。Apache许可证要求被授权者保留版权和放弃权利的聲明,但它不是一个反版权的许可证。 此许可证最新版本为“版本2”,于2004年1月发布。 Apache许可证在Apache社区内外被广泛使用。Apache基金会下属所有项目都使用Apache许可证,许多非Apache基金会项目也使用了Apache许可证:据统计,截至2012年10月,在sourceforge上有8708个项目使用了Apache许可证。.

新!!: Elixir和Apache许可证 · 查看更多 »

同像性

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

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

多重编程范式

多范式编程语言(Multi-paradigm programming language)是一種可以支持超過一種編程范型的程式語言。「Multi-paradigm」这个词是由比雅尼·斯特劳斯特鲁普博士在其著作中提出的,用于表述C++可以同时使用多种风格来写程序,比如面向对象和泛型编程。.

新!!: Elixir和多重编程范式 · 查看更多 »

多态 (面向对象程序设计)

#重定向 多型 (计算机科学).

新!!: Elixir和多态 (面向对象程序设计) · 查看更多 »

#重定向 巨集.

新!!: Elixir和宏 · 查看更多 »

并发计算

并发计算(Concurrent computing,或譯為並行處理、共時計算),是一種程式計算的形式,在系統中,至少有兩個以上的計算在同時運作,計算結果可能同時發生。用來實作並行系統(Concurrent system)的程式語言與各種演算法,統稱為並行計算。 並行程式通常被設計為互動式的運算過程,因為它的運算過程是不確定的,在設計上的難度較高。設計並行程式最大的挑戰,在於確保不同運算執行步驟間的互動或是通訊,能以正確的順序進行,同時,也要確保在不同執行步驟間共享的資源,能夠正確被存取。在這個領域的先驅人物有艾兹赫尔·戴克斯特拉、東尼·霍爾與泊·派克·漢森等人。.

新!!: Elixir和并发计算 · 查看更多 »

循环

*程序循环:是一种计算机科学运算领域的用语,也是一种常见的控制流程。.

新!!: Elixir和循环 · 查看更多 »

元编程

元編程(英語:Metaprogramming),又譯超編程,是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的資料,或者在运行时完成部分本应在编译时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率,或者给与程序更大的灵活度去处理新的情形而无需重新编译。 编写元程序的语言称之为元语言。被操纵的程序的语言称之为「目标语言」。一门编程语言同时也是自身的元语言的能力称之为「反射」或者「自反」。 反射是促进元编程的一种很有价值的语言特性。把编程语言自身作为一級資料類型(如LISP、Forth或Rebol)也很有用。支持泛型编程的语言也使用元编程能力。 元编程通常通过两种方式实现。一种是通过应用程序编程接口(APIs)将运行时引擎的内部信息暴露于编程代码。另一种是动态执行包含编程命令的字符串表达式。因此,“程序能够编写程序”。虽然两种方式都能用于同一种语言,但大多数语言趋向于偏向其中一种。.

新!!: Elixir和元编程 · 查看更多 »

副作用

在醫學中,副作用(英語:side effect)是指藥品往往有多種作用,作用於不同身體部位受體,治療時利用其一種或一部分受體作用,其他作用或是受體產生作用即變成為副作用。雖然副作用一詞常被用來形容 不良反应 (医学),但事實上副作用也可以指那些「有益處、意料之外」的效果。 有時候,一些藥物的副作用反而成為醫生處方那些藥物的目的;在這種情況下,那些藥物的副作用不再是副作用,反而是藥物的主作用了。 例如:X輻射線/X光一直被用做醫學影像用途,人們原本把它的輻射線對人體產生的效果當成是副作用。但自從人們發現X輻射線/X光能夠用來治療腫瘤後,輻射線被應用為放射線療法。在醫學影像領域中被當成副作用的輻射線效果,在癌症治療上反而成了消滅贅生物的正作用了。.

新!!: Elixir和副作用 · 查看更多 »

Clojure

Clojure(發音類似"closure")是一套現代的Lisp語言的動態語言版。它是一个函数式多用途的语言。 Clojure可以執行於Java虛擬機,通用語言運行時以及JavaScript引擎之上。與其他Lisp一樣,Clojure認為同像性,同時擁有複雜的巨集。 Clojure最新的稳定版本是1.8,发布于2016年1月19日。第一个稳定版本1.0于2009年5月4日发布。 Clojure是一个在Eclipse公共许可证下发行的自由软件。目前其开发进程是社区主导的,在作者Rich Hickey以一个“终身的仁慈独裁者”的身份监督下进行。.

新!!: Elixir和Clojure · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: Elixir和编程语言 · 查看更多 »

Erlang

Erlang()是一種通用的----,它由喬·阿姆斯特朗(Joe Armstrong)在瑞典電信設備製造商愛立信所轄的電腦科學研究室開發,目的是創造一種可以應付大規模開發活動的--和執行環境。Erlang於1987年釋出正式版本,最早是愛立信擁有的私有軟體,經過十年的發展,於1998年發表開放源碼版本。 Erlang是運作於虛擬機的--,但是現在也包含有烏普薩拉大學高性能Erlang計劃(HiPE)開發的原生程式碼編譯器,自R11B-4版本開始,Erlang也支持--。在編程範型上,Erlang屬於多重典範程式語言,涵蓋函數式、--及--。循序執行的Erlang是一个及早求值, 單次賦值和--的函數式程式語言。.

新!!: Elixir和Erlang · 查看更多 »

類型系統

在计算机科学中,--系統用于定義如何將程式語言中的數值和zh:運算式;zh-tw:運算式;zh-cn:表达式-归類为许多不同的型別,如何操作这些型別,这些型別如何互相作用。型別可以确认一个值或者一组值具有特定的意义和目的(雖然某些型別,如抽象型別和--型別,在----中,可能不表示為值)。型別系統在各種語言之間有非常大的不同,也許,最主要的差異存在於編譯時期的語法,以及執行時期的操作实现方式。 編譯器可能使用值的靜態型別以最佳化所需的儲存區,並選取對值運算時的較佳演算法。例如,在許多C編譯器中,「浮點數」資料型別是以32 位元表示,與IEEE 754規格一致的單精度浮點數。因此,在數值運算上,C應用了浮點數規範(浮點數加法、乘法等等)。 型別的約束程度以及評估方法,影響了語言的型別。更進一步,程式語言可能就型別多態性部分,對每一個型別都對應了一個極度個別的演算法的運算。型別理論研究型別系統,儘管實際的程式語言型別系統,起源於電腦架構的實際問題、編譯器實作,以及語言設計。.

新!!: Elixir和類型系統 · 查看更多 »

表示式

表示式亦称表達式、運算式或數學表達式,在數學領域中是一些符號依據上下文的規則,有限而定義良好的組合。數學符號可用於標定數字(常量)、變量、操作、函數、括號、標點符號和分組,幫助確定操作順序以及有其它考量的邏輯語法。.

新!!: Elixir和表示式 · 查看更多 »

高阶函数

在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:.

新!!: Elixir和高阶函数 · 查看更多 »

递归

递归(Recursion),又译为--,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。也可以理解为自我复制的过程。.

新!!: Elixir和递归 · 查看更多 »

虛擬機器

虚拟机(virtual machine),在计算机科学中的体系结构裏,是指一种特殊的软件,可以在计算机平台和終端用戶之间建立一种环境,而終端用戶则是基于这个軟體所建立的环境来操作软件。.

新!!: Elixir和虛擬機器 · 查看更多 »

Ruby

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

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

Unicode

Unicode(萬國-)是電腦科學領域裡的一項業界標準。它对世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。 Unicode伴隨著通用字符集的標準而發展,同時也以書本的形式對外發表。Unicode至今仍在不斷增修,每個新版本都加入更多新的字符。目前最新的版本為2018年6月5日公布的11.0.0,已經收錄超過13萬個字符(第十萬個字符在2005年獲採納)。Unicode涵蓋的資料除了視覺上的字形、編碼方法、標準的字符編碼外,還包含了字符特性,如大小寫字母。 Unicode發展由非營利機構統一碼聯盟負責,該機構致力於讓Unicode方案取代既有的字符編碼方案。因為既有的方案往往空間非常有限,亦不適用於多語環境。 Unicode備受认可,並廣泛地應用於電腦軟體的國際化與本地化過程。有很多新科技,如可扩展置标语言(Extensible Markup Language,簡稱:XML)、Java程式語言以及現代的作業系統,都採用Unicode編碼。.

新!!: Elixir和Unicode · 查看更多 »

UTF-8

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,也是一种前缀码。它可以用來表示Unicode標準中的任何字元,且其編碼中的第一個位元組仍與ASCII相容,這使得原來處理ASCII字元的軟體無須或只須做少部份修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。 UTF-8使用一至六個位元組為每個字符編碼(尽管如此,2003年11月UTF-8被RFC 3629重新规范,只能使用原来Unicode定义的区域,U+0000到U+10FFFF,也就是说最多四個字节):.

新!!: Elixir和UTF-8 · 查看更多 »

惰性求值

在程式語言理論中,惰性求值(Lazy Evaluation),又譯為惰性计算、懒惰求值,也稱為傳需求調用(call-by-need),是一个计算机编程中的一个概念,它的目的是要最小化计算机要做的工作。它有两个相关而又有区别的含意,可以表示为“延迟求值”和“最小化求值”,本条目专注前者,后者请参见最小化计算条目。除可以得到性能的提升外,惰性计算的最重要的好处是它可以构造一个无限的数据类型。 惰性求值的相反是及早求值,这是一个大多数编程语言所拥有的普通计算方式。.

新!!: Elixir和惰性求值 · 查看更多 »

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