Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac
2022-05-08 20:54:33 -04:00
Ayaz Hafiz
2e57bf0b6a
Permit able variables in aliases, and thread them through
2022-05-08 15:08:14 -04:00
Mfon Eti-mfon
85c622b169
Update symbols definition
2022-05-08 15:54:34 +01:00
Ayaz Hafiz
83c6c3a17d
Remove Lowercase from Alias and Opaque
2022-04-29 11:36:31 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques
2022-04-25 10:59:42 -04:00
Folkert
b1612384c7
implement constrain crate
2022-03-17 19:17:52 +01:00
Folkert
38d3d3169a
drop final suffixes
2022-03-02 21:30:38 +01:00
Folkert
0eb98a4c59
move over constraint
2022-03-02 21:19:58 +01:00
Folkert
36c2b78c30
fix copy paste mistake
2022-03-02 19:08:42 +01:00
Folkert
a4889fd571
we are compiling
2022-03-02 18:48:34 +01:00
Folkert
01a7fe77d4
even more wip
2022-03-02 17:32:50 +01:00
Folkert
b8fd6992a2
More wip
2022-03-02 15:29:45 +01:00
Brendan Hansknecht
f7c0e2ef19
Merge remote-tracking branch 'origin/trunk' into single-quote-literal
2022-02-24 10:13:39 -08:00
ayazhafiz
90de82e295
Validation of opaques during canonicalization
2022-02-21 18:25:19 -05:00
ayazhafiz
6b53692aac
Canonicalize opaque types
2022-02-20 13:47:01 -05:00
ayazhafiz
c5d918e68c
Include floats in bounds for unspecified numbers
2022-02-06 15:04:12 -05:00
ayazhafiz
3fffca48bb
Bye bye dead code!
2022-02-06 15:04:12 -05:00
ayazhafiz
c80c842a93
Clippy
2022-02-06 15:04:12 -05:00
ayazhafiz
8dc92ccd97
Second pass
2022-02-06 15:04:12 -05:00
ayazhafiz
5e0d90ac53
First pass
2022-02-06 15:04:12 -05:00
ayazhafiz
e7dcc2daa5
Move NumWidth to roc_can
2022-02-02 00:23:43 -05:00
ayazhafiz
ae5766fdf5
Folkert's suggestions
2022-02-01 23:42:28 -05:00
ayazhafiz
df8113ce32
Typecheck numeric suffixes in patterns
2022-02-01 23:35:14 -05:00
ayazhafiz
a6f7579c07
Parse and expand numeric bounds in canonicalization pass
2022-02-01 22:50:46 -05:00
ayazhafiz
9f72b2710f
Run linter
2022-02-01 22:49:52 -05:00
ayazhafiz
e03592930f
Typecheck numeric literals with suffixes in expressions
...
Part of #2350
2022-02-01 22:49:50 -05:00
ayazhafiz
4e942b3e5d
Make nested datatypes into errors
...
I was hoping to add nested datatypes into the language, but it turns out
doing so is quite tricky and not all that useful with Roc's current
compilation model. Basically every implementation strategy I could think
of ended up requiring a uniform representation for the data layout
(or some ugly workaround). Furhermore it increased the complexity of the
checker/mono IR generator a little bit - basically, we must always pass
around the alias definitions of nested datatypes and instantiate them
at usage sites, rather than being able to unroll aliases as we currently
do during canonicalization.
So, especially because we don't support polymorphic recursion anyway, I
think it may be better to simply disallow any kind of nested datatypes
in the language. In any case, Stephanie Weirich [seems to think nested
datatypes are not needed](https://www.cis.upenn.edu/~plclub/blog/2020-12-04-nested-datatypes/ ).
Closes #2293
2022-01-31 22:58:01 -05:00
Folkert
dfbdeab6f3
use u32, not unsigned32
2021-10-02 20:24:05 +02:00
Eric Correia
8272ea876f
Get it all to compile!
2021-10-02 13:48:07 -04:00
Folkert
4cefbec5c7
store lambda set in alias types
2021-07-28 15:26:25 +02:00
Anton-4
314503cf7f
fixed typos, added typos checking to CI
2021-06-05 20:02:54 +02:00
Folkert
86ffd430d7
introduce missing var
2021-05-05 21:35:39 +02:00
rvcas
b510d6e94d
fix: float error in repl
2020-12-30 20:47:11 -05:00
rvcas
c33cab57f2
Merge branch 'int-float-size-gen' into temp_numbers
2020-12-30 19:41:44 -05:00
rvcas
127c4e1bcc
feat: add inner var to IntLiteral and FloatLiteral
2020-12-29 20:52:54 -05:00
Jared Ramirez
791a0e9404
Use precision in mono/ir to determine which number to generate
2020-12-29 09:33:55 -06:00
Jared Ramirez
48f964adf4
Add percision variable in fp/integer eq constraints
2020-12-28 16:22:34 -06:00
rvcas
c9308c0662
add new layer to the Num types
2020-12-21 09:56:11 -05:00
rvcas
4987721154
feat(Num): rename Num.Int to Num.I64
2020-12-07 19:17:20 -05:00
rvcas
f7bd803509
feat(Num): rename Float to F64
2020-11-24 10:25:21 -05:00
Folkert
8b3b677439
remove aliases from Let and LetCon
2020-10-31 15:27:24 +01:00
Folkert
8a50d48ce2
expand aliases used in constraint gen
2020-10-29 22:31:14 +01:00
Richard Feldman
88990c8711
Move Int and Float modules into Num
2020-06-22 23:25:38 -04:00
Folkert
106a3646bf
add category to Eq constraint
2020-04-01 20:09:10 +02:00
Richard Feldman
908e485fca
Move constrain and its deps into their own crates
2020-03-06 01:43:39 -05:00