[Erlang 0121] 当我们谈论Erlang Maps时,我们谈论什么 Part 3

简介: Erlang/OTP 17.0 has been released  http://www.erlang.org/download/otp_src_17.0.readme     Erlang/OTP 17.
Erlang/OTP 17.0 has been released 
 
  Erlang/OTP 17.0发布了,不过Maps相关的设计还没有尘埃落定,目前:

             With Maps you may for instance:

              -- M0 = #{ a => 1, b => 2}, % create associations

              -- M1 = M0#{ a := 10 }, % update values

              -- M2 = M1#{ "hi" => "hello"}, % add new associations

              -- #{ "hi" := V1, a := V2, b := V3} = M2. % match keys with
              values

              For information on how to use Maps please see the Reference
              Manual.

              The current implementation is without the following features:

              -- No variable keys

              -- No single value access

              -- No map comprehensions

              Note that Maps is experimental during OTP 17.0.
 
 
另外有一个不兼容的情况: OTP-11782  == erts ==
 The external format for Maps has changed in a way that is not  compatible with the format used in OTP 17.0-rc1 and OTP  17.0-rc2.
 
在这里查看详情:
 
Change the subtag used for maps from 0xB to 0xF
 
Maps 模块对应的文档位置

http://erlang.org/doc/man/maps.html

 
占坑,后续变动将在此更新.
 
Learn You Some Erlang 对Maps内容的增补章节 
 
 顺便补几张图:
 
上面的图看不懂?可以参考下面这篇论文,其中简要介绍了Erlang的Tag-Scheme,或者可以去看下本文的第一篇 http://www.cnblogs.com/me-sa/p/when_we_talk_about_erlang_maps_1.html
 
On Preserving Term Sharing in the Erlang Virtual Machine
摘要:In this paper we describe our experiences and argue through examples why flattening terms during copying is not a good idea for
a language like Erlang. More importantly, we propose a sharing preserving copying mechanism for Erlang/OTP and describe a pub-
licly available complete implementation of this mechanism. 
 



本文转自博客园坚强2002的博客,原文链接:

http://www.cnblogs.com/me-sa/p/erlang_maps_part_3.html如需转载请自行联系原博主。

 
目录
相关文章
|
人工智能 C# C++
2019年3月TIOBE编程语言排名: Python和Visual Basic .NET、c++引领增长
本月TIOBE指数几乎没有任何有趣的变化。我们不得不使用我们的放大镜来发现一些新闻,即Powershell进入了TIOBE索引前50名.Powershell脚本语言已经超过12年了,它已经进入前50名。
[Erlang 0127] Term sharing in Erlang/OTP 上篇
之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文:  On Preserving Term Sharing in the Erlang Virtual Machine地址: http://user.
1283 0
|
C#
[Erlang 0112] Elixir Protocols
Why Elixir        为什么要学习Elixir?答案很简单,为了更好的学习Erlang.这么无厘头的理由?      Erlang语法设计几乎没有考虑过取悦开发者,所以学习之初的门槛略高.
1170 0