José Valim
b21a1f1f85
Disable warning of IEx commands via match_vars := apply
2017-07-10 02:13:26 +02:00
José Valim
73382f828b
Move match vars handling and warnings to elixir_expand
...
Signed-off-by: José Valim <jose.valim@plataformatec.com.br >
2017-07-07 16:11:40 +02:00
José Valim
76c533f30e
Ensure defaults and defoverridable work together, closes #6300
...
This commit changes the private super implementation to have
a tuple with the {kind, name} as first argument.
2017-07-06 15:47:56 +02:00
José Valim
2eb8490f9a
Add prematch_vars
2017-02-23 10:43:09 +01:00
Aleksei Magusev
a729847db6
Rename m/2 helper macro to key/2 in the main header file
2017-02-19 21:56:05 +01:00
José Valim
e7e0d512ff
Move erlang modules to new erl namespace
2017-02-19 20:20:59 +01:00
José Valim
ad7642b7d6
Perform map_key check on elixir_exp
2017-02-15 20:44:06 +01:00
José Valim
4728c562db
Move &1 check to expansion pass
2017-02-15 17:07:07 +01:00
José Valim
11537b4c11
Remove unused elixir_scope fields
2017-02-14 14:38:35 +01:00
Eksperimental
31822b42f0
Properly spell PID ( #4883 )
2016-06-25 09:03:35 +02:00
José Valim
6128444f4b
Move more items away from ord* when possible
2015-10-19 12:19:15 +02:00
José Valim
5b88ef22d2
Move internal vars and backup vars from orddict to maps
2015-10-18 23:32:28 +02:00
eksperimental
61675c3ea8
Add space after comma: Format consistently
2015-03-17 22:55:27 +07:00
José Valim
a7dbfd1e82
Remove broken and unfixable delegate_locals_to implementation
2015-01-06 23:34:08 +01:00
José Valim
c435dbe38d
Convert #elixir_env to a struct too
2014-04-30 16:32:13 +02:00
José Valim
e5c13e6dd2
Convert Macro.Env to a struct
2014-04-30 15:07:50 +02:00
José Valim
56f15d9f4e
Do not add spaces after { and before }
...
This makes the source code consistent with the result
returned by inspect/2.
2014-04-21 19:06:35 +02:00
José Valim
8e38540470
Support :into in for comprehensions
2014-02-17 14:24:17 +01:00
José Valim
79faa1f706
Do not export case and receive vars
2014-01-04 10:45:13 +01:00
José Valim
2a6940014a
Move environment cache to locals tracker, which is per module
2014-01-02 20:44:32 +01:00
José + Eric
2a1941112e
Cache the environment for function definition
...
This speeds up compilation and reduces memory consumption. For
example, Ecto test suite consumes consistently 30% less memory
and loads 20% faster.
2014-01-02 18:10:59 +01:00
José Valim
1c4b759c4e
Bring back no name and simplify var merging
2014-01-01 12:22:49 +01:00
José Valim
9cd56804ea
Use a main counter for hygienic variables
2013-12-31 14:20:24 +01:00
José Valim
77aca31ffe
Remove expansion counter
2013-12-31 10:40:04 +01:00
José Valim
dc63e25995
Simplify erlang translation var building
2013-12-30 14:33:14 +01:00
José Valim
83c93beaa6
Get rid of environment macro counter in favor of a global one
2013-12-30 11:45:23 +01:00
José Valim
254065d3c4
Clean up synax_error, asstions and merge mechanisms
2013-12-29 14:22:45 +01:00
José Valim
29b38ab9e0
Discard old dispatch
2013-12-29 12:23:38 +01:00
José Valim
c4419268b8
Move module compilation to rely on elixir_exp
2013-12-28 15:01:31 +01:00
José Valim
574e92fc57
Also expand binaries
2013-12-27 15:52:17 +01:00
José Valim
219ded1b91
Rename DispatchTracker to LocalsTracker
2013-12-22 09:20:41 +01:00
José Valim
bb05011dca
Expand quote
2013-12-19 20:42:33 +01:00
José Valim
c296e62543
Expand tuples and other special forms
2013-12-19 15:58:13 +01:00
José Valim
8847f8ed68
Start locals expansion
2013-12-19 15:33:13 +01:00
José Valim
613298c4ab
Add variables expansion
2013-12-18 12:32:40 +01:00
José Valim
f62c26b9b6
Ensure record aliases in the same quote can be accessed, closes #1915
...
This commit also simplifies macro expansion for both imports and aliases
to always give higher preference to the macro environment rather than
the caller one, if such is available. The deal is to simplify both the
code and understanding of how macros work.
2013-12-07 20:01:11 +01:00
José Valim
be71239b7c
Move more code to Elixir land, simplify serialization
2013-11-24 13:28:50 +01:00
José Valim
7d26bfbfad
Move remaining functions to elixir_env
2013-11-22 23:13:26 +01:00