José Valim
0db0b85f52
Consider case ignorable characters on Greek downcasing, closes #7149
...
Note this does not impact the runtime cost of other downcasing
operations. The final beam file grew only in 8kb.
2018-01-09 13:59:13 +01:00
José Valim
3f95b4a17d
Improvements to greek handling of downcase, closes #7149
2017-12-26 23:11:17 +01:00
José Valim
8fd0141297
Optimize String.downcase/1
...
Thanks to @michalmuskala for feedback and review.
2017-12-20 12:58:17 +01:00
José Valim
2a6a545b8b
Provide :greek and :ascii mappings in String upcase/downcase/capitalize
...
Closes #7105 .
2017-12-20 11:54:06 +01:00
José Valim
27aa867b2e
Minimize generated beam size by using ranges
...
This approach is less performant when processing
sigma but compiles twice faster and takes two times
less space in disk.
2017-10-30 18:45:16 +01:00
Ben Olive
6f40fae504
Handle final sigma unicode exception
...
Signed-off-by: José Valim <jose.valim@plataformatec.com.br >
2017-10-30 18:45:16 +01:00
José Valim
dec9e6f0a8
Improvements to previously formatted files
2017-10-11 22:59:30 +02:00
José Valim
940d2f61c0
Make sure to not break guards on clauses with comments
2017-10-11 21:25:21 +02:00
Michał Muskała
c71926f8db
Optimise binary pattern matching in String.Break ( #6340 )
...
In downcase and upcase pattern match tail as ::bits instead of ::binary. This
saves us a check on each iteration if the tail is a proper binary. We only do
this check in the very beginning.
In trim_leading additionally make sure every head of the recursive function
pattern matches on a binary in first argument so the single binary match context
optimisation can be applied.
2017-07-16 14:29:45 +02:00
Andrea Leopardi
7d873750b1
Use :binary.split/3 in String.Break.split/1 ( #6257 )
2017-06-25 18:53:11 +02:00
José Valim
2f663ce3a2
Add non-quoted Unicode atoms and variables ( #6158 )
...
It follows Unicode Annex #31 .
See the Unicode Syntax document for a more in-depth reference.
2017-05-27 22:43:05 +02:00