Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-01-29 | compiler: Update inliner tests | Björn-Egil Dahlberg | |
2014-01-29 | compiler: Squash #c_map_pair_*{} to #c_map_pair{} | Björn-Egil Dahlberg | |
Simplify compiler internals and parsing of core format. | |||
2014-01-29 | compiler: Squash #k_map_pair_*{} to #k_map_pair{} | Björn-Egil Dahlberg | |
Simplify compiler internals for kernel passes. | |||
2014-01-29 | compiler: Fix term order compiler for maps | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Strengthen Map module with guards | Björn-Egil Dahlberg | |
This commit requires Map enabled bootstrap compiler. | |||
2014-01-28 | stdlib: Pretty print maps | Björn-Egil Dahlberg | |
Pretty printing behaviour mimic records. This commit requires Map enabled bootstrap compiler. | |||
2014-01-28 | stdlib: Remove bogus map() type | Björn-Egil Dahlberg | |
2014-01-28 | erts,stdlib: Change map module name to maps | Björn-Egil Dahlberg | |
Name conforms to EEP. | |||
2014-01-28 | erts,stdlib: Teach matchspec compiler map guards | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Fixup id_transform_SUITE | Björn-Egil Dahlberg | |
2014-01-28 | typer: Rename map() type to map_dict() | Björn-Egil Dahlberg | |
The name conflicted with builtin type map(). | |||
2014-01-28 | edoc: Add test for Maps in EDoc | Björn-Egil Dahlberg | |
2014-01-28 | edoc,syntax_tools: Teach Map understanding | Björn-Egil Dahlberg | |
2014-01-28 | dialyzer,hipe,stdlib: Add Maps understanding to Dialyzer | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Add Map module | Björn-Egil Dahlberg | |
The map type is set to term. | |||
2014-01-28 | stdlib: Update erl_scan_SUITE for ':=' and '=>' tokens | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Deny variables as keys and disallow ':=' in map construction | Björn-Egil Dahlberg | |
In the current iteration of Maps we should deny *any* variables in Map keys. | |||
2014-01-28 | stdlib: Teach erl_eval Maps ':=' exact operator | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Rename map pattern to proper name | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Add Maps types to cerl | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Format stacktrace on error | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Teach Maps to beam_disasm | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Fix v3_core for map update syntax | Björn-Egil Dahlberg | |
Make map update expressions safe, i.e. (foo())#{ k1 := 1 } | |||
2014-01-28 | compiler: Fix get_map_element bug with allocate | Bjö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-28 | compiler: Test Maps inlining | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Teach Maps understanding to inliner | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Implement different instructions for => and := | Björn Gustavsson | |
2014-01-28 | Pass the map pair operators through to the v3_codegen pass | Björn Gustavsson | |
2014-01-28 | sys_core_fold: Remove optimization that has become invalid | Björn Gustavsson | |
With the => and := operators for updating maps, this optimization is no longer valid. | |||
2014-01-28 | compiler: Implement support for exact Op in Maps | Bjö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-28 | Extend representation for maps in Core Erlang | Björn-Egil Dahlberg | |
2014-01-28 | Update erl_lint, erl_expand_records, sys_pre_expand for Maps | Björn-Egil Dahlberg | |
Update erlang lint and syntax expand for #{ K := V } | |||
2014-01-28 | stdlib: Fix erl_parse:parse_term/1 | Björn-Egil Dahlberg | |
Did not handle Maps. | |||
2014-01-28 | Extend erl_parse with two Op Map syntax | Bjö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-28 | Teach erl_scan to recognize ':=' | Björn-Egil Dahlberg | |
2014-01-28 | erl_eval: Add functions to interpreter for maps | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Update printing to handle Maps | Björn-Egil Dahlberg | |
2014-01-28 | erts: Add the type-testing guard BIF is_map/1 | Bjö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-28 | erts: Add the size-testing guard BIF map_size/1 | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Fix sorted keys in put_map instruction | Björn-Egil Dahlberg | |
All pairs in a Map needs to be in strict ascending key order. | |||
2014-01-28 | compiler: Fix multiple same keys | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Check for duplicate key literals in Map | Bjö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-28 | compiler: Handle literals, not just atoms, as keys in maps | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Fix no basic blocks for maps | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Fix stack register reordering | Björn-Egil Dahlberg | |
Can now handle {list [reg()]} elements in instructions. | |||
2014-01-28 | Implement support for maps in the compiler | Björn Gustavsson | |
To make it possible to build the entire OTP system, also define dummys for the instructions in ops.tab. | |||
2014-01-28 | Introduce a representation for maps in Core Erlang | Björn Gustavsson | |
2014-01-28 | Update erl_lint, erl_expand_records, sys_pre_expand for maps | Björn Gustavsson | |
2014-01-28 | Extend erl_parse with the new map syntax | Björn-Egil Dahlberg | |
Example how to match or construct: #{ K1 => V1, K2 => V2 } How to update: M#{ K => V } | |||
2014-01-28 | Teach erl_scan to recognize '=>' | Björn-Egil Dahlberg | |