José Valim
ebe522ec50
Tighten up the grammar rules regarding parentheses omission
...
Prior to this commit, Elixir allowed too many ambiguous calls
by ommitting the parentheses:
do_something 1, is_list [], 3
[1, is_atom :foo, 3]
Both cases above would lead to a compilation error, as an attempt
to call is_list/2 and is_atom/2 would happen. Those examples will
now raise a syntax error, pointing to the ambiguous location.
We have disallowed such examples throughout the language with
the exception of one argument calls:
assert is_list []
Examples as above are extremely frequent and were kept as is.
2013-07-04 18:48:55 +02:00
José Valim
cdd8e5862d
Rename the ExUnit option from debug to trace
2013-07-01 16:41:34 +02:00
José Valim
3bac4ddec6
Support --debug on internal tests which are not run through mix
2013-07-01 14:20:33 +02:00
Rafael Mendonça França
7cdc25538e
Uniform use of whitespace after commas on codebase
...
This make easier to read and also follow some standard in the code
2013-06-15 16:52:48 -03:00
Yuki Ito
961099746e
Implicit super arguments is deprecated
2013-06-13 00:42:34 +09:00
José Valim
6d2569ff9b
Merge pull request #1023 from alco/eex-unicode
...
Add support for unicode to EEx.Tokenizer
2013-05-06 16:21:56 -07:00
Alexei Sholik
ce39f23388
Add support for unicode to EEx.Tokenizer
2013-05-07 02:14:48 +03:00
José Valim
cbe82e0912
Add __DIR__, closes #1019
2013-05-06 11:03:37 -06:00
José Valim
8994feb0a3
Fix unused vars warnings
2013-02-02 13:33:00 -07:00
José Valim
4d3d61e173
Deprecate :local.(args) syntax
2013-01-28 21:21:18 -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
fda6f0ce09
Move path related functions from File to Path
2013-01-19 09:36:03 -07:00
José Valim
9b3d851a9c
Deprecate record default-based generated functions
2012-12-01 11:14:45 +01:00
José Valim
4f3e66cdfd
Refactor elixir_tokenizer scope options
2012-10-18 14:46:54 +02:00
Yurii Rashkovskii
435c4615d1
Make tokenizer be able to limit atoms to existing atoms only
2012-10-18 13:10:35 +02:00
José Valim
626ed9532b
Erlang. syntax is deprecated in favor of simply using atoms
2012-10-05 17:08:22 -07:00
José Valim
adbe6fc3b6
Support <%% and <%# in EEx, closes #287
2012-10-03 21:42:10 -07:00
José Valim
c63a07f928
Now we employ consistently zero-based indexes, closes #459
2012-09-10 10:39:21 +02:00
José Valim
fe381f970e
Break IEx into its own application
2012-09-06 13:50:51 +02:00
José Valim
68828d2b49
Code.require_file and Code.load_file now expect the full name as argument
2012-08-21 11:21:21 -03:00
José Valim
bc4918ee0d
Ensure quoted variables are properly carried in clauses
2012-08-17 11:11:04 -03:00
José Valim
a00c64681d
Add Enum.reverse
2012-08-09 08:53:48 -03:00
José Valim
d857b7b3f5
MixFile -> Mixfile
2012-07-31 15:37:04 +02:00
José Valim
72dd2507b0
Initial work on mix new
2012-07-25 10:34:44 +02:00
José Valim
61a27d1be6
Remove the need for special <& &> tags, closes #393
2012-07-21 18:40:57 +02:00
José Valim
cc99da19dc
Simplify EEx.Tokenizer
2012-07-20 23:04:05 +02:00
José Valim
c9756b55f2
Add run and deps.loadpaths to mix
2012-07-19 16:00:31 +02:00
José Valim
ba17e8ac78
Use mix to generate .app files
2012-07-19 08:38:26 +02:00
José Valim
2c396b9cc1
Make the default for ExUnit case to be sync
2012-07-16 15:29:28 +02:00
José Valim
d59f2f9e16
Allow env as a @file argument
2012-07-09 23:04:21 +02:00
José Valim
d5031b6347
Move all code to erlang style apps
2012-07-05 20:20:16 +02:00
José Valim
ebe7f6d226
Split eex from kernel
2012-07-04 22:13:00 +02:00
José Valim
77d018758b
Move Elixir's kernel to lib/kernel
2012-07-04 18:52:40 +02:00
José Valim
ab61e6f95c
Provide ranges and support them in the in operator
2012-06-18 21:49:38 +02:00
José Valim
e51bc9e5aa
Change comprehensions syntax to be more compatible with Erlang behavior, closes #335
2012-06-06 12:27:28 +02:00
José Valim
aaf6c91e0e
Rewrite use in Elixir, force it to rely on __CALLER__
2012-05-28 13:23:04 +02:00
José Valim
1b22d34749
Implement EEx rules
2012-05-18 14:52:07 +02:00
José Valim
6029467073
Fix EEx (currently it does not support functions)
2012-05-13 22:00:53 +02:00
José Valim
e476a5ef0d
Stab at new syntax
2012-05-13 15:33:57 +02:00
José Valim
245c9788ce
Docs for EEx
2012-05-08 10:57:34 +02:00
José Valim
7301733970
Do not hardcode blocks to use = as marker
2012-05-05 11:29:32 +02:00
José Valim
2dbbd24162
Add EEx.SmartEngine that can handle assigns and for loops
...
This engine is used by default by EEx. We have also added support
to Enum.map_join in order to make the loop implementation easier.
2012-05-03 12:04:33 +02:00
José Valim
b302daf29b
Add behavior info to EEx.Engine
2012-05-01 11:34:37 +02:00
José Valim
e4f13fc925
Change EEx API to accept a list of options instead of many arguments
2012-05-01 11:32:33 +02:00
José Valim
ca7b8c9851
Add keyfind, keymember? and keydelete to List
2012-05-01 11:24:02 +02:00
José Valim
fae2cec52f
Add support to in as operator
2012-04-30 11:25:07 +02:00
José Valim
d297d2c768
Rename elixir_kv_block to elixir_kw_block, closes #270
2012-04-29 13:40:52 +02:00
José Valim
96f26c9299
Rename Orddict to Keyword, closes #216 .
2012-04-01 16:10:31 +02:00
José Valim
d815788c52
Compile files using . and inside __MAIN__
2012-03-25 18:48:20 +02:00
Rafael Mendonça França
75c69d83bf
EEx now receives the filename and the line
2012-03-16 15:43:08 -03:00