From acea637e9c0cbdb460419eaba505ca02283ecd02 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?=
Date: Tue, 18 Mar 2014 16:14:54 +0100
Subject: doc: Descripe Maps type syntax
---
system/doc/reference_manual/typespec.xml | 12 ++++++++++++
1 file changed, 12 insertions(+)
(limited to 'system')
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 "Type information in record declarations" below.
+
+ Map types, both map() and #{ ... }, are considered experimental during OTP 17.
+ No type information of maps pairs, only the containing map types, are used by Dialyzer in OTP 17.
+