View Problem

Define an initial map

Define the map {circle:1, triangle:3, square:4}
ExpandDiskEdit
fsharp
let shapes = Map.ofList [("circle", 1); ("triangle", 3); ("square", 4)]
ExpandDiskEdit
fsharp
let shapes = Map.empty.Add("circle", 1).Add("triangle", 3).Add("square", 4)
ExpandDiskEdit
fsharp
let shapes = new Generic.Dictionary<string, int>()
shapes.Add("circle", 1)
shapes.Add("triangle", 3)
shapes.Add("square", 4)
DiskEdit
fsharp
let shapes = Map [("circle", 1); ("triangle", 3); ("square", 4)]
ExpandDiskEdit
erlang
Map = dict:from_list([{circle, 1}, {triangle, 3}, {square, 4}]),
ExpandDiskEdit
erlang
Map0 = dict:new(),

% Erlang variables are 'single-assignment' i.e. they cannot be reassigned
Map1 = dict:store(circle, 1, Map0),
Map2 = dict:store(triangle, 3, Map1),
Map3 = dict:store(square, 4, Map2),
ExpandDiskEdit
erlang
Map0 = gb_trees:empty(),

Map1 = gb_trees:enter(circle, 1, Map0),
Map2 = gb_trees:enter(triangle, 3, Map1),
Map3 = gb_trees:enter(square, 4, Map2),
ExpandDiskEdit
erlang
Map = gb_trees:from_orddict(lists:keysort(1, [{circle, 1}, {triangle, 3}, {square, 4}])),
ExpandDiskEdit
erlang
Map = ets:new(the_map_name, [ordered_set, private, {keypos, 1}]),
ets:insert(Map, [{circle, 1}, {triangle, 3}, {square, 4}]),

Submit a new solution for fsharp or erlang
There are 24 other solutions in additional languages (clojure, cpp, fantom, go ...)