Ayaz Hafiz
fe28d1554b
Only assert that rigids are introduced at given rank behind flag
...
Closes #2489
2022-04-29 16:26:10 -04:00
Ayaz
98a3523702
Merge pull request #2961 from rtfeldman/improved-identids
...
Improved identids
2022-04-27 10:11:06 -04:00
Folkert
d18c46550f
fix test building
2022-04-27 01:28:31 +02:00
Richard Feldman
6da39aa296
Merge pull request #2917 from rtfeldman/move-exhaustiveness-checking
...
Moves exhaustiveness checking to type solving phase
2022-04-25 20:55:05 -04:00
Ayaz Hafiz
85e3373d8b
Move exhaustiveness checking to type checking
2022-04-25 19:04:09 -04:00
Ayaz Hafiz
356616d834
Move exhaustiveness checking to type solving phase with solve tests
2022-04-25 19:04:08 -04:00
Ayaz Hafiz
e73ebfba3e
Add a way to view solved types of arbitrary expressions/patterns in a program
2022-04-25 19:03:25 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag"
2022-04-25 17:04:34 -04:00
Ayaz
ccaddcebbb
Merge branch 'trunk' into remove-private-tags
2022-04-25 13:14:42 -04:00
Ayaz Hafiz
f1dc9c8298
Opaques take @ : %s/\$\([A-Z]\)/@\1/g
2022-04-25 12:26:38 -04:00
Ayaz Hafiz
e43994530f
Remove temp test
2022-04-25 12:19:33 -04:00
Ayaz Hafiz
0d24e279f1
Fix Ast2 constraining of opaques
2022-04-25 12:08:23 -04:00
Ayaz
53c8dee4ed
Merge pull request #2926 from rtfeldman/matrix-correct-mutual-type-alias
...
Matrix correct mutual type alias
2022-04-25 11:19:59 -04:00
Ayaz Hafiz
7facfd0922
Remove private tags from solve tests
2022-04-25 11:12:05 -04:00
Ayaz Hafiz
8b291854d3
Improve alias<->opaque unification logic
2022-04-25 10:59:40 -04:00
Folkert
c9426e2ed2
fix alias instantiation problem
2022-04-24 20:08:12 +02:00
Folkert
01dfda29b0
fix test by swapping definition order
2022-04-24 19:47:55 +02:00
Ayaz Hafiz
935a484c71
Fix compile error
2022-04-23 10:56:54 -04:00
Ayaz Hafiz
504c3f9b49
Delay add "is open" constraint until we know a type variable
2022-04-23 10:56:53 -04:00
Ayaz Hafiz
7b2b41869f
Add a way to view solved types of arbitrary expressions/patterns in a program
2022-04-23 10:56:53 -04:00
Ayaz Hafiz
ff5ae67094
Multi-specializations of able variables through function compile
2022-04-20 17:43:17 -04:00
Ayaz Hafiz
a07323fb40
Typecheck annotations with able variables outside ability members
2022-04-20 17:43:16 -04:00
Richard Feldman
93677001ba
Merge pull request #2888 from rtfeldman/divTrunc
...
rename divFloor to divTrunc
2022-04-19 21:57:49 -04:00
Ayaz
9343c6802a
Merge pull request #2890 from rtfeldman/i/2886
...
Solve all when branch pattern constraints before solving their bodies
2022-04-18 17:46:55 -04:00
Ayaz Hafiz
2856a38236
Solve all when branch pattern constraints before solving their bodies
...
Closes #2886
2022-04-18 11:03:25 -04:00
Kevin Gillette
6a3fd3a607
rename divFloor to divTrunc
2022-04-18 02:33:31 -06:00
Folkert
8692938fb3
Merge branch 'vecset-references' into builtins-in-roc
2022-04-17 19:39:03 +02:00
Richard Feldman
718b999751
Merge pull request #2857 from rtfeldman/abilities-mono
...
Codegen for abilities
2022-04-16 22:59:16 -04:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-16 21:01:51 +02:00
Sean Hagstrom
c67a1bb8d4
fix(repl) and fix(pretty_print): update pretty_print output for Num FloatingPoint *
to be Float *
instead of F64
2022-04-15 16:37:39 +01:00
Ayaz Hafiz
8f335c3278
Add solve test for aliasing ability
2022-04-14 17:25:44 -04:00
Ayaz Hafiz
8f906826fc
Include parent ability in specialization tests
2022-04-14 08:57:32 -04:00
Folkert
2b07b8c78d
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-13 21:45:40 +02:00
Ayaz Hafiz
0792ccbbe8
Calling ability with non-specialized type is an error
2022-04-13 11:49:33 -04:00
Ayaz Hafiz
d110fbde6c
Annotation specializes ability
2022-04-13 10:44:34 -04:00
Ayaz Hafiz
25b3aa7ca7
Typed body specializations solve
2022-04-13 10:42:46 -04:00
Ayaz Hafiz
cf1a6691dd
Fix solve tests
2022-04-12 18:54:12 -04:00
Ayaz Hafiz
15a040ec87
Basic type inference and solving for abilities
...
Note that is still pretty limited. We only permit opaque types to
implement abilities, abilities cannot have type arguments, and also no
other functions may depend on abilities
2022-04-12 16:18:07 -04:00
Nikita Mounier
0f0e9bdf14
Fix test in solve_expr.rs
2022-04-12 12:12:29 +00:00
Richard Feldman
d81228df80
cargo fmt
2022-04-11 13:17:46 -04:00
Nikita Mounier
1df1b4bc84
Fix typo.
2022-04-11 12:34:23 +00:00
Nikita Mounier
8206f345c7
Merge remote-tracking branch 'origin/trunk' into div-no-result
2022-04-11 11:45:06 +00:00
Nikita Mounier
4ecf2a8c24
Modify division behaviour to panic when dividing by 0, and add divChecked
, divFloorChecked and
divCeilingChecked` for safe alternatives which return a Result, mimicking the previous behaviour.
2022-04-11 11:23:33 +00:00
Folkert
52b58ecdf3
don't write to (temp) file in solve tests
2022-04-10 16:22:35 +02:00
Folkert
9d966d439f
fix solve tests
2022-04-09 12:29:49 +02:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-04-08 15:47:11 +02:00
Richard Feldman
8322ed95ed
Merge pull request #2806 from rtfeldman/toF32
...
Num.toF32/toF64 for LLVM backend
2022-04-08 08:28:07 -04:00
Ayaz Hafiz
17b3c7d8ee
Generate type variables when there are lots
...
Closes #2797
2022-04-07 17:49:48 -04:00
Richard Feldman
cd00a98636
Add toF32/64 and checked versions
2022-04-07 16:13:57 -04:00
Richard Feldman
bd623d65bc
Formatting whitespace
2022-04-07 16:13:57 -04:00