Elixir v1.4.0发布,函数式编程语言

jopen 5年前
   <p style="text-align: center;"><strong><img alt="" src="https://simg.open-open.com/show/33a2f4f61d4afed250b256b618ed4e69.jpg" /></strong></p>    <p> </p>    <p>Elixir 是一种函数式编程语言,建立在Erlang虚拟机之上。它是一种动态语言,灵活的语法与宏支持,利用Erlang的能力来构建并发、分布式、容错应用程序与热代码升级。</p>    <p style="text-align: center;"><img alt="Elixir 1.3 发布,函数式编程语言" src="file:///C:/Users/wzw/AppData/Local/Temp/enhtmlclip/Image(2).png" /><a href="https://simg.open-open.com/show/860f1174a2e835102d45d51fe7b0ec9a.png"><img alt="" src="https://simg.open-open.com/show/860f1174a2e835102d45d51fe7b0ec9a.png" /></a></p>    <h2>更新日志</h2>    <ul>     <li>[Calendar] Add <code>Date.compare/2</code>, <code>Time.compare/2</code>, <code>NaiveDateTime.compare/2</code> and<code>DateTime.compare/2</code></li>     <li>[Calendar] Support <code>NaiveDateTime.add/3</code> and <code>NaiveDateTime.diff/3</code> for adding seconds (up to microseconds) as well as the difference between two NaiveDateTimes in seconds (up to microseconds)</li>     <li>[Calendar] Add <code>Date.leap_year?/1</code> and <code>Date.day_of_week/1</code></li>     <li>[Calendar] Ensure <code>Date</code>, <code>Time</code> and <code>NaiveDateTime</code> APIs work with any struct that provides the same set of fields as their respective struct. For example, a <code>NaiveDateTime</code> can be given to <code>Date</code> since it contains a superset of the fields in the <code>Date</code> struct</li>     <li>[Enum] Add <code>Enum.map_every/2</code> that invokes the given function with every nth item</li>     <li>[Enum] Add <code>min/2</code>, <code>max/2</code>, <code>min_max/2</code>, <code>min_by/3</code>, <code>max_by/3</code>, and <code>min_max_by/3</code> that allow a function specifying the default value when the enumerable is empty</li>     <li>[Enum] Introduce <code>Enum.zip/1</code> to zip multiple entries at once</li>     <li>[Float] Introduce <code>Float.ratio/1</code> that returns a tuple with the numerator and denominator as integers to retrieve the given float</li>     <li>[GenServer] Log warn on default <code>handle_info/2</code> implementation</li>     <li>[Inspect] Support syntax coloring via the <code>:syntax_color</code> option</li>     <li>[Integer] <code>Integer.digits/2</code> now accepts negative integers</li>     <li>[Integer] Add <code>Integer.mod/2</code> and <code>Integer.floor_div/2</code></li>     <li>[IO] Add <code>:label</code> option to <code>IO.inspect/2</code> to help distinguish multiple <code>IO.inspect/2</code> calls.</li>     <li>[Kernel] Recognize merge conflict markers in source and provide a readable error message</li>     <li>[Kernel] Warn on unused module attributes</li>     <li>[Kernel] Improve compiler message on unexpected end of line</li>     <li>[Kernel] Raise <code>BadBooleanError</code> when a non-boolean is given on the left-hand side of <code>and</code>/<code>or</code></li>     <li>[List] Add <code>List.pop_at/3</code></li>     <li>[List] Add <code>List.myers_difference/2</code></li>     <li>[OptionParser] Expand multi-letter aliases in <code>OptionParser</code></li>     <li>[Process] Add <code>Process.send_after/4</code></li>     <li>[Process] Improve error messages on <code>Process.register/2</code> errors</li>     <li>[Registry] Add a local, decentralized and scalable key-value process storage</li>     <li>[Stream] Add <code>Stream.map_every/2</code> that invokes the given function with every nth item</li>     <li>[Stream] Introduce <code>Stream.zip/1</code> to lazily zip multiple entries at once</li>     <li>[String] Update to Unicode 9.0.0</li>     <li>[Task] Add <code>Task.async_stream/3</code> and <code>Task.async_stream/5</code> as well as the supervised versions<code>Task.Supervisor.async_stream/4</code> and <code>Task.Supervisor.async_stream/6</code></li>     <li>[URI] Allow 0 as URI scheme default port</li>     <li>[ExUnit.Diff] Use red or green background for whitespace-only diffs</li>     <li>[ExUnit.Doctest] Allow inspected structures with multiples lines and unicode characters in the doctest result</li>     <li>[ExUnit.Formatter] Replace lhs/rhs with left/right in the formatter for clarity</li>     <li>[IEx.Autocomplete] Stop appending a trailing dot when autocompleting modules in IEx</li>     <li>[IEx.Autocomplete] Support autocompletion for structs</li>     <li>[IEx.Autocomplete] Improve IEx autocomplete to support navigating map atom keys</li>     <li>[IEx.Helpers] <code>c/1</code> now compiles in memory by default to avoid common issue where <code>.beam</code> files remain at projects root directory</li>     <li>[IEx.Helpers] Add info about protocols in <code>i/1</code></li>     <li>[IEx.Server] Support interrupting IEx evaluation through the Ctrl+G prompt</li>     <li>[mix archive] Compress archive files built by <code>mix archive</code> as they are now unzipped during installation</li>     <li>[mix archive] Install from SCM</li>     <li>[mix compile] Automatically infer the list of applications for Mix projects</li>     <li>[mix cmd] Add the ability to specify one or more apps in <code>mix cmd</code></li>     <li>[mix deps] Warn if there are non-applications in the <code>apps</code> directory for umbrella projects</li>     <li>[mix deps] Add warning for invalid paths on <code>mix deps.clean</code></li>     <li>[mix deps] Add <code>Mix.Project.apps_paths</code> that returns the paths to children applications in umbrella projects</li>     <li>[mix deps] Add <code>MIX_REBAR</code> environment variable for overriding local rebar</li>     <li>[mix escript] Install from SCM</li>     <li>[mix new] Check directory existence in <code>mix new</code> and ask how to proceed if one exists</li>     <li>[mix new] Applications built with the <code>--sup</code> flag now have an individual module to work as application callback</li>     <li>[mix test] Add <code>--formatter</code> option to <code>mix test</code></li>     <li>[mix xref] Provide "did you mean?" suggestions for <code>mix xref</code></li>    </ul>    <p> </p>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958997656007891238" rel="nofollow"><strong>Docs.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958997656128847349" rel="nofollow"><strong>Precompiled.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958997656240014180" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958997656358101954" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>    <p>本站原创,转载时保留以下信息:<br /> 本文转自:深度开源(open-open.com)<br /> 原文地址:<a href="http://www.open-open.com/news/view/2e7be6e2">http://www.open-open.com/news/view/2e7be6e2</a></p>