Ayaz Hafiz
a3ac68a41f
Split up Defs into TypeDef and ValueDef
...
Just a refactoring PR. This is useful because during canonicalization
we always process type defs first, then value defs. With abilities this
distinction continues to grow; in that case, we have patterns associated
with types that we want to process before patterns from values.
2022-04-06 22:18:57 -04:00
Ayaz Hafiz
bd8333ebb1
Parse multiple abilities behind each other
2022-04-06 11:20:51 -04:00
Ayaz Hafiz
2dc0445f46
s/AbilityDemand/AbilityMember
...
This is a better name
2022-04-06 11:20:34 -04:00
Folkert
4e1197165b
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc-delayed-alias
2022-03-18 21:25:52 +01:00
ayazhafiz
84c7c49110
Fix parse error
2022-03-12 23:55:33 -06:00
hafiz
7de55076b5
Update compiler/parse/src/type_annotation.rs
...
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2022-03-12 23:23:09 -06:00
Richard Feldman
da64cc0a1d
cargo fmt
2022-03-12 23:43:45 -05:00
ayazhafiz
d92a5b9424
Reporting for abilities parsing
2022-03-12 22:08:01 -06:00
ayazhafiz
d7abc3897b
Parse abilities
2022-03-12 21:29:06 -06:00
Folkert
adf4ad22a5
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-03-05 20:55:15 +01:00
Richard Feldman
887a07b455
Merge pull request #2596 from rtfeldman/joshuawarner32/listclosing-braces
...
Allow closing braces in collections to be at any indent level
2022-02-28 20:00:44 -05:00
Folkert
bd31503855
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc
2022-02-28 18:55:20 +01:00
Joshua Warner
ab563fc9a5
Remove dead code
2022-02-26 13:34:53 -08:00
Joshua Warner
0e3b9e5624
Allow incorrect indents for closing braces, to be fixed in the formatter
2022-02-26 13:31:45 -08:00
Joshua Warner
2682193b76
Fix compile error with --features=parse_debug_trace
2022-02-26 13:31:08 -08:00
Folkert
c0d3543d5a
make Str + Result work
2022-02-26 17:52:24 +01:00
Brendan Hansknecht
dfa6d30812
fix escaped literals
2022-02-25 22:10:41 -08:00
Brendan Hansknecht
f7c0e2ef19
Merge remote-tracking branch 'origin/trunk' into single-quote-literal
2022-02-24 10:13:39 -08:00
Folkert
d1d7cfef44
reimplement Result
2022-02-23 17:52:13 +01:00
ayazhafiz
e420ebd023
Add TODOs for opaque type comments that will need to be changed later
2022-02-21 23:21:39 -05:00
ayazhafiz
6b53692aac
Canonicalize opaque types
2022-02-20 13:47:01 -05:00
ayazhafiz
6104a27b45
Parse opaque references
2022-02-19 21:30:42 -05:00
ayazhafiz
a38f1d1e8d
Fmt and clippy
2022-02-19 20:54:21 -05:00
ayazhafiz
3c10ad2a9f
Test for opaque definitions
2022-02-19 20:51:12 -05:00
ayazhafiz
fa24e51593
Parse opaque types
2022-02-19 18:38:31 -05:00
ayazhafiz
8ce81e4607
AliasHeader -> TypeHeader
2022-02-19 17:51:56 -05:00
Joshua Warner
f440d53e7b
Refactor: introduce trait SpaceProblem to remove a bunch of redundant args in ::Space errors
2022-02-15 20:48:04 -08:00
Anton-4
d6681f4e0a
Merge pull request #2160 from rtfeldman/editor-comments
...
support tld comments in docs and editor(reading only)
2022-02-10 11:49:10 +01:00
Folkert
f1ebc523b6
Merge remote-tracking branch 'origin/trunk' into hook-up-hosted-modules
2022-02-04 00:07:23 +01:00
Folkert
885500712c
remove old Effect module things
2022-02-03 23:55:02 +01:00
Folkert
16a2b660c3
bookkeeping
2022-02-02 23:11:52 +01:00
Folkert
1fb746757c
pipe module name into canonicalization of modules
2022-02-02 16:01:31 +01:00
ayazhafiz
a6f7579c07
Parse and expand numeric bounds in canonicalization pass
2022-02-01 22:50:46 -05:00
ayazhafiz
17c5fe0bff
Add granular errors regarding numeric literal parsing
2022-02-01 22:50:27 -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
320827167f
Parse number literal width suffixes
...
Supports [u,i][8,16,32,64,128] and [nat,dec]
Part of #2350
2022-02-01 22:48:48 -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
Richard Feldman
755f4c01f3
cargo fmt
2022-01-30 20:40:51 -05:00
Richard Feldman
c68dfdf61e
Drop some unused variants
2022-01-30 20:40:49 -05:00
Richard Feldman
484ce2fbc9
Parse hosted modules
2022-01-30 20:40:49 -05:00
ayazhafiz
b50bb9a4c7
Centralize closure type
2022-01-30 00:48:01 -05:00
ayazhafiz
84f8152514
Remove debug_assert that may legally check a false value
...
This may be false e.g. in the presence of a multiline string. Since the
parser is in a more stable state than when this was introduced, I think
this is OK to remove.
Closes #2398
2022-01-29 23:58:46 -05:00
ayazhafiz
8ae2d9d407
Parse interfaces with leading newlines
...
Closes #2420
2022-01-29 23:58:41 -05:00
Richard Feldman
1ab621dd54
Support optional spaces in app header types
2022-01-23 12:02:34 -05:00
Richard Feldman
01942fd98e
Parse app header provided types
2022-01-23 11:52:59 -05:00
Richard Feldman
c1c0ffb25f
Use UppercaseIdent over PlatformRigids
2022-01-23 11:13:23 -05:00
Jan Van Bruggen
1e9d2d1239
Remove accidental trailing spaces
2022-01-18 22:25:46 -07:00
Joshua Warner
6e67b77fa1
Remove awkward split between header_sources and defs sources
2022-01-13 19:34:17 -08:00
Joshua Warner
d9cfa2b2a5
Remove unused State::fail method
2022-01-03 20:11:01 -08:00