Commit graph

585 commits

Author SHA1 Message Date
Folkert
278a370b30
use a loop {} instead of recursion to parse 2022-05-26 18:26:48 +02:00
Folkert
bab81fd941
actually use the new parser 2022-05-26 15:32:04 +02:00
Folkert
fa9ac912a0
parse defs with the new approach 2022-05-26 14:14:39 +02:00
Folkert
d174cb72ae
attempts at parsing 2022-05-25 20:30:43 +02:00
Folkert
d72ebf4b74
formatting for Defs 2022-05-25 14:58:36 +02:00
Folkert
2ae804790a
parse toplevel defs into an SOA structure 2022-05-23 22:07:37 +02:00
Richard Feldman
4eec34becf
Update to use new square brace formatting 2022-05-22 23:15:54 -04:00
Richard Feldman
5baf1ac8b3
Merge pull request #3088 from rtfeldman/fast-comment-simd
use simd in actual comment parsing
2022-05-21 22:39:25 -04:00
Ayaz Hafiz
9712cfe342
Canonicalize deriving 2022-05-20 15:55:45 -04:00
Folkert
c785577636
fix comment 2022-05-20 13:14:42 +02:00
Ayaz
e5eb9c9f1c
Merge pull request #3052 from rtfeldman/build-encode
Encode/JSON in standard library typechecks
2022-05-19 21:16:59 -04:00
Ayaz Hafiz
e78b345ee0
Format has-derived clauses 2022-05-19 18:29:31 -04:00
Ayaz Hafiz
fcf464e9da
Parse has-derived clauses 2022-05-19 18:29:31 -04:00
Ayaz Hafiz
0c5e903d2a
Make spaces before ability are recorded 2022-05-19 18:21:45 -04:00
Ayaz Hafiz
e293a8d4fa
Format Num, Str and fix off-by-one bug 2022-05-18 15:26:21 -04:00
Folkert
b390907610
stay within bounds 2022-05-18 18:06:57 +02:00
Folkert
541590f9d9
use simd in actual comment parsing 2022-05-18 15:39:58 +02:00
Folkert
970b2c94f2
fix conditional compilation 2022-05-18 01:36:56 +02:00
Folkert
381f188409
fix import 2022-05-18 00:57:07 +02:00
Folkert
500382c900
use simd on supported platforms 2022-05-18 00:54:54 +02:00
Folkert
c6abb0e129
fix tab position 2022-05-16 22:30:29 +02:00
Folkert
256e7adaff
move colum state over 2022-05-16 21:39:57 +02:00
Folkert
1a49930d1d
simplifications 2022-05-15 22:00:47 +02:00
Folkert
225254d7e5
fix math 2022-05-15 21:49:10 +02:00
Folkert
f92a8e900d
binary operation bitmask 2022-05-15 21:34:43 +02:00
Folkert
65e842f64a
do a fast pass first to exit early if the spaces will not be parsed 2022-05-15 21:15:02 +02:00
Folkert
c6b13984ed
direct indexing into the slice 2022-05-15 00:17:12 +02:00
Folkert
8f97c217a5
logic base 2022-05-15 00:06:33 +02:00
Folkert
dc4f8289ad
less cloning of the parse state 2022-05-14 23:54:15 +02:00
Folkert
2e3a8befc9
another inline 2022-05-14 23:51:06 +02:00
Folkert
9f2906a2f8
use while let 2022-05-14 23:46:52 +02:00
Folkert
d9977b73aa
inline function 2022-05-14 23:44:51 +02:00
ayazhafiz
514af619f5
Store region of type annotation correctly 2022-05-06 12:06:27 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag" 2022-04-25 17:04:34 -04:00
Ayaz Hafiz
f1dc9c8298
Opaques take @ : %s/\$\([A-Z]\)/@\1/g 2022-04-25 12:26:38 -04:00
Ayaz Hafiz
2ab01107d3
Removing extra private tag references 2022-04-25 11:43:55 -04:00
Ayaz Hafiz
1ed9cf551a
Remove private tags from Ast 2022-04-25 11:20:37 -04:00
Ayaz Hafiz
67eb4b9faa
Remove private tags from idents 2022-04-25 11:13:30 -04:00
Joshua Warner
b1e3913041 Allow parsing if as part of the right-hand-side of a binary expression 2022-04-24 09:56:53 -07:00
Richard Feldman
122a1d57a0
Merge remote-tracking branch 'origin/trunk' into sqrt-unchecked 2022-04-23 15:40:30 -04:00
Ayaz
5188f8f7df
Merge branch 'trunk' into i/2878 2022-04-18 21:46:23 -04:00
Kevin Gillette
cd8ab753e3
remove %% operator 2022-04-18 19:15:14 -06:00
Ayaz Hafiz
f129777115
Explicitly disallow ability definitions in nested scopes
Abilities can only be defined on the toplevel of a module. There is a
technical reason to this, which is that during type solving we must
introduce all abilities at the very beginning, and we need to make sure
ranks are correct. But there is a practical reason as well, which is
that nested ability definitions don't seem to be very useful.

Note that specializations can be nested, and are allowed to be. Also, we
can revisit this in the future. I just don't want experiments to break
right now because someone uses an ability in a nested scope where we
don't expect.

Closes #2878
2022-04-18 18:04:46 -04:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-16 21:01:51 +02:00
Ayaz Hafiz
233ea23979
Revert "Detect outdents too far"
This reverts commit 1c2ca2e3f5ae12d114cc72970035caf937d6e413.
2022-04-14 10:47:20 -04:00
Ayaz Hafiz
dc2d9ceeac
Detect outdents too far 2022-04-14 10:47:20 -04:00
Ayaz Hafiz
0c21821b04
Make sure outdented records parse 2022-04-14 09:31:55 -04:00
Folkert
6ef443d1b0
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-10 19:14:00 +02:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-08 15:47:11 +02:00
Ayaz Hafiz
66ec1b4a84 Basic canonicalization and error checking for abilities 2022-04-07 17:21:17 -04:00