Devin Torres
f808da8ffb
Raise an error when Dict/Set doesn't support the target
2013-07-09 16:04:48 -05: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
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
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
b830485541
Ensure Elixir can run on directories with :, closes #1375
2013-07-07 10:00:46 +02:00
José Valim
8a9927ea1b
Optimize Inspect implementation
2013-07-06 16:17:09 +02:00
José Valim
7ad7847596
Rearrange how ambiguous ops are handled, closes #1378
2013-07-06 12:32:22 +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
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
15c1a9891c
Implement bindings in Elixir
2013-07-04 10:18:46 +02:00
Gustavo Brunoro
e969a330d5
tests use tuples instead of recordp macros
...
* recordp builder/accessor macros aren't accessible on test cases.
2013-07-03 20:28:30 -03:00
Gustavo Brunoro
0f4598fca0
using defrecordp for all records on wadler.ex
...
* some tests still need to be refactored.
2013-07-03 20:03:04 -03:00
Gustavo Brunoro
cb5bb2e548
Merge branch 'master' of https://github.com/elixir-lang/elixir
2013-07-03 18:54:33 -03:00
José Valim
6b82967dd6
Improve error report on unhandled ->
2013-07-03 21:29:35 +02:00
José Valim
628d1b630e
Fix surprising behaviour with Module.register_attribute/3 that caused attributes to be persisted unecessarily
2013-07-02 10:31:32 +02:00
José Valim
e49a00d3cb
Tidy up Record and access docs
2013-07-01 21:19:09 +02:00
José Valim
1da36c5b04
Re-organize records tests
2013-07-01 21:10:13 +02:00
José Valim
26eafd1a4c
Remove the URI lookup mechanism in favor of application env
2013-07-01 20:25:01 +02:00
José Valim
cdd8e5862d
Rename the ExUnit option from debug to trace
2013-07-01 16:41:34 +02:00
José Valim
46e898e413
Add mix test --debug
2013-07-01 15:02:57 +02:00
José Valim
3bac4ddec6
Support --debug on internal tests which are not run through mix
2013-07-01 14:20:33 +02:00
José Valim
664d1ec0d3
Decide on IO.stream and unify read/readline API
2013-06-30 19:21:39 +02:00
José Valim
8ca28496e4
Add Stream.reject/2 and Stream.(drop|take)*/2
2013-06-30 19:21:39 +02:00
José Valim
cf98f9b975
Deprecate File.*iterator! in favor of File.*lines_stream!
2013-06-30 19:21:39 +02:00
José Valim
35edf833b6
Add Stream.cycle/1
2013-06-30 19:21:39 +02:00
José Valim
1a343b01d6
Add Stream.with_index/1 and Enum.with_index/1
2013-06-30 19:21:39 +02:00
José Valim
bc76627feb
Add Streams
2013-06-30 19:21:39 +02:00