Commit graph

369 commits

Author SHA1 Message Date
ajeffrey@roblox.com
51133397cc Merge remote-tracking branch 'upstream/master' into prototyping-strict-mode 2022-02-24 18:22:31 -06:00
ajeffrey@roblox.com
05512cdbf8 Got interpreter to print a type error for any annotated program with a runtime error 2022-02-24 17:23:51 -06:00
ajeffrey@roblox.com
55f3f284a4 Added warningToString and hooked it up to the interpreter 2022-02-24 16:24:55 -06:00
ajeffrey@roblox.com
5d84c8382a Caught up with master 2022-02-24 14:57:16 -06:00
ajeffrey@roblox.com
331c729d29 WIP 2022-02-24 13:57:42 -06:00
Lily Brown
0bd21762ae
Prototype bools and relational operators (#387)
Prototypes booleans and relational operators.

As part of this I removed `FFI/Data/Bool.agda`, because it was getting in the way - we already use `Agda.Builtin.Bool` instead for other cases.
2022-02-24 11:17:46 -08:00
ajeffrey@roblox.com
9f6fc4a56b WIP 2022-02-24 11:34:11 -06:00
ajeffrey@roblox.com
02f5e21331 WIP 2022-02-24 11:31:34 -06:00
ajeffrey@roblox.com
7433e6e5f7 WIP 2022-02-24 11:30:23 -06:00
ajeffrey@roblox.com
112cebb8b7 WIP 2022-02-24 11:26:30 -06:00
ajeffrey@roblox.com
9c7311c19d WIP 2022-02-24 11:08:12 -06:00
ajeffrey@roblox.com
ae0745e800 WIP 2022-02-24 10:46:27 -06:00
ajeffrey@roblox.com
c6c0097729 WIP 2022-02-24 10:43:04 -06:00
ajeffrey@roblox.com
2b52a6eb68 Merge remote-tracking branch 'upstream/master' into prototyping-strict-mode 2022-02-23 18:30:19 -06:00
Petri Häkkinen
0bc7c51afc
Lua API: add return types to table getters (#389)
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2022-02-23 10:03:58 -08:00
Lily Brown
cd18adc20e
Prototyping: binary operations (#377)
Adds support for binary operations on numbers.
2022-02-22 15:52:56 -08:00
ajeffrey@roblox.com
ef92fd8586 Finished strict mode subjsect reduction 2022-02-22 17:50:33 -06:00
ajeffrey@roblox.com
80b1fc5a71 WIP 2022-02-22 15:14:42 -06:00
James Napora
1334db600f
Update grammar.md (#379) 2022-02-22 11:24:15 -08:00
ajeffrey@roblox.com
afe72cfd86 WIP 2022-02-22 12:04:27 -06:00
ajeffrey@roblox.com
0cf9acc799 WIP 2022-02-22 11:00:47 -06:00
Arseny Kapoulkine
3c42b3a013
Revert "Mark singleton types RFC as implemented (#370)" (#378)
This reverts commit 731e197757.
2022-02-19 10:57:29 -08:00
ajeffrey@roblox.com
fcccd9443a WIP 2022-02-18 17:57:27 -06:00
Alan Jeffrey
fc33b0c702
Fix evaluation rule for function application (#375) 2022-02-18 16:47:23 -06:00
Alan Jeffrey
0b783d8932
Add Properties.Equality to prototyping (#376) 2022-02-18 16:47:04 -06:00
ajeffrey@roblox.com
cd9182ca5f WIP 2022-02-18 14:43:31 -06:00
Lily Brown
7f867ac166
Prototyping: numbers (#368)
Adds number support to the prototype. Binary operators are next.
2022-02-18 11:09:00 -08:00
ajeffrey@roblox.com
c7e96d7582 WIP 2022-02-18 12:47:35 -06:00
Arseny Kapoulkine
a9bdce6cc0
Rename tests to tests.py (#374) 2022-02-18 10:04:38 -08:00
Arseny Kapoulkine
5b78465059
Sync to upstream/release/514 (#372) 2022-02-17 17:18:01 -08:00
Lily Brown
1ac64af484
Prototyping: Revise CI (#371)
Introduces a test runner with test cases. Also significantly overhauls the GHA configuration.
2022-02-17 17:15:33 -08:00
Arseny Kapoulkine
6aaaafcc8d
Add documentation for upcoming CommentDirective lint (#361) 2022-02-17 16:58:43 -08:00
ajeffrey@roblox.com
380a144614 Well typed programs don't go wrong 2022-02-17 18:48:04 -06:00
ajeffrey@roblox.com
90229615b5 WIP 2022-02-17 18:24:36 -06:00
Alexander McCord
731e197757
Mark singleton types RFC as implemented (#370) 2022-02-17 16:16:31 -08:00
Arseny Kapoulkine
e49a0fd4cd
Mark default type parameters RFC as implemented (#369) 2022-02-17 16:14:35 -08:00
ajeffrey@roblox.com
8e52542526 WIP 2022-02-16 23:03:40 -06:00
ajeffrey@roblox.com
1f4d77bac9 WIP 2022-02-15 22:47:59 -06:00
Arseny Kapoulkine
e541e19f44
Create RFC status tracking document (#363)
This tracks status of all unimplemented RFCs in one central place. Hopefully we won't forget to update this when new RFCs are added!
2022-02-15 18:37:02 -08:00
Lily Brown
c8d6dc2758
Revise GHA workflows for prototyping (#367)
Changed the GHA workflows to:
- Not run `build` and `release` workflows for PRs that only affect `prototyping/`
- Run `prototyping` workflow when PRs affect `Analysis/**`, `Ast/**`, or the `luau-ast` source files
2022-02-15 14:24:51 -08:00
Lily Brown
f0c9d84461
Prototyping: Parse type annotations (#366)
Parses type annotations from the JSON output of `luau-ast`.
2022-02-15 14:10:43 -08:00
ajeffrey@roblox.com
3f2ca3d4ad Working on strict mode 2022-02-14 18:43:46 -06:00
Lily Brown
4b7e06e14f
Emit more information for AstLocals in JSON encoder (#364)
We don't emit type annotations right now for `AstLocal`s in the JSON encoder. This makes it really hard to surface annotations in the Agda implementation. This PR changes it to emit location and type annotations, if present.
2022-02-14 14:14:11 -08:00
ajeffrey@roblox.com
50f97b0046 First shot at strict mode warnings 2022-02-14 15:30:31 -06:00
Arseny Kapoulkine
7d679b317f
RFC: Generalized iteration (#335)
Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2022-02-14 10:04:07 -08:00
Alan Jeffrey
e0a9bc191a
Prototype: added syntax for optional type annotations (#358) 2022-02-11 19:03:26 -06:00
ajeffrey@roblox.com
1a35e3e1cc Finished the typechecker for fully type-annotated programs 2022-02-11 18:24:02 -06:00
ajeffrey@roblox.com
9f68a4f802 More work on infallible typechecking 2022-02-11 14:50:50 -06:00
Alan Jeffrey
db90c7da48
Add a typeToString function to the prototype (#354)
* Added Luau.Type.ToString
2022-02-11 14:38:35 -06:00
Arseny Kapoulkine
63d5423bbb
Sync to upstream/release/514 (#357) 2022-02-11 11:02:09 -08:00