José Valim
f4aed8e873
Reduce vars footprint in case/receive clauses
2013-02-02 13:20:59 -07:00
José Valim
008ee62f8b
Take into account Erlang may pass line numbers as none
2013-02-02 09:00:43 -07:00
José Valim
89cbe93bba
The AST now allows metadata to be attached to each node
...
This means the second item in the AST is no longer an integer
(representing the line), but a keywords list. Code that relies
on the line information from AST or that manually generate AST
nodes need to be properly updated.
2013-01-21 15:42:03 -07:00
José Valim
ec68b7dd8a
Compile specs and callbacks to @spec and @callback so they are easier to access
2012-11-05 10:26:02 +01:00
José Valim
8b981efecd
Improve shadowed variable warning
2012-11-03 09:15:46 +01:00
José Valim
01f9518899
Keep user's given name when rebinding variables
...
The following code:
counter = 1
counter = 2
Is now rewritten internally to:
counter = 1
counter@1 = 2
Which gives us a couple things:
1. Better debugging
2. We can now show warnings for rebound variables not used
Elixir also keeps `_@` prefix to store internal variables
(for example, `_@1`, `_@MODULE`, etc).
Closes #607 .
2012-11-01 12:37:08 +01:00
Yurii Rashkovskii
4906fac3cf
Remove dialyzer warnings from elixir_errors
2012-10-31 06:05:57 -07:00
José Valim
d75fb11dc4
Disable internal as soon as core is fully compiled
...
This allows us to compile callbacks for the following
modules, which would trigger missing behaviour warnings
otherwise.
2012-10-28 22:33:13 +01:00
Yurii Rashkovskii
baa28932f9
Keywords are no longer sorted
2012-10-17 00:06:41 -07:00
ILYA Khlopotov
3c1b93f514
Fixing bug introduced in 'Protocols are powered by behaviours...'( 11f934b)
2012-10-12 10:53:49 -07:00
José Valim
11f934b74a
Protocols are powered by behaviours behind the scenes
2012-10-08 20:13:45 +02:00
José Valim
30e86ccf07
Optimize if/cond clauses when possible, rely more on erl warnings
2012-07-26 11:21:06 +02:00
José Valim
117d09509c
Rename __MAIN__ to Elixir, closes #390
2012-07-22 12:49:36 +02:00
José Valim
9a6d15af53
Warn when unsupported macro is invoked inside guards
2012-07-20 17:53:34 +02:00
José Valim
49501ef59e
Improve error messages with terminators
2012-07-20 13:04:33 +02:00
José Valim
90650b334e
Improve error messages for unterminated strings, sigils and heredocs
2012-07-20 11:38:49 +02:00
José Valim
ea1b07e81e
Do not automatically forward tasks, move some logic to Mix.SCM
2012-07-19 18:18:12 +02:00
José Valim
6c5b3134af
Add function_exported?, improve warnings for behaviors
2012-07-16 15:29:29 +02:00
José Valim
1b4603160c
Add elixir's parse transform to be used with erlang code
2012-07-12 11:29:46 +02:00
José Valim
d5031b6347
Move all code to erlang style apps
2012-07-05 20:20:16 +02:00