Commit graph

216 commits

Author SHA1 Message Date
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac 2022-05-08 20:54:33 -04:00
Ayaz
d0bd08dbe0 Typo 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
b3845c21bd Print able type variables correctly 2022-05-08 15:08:19 -04:00
Ayaz Hafiz
13884c4ce6 Fix solve test 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
85b3110bea Typecheck decoder 2022-05-08 15:08:18 -04:00
Ayaz Hafiz
f48792a173 Add encoder tests 2022-05-08 15:08:16 -04:00
Ayaz Hafiz
2e57bf0b6a Permit able variables in aliases, and thread them through 2022-05-08 15:08:14 -04:00
Ayaz Hafiz
45134a547d Update solve test 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c67bc5a8d6 Remove when-related changes 2022-05-08 15:07:27 -04:00
Ayaz Hafiz
b5efd830e5 Solve and gen ability members that bind other able variables 2022-05-08 15:07:27 -04:00
Mfon Eti-mfon
9068c2414e
Rename float functions and vars 2022-05-08 18:42:12 +01:00
Ayaz Hafiz
7e234d4550
Instantiate aliases in delayed alias args 2022-05-06 16:04:47 -04:00
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