Erlang/OTP v19.0.1 发布

jopen 4年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/4f325ef346b07fe5139af2f4b8d983a9.png" /></p>    <p>OTP 是包装在Erlang中的一组库程序。OTP构成Erlang的行为机制(behaviours),用于编写服务器、有限状态机、事件管理器。不仅如此,OTP的应用行为(the application behavior)允许程序员把写好的Erlang代码打包成一个单独的应用程序;监测行为(the supervisor behavior )允许程序员创建有层次结构的进程,使得某个进程死后,会重新启动复活。</p>    <p>OTP提供大量通用的库程序,用以轻松创建具有高度容错、热机换码等功能的高质高效的程序。主要特点:</p>    <ul>     <li>通用服务器、有限状态机、事件管理器;</li>     <li>标准化应用程序结构;</li>     <li>代码热机更换;</li>     <li>监测树行为机制,让你的进程永不停摆。</li>    </ul>    <h2>更新日志 </h2>    <ul>     <li>compiler, stdlib:      <ul>       <li>New preprocessor macros <strong>?FUNCTION_NAME, ?FUNCTION_ARITY</strong></li>       <li>New preprocessor directives -error(Term) and -warning(Term) to cause a compilation error or warning, respectively.</li>      </ul> </li>    </ul>    <ul>     <li><strong>gen_statem</strong> a new state machine behavior</li>     <li><strong>mnesia_ext</strong>: plugin of external storage solutions to mnesia</li>     <li><strong>crypto</strong>: uses EVP interface in OpenSSL resulting in generally better performance and support for HW acceleration</li>     <li><strong>ssh</strong>: performance improvements, uses the new gen_statem behavior</li>     <li><strong>ssl</strong>: enhanced error log messages</li>     <li><strong>dialyzer</strong>: the support for maps is very much extended both the type specification syntax and the type analysis.</li>     <li><strong>erts</strong>:      <ul>       <li>erlang:open_port(spawn, ...) 3-5 times faster</li>       <li>tracing, extensive improvements (scalability, speed, match specifications on send/receive, support for lttng, ...)</li>       <li>dirty schedulers improved</li>       <li>per process configurable handling of message_queue</li>       <li>fast loading of multiple modules</li>       <li>max_heap_size process flag</li>      </ul> </li>     <li><strong>erts/kernel:</strong>      <ul>       <li><code>Experimental support for Unix Domain Sockets</code><br /> <code>Example: </code><code>gen_udp:open(0, [{ifaddr,{local,"/tmp/socket"}}])</code></li>      </ul> </li>     <li>and much more ....</li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958991843707892005" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958991843832679686" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>