aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2014-01-29compiler: Update inliner testsBjörn-Egil Dahlberg
2014-01-29compiler: Squash #c_map_pair_*{} to #c_map_pair{}Björn-Egil Dahlberg
Simplify compiler internals and parsing of core format.
2014-01-29compiler: Squash #k_map_pair_*{} to #k_map_pair{}Björn-Egil Dahlberg
Simplify compiler internals for kernel passes.
2014-01-29compiler: Fix term order compiler for mapsBjörn-Egil Dahlberg
2014-01-28stdlib: Strengthen Map module with guardsBjörn-Egil Dahlberg
This commit requires Map enabled bootstrap compiler.
2014-01-28stdlib: Pretty print mapsBjörn-Egil Dahlberg
Pretty printing behaviour mimic records. This commit requires Map enabled bootstrap compiler.
2014-01-28stdlib: Remove bogus map() typeBjörn-Egil Dahlberg
2014-01-28erts,stdlib: Change map module name to mapsBjörn-Egil Dahlberg
Name conforms to EEP.
2014-01-28erts,stdlib: Teach matchspec compiler map guardsBjörn-Egil Dahlberg
2014-01-28stdlib: Fixup id_transform_SUITEBjörn-Egil Dahlberg
2014-01-28typer: Rename map() type to map_dict()Björn-Egil Dahlberg
The name conflicted with builtin type map().
2014-01-28edoc: Add test for Maps in EDocBjörn-Egil Dahlberg
2014-01-28edoc,syntax_tools: Teach Map understandingBjörn-Egil Dahlberg
2014-01-28dialyzer,hipe,stdlib: Add Maps understanding to DialyzerBjörn-Egil Dahlberg
2014-01-28stdlib: Add Map moduleBjörn-Egil Dahlberg
The map type is set to term.
2014-01-28stdlib: Update erl_scan_SUITE for ':=' and '=>' tokensBjörn-Egil Dahlberg
2014-01-28stdlib: Deny variables as keys and disallow ':=' in map constructionBjörn-Egil Dahlberg
In the current iteration of Maps we should deny *any* variables in Map keys.
2014-01-28stdlib: Teach erl_eval Maps ':=' exact operatorBjörn-Egil Dahlberg
2014-01-28compiler: Rename map pattern to proper nameBjörn-Egil Dahlberg
2014-01-28compiler: Add Maps types to cerlBjörn-Egil Dahlberg
2014-01-28compiler: Format stacktrace on errorBjörn-Egil Dahlberg
2014-01-28compiler: Teach Maps to beam_disasmBjörn-Egil Dahlberg
2014-01-28compiler: Fix v3_core for map update syntaxBjörn-Egil Dahlberg
Make map update expressions safe, i.e. (foo())#{ k1 := 1 }
2014-01-28compiler: Fix get_map_element bug with allocateBjörn-Egil Dahlberg
The instruction get_map_element has a faillabel so you may not use the instruction within a allocate/deallocate block.
2014-01-28compiler: Test Maps inliningBjörn-Egil Dahlberg
2014-01-28compiler: Teach Maps understanding to inlinerBjörn-Egil Dahlberg
2014-01-28compiler: Implement different instructions for => and :=Björn Gustavsson
2014-01-28Pass the map pair operators through to the v3_codegen passBjörn Gustavsson
2014-01-28sys_core_fold: Remove optimization that has become invalidBjörn Gustavsson
With the => and := operators for updating maps, this optimization is no longer valid.
2014-01-28compiler: Implement support for exact Op in MapsBjörn-Egil Dahlberg
The syntax is handled upto v3_kernel where it is reduced to previous behaviour for construction and updates. Meaning, the ':=' operator is handled exactly as '=>' operator.
2014-01-28Extend representation for maps in Core ErlangBjörn-Egil Dahlberg
2014-01-28Update erl_lint, erl_expand_records, sys_pre_expand for MapsBjörn-Egil Dahlberg
Update erlang lint and syntax expand for #{ K := V }
2014-01-28stdlib: Fix erl_parse:parse_term/1Björn-Egil Dahlberg
Did not handle Maps.
2014-01-28Extend erl_parse with two Op Map syntaxBjörn-Egil Dahlberg
Example how to construct: #{ K1 => V1, K2 => V2 } How to update: M#{ K1 => V1, K2 := V2 } How to match: #{ K1 := V1, K2 := V2 } = M
2014-01-28Teach erl_scan to recognize ':='Björn-Egil Dahlberg
2014-01-28erl_eval: Add functions to interpreter for mapsBjörn-Egil Dahlberg
2014-01-28stdlib: Update printing to handle MapsBjörn-Egil Dahlberg
2014-01-28erts: Add the type-testing guard BIF is_map/1Björn-Egil Dahlberg
To add a type-testing guard BIF, the following steps are needed: * The BIF itself is added to bif.tab (note that it should be declared using "ubif", not "bif"), and its implementation to erl_bif_op.c. * erl_internal must be modified in 3 places: The type test must be recognized as guard BIF, as a type test, and it must be auto-imported. * There must be an instruction that implements the same type test as the BIF (it will be used in guards). beam_utils:bif_to_test/3 must be updated to recognize the new guard BIF.
2014-01-28erts: Add the size-testing guard BIF map_size/1Björn-Egil Dahlberg
2014-01-28compiler: Fix sorted keys in put_map instructionBjörn-Egil Dahlberg
All pairs in a Map needs to be in strict ascending key order.
2014-01-28compiler: Fix multiple same keysBjörn-Egil Dahlberg
2014-01-28compiler: Check for duplicate key literals in MapBjörn-Egil Dahlberg
If a literal key already is present in a Map update the latter should be used. Warn for previous duplicates in the Map.
2014-01-28compiler: Handle literals, not just atoms, as keys in mapsBjörn-Egil Dahlberg
2014-01-28compiler: Fix no basic blocks for mapsBjörn-Egil Dahlberg
2014-01-28compiler: Fix stack register reorderingBjörn-Egil Dahlberg
Can now handle {list [reg()]} elements in instructions.
2014-01-28Implement support for maps in the compilerBjörn Gustavsson
To make it possible to build the entire OTP system, also define dummys for the instructions in ops.tab.
2014-01-28Introduce a representation for maps in Core ErlangBjörn Gustavsson
2014-01-28Update erl_lint, erl_expand_records, sys_pre_expand for mapsBjörn Gustavsson
2014-01-28Extend erl_parse with the new map syntaxBjörn-Egil Dahlberg
Example how to match or construct: #{ K1 => V1, K2 => V2 } How to update: M#{ K => V }
2014-01-28Teach erl_scan to recognize '=>'Björn-Egil Dahlberg