Commit Graph
1830 Commits
Author SHA1 Message Date
José Valim e7c0a2a3a7 Merge pull request #1403 from devinus/raise-on-unsupported-dictset
Raise an error when Dict/Set doesn't support the target
2013-07-09 14:13:02 -07:00
Devin Torres f808da8ffb Raise an error when Dict/Set doesn't support the target 2013-07-09 16:04:48 -05:00
José Valim 290403f7d7 Check the key on register_attribute 2013-07-09 21:24:25 +02:00
José Valim 88ac1f6a7b Improve coverage for lexical scope on try and case 2013-07-09 14:24:57 +02:00
José Valim ad3cf4e451 Merge pull request #1395 from devinus/split-empty-string
String.split("") should be [""], %w() should be []
2013-07-08 23:44:01 -07:00
John Warwick 3c3cf143e7 Fixed legacy typos in Kernel 2013-07-08 23:24:56 -04:00
John Warwick 45454ebaf0 Fixed typos in Record docs 2013-07-08 22:59:49 -04:00
John Warwick e321550127 Fixed typos in Kernel docs 2013-07-08 22:39:14 -04:00
José Valim 2dc1e41aca Pretty printer now prints grouped elements in the same line, closes #1383
This implementation slightly changes the semantic of Lindig's algorithm
to allow elements that belong to the same group to be printed together
in the same line, even if they do not fit the line fully. This was achieved
by changing `:break` to mean a possible break and `:flat` to force a flat
structure. Then deciding if a break works as a newline is just a matter
of checking if we have enough space until the next break that is not
inside a group (which is still flat).
2013-07-09 02:24:59 +02:00
Devin Torres 74c82f8590 String.split("") should be [""], %w() should be [] 2013-07-08 17:48:18 -05:00
José Valim 63cfe89096 Improve types for Stream 2013-07-08 22:32:04 +02:00
José Valim 52ab64d60b Ensure unquote_splicing followed by tail works, closes #1393 2013-07-08 20:57:51 +02:00
José Valim 67443d3691 First element of defrecordp is now the record name and longer the current module 2013-07-08 11:22:08 +02:00
José Valim 85371e4e45 Ensure record rewriter keeps tags after setelement 2013-07-08 10:35:37 +02:00
José Valim 2da5326549 Allow quoting on aliases with calls 2013-07-08 09:42:42 +02:00
José Valim a83547723e Just iterate the next value if we are going to use it 2013-07-08 09:28:09 +02:00
José Valim 879651cba9 Rename --docs tests file to docs_test.exs 2013-07-08 09:21:19 +02:00
José Valim cc3634ed37 Merge pull request #1390 from pragdave/iterate
Iterate
2013-07-08 00:15:38 -07:00
Dave Thomas a2c6630793 Add Stream.repeatedly 2013-07-07 18:12:08 -05:00
Dave Thomas 8c3c0a9149 Add Stream.iterate 2013-07-07 17:50:01 -05:00
José Valim bde91c325c Ensure Stream.take/2 halts execution 2013-07-07 22:50:49 +02:00
Dave Thomas 7c2f25fc85 Add Stream.seq() for generating potentially infinite streams of values 2013-07-07 14:41:24 -05:00
José Valim fc505f8a82 Replace ?is_new_atom macro by ?is_atom_start 2013-07-07 21:14:36 +02:00
Yurii Rashkovskii dd6fb4acc2 Minor doc fix 2013-07-07 10:04:09 -07:00
José Valim b830485541 Ensure Elixir can run on directories with :, closes #1375 2013-07-07 10:00:46 +02:00
John Warwick c11d50e451 Fixed doc typos in the Inspect protocol 2013-07-06 23:33:10 -04:00
John Warwick 64e6037986 Fixed doc typos in Inspect.Algebra 2013-07-06 23:17:35 -04:00
José Valim 8a9927ea1b Optimize Inspect implementation 2013-07-06 16:17:09 +02:00
Yurii Rashkovskii 889de92187 Doc typo fix 2013-07-06 07:00:05 -07:00
José Valim 7ad7847596 Rearrange how ambiguous ops are handled, closes #1378 2013-07-06 12:32:22 +02:00
José Valim 9dcfc53f60 Merge pull request #1382 from jwarwick/think_different
Fixed doc typos in Path and Kernel
2013-07-06 02:50:03 -07:00
José Valim 26f9ce121a Merge pull request #1381 from jwarwick/set_docs
Fixed typos in Set module docs
2013-07-06 02:49:47 -07:00
José Valim 0c557d2766 Document the Inspect protocol and Inspect.Algebra 2013-07-06 11:43:59 +02:00
José Valim e13a516715 Get rid of Inspect.Utils 2013-07-06 11:10:12 +02:00
José Valim accf7dac82 Change inspect formatting to use spaces in between , 2013-07-06 10:07:54 +02:00
John Warwick b3a65eaca1 Fixing typos in Kernel module docs 2013-07-05 23:57:22 -04:00
John Warwick 3e29d9fa2e Fixing typos in Path module docs 2013-07-05 23:41:19 -04:00
John Warwick 0edf1882ff Fixed typos in Set module docs 2013-07-05 23:33:04 -04:00
José Valim 35d019559d Remove the need for Inspect.Utils.return and Inspect.Algebra.text 2013-07-05 23:19:39 +02:00
José Valim 7048236988 Use a Inspect.Opts record instead of passing opts around 2013-07-05 22:37:47 +02:00
José Valim b335b1663d Rename Binary.Inspect -> Inspect and Wadler -> Inspect.Algebra 2013-07-05 22:15:16 +02:00
José Valim f69ecfe8aa Make Wadler API conform with Elixir API and update doctests to actually run 2013-07-05 20:29:15 +02:00
José Valim 10a456823c Do not enable pretty by default 2013-07-05 19:27:55 +02:00
José Valim a26d4cf0cd Merge remote-tracking branch 'brunoro/master' into jv-pretty-printing 2013-07-05 19:27:37 +02:00
José Valim a6f8e178c0 Consistently allow empty expressions on both side of operators 2013-07-04 20:29:39 +02:00
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 6d491325d5 Update and remove out of date erl tests 2013-07-04 11:40:00 +02:00
José Valim f697ff4160 Ensure HashDict can be serialized into attribute, closes #1368 2013-07-04 11:35:14 +02:00
José Valim 4ae58d3bf4 Do not try to parse arguments for undefined functions 2013-07-04 11:16:14 +02:00
José Valim 650648a687 Clean up ExUnit.Case 2013-07-04 10:57:31 +02:00