1
0
Fork 0
mirror of https://github.com/luau-lang/luau.git synced 2025-04-05 03:10:54 +01:00
Commit graph

332 commits

Author SHA1 Message Date
Arseny Kapoulkine
fb11ca00f4
Update README.md
linenoise -> isocline
2022-02-28 10:50:23 -08:00
Arseny Kapoulkine
db3a8a2f0f
Update prototyping.yml ()
This limits the scope of prototyping action to PRs to prototyping branch to minimize the GHA cost / latency, as cabal install sometimes takes forever
2022-02-24 17:08:54 -08:00
Arseny Kapoulkine
c7eca27909
Sync to upstream/release/516 () 2022-02-24 15:53:37 -08:00
Lily Brown
0bd21762ae
Prototype bools and relational operators ()
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
Petri Häkkinen
0bc7c51afc
Lua API: add return types to table getters ()
Co-authored-by: Petri Häkkinen <petrih@rmd.remedy.fi>
2022-02-23 10:03:58 -08:00
Lily Brown
cd18adc20e
Prototyping: binary operations ()
Adds support for binary operations on numbers.
2022-02-22 15:52:56 -08:00
James Napora
1334db600f
Update grammar.md () 2022-02-22 11:24:15 -08:00
Arseny Kapoulkine
3c42b3a013
Revert "Mark singleton types RFC as implemented ()" ()
This reverts commit 731e197757.
2022-02-19 10:57:29 -08:00
Alan Jeffrey
fc33b0c702
Fix evaluation rule for function application () 2022-02-18 16:47:23 -06:00
Alan Jeffrey
0b783d8932
Add Properties.Equality to prototyping () 2022-02-18 16:47:04 -06:00
Lily Brown
7f867ac166
Prototyping: numbers ()
Adds number support to the prototype. Binary operators are next.
2022-02-18 11:09:00 -08:00
Arseny Kapoulkine
a9bdce6cc0
Rename tests to tests.py () 2022-02-18 10:04:38 -08:00
Arseny Kapoulkine
5b78465059
Sync to upstream/release/514 () 2022-02-17 17:18:01 -08:00
Lily Brown
1ac64af484
Prototyping: Revise CI ()
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 () 2022-02-17 16:58:43 -08:00
Alexander McCord
731e197757
Mark singleton types RFC as implemented () 2022-02-17 16:16:31 -08:00
Arseny Kapoulkine
e49a0fd4cd
Mark default type parameters RFC as implemented () 2022-02-17 16:14:35 -08:00
Arseny Kapoulkine
e541e19f44
Create RFC status tracking document ()
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 ()
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 ()
Parses type annotations from the JSON output of `luau-ast`.
2022-02-15 14:10:43 -08:00
Lily Brown
4b7e06e14f
Emit more information for AstLocals in JSON encoder ()
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
Arseny Kapoulkine
7d679b317f
RFC: Generalized iteration ()
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 () 2022-02-11 19:03:26 -06:00
Alan Jeffrey
db90c7da48
Add a typeToString function to the prototype ()
* Added Luau.Type.ToString
2022-02-11 14:38:35 -06:00
Arseny Kapoulkine
63d5423bbb
Sync to upstream/release/514 () 2022-02-11 11:02:09 -08:00
Arseny Kapoulkine
aecd60371b
Update performance.md ()
Document weak table shrinking and paged sweeper
2022-02-11 09:13:27 -08:00
Alan Jeffrey
5187e64f88
Implement a prototype interpreter ()
* First cut interpreter
2022-02-09 17:14:29 -06:00
Arseny Kapoulkine
abe3f87b48
docs: Add documentation for upcoming MisleadingAndOr lint ()
This is going to be part of Luau 0.514
2022-02-09 09:27:01 -08:00
Arseny Kapoulkine
ec481695a3
Update library.md ()
Clarify the relationship between `typeof` and `newproxy`. As a sandboxing measure, `typeof` only uses `__type` on host-defined userdata.

Fixes .
2022-02-09 09:19:50 -08:00
Alan Jeffrey
041838a942
Prototyping a small subset of Luau in Agda ()
* First cut reading JSON into an Agda representation of Luau syntax
2022-02-08 18:26:58 -06:00
Michael Savage
324bc4b01d
Add a build option to link with the static CRT ()
LUAU_STATIC_CRT CMake option can be set externally (requires CMake 3.15+)
2022-02-07 13:51:57 -08:00
Lily Brown
7ffb5fc4fd
Add Luau.Ast.CLI target ()
Adds a `luau-ast` CLI that dumps Luau source to JSON. @asajeffrey and I are planning to use this functionality to construct an Agda model of the Luau type system/operational semantics, to allow formally proving properties of Luau's type systems.
2022-02-07 12:08:43 -08:00
Arseny Kapoulkine
e51ff38d19
Sync to upstream/release/513 () 2022-02-04 12:46:08 -08:00
Arseny Kapoulkine
d58e70b8c1
Sync to upstream/release/513 () 2022-02-04 08:45:57 -08:00
Andy Friesen
c572f6944f
January 2022 recap () 2022-02-01 14:49:55 -08:00
Arseny Kapoulkine
2f989fc049
Sync to upstream/release/512 ()
- Improve refinement support for unions, in particular it's now possible to implement tagged unions as a union of tables where individual branches use a string literal type for one of the fields.
- Fix `string.split` type information
- Optimize `select(_, ...)` to run in constant time (~2.7x faster on VariadicSelect benchmark)
- Improve debug line information for multi-line assignments
- Improve compilation of table literals when table keys are constant expressions/variables
- Use forward GC barrier for `setmetatable` which slightly accelerates GC progress
2022-01-27 15:46:05 -08:00
Vlad Marica
4b96f7efc1
luau-analyze: Add support for reading source code from stdin ()
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2022-01-25 08:25:01 -08:00
Arseny Kapoulkine
8fe95c9963
Sync to upstream/release/511 ()
- TableOperations lint now includes a warning for table.create(N, {}) (which is likely a mistake since the table is shared by all entries)
- Type checker now type checks #v when v is a union
- Parser now rejects sources that consists of a single unfinished long comment
- Work around significant MSVC 2022 performance regression, bringing it more or less in line with MSVC 2019
- Compiler now predicts array size for newly allocated tables when the table is filled in a short loop
- Small improvements in compilation throughput (~2% faster)
- Implement paged sweeper for GC which improves sweep throughput 2-3x and reduces memory consumption by 8 bytes per object (once it is stabilized we will see additional 8 bytes per object of savings)
- Improve Repl Tab completion
- Repl now supports -i (interactive mode to run code in context of a script's environment) and -On (to control optimization flags)
2022-01-21 09:00:19 -08:00
Shiro
478a3da634
Update copyright years. () 2022-01-20 09:42:49 -08:00
JohnnyMorganz
4e5ff99582
Improve Grammar documentation () 2022-01-20 08:27:19 -08:00
dcope-rbx
49ce5096a4
Fixed a couple spelling mistakes in markdown files. () 2022-01-17 09:44:31 -08:00
Halalaluyafail3
497d625f73
Fix some mistakes in the documentation () 2022-01-14 13:42:49 -08:00
Arseny Kapoulkine
32c39e2162
Sync to upstream/release/510 () 2022-01-14 08:20:09 -08:00
Arseny Kapoulkine
b2af550b08
Update grammar.md
Add forgotten quotes around 'type'; reported by @Dionysusnu
2022-01-13 15:23:18 -08:00
Arseny Kapoulkine
d6ba106be6
Update compatibility.md
Add a note about function identity
2022-01-12 11:56:46 -08:00
T 'Filtered' C
abf9fc2754
Update compatibility.md to split coroutine.close from lua_resetthread ()
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2022-01-12 11:50:25 -08:00
rafa_br34
b7f78f4997
MSVC warning C4244 fixes ()
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2022-01-12 10:05:31 -08:00
Arseny Kapoulkine
b7a7b92d12
Update syntax.md
Remove confusing block because it reads as if we *do* support this syntax if you aren't reading carefully.
2022-01-11 13:24:56 -08:00
Arseny Kapoulkine
a23b467485
Add turbofish discussion to generic function RFC () 2022-01-07 11:07:36 -08:00
Arseny Kapoulkine
287b46e6a7
Mark bidirectional ascription RFC as implemented () 2022-01-07 11:07:22 -08:00