Eric Meadows-Jönsson
2e13e5d8a4
Add --profile time flag to profile compilation steps ( #9519 )
2019-11-13 12:57:49 +01:00
Eric Meadows-Jönsson
a3fc4b3f9e
Add variable version to expanded meta ( #9520 )
2019-11-13 12:57:21 +01:00
Tomasz Marek Sulima
b108d3cfd7
Remove struct/0 from the basic types in the typespecs docs ( #9523 )
...
[ci skip]
Closes #9522 .
2019-11-13 00:53:21 +01:00
José Valim
08d6fe8cb8
Add parens to static remote nullary calls
...
test/erlang/module_test.erl have also been removed
as they have been ported elsewhere.
2019-11-08 17:59:08 +01:00
Tomasz Marek Sulima
7ae8a96702
Fix for default leftover in Enum.chunk/3 ( #9507 )
...
Closes #9506 .
2019-11-08 14:51:30 +01:00
Eksperimental
73eb15dd07
Improvements to Calendar docs, specs and guards ( #9493 )
2019-11-08 14:40:43 +01:00
José Valim
c87b6307cd
Traverse args of remote functions when looking for undefined/deprecation warnings
2019-11-08 14:32:30 +01:00
José Valim
1c864fca7d
Do deprecation of Supervise.Spec in steps
2019-11-07 09:37:43 +01:00
Eksperimental
ef5b0fb9ef
Use type-check when it's an adjective ( #9502 )
...
[ci skip]
2019-11-07 09:09:32 +01:00
Eksperimental
8c72af6478
Copyedit the guards page ( #9500 )
2019-11-07 00:36:41 +01:00
Wojtek Mach
d6666caa12
Link defguard/1 and defguardp/1 ( #9501 )
2019-11-06 23:18:17 +01:00
Eksperimental
d4b0680f35
Minor corrections to recently introduced changes in Guards page ( #9499 )
...
[ci skip]
2019-11-06 19:03:14 +01:00
José Valim
b423b9e2b9
Ensure reassigned variables are properly carried forward
2019-11-06 19:00:36 +01:00
Vladimir Gorej
d814f09c1c
Fix a typo in Calendar docs ( #9498 )
2019-11-06 17:47:54 +01:00
Eric Meadows-Jönsson
24cab18d2f
Make distinction of guard expressions and functions/operators ( #9497 )
...
* Clarify distinction of guard expressions and functions and operators.
* Recommend using type-check guard functions.
* Reorder sections such that the "multiple guards" section immediately follows the "errors in guards" section.
2019-11-06 16:46:42 +01:00
Devon Estes
0e1dfc4edf
Improve documentation around guards ( #9496 )
...
@eksperimental was right that while this was hinted at, this was never
specifically stated, so I added an explicit example since this functions
differently from other boolean checks (like `if` and such) in the
language.
Resolves #9495
2019-11-06 10:21:55 +01:00
José Valim
f78841ae09
Clarify evaluation rules for guards, closes #9495
2019-11-06 08:45:21 +01:00
Cleidiano Oliveira
a8b948c308
Fix a typo on System.build_info docs ( #9491 )
2019-11-05 13:43:25 +01:00
Eksperimental
f92e36904f
Updates on DynamicSupervisor.start_child/2 ( #9434 )
...
- Updates specs to include old_erlang_child_spec.
- Improve docs.
2019-11-05 08:55:09 +01:00
Wojtek Mach
d13feb831c
Add missing doc annotations ( #9489 )
2019-11-05 08:46:48 +01:00
Lau Taarnskov
7a6e421054
Add NaiveDateTime.local_now ( #9472 )
2019-11-04 22:51:20 +01:00
José Valim
37d0931fd1
Improve error messages on keywords, closes #9467
2019-11-04 14:51:39 +01:00
José Valim
c33baba3a8
Add Kernel.is_map_key/2
2019-11-04 12:47:26 +01:00
Eksperimental
194dec268a
Standardize use of "#=>" for return values in Kernel ( #9483 )
2019-11-03 23:43:22 +01:00
Eksperimental
d93e354965
Improve module docs in Kernel and Kernel.SpecialForms ( #9486 )
...
[ci skip]
2019-11-03 23:42:33 +01:00
Eksperimental
24fa58f7fb
Clean up some minor things in the docs
...
[ci skip]
2019-11-03 23:38:02 +01:00
Eksperimental
175eaec96e
Remove comment arrows from Exception messages ( #9485 )
2019-11-03 23:10:14 +01:00
Eksperimental
ed005ea3a1
is_struct/1 fixes ( #9481 )
...
* Remove duplicate test
* Simplify name of private function in is_struct/1 test script
2019-11-03 19:07:07 +01:00
Eksperimental
c86711f41f
Add Examples section to Kernel.is_struct/1 ( #9482 )
2019-11-03 18:48:49 +01:00
José Valim
68ad061f06
Update CHANGELOG
2019-11-03 18:01:56 +01:00
Fernando Tapia Rico
7e0e754e40
Add @doc :since to is_struct/1 ( #9479 )
2019-11-03 17:31:00 +01:00
José Valim
3d0a56ec9a
Improve coverage for non-integers in split/drop/take
2019-11-03 17:30:01 +01:00
Quentin DANJOU
c6653b52ab
Add more strict guards on Enum.split/2 ( #9436 )
2019-11-03 17:25:13 +01:00
Łukasz Jan Niemier
1cee776f3a
Add is_struct/1 to Kernel ( #9470 )
2019-11-03 17:22:33 +01:00
Łukasz Jan Niemier
a7c74e2545
Remove calls to error_logger ( #9469 )
2019-11-03 16:45:51 +01:00
José Valim
fe2f36877a
Simplify emission of rescue clauses to avoid duplicate generation
2019-11-03 16:44:49 +01:00
José Valim
345403c05d
Refactor Erlang try code
2019-11-03 16:22:20 +01:00
José Valim
5944706239
No need to track stacktrace usage
2019-11-03 13:56:39 +01:00
José Valim
7648c0f3a8
elif to else
2019-11-03 13:06:30 +01:00
Łukasz Jan Niemier
9fca33e09f
Cleanup TODOs for OTP 21+ ( #9477 )
2019-11-03 13:05:18 +01:00
Parker Selbert
61a0bb43aa
Improve MapSet comparison performance ( #9381 )
...
This changes the implementation of none_in?/2 from using a pattern match
to the :erlang.is_map_set/2 BIF. The result is 1.70x faster according to
benchmarks. Due to the use of `is_map_key` this change only works in
Erlang 21.0+.
Operating System: macOS
CPU Information: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Number of Available Cores: 4
Available memory: 8 GB
Elixir 1.9.1
Erlang 22.0
Benchmark suite executing with the following configuration:
warmup: 1 s
time: 4 s
memory time: 0 ns
parallel: 1
inputs: none specified
Estimated total run time: 10 s
Benchmarking CustomMapSet...
Benchmarking MapSet...
Name ips average deviation median 99th %
CustomMapSet 3.57 M 279.76 ns ±2024.07% 0 ns 1000 ns
MapSet 2.10 M 475.19 ns ±4493.05% 0 ns 1000 ns
Comparison:
CustomMapSet 3.57 M
MapSet 2.10 M - 1.70x slower +195.43 ns
2019-11-03 11:25:49 +01:00
José Valim
90546b8976
Clarify escaping rules in sigils, closes #9471
2019-11-03 11:14:32 +01:00
Eksperimental
d8127cca79
Fix typo in comment on Module.Types.Infer ( #9475 )
...
[ci skip]
2019-11-03 09:32:56 +01:00
José Valim
64a9fec64b
Also handle parens in binary patterns
2019-11-02 18:02:30 +01:00
José Valim
0a0c4fb5e2
Handle binaries without specifiers
2019-11-02 17:28:58 +01:00
José Valim
43daa41c11
Remove redundant rewrite as it has been optimized in the VM
2019-11-02 17:12:27 +01:00
José Valim
97b167885b
Avoid multiple passes on binary specifier
2019-11-02 16:38:53 +01:00
José Valim
cf881389cf
Remove unecessary Erlang macro
2019-11-01 19:19:54 +01:00
Łukasz Jan Niemier
f128ae3d7a
Use Erlang's logger as main logging implementation ( #9333 )
2019-11-01 15:53:05 +01:00
Glauber Campinho
c363d7e4d0
Avoid second calculation of arity in expand_local/4 ( #9463 )
2019-10-31 20:49:23 +01:00