Agus Zubiaga
d23a8dc618
Fix importing of module params vars
2024-07-02 22:48:47 -03:00
Agus Zubiaga
89fc1104f0
Report import params mismatch
2024-07-02 11:10:00 -03:00
Agus Zubiaga
d2c9953429
Handle import params lambda sets and abilities in solve
2024-07-02 11:10:00 -03:00
Agus Zubiaga
922b1c44ef
Report missing params
2024-07-02 11:10:00 -03:00
Agus Zubiaga
bc6a84a215
Report unexpected params
2024-07-02 11:09:59 -03:00
Agus Zubiaga
f0fe0a3ea6
Module params are not extensible
2024-07-02 04:10:47 -03:00
Agus Zubiaga
5ec4b042bb
Constrain and solve import params
...
No reporting yet
2024-07-02 04:10:46 -03:00
Agus Zubiaga
dcb2767b6e
Do not create unnecessary scope in solve run_help
2024-07-02 04:10:45 -03:00
Agus Zubiaga
dd0e28240a
Add module param identifiers to solve's scope
2024-07-02 04:10:45 -03:00
Ayaz Hafiz
6e89821233
Update language server to support apps
2023-10-25 17:14:33 -05:00
Ayaz Hafiz
b706a57e16
Update LSP
2023-10-25 17:14:33 -05:00
Ayaz Hafiz
9d365a8a57
Support basic diagnostic reporting
2023-10-25 17:14:32 -05:00
Ayaz Hafiz
1282110ef5
Push checkmate through load
2023-07-17 09:51:00 -05:00
Ayaz Hafiz
18e9f8f034
Move unify::Mode to roc_solve_schema
2023-07-17 09:50:36 -05:00
Ayaz Hafiz
558d7459b4
Fix merge conflicts
2023-07-12 14:14:25 -05:00
Ayaz Hafiz
6e5a308557
Content variant ErasedLambda
2023-07-12 13:57:17 -05:00
Ayaz Hafiz
33b1b8236a
Break up SolveEnv
2023-07-12 13:53:51 -05:00
Ayaz Hafiz
15eef74a83
Shove more into a common env
2023-07-12 13:53:51 -05:00
Folkert
ef39bad7c6
auto clippy fixes
2023-07-10 18:27:08 +02:00
Ayaz Hafiz
adf961ba0b
Use UEnv where possible
2023-06-22 14:31:49 -05:00
Ayaz Hafiz
ad20a2ee41
Shove more into a common env
2023-06-22 14:31:48 -05:00
Ayaz Hafiz
b5ea2c2c99
s/SolveCtx/SolveConfig/g
2023-06-22 14:31:36 -05:00
Ayaz Hafiz
8314d44650
Break up solve/solve into smaller modules
2023-06-22 14:31:14 -05:00
Ayaz Hafiz
d1dad56331
Rename env to scope
2023-06-22 14:31:03 -05:00
Ayaz Hafiz
683b586f60
Use more structs instead of tuples
2023-06-22 14:31:02 -05:00
Ayaz Hafiz
5ec2715820
Correctly introduce new recursion variables at the correct rank
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
190990155e
Correctly introduce new openness variables at the union rank
2023-05-01 13:14:58 -05:00
Folkert
4cd8f0a056
clippy --fix fixes
2023-04-21 12:05:51 +02:00
Ayaz Hafiz
87a36e62bf
Do not replace already-recursive lambda sets in occurs checks
...
If a lambda set appears in an occurs chain but it is itself already
recursive, then it is should not be eligibil for modification in the
occurs chain.
Closes #4725
2023-04-12 16:13:30 -05:00
Brendan Hansknecht
165ffcf38d
properly unify ingested file type variable
2023-04-09 14:03:34 -07:00
Brendan Hansknecht
8dd9a5e3c7
correct wrong early return
2023-04-09 14:03:34 -07:00
Brendan Hansknecht
e5b88366fe
add proper error messages for ingested files
2023-04-09 14:03:33 -07:00
Brendan Hansknecht
62fcc71be3
snapshot subs to avoid cloning them
2023-04-09 14:03:33 -07:00
Brendan Hansknecht
2e2b687fac
fix errors with alias analysis
2023-04-09 14:03:33 -07:00
Brendan Hansknecht
6302a8d4b5
switch from type annotation to type variable
2023-04-09 14:03:33 -07:00
Ayaz
8c55e8126d
Merge pull request #5203 from roc-lang/virtual-dom-annotations
...
Fix a few bugs Virtual-DOM cropped up
2023-03-25 20:00:51 -05:00
Ayaz
1891df77b8
Merge pull request #5188 from roc-lang/i5177
...
Make sure openness constraint goes under tuples
2023-03-25 15:52:09 -05:00
Ayaz Hafiz
f37ede036a
Do not adjust rank of lambda sets under alias arguments
2023-03-25 15:21:40 -05:00
Ayaz Hafiz
1b2ee9ad30
Make sure openness constraint goes under tuples
...
Closes #5177
2023-03-24 14:13:14 -05:00
Ayaz Hafiz
3e83e42195
Make sure to report error rather than descending as appropriate
2023-03-22 17:08:43 -05:00
Joshua Warner
303e5bceb3
Fix tuple accessor type printing
2023-01-22 13:22:39 -08:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
...
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
Ayaz Hafiz
c9460ecf3f
Rename IsImplicitOpennessVar
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
5fceb9ceb7
Push implicit openness vars through
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
a47841d426
Generalize tag openness extension variables
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
1c93727822
Add a notion of "openness" tag extensions suitable only for size-polymorphism
2023-01-16 10:52:23 -06:00
Ayaz Hafiz
7c4cfba4b8
Rephrase solve comments as per Folkert's review
2023-01-13 12:58:11 -06:00
Folkert de Vries
386983a657
Merge pull request #4881 from roc-lang/rename-rank-none
...
Rename rank none to rank generalized
2023-01-12 00:25:24 +01:00
Ayaz Hafiz
d214598a16
Rename rank none to rank generalized
2023-01-11 14:55:18 -06:00
Ayaz Hafiz
058644aa96
Implement weakening of variables introduced in branch patterns
...
Variables introduced in branch patterns should never be generalized in
the new weakening model. This implements that. The strategy is:
- when we have a let-binding that should be weakened, do not introduce
its bound variables in a new (higher) rank
- instead, introduce them at the current rank, and also solve the
let-binding at the current rank
- if any of those variables should then be generalized relative to the
current rank, they will be so when the current rank is popped and
generalized
2023-01-11 14:28:46 -06:00