Commit graph

117 commits

Author SHA1 Message Date
ayazhafiz
ee34e79790 Include annotation type signatures in Expected struct
To provide better error messages and suggestions related to changing
type annotations, we now pass annotation type signatures all the way
down through the constraint solver. At constraint generation we
associate the type signature with a unique variable, and during error
reporting, we pull out an `ErrorType` corresponding to the original type
signature, by looking up the unique variable. This gives us two nice
things:

1. It means we don't have to pass the original, AST-like type
   annotation, which can be quite large, to everyone who looks at an
   expectation.
2. It gives us a translation from a `Type` to an `ErrorType` for free
   using the existing translation procedure in `roc_types::subs`,
   without having to create a new translation function.
2021-11-25 11:16:17 -05:00
Folkert
2c1005fdf0 remove lowercases from Content 2021-11-22 21:15:58 +01:00
Folkert
206c8889df Use StorageSubs for pending specializations 2021-11-19 13:22:17 +01:00
Brendan Hansknecht
bddc08c977 Remove unused dependencies 2021-11-05 16:58:11 -07:00
Anton-4
a3fc724df3 removed unused maplit 2021-11-03 10:50:25 +01:00
Folkert
aa042f3357 better debug info for a mismatch 2021-08-20 22:41:43 +02:00
Folkert
3e448c1b74 get rid of inefficient conversion from mutmap to uniontags 2021-08-14 00:32:01 +02:00
Folkert
4cbb1c9b25 optimize initial tag union creation 2021-08-13 23:53:27 +02:00
Folkert
26da66d73f remove from_mutmap 2021-08-13 15:42:43 +02:00
Folkert
df83bf0d48 Merge remote-tracking branch 'origin/soa-alias' into alias-nominal-equality 2021-08-13 12:11:36 +02:00
Folkert
c9040c012e make things work 2021-08-13 11:04:31 +02:00
Folkert
42f04fcc77 use variablesubsslice for Apply 2021-08-12 22:49:56 +02:00
Folkert
46439b2116 optimize 2021-08-12 22:22:52 +02:00
Folkert
966caf4a02 cleanup 2021-08-12 22:21:00 +02:00
Folkert
35874a6b1c progress 2021-08-12 22:19:02 +02:00
Folkert
46f6e86716 use new unification for rec ~ rec 2021-08-12 21:50:10 +02:00
Folkert
3bbf1a5506 use UnionTags for recursive tag unions 2021-08-12 20:50:33 +02:00
Folkert
0643efa571 clippy 2021-08-11 22:04:43 +02:00
Folkert
1d32be0818 all tests pass 2021-08-11 21:59:23 +02:00
Folkert
6c0860b6bf milestone all but one gen tests passing 2021-08-11 21:50:11 +02:00
Folkert
83ad331bb1 remove chase_record_ext_var 2021-08-07 15:35:57 +02:00
Folkert
ad3d006a11 use a SubsIndex instead of Box 2021-08-07 13:50:53 +02:00
Folkert
fe773995c8 make VariableSubsSlice 2021-08-07 13:12:39 +02:00
Folkert
524bde64d0 cleanup and comments 2021-08-07 01:31:40 +02:00
Folkert
e0039b94c9 clippy 2021-08-07 01:12:42 +02:00
Folkert
69c224843e all the work 2021-08-07 00:51:53 +02:00
Folkert
efab1ef2ca implement 2021-08-04 00:33:05 +02:00
Folkert
54198d7da1 one more shrinkage 2021-08-02 23:05:22 +02:00
Folkert
dfaaa21e81 use RecordFields 2021-08-01 17:50:38 +02:00
Folkert
a47f9baef4 Merge remote-tracking branch 'origin/trunk' into alias-nominal-equality 2021-07-31 22:59:01 +02:00
Folkert
35404bd25f use get_content_without_compacting more 2021-07-30 22:15:17 +02:00
Folkert
5248f83af2 try not to unify the actual var of an alias 2021-07-30 16:04:30 +02:00
Folkert
13b05e54e8 Merge remote-tracking branch 'origin/clippy-1.54' into alias-nominal-equality 2021-07-30 14:25:50 +02:00
Folkert
899cbeabd7 fix extra ampersands 2021-07-29 17:32:08 +02:00
Folkert
27c3d57e35 BROKEN 2021-07-29 17:22:25 +02:00
Folkert de Vries
d4570e3175
use reserve
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2021-07-22 21:14:46 +02:00
Folkert
6ab90cd15d not so fast 2021-07-21 22:17:53 +02:00
Folkert
564efd528a early return in common tag case 2021-07-21 22:02:30 +02:00
Folkert
05b43c6799 optimize separating tags into shared and unique 2021-07-21 21:38:16 +02:00
Folkert
ca8041cfa3 other tags 2021-07-21 21:06:32 +02:00
Folkert
5f408c42b0 enable tag unions as functions in code gen 2021-05-24 16:01:51 +02:00
Folkert
f480919186 Merge remote-tracking branch 'origin/trunk' into no-arg-tag-union-func 2021-05-24 14:44:32 +02:00
Folkert
5b643467bf clippy 2021-05-24 14:44:00 +02:00
Folkert
06bf614437 fix recursion layout issue 2021-05-24 14:15:52 +02:00
Folkert
1aa71113ca rename for clarity 2021-05-24 12:03:06 +02:00
Folkert
7bcab24fa0 clippy 2021-05-24 11:57:52 +02:00
Richard Feldman
a7518a675a Clean up some clippy warnings 2021-05-23 20:28:23 -04:00
tarjei
0ee15f15ee Unify FunctionOrTagUnion with regular tags and functions 2021-05-23 23:14:17 +02:00
Folkert
5372c45cdd no manual rank hacking please 2021-05-05 14:49:54 +02:00
Richard Feldman
0a50b0b488 Change license to UPL-1.0
Closes https://github.com/rtfeldman/roc/issues/1199
2021-04-21 19:18:44 -04:00