Anton-4
da95b6d28b
Merge pull request #6791 from shua/concatutf8
...
builtin: List.concatUtf8 : List U8, Str -> Str
2024-06-11 16:21:30 +02:00
Agus Zubiaga
7faff12cbf
Report unrecognized shorthands when loading from the root module
2024-06-08 14:12:01 -03:00
shua
f7bec802c0
PR: rename to List.concatUtf8
2024-06-08 13:36:20 +02:00
shua
33e8a7a439
implement Str.concatUtf8
2024-06-07 19:05:52 +02:00
Andy Ferris
03e9344a83
Add new constants to symbol table, attempt to add tests
2024-05-03 19:50:12 +10:00
Agus Zubiaga
a8a829aadd
Merge branch 'main' into inline-imports
2024-04-28 00:11:29 -03:00
Agus Zubiaga
9df5fb7092
Refactor package_qualified_imported_modules in load
2024-04-27 23:01:22 -03:00
Richard Feldman
9b4cc9f25b
clippy
2024-04-26 20:34:58 -04:00
Richard Feldman
17d761252f
Improve reporting for doc links problems
2024-04-26 16:31:20 -04:00
Richard Feldman
f557a29090
Don't add Ok and Err as symbols to scope
2024-04-25 20:07:40 -04:00
Agus Zubiaga
5ca1494df1
Add IdentIds::exposed_values
2024-04-23 20:12:54 -03:00
Agus Zubiaga
d952d5576a
Handle explicit builtin imports with empty exposing lists
...
Also includes related style suggestions by Ayaz on #6658
2024-04-22 18:29:48 -03:00
Agus Zubiaga
979aff8bf7
Explicit builtin import warning
...
We will now show a warning if a builtin is imported explicitly,
since this is unncessary.
We will not show the warning if they expose functions from the builtin:
import Dict exposing [isEmpty]
However, we will show a special warning if they expose types from it:
import Dict exposing [Dict, isEmpty]
2024-04-20 12:35:46 -03:00
Agus Zubiaga
1f347f6ca1
Fix package module resolution in inline imports
...
We were still passing `ModuleIds` from `load` to `can`, but now
that imports can appear in any scope, we don't know which package
an unqualified module name belongs to from the top level.
We now pass `PackageModuleIds` instead and keep a Map of `ModuleName` to
`ModuleId` in `Scope`.
This also allow us to import multiple modules with the same name from different
packages as long as a unique alias is provided.
2024-04-20 12:16:37 -03:00
Fabian Schmalzried
4269608ebf
remove i128OfDec
2024-04-01 21:08:12 +02:00
Fabian Schmalzried
11998b9cc8
f32FromParts and f64FromParts for repl
2024-04-01 21:08:10 +02:00
Fabian Schmalzried
473b8ef2d3
f32/f64toParts in repl only
2024-04-01 21:08:09 +02:00
Fabian Schmalzried
64e9899cad
Add Num.withDecimalPoint
2024-04-01 21:08:09 +02:00
Fabian Schmalzried
9c664172dd
Add Num.withoutDecimalPoint
2024-04-01 21:08:09 +02:00
Luke Boswell
a983ab8341
use CalledVia::BangSuffix
2024-03-21 15:51:21 +11:00
Luke Boswell
406ffdffab
WIP partial implementation for desugar_defs_node_suffixed
2024-03-19 12:57:30 +11:00
Richard Feldman
739565e836
Revert "Remove obsolete ListLenUsize"
...
This reverts commit ad1bca4ac9c40d336522f944df60d61a814435dd.
2024-02-17 13:20:34 -05:00
Richard Feldman
87d4760356
Remove obsolete ListLenUsize
2024-02-17 13:20:34 -05:00
Richard Feldman
37b154df4f
Remove Str.fromUtf8Range
...
Seamless slices make this obsolete!
2024-02-17 13:20:33 -05:00
Richard Feldman
ada83561e5
Split ListLen into ListLenU64 and ListLenUsize
...
The usize one gets used internally for things like
pattern matches. This is both more efficient (means
they don't have to do unnecessary casts) and also
less error-prone due to e.g. comparing length to
capacity, which is usize.
2024-02-14 21:00:49 -05:00
Richard Feldman
24a38c4a26
Merge remote-tracking branch 'origin/main' into remove-nat
2024-02-11 12:26:36 -05:00
Folkert de Vries
0e7fee4e7f
Merge pull request #6486 from roc-lang/remove-unused-lowlevel
...
Remove unused lowlevel StrGetCapacity
2024-02-04 13:57:46 +01:00
Anton-4
3c7a834da1
update to new interpolation syntax
2024-02-02 13:39:10 +01:00
Richard Feldman
f79ff6d496
Remove unused lowlevel StrGetCapacity
2024-02-01 21:37:16 -05:00
Richard Feldman
aabd95404f
Merge remote-tracking branch 'origin/main' into remove-nat
2024-01-30 21:42:45 -05:00
Kiryl Dziamura
b3dfdb562b
crash on rem div by zero
2024-01-30 11:12:02 +01:00
Folkert
979128cf32
make division by zero (integer) not trap
2024-01-29 01:38:32 +01:00
Richard Feldman
87ec602b1e
Fix gap in symbols
2024-01-26 16:23:21 -05:00
Richard Feldman
9518d76cd8
Remove Num.bytesTo___ functions
...
These may be reintroduced in some form later,
but they don't handle endianness and it's not
clear builtins are the right place for them.
2024-01-26 16:23:19 -05:00
Richard Feldman
c4497f2c1c
Remove Nat from Num
2024-01-26 16:19:51 -05:00
Richard Feldman
502b0fddf2
Remove Nat from Hash, Inspect, Encode, Decode
2024-01-26 16:17:05 -05:00
Brian Teague
4499f8c6f4
isApproxEq function
2024-01-23 21:06:35 -05:00
Richard Feldman
2970fc4384
Merge remote-tracking branch 'origin/main' into str-unicode
2024-01-21 12:30:16 -05:00
Folkert
f1ffc36efe
add List.clone
2024-01-20 20:29:07 +01:00
Richard Feldman
b48fa0698a
Remove scalars and graphemes from Str
2024-01-17 21:30:34 -05:00
Bryce Miller
89febf52bc
Merge branch 'main' into list-walk-with-index-until
2023-12-11 23:13:21 -05:00
Bryce Miller
59eb28ef58
Add builtin List.walkWithIndexUntil
2023-12-11 23:04:40 -05:00
Brendan Hansknecht
b39d604745
Dict follow up and addition of releaseExcessCapacity
2023-12-10 00:06:58 -08:00
Brendan Hansknecht
65c5a490b8
fix Dict.listGetUnsafe to map to low level without wrapping
2023-12-09 18:11:22 -08:00
Brendan Hansknecht
51ec4311b5
Swap Dict implementation to ankerl dense unordered
...
ankerl::dense_unordered is a very fast hash map that is built to be an index map.
This enables extra optimizations compared to just wrapping a regular hash map.
As such, I think this map is very well suited for our index map impl in Roc.
I also think this dictionary implementation is simpler overall.
On top of that, this removes the need for SIMD instructions for peak performance.
Benchmarks of the C++ version and other C++ hash maps are here: https://martin.ankerl.com/2022/08/27/hashmap-bench-01/
Though this has clear bias of being written by the author of ankerl::dense_unordered,
the results all look correct and the benchmarks thorough.
2023-12-09 18:11:22 -08:00
LoipesMas
83ac8209ae
Add Dict.keepIf, Dict.dropIf, Set.keepIf, Set.dropIf
2023-12-04 23:38:51 +01:00
Brendan Hansknecht
e5a0af5699
make DbgFormatter an unexposed implementation detail
2023-12-03 12:41:04 -08:00
Brendan Hansknecht
82cda1965c
use INSPECT_INSPECT_ABILITY instead of INSPECT_INSPECT
2023-11-28 16:40:41 -08:00
Brendan Hansknecht
b8e644a1e3
add DbgFormatter to inspect
2023-11-28 16:40:40 -08:00
Ayaz Hafiz
5c805ce80f
Get first inspect for non-Inspect-implementing opaques specialized
2023-11-28 16:40:39 -08:00