Ayaz Hafiz
9b24205906
Emplace variables made from types in expectations
2022-10-24 13:11:35 -05:00
Ayaz Hafiz
04a3f1c00e
Use a helper to emplace type cells
2022-10-24 12:07:00 -05:00
Ayaz Hafiz
d3e14550d8
Leave variables behind when converting Type
s to variables
...
This is part one of addressing the present issues with emplacing type
directly where type variables should be reused. Now, when an
`Index<Type>` is converted to a variable in solving, we leave the
converted variable in the `Type`'s place. Specifically, we keep an index
to a `Cell<Type>`.
Note that this transformation is only temporary, it will be removed once
we merge this with the `Type` SoA representation, but it is needed in
the meantime as I transform the `Constrain` API to get rid of
type-emplacement.
2022-10-24 11:42:35 -05:00
Ayaz Hafiz
5164994fb5
Do not attempt to lookup functions in expect
s
...
Functions are not useful to print in expect results, because they are
only printed opaquely as `<function>`. Moreover, their transformation to
closure sets during mono can be extremely lossy, up to and including the
elision of symbols for function closure symbols. As such, simply do not
attempt to lookup or print functions referenced in expects.
Closes #4389
2022-10-24 10:28:56 -05:00
Ayaz Hafiz
8ff74465b9
Format Decode.roc
2022-10-23 20:48:07 -05:00
Ayaz Hafiz
89def77f01
Use derived Eq impl for Dict and Set
2022-10-23 20:48:07 -05:00
Ayaz Hafiz
e75f3c3c79
Get rid of MemberImpl::Derived
...
We don't need this anymore, since derived members become Impls during
canonicalization now!
2022-10-23 20:48:07 -05:00
Ayaz Hafiz
1d885c4ab2
Support deriving Decode for opaques
2022-10-23 20:48:06 -05:00
Ayaz Hafiz
61ba59de07
Even more unneeded allocations
2022-10-23 20:48:06 -05:00
Ayaz Hafiz
e08b613047
Add Decode.mapResult
2022-10-23 20:48:06 -05:00
Ayaz Hafiz
bb8888b115
Make sure we don't report errors for illegal derived bodies, just their decls
2022-10-23 20:48:05 -05:00
Ayaz Hafiz
3f09de7052
Remove unused var
2022-10-23 20:47:43 -05:00
Ayaz Hafiz
59dfc4ab99
Move can-derived bodies to their own module
2022-10-23 20:47:43 -05:00
Ayaz Hafiz
6edab8b7cc
Avoid unneeded allocations
2022-10-23 20:47:43 -05:00
Ayaz Hafiz
c4f9aa6fe6
Add deriving toEncoder for opaques
2022-10-23 20:47:42 -05:00
Ayaz Hafiz
83813afeaf
Derive Eq for opaques
2022-10-23 20:46:56 -05:00
Ayaz Hafiz
40e05d5a00
Add support for deriving Hash for opaques
2022-10-23 20:46:56 -05:00
Folkert
baeb585b45
some fixes for platform linking on windows
2022-10-23 20:05:24 +02:00
Christopher Duncan
a627a47709
Add Dict module to the testing CI
2022-10-23 08:37:59 -04:00
Richard Feldman
f734cc11c2
Merge pull request #4364 from travisstaloch/str-graphemes
...
Str graphemes
2022-10-22 22:31:50 -07:00
Travis Staloch
c2dbed2ff5
str-graphemes: rework and add some zig tests
...
- rework strGraphemes() to use a mutable slice and keep track of just
`last_codepoint_len`.
- add zig tests for empty string, ascii, utf8, ascii+utf8+emoji
2022-10-22 19:29:49 -07:00
Prajwal S N
df7e4eea7e
builtin(str): implement Str.graphemes
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-22 19:29:49 -07:00
Folkert de Vries
be624f8bcb
Merge pull request #4359 from roc-lang/i4313
...
Disallow typing optional fields when required fields are annotated
2022-10-23 01:20:55 +02:00
Folkert de Vries
bcf2fc340d
Merge pull request #4350 from roc-lang/i4348
...
Use runtime representation of values when building structural eq
2022-10-23 01:19:17 +02:00
Folkert de Vries
4a5c8fd7ae
Merge pull request #4303 from roc-lang/i4291
...
Make sure self-recursive checks only happen after typechecking
2022-10-23 01:18:56 +02:00
Folkert de Vries
863d0ab63e
Merge pull request #4353 from roc-lang/refine-relocation-location
...
refine relocation location
2022-10-21 12:16:31 +02:00
Brendan Hansknecht
e27b874331
update test to use HASH_HASH_I* instead of HASH_ADD_I*
2022-10-19 18:22:44 -07:00
Ayaz Hafiz
f826ff1a71
Remove addI* variants from Hash
...
These are trivially fulfilled by converting a signed int to its unsigned
repr and hashing that.
2022-10-19 14:24:21 -05:00
Richard Feldman
b6a282b0ce
Merge pull request #4337 from joshuawarner32/when-indentation-1
...
Allow parsing `when` cases with python-like indentation
2022-10-19 07:03:05 -07:00
Joshua Warner
e39a385f5f
Allow parsing when
cases with python-like indentation
2022-10-18 19:13:20 -07:00
Folkert de Vries
e90ddcd7d1
Merge pull request #4354 from roc-lang/var-has-variable
...
Resolve ability specializations looked up in expects
2022-10-18 23:28:17 +02:00
Ayaz Hafiz
05e8e6de6f
Disallow typing optional fields when required fields are annotated
...
Closes #4313
2022-10-18 15:50:20 -05:00
Brendan Hansknecht
62c9a2a8b6
Merge pull request #4355 from roc-lang/concat-memleak
...
Fix memory leak in List.concat
2022-10-18 19:07:52 +00:00
Ayaz Hafiz
d7237dc9e9
Cargo format
2022-10-18 12:09:18 -05:00
Folkert
b23b53aa6f
disable -fPIE on windows
2022-10-18 18:45:38 +02:00
Ayaz Hafiz
706d22a942
Fix encode/decode deriving
2022-10-18 08:22:23 -05:00
Brendan Hansknecht
9f09bebdca
run
2022-10-17 21:50:25 -07:00
Brendan Hansknecht
1225cb54fc
Fix memory leak in List.concat
2022-10-17 21:45:46 -07:00
Ayaz Hafiz
d26e9c81e0
Resolve ability specializations looked up in expects
2022-10-17 17:56:48 -05:00
Ayaz Hafiz
8aee32830a
Add symbols' localized type variable to the AST
2022-10-17 17:35:48 -05:00
Folkert
d93902cd18
fix compilation on windows for windows
2022-10-17 21:22:13 +02:00
Ayaz Hafiz
7986514d20
Use runtime representation of values when building structural eq
...
Closes #4348
2022-10-17 11:36:57 -05:00
Prajwal S N
07224e9086
builtin(list): add List.walkFrom, List.walkFromUntil
...
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-17 20:51:03 +05:30
Ayaz Hafiz
3d34de5fc1
Remove test caught by reporting tests
2022-10-17 09:59:34 -05:00
Ayaz Hafiz
ecab8fa25a
Make sure self-recursive checks only happen after typechecking
...
Programs like
```
after : ({} -> a), ({} -> b) -> ({} -> b)
fx = after (\{} -> {}) \{} -> if Bool.true then fx {} else {}
```
are legal because they always decay to functions, even if they may not
look like functions syntactically. Rather than using a syntactic check
to check for illegally-recursive functions, we should only perform such
checks after we know the types of values.
Closes #4291
2022-10-17 09:59:32 -05:00
Anton-4
d6885bde23
Merge pull request #4299 from cjduncana/ci-markdown-links
...
Repair broken links in Markdown
2022-10-15 19:32:25 +02:00
Anton-4
d242895ff9
Merge pull request #4254 from roc-lang/wasm32_cli_run
...
wasm 32 cli run fixes, added to ci tests
2022-10-15 18:41:52 +02:00
Anton-4
2f8dcb7e12
Merge pull request #4298 from lucacervello/replace-panic!-with-internal-error!-in-compiler-crates
...
Replace panic! with internal_error! in `compiler/build`, `compiler/alias_analysis` and `compiler/arena_pool`
2022-10-15 17:05:25 +02:00
Anton-4
78e66c6c26
format Str.roc
2022-10-15 11:19:54 +02:00
Anton-4
762bd43e5f
minor improvements
...
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-15 09:46:41 +02:00