aboutsummaryrefslogtreecommitdiffstats
path: root/system/doc/reference_manual/typespec.xml
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2014-04-01 11:49:56 +0200
committerBjörn-Egil Dahlberg <[email protected]>2014-04-01 11:49:56 +0200
commitac1f6ffb557c5e702722e8b74f616c55cee2cee3 (patch)
tree1ece5d726543c0cd49d005fdb16d36b11481c5e4 /system/doc/reference_manual/typespec.xml
parent3ccf4a77ee8ff4ca86ec2c46c2645607c094e800 (diff)
parentfbb05239aeccc400aa4e4a359a3fb81ef555e441 (diff)
downloadotp-ac1f6ffb557c5e702722e8b74f616c55cee2cee3.tar.gz
otp-ac1f6ffb557c5e702722e8b74f616c55cee2cee3.tar.bz2
otp-ac1f6ffb557c5e702722e8b74f616c55cee2cee3.zip
Merge branch 'egil/maps-doc'
* egil/maps-doc: doc: Add Maps example for sequential programming doc: Mention map expressions and map guards doc: Add maps to reference manual edoc: Add map/0 as a new predefined type doc: Descripe Maps type syntax doc: Clearify language of user-defined attributes doc: Document Maps datatype in reference manual erts: Document map guard functions erts: Fix is_map/1 spec
Diffstat (limited to 'system/doc/reference_manual/typespec.xml')
-rw-r--r--system/doc/reference_manual/typespec.xml12
1 files changed, 12 insertions, 0 deletions
diff --git a/system/doc/reference_manual/typespec.xml b/system/doc/reference_manual/typespec.xml
index 71aec732cf..cc35c6eb21 100644
--- a/system/doc/reference_manual/typespec.xml
+++ b/system/doc/reference_manual/typespec.xml
@@ -100,6 +100,7 @@
| Fun
| Integer
| List
+ | Map
| Tuple
| Union
| UserDefined %% described in Section 6.3
@@ -126,10 +127,17 @@
| nonempty_improper_list(Type1, Type2) %% Type1 and Type2 as above
| nonempty_list(Type) %% Proper non-empty list
+ Map :: map() %% stands for a map of any size
+ | #{} %% stands for a map of any size
+ | #{PairList}
+
Tuple :: tuple() %% stands for a tuple of any size
| {}
| {TList}
+ PairList :: Type => Type
+ | Type => Type, PairList
+
TList :: Type
| Type, TList
@@ -275,6 +283,10 @@
Records have been extended to possibly contain type information.
This is described in the sub-section <seealso marker="#typeinrecords">"Type information in record declarations"</seealso> below.
</p>
+ <note>
+ <p>Map types, both <c>map()</c> and <c>#{ ... }</c>, are considered experimental during OTP 17.</p>
+ <p>No type information of maps pairs, only the containing map types, are used by Dialyzer in OTP 17.</p>
+ </note>
</section>
<section>