欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Elixir
来自开放百科 - 灰狐
您可以在Wikipedia上了解到此条目的英文信息 Elixir Thanks, Wikipedia. |
Elixir 是一个基于 Erlang 虚拟机的函数式、面向并行的通用编程语言(Apache v2许可协议)。Elixir 以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发,同时亦对其进行扩展使之借助宏实现元编程,并通过协议支持多态。
目录 |
简介
Elixir语言的核心由Erlang编写。
新闻
版本
- Elixir 2.0 没有新的计划,也许到了该放假的时候。如果你想为 Elixir 做贡献,请参与 Erlang。
- Elixir v1.12 requires Erlang 22.0 or later.
特性
- 基于 Erlang 虚拟机(BEAM)之上;
- 与 Erlang 语言的无缝衔接,与 Erlang 的互调几乎无任何额外开销;
- 基于宏的元编程能力,语言的抽象语法树作为头等公民;
- 基于协议的多态实现,启发自Clojure;
- 完善的文档支持;
- 通过消息传递(参与者模式)支持 Shared-nothing 并行事务;
- 强调利用递归和高阶函数的函数式编程胜过基于副作用和循环的命令式编程;
- 一切均为表达式;
- 惰性求值,拥有诸如 futures 和 promises 一类的异步流数据类型;
- 模式匹配;
- Unicode 支持,UTF-8 字符串。
6 Reasons Why Elixir Is Better Than Ruby
指南
下载安装包
Elixir Packages Download
OS X
brew install elixir brew upgrade elixir 或者 sudo port install elixir // MacPorts elixir 包
Linux
yum install elixir sudo apt-get install elixir
FreeBSD
pkg install elixir
交互
elixir -v iex iex> 1 + 1 2 iex> "hello" <> " world" "hello world"
脚本
$ vim simple.exs IO.puts "Hello world from Elixir" $ elixir simple.exs Hello world from Elixir
Emacs
项目
- Awesome Elixir
- erlang ecosystem
- phoenix framework
- Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency.
- ExMachina Create test data for Elixir applications
- ElixirScript Converts Elixir to JavaScript
- openmaize Authentication library for Plug-based applications in Elixir
- Maru Elixir RESTful Framework
- JSON Web Token
- MongoDB driver for Elixir
- ExCrypto
- elixir-bson BSON implementation for Elixir Language
- GraphQL Elixir
- APNS for Elixir
- Elixir library to send pushes through GCM
- pigeon iOS and Android push notifications for Elixir
- rethinkdb-elixir RethinkDB driver for Elixir
- KafkaEx Apache Kafka client for Elixir/Erlang.
- imagineer Image parsing in Elixir, No external dependencies.
- HashRing A consistent hash ring implemention for Elixir
- Tentacat Simple Elixir wrapper for the GitHub API.
- PlugStatsd Send connection response time and count to statsd
- Nerves Create firmware for embedded devices like Raspberry Pi, BeagleBone Black, and more
- Supabase Realtime Listen to your to PostgreSQL database in realtime via WebSocket. Built with Elixir.
文档
用户
图集
链接
分享您的观点