Commit Graph

198 Commits

Author SHA1 Message Date
Arseny Kapoulkine 279855df91
Sync to upstream/release/503 (#135)
- A series of major optimizations to type checking performance on complex
programs/types (up to two orders of magnitude speedup for programs
involving huge tagged unions)
- Fix a few issues encountered by UBSAN (and maybe fix s390x builds)
- Fix gcc-11 test builds
- Fix a rare corner case where luau_load wouldn't wake inactive threads
which could result in a use-after-free due to GC
- Fix CLI crash when error object that's not a string escapes to top level
- Fix Makefile suffixes on macOS

Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-05 08:47:21 -07:00
Arseny Kapoulkine c0b95b8961
Update profile.md
Too much future.
2021-11-04 23:24:39 -07:00
Arseny Kapoulkine 49b0c59eec
Sync to upstream/release/502 (#134)
Changes:
- Support for time tracing for analysis/compiler (not currently exposed
  through CLI)
- Support for type pack arguments in type aliases (#83)
- Basic support for require(path) in luau-analyze
- Add a lint warning for table.move with 0 index as part of
  TableOperation lint
- Remove last STL dependency from Luau.VM
- Minor VS2022 performance tuning

Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-04 19:34:35 -07:00
Arseny Kapoulkine adacdcdf4e
Update profile.md
Remove incorrect sentence copied from the incorrect internal documentation :)
2021-11-04 18:07:34 -07:00
Arseny Kapoulkine dc509b9849
Update navigation.yml
Add profiling page to nav bar
2021-11-04 17:28:24 -07:00
Arseny Kapoulkine 7c76a5a70a
Create profile.md
Add profiler documentation.
2021-11-04 17:27:56 -07:00
Arseny Kapoulkine e0c4f33217
Add chess-profile.lua 2021-11-04 17:22:04 -07:00
Arseny Kapoulkine 98fa75e911 Fix fallout from #114: T is the right thread to use 2021-11-04 10:09:25 -07:00
Josh Soref 278e848cc2
Spelling (#119)
Fixed various spelling errors.

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2021-11-04 09:50:46 -05:00
Tommy Vadakumchery 57a42c4cb9
Fix HATRA '21 README.md formatting (#118)
A misplaced backtick was causing the last two codeblocks from displaying correctly.
2021-11-04 09:00:41 -05:00
Arseny Kapoulkine 3462a08d4a
Update CONTRIBUTING.md
Add a section on performance.
2021-11-03 22:08:23 -07:00
Arseny Kapoulkine 1f0084daa3 Mark RFCs that were implemented as such. 2021-11-03 21:35:25 -07:00
Valts Liepiņš 344d37f0b1
Fixes incorrect MismatchedCount error message when returning (#103) 2021-11-03 21:23:20 -07:00
Grant Hernandez e3f8c25e9e
Fix CLI abort when non lua string passed to error (#114) 2021-11-03 21:17:07 -07:00
Arseny Kapoulkine 733ae0498d
Update index.md
Cleanup text and remove extra buttons and redundant links
2021-11-03 19:10:49 -07:00
Peter van Dijk 3f0eb426c9
cmake --target takes one argument, not two (#105)
Adjust README so that we can work with CMake versions before 3.15
2021-11-03 14:37:15 -07:00
Arseny Kapoulkine 06e79462d0
Update index.md
Remove incorrect text about Luau being Roblox only.
2021-11-03 14:27:42 -07:00
Amber's Careware eed3c8c38f
Update config-luaurc.md (#104)
When running `luau-analyze` with a .luarc that has a "mode" key, it outputs the following:
> .luaurc: Unknown key mode
I'm assuming it was named "mode" at first and was re-named "languageMode" later on?
2021-11-03 13:15:51 -07:00
Arseny Kapoulkine 2f7e1a2395
Update CI scripts to ignore .md changes (#100)
This reduces the load on GHA infra
2021-11-03 12:30:30 -07:00
Arseny Kapoulkine e34586b847
Update sandbox.md
Soften the language around Rust
2021-11-03 12:30:07 -07:00
Arseny Kapoulkine 05a41d5d54
Remove team restriction from RFC process documentation
Fixes #98
2021-11-03 12:13:42 -07:00
Pelanyo Kamara 5a18006056
Update README.md (#99)
Update README.md to highlight CPP code snippet.
2021-11-03 12:12:14 -07:00
Arseny Kapoulkine dc83543f3b
Update 2021-11-03-luau-goes-open-source.md
Fix links in the announcement
2021-11-03 10:28:01 -07:00
Arseny Kapoulkine fa46d35b8d Merge branch 'upstream' 2021-11-03 10:20:08 -07:00
Arseny Kapoulkine 46110524ef Sync to upstream/release/501 (#20)
Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-03 10:15:50 -07:00
Arseny Kapoulkine e997a4cc57
Update index.md
Fix overlay header - image is not optional :(
2021-11-03 09:43:20 -07:00
Arseny Kapoulkine cba635f71b
Update LICENSE.txt
Add PUC-Rio copyright here as well for ease of distribution; now we don't need lua_LICENSE and might remove it in the future.
2021-11-03 09:41:30 -07:00
Arseny Kapoulkine 36110e0f29
Update issue template config
Fix discussion link
2021-11-03 09:40:08 -07:00
Arseny Kapoulkine 586bef6a4c Add open-source announcement 🎉 2021-11-02 15:50:57 -07:00
Arseny Kapoulkine dd46710280 Update index.md
Remove language about Roblox since it suggests the thought that Luau is Roblox specific.
2021-11-02 15:50:57 -07:00
Arseny Kapoulkine 8f901671e0 Add coverage badge 2021-11-02 15:50:57 -07:00
Arseny Kapoulkine 7f3c033162 Add Coveralls integration
Build and upload lcov-compatible coverage file to coveralls
2021-11-02 15:50:57 -07:00
Arseny Kapoulkine 0ded24c2d5 Switch to releases for build artifacts 2021-11-01 14:52:34 -07:00
Arseny Kapoulkine d01addc625 Sync to upstream/release/501 (#20)
Co-authored-by: Rodactor <rodactor@roblox.com>
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine 12b2838de0 Update .gitignore to match upstream 2021-11-01 14:52:34 -07:00
Arseny Kapoulkine 650dd30062 Update getting-started and why for open source release 2021-11-01 14:52:34 -07:00
Arseny Kapoulkine 4d168c3543 Add CONTRIBUTING.md and replace README.md
Also add SVG logo to docs/
2021-11-01 14:52:34 -07:00
Arseny Kapoulkine ca965d94ee Add build scaffolding for GHA and issue templates for GH 2021-11-01 14:52:34 -07:00
Arseny Kapoulkine 33cb9d5991
Update performance.md (#94)
Add documentation on shorter atomic pauses

Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-11-01 12:08:01 -07:00
vegorov-rbx e562596bb8
Luau Recap: October 2021 (#92)
* Draft for October post

* Rebuild pages

* Apply suggestions from code review

Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>

* Update 2021-10-31-luau-recap-october-2021.md

Add optimizations

* Remove unfinished section

Co-authored-by: dcope-rbx <91100513+dcope-rbx@users.noreply.github.com>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-10-29 11:37:43 -07:00
dcope-rbx c1654e34eb
Fixed doc issue that was unaddressed in a previous code review (#93) 2021-10-29 09:48:58 -07:00
dcope-rbx 1b38e3c8f8
Added syntax documentation for if expressions (#91)
* Added syntax documentation for if expressions
2021-10-28 13:44:04 -07:00
vegorov-rbx 0fd38fd765
RFC: Type alias type packs (#83) 2021-10-27 11:53:45 -07:00
Alan Jeffrey 59c0492419
RFC: Write-only properties (#79)
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-10-27 11:42:17 -07:00
Alan Jeffrey f3a248d1a9
Remove warning about generic functions being disabled (#90) 2021-10-27 11:24:47 -05:00
Arseny Kapoulkine 2341b5014e
Update compatibility.md
Given the new RFC we clearly don't think coroutine.close is never going to happen :)
2021-10-26 17:19:37 -07:00
Arseny Kapoulkine 1ec7be600c
docs: Create library.md (#87)
Full documentation for the standard library, written from scratch by looking at the source code - so hopefully this is reasonably correct/precise.

Some of the function descriptions are probably too concise to be easily understandable - we can flesh this out in the future.

Some of the type specifications aren't using valid Luau syntax; in particular, I've used "function" or "table" in a few places as a human-friendly notion that any function/table suffices, and the iterator functions just say that they return <iterator> without being specific as to what the signature of the generator is.
2021-10-19 13:54:44 -07:00
Alan Jeffrey 628d7d9fcd
RFC: Read-only properties (#77)
* Added rfcs/property-readonly.md

Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-10-11 09:58:01 -05:00
Arseny Kapoulkine d42dba9c95
RFC: Configure analysis via .luaurc (#47) 2021-10-07 22:41:56 -07:00
Arseny Kapoulkine c54a8c81f6
Update function-table-freeze.md
Fix typos and formatting
2021-10-07 17:51:08 -07:00
Alan Jeffrey f8fb1016dc
RFC: Unsealed table assignment creates an optional property (#73)
* Added rfcs/unsealed-table-assign-optional-property.md

Co-authored-by: Lily Brown <lily@lily.fyi>
2021-10-05 19:22:38 -05:00
Alan Jeffrey 4b02be4e0e
September 2021 Luau Recap (#81)
* Added the September Luau Recap

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-09-29 15:05:14 -05:00
Alan Jeffrey 43b803b267
RFC: Recursive type restriction (#68)
Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-09-27 10:49:03 -07:00
Arseny Kapoulkine 08bdb5b202
Rename syntax-type-ascription-2.md to syntax-type-ascription-bidi.md 2021-09-23 11:18:02 -07:00
Arseny Kapoulkine 1788de56a0
Update syntax-if-expression.md
Add a note that only one expression is evaluated in `if-expr`.
2021-09-22 14:08:37 -07:00
Alan Jeffrey 341afd9f63
Slides for HATRA talk (#74)
* Added HATRA talk slides

Co-authored-by: Andy Friesen <afriesen@roblox.com>
2021-09-22 13:00:41 -05:00
Alan Jeffrey 2834eece1b
Added copyright ownership statement to the HATRA paper (#75) 2021-09-22 12:31:14 -05:00
Alan Jeffrey 0dc922b690
Responding to referee comments in the HATRA paper (#70)
* Responding to referee comments for the HATRA paper
2021-09-20 17:44:34 -05:00
Arseny Kapoulkine ae1c104fd1
Update performance.md (#71)
Add some information about the new GC pacer

Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>
2021-09-15 16:19:45 -07:00
Arseny Kapoulkine 4e6ca2531b
Update performance.md (#69)
Remove placeholder sections for performance optimizations - we'll just add individual optimizations to this document as we deploy them.
2021-09-15 16:07:16 -07:00
Andy Friesen d35b2a65c9
RFC: Update type assertions to permit conversion between any two related types (#56)
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-09-14 11:55:20 -07:00
vegorov-rbx c738ddc1f0
Luau Recap: August 2021 (#64)
* August post is ready

* Fixes

* Rebuild pages

* Apply suggestions from code review

Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>

* Update docs/_posts/2021-08-31-luau-recap-august-2021.md

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>

* Fix typo

* Mention additional optimizations

* Fix link

Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-08-31 22:16:33 +03:00
Arseny Kapoulkine ad436994ba
Update performance.md (#65)
Call out table capacity prediction
2021-08-31 07:28:49 -07:00
Arseny Kapoulkine bb8870a1d4
Update compatibility.md (#63)
Add a note about `pcall` - really the C limit is universal but it will most often be hit during either pcall or coroutine.resume.
2021-08-30 10:31:52 -07:00
vegorov-rbx 10a407226b
RFC: Default type alias type parameters (#61)
* RFC: Default type alias type parameters

* Update the motivating example to match actual motivating example

* Resolved review comments

* improved motivation for the feature and noted additional languages with this feature
* fixed terminology between 'argument' and 'parameter'
* brought back support for default type pack parameter values
* removed alternative syntax and described the decision between ':' and '=' in the design section
* fixed drawback text and provided an example

* Remove return type pack annotation from allowed type pack default values,type annotation syntax doesn't allow that to be stand-alone

* Generic type pack has to be referenced by generic type pack name (with ...)
2021-08-20 20:26:37 +03:00
Arseny Kapoulkine fcbbdcc05e
Update README.md (#62)
Change link from .github.io to .org
2021-08-09 18:51:41 -07:00
Arseny Kapoulkine 81cddbd82c
Update lint.md (#58)
Add documentation for DuplicateLocal
2021-08-04 15:24:25 -07:00
Lily Brown c42e311bcc
HATRA '21 paper corrections (#57)
A large number of changes to the HATRA '21 position paper. We've abandoned the 4pp limit, which allows us to add more detail to some sections, and use more appropriate wording throughout the paper. A rough changelog:

* Numerous wording tweaks
* Removed `\cite{???}`
* Added type inference section
* Introduction beefed up
* Abstract slightly tweaked

Co-authored-by: Alan Jeffrey <403333+asajeffrey@users.noreply.github.com>
2021-08-04 13:50:44 -07:00
Matthew Pagan 9cc9934370
fix: change variable asserted in documentation (#60) 2021-08-04 09:25:01 -07:00
vegorov-rbx e9db7cd1dc
Luau Recap: July 2021 (#59)
* July post is ready

* Trigger a build

* Trigger a build

* Added a paragraph for 'DuplicateConditions' lint

* Apply suggestions from code review

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>

* Fix mixed tabs and spaces

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-07-30 19:52:21 +03:00
Arseny Kapoulkine 1f548d4753
Update lint.md (#54)
Add documentation for the upcoming DuplicateCondition lint
2021-07-21 16:13:04 -07:00
Alan Jeffrey 7c7eb800f5
Add a position paper about the goals of Luau (#55)
Added a position paper on Luau for submission to HATRA 2021

Co-authored-by: Lily Brown <lbrown@roblox.com>
Co-authored-by: Andy Friesen <afriesen@roblox.com>
2021-07-20 13:41:04 -05:00
vegorov-rbx 01d9f8daf9
Luau Recap: June 2021 (#53)
* Template for the June post

* June post is ready

* Fixed post date

* Added a few examples

* Add another equality operator

* Update docs/_posts/2021-06-30-luau-recap-june-2021.md

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>

* Note the limitation of current constraint resolver

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-07-07 19:45:01 +03:00
Arseny Kapoulkine bf17b6447a
Update lint.md (#52)
* Update lint.md

Add documentation for DeprecatedApi (live) and TableOperations (ships on July 7th)

* Update lint.md

Shorten line a bit
2021-07-06 09:06:51 -07:00
Arseny Kapoulkine 7e71295c27
RFC: Deprecate getfenv/setfenv (#51) 2021-06-24 23:02:57 -07:00
vegorov-rbx 9a4487f3e9
RFC: nil-forgiving operator (#48)
Co-authored-by: Alexander McCord <11488393+alexmccord@users.noreply.github.com>
2021-06-23 12:58:00 -07:00
Arseny Kapoulkine c8af786b10
Update compatibility.md
We decided that we can't enforce strict limits for insert/remove based on analysis of Roblox games
2021-06-15 19:05:27 -07:00
Arseny Kapoulkine b439c9fcdc
Update performance.md
Restore the original sentence with tweaks; this seems like better wording since it highlights the importance of knowing the field name at compile time, no matter the notation.
2021-06-14 18:54:47 -07:00
Arseny Kapoulkine 40a175499e
Update performance.md
Remove outdated statement about table["field"] since we optimize it now the same way as table.field.
2021-06-14 10:53:26 -07:00
Arseny Kapoulkine 0fdf8824f1
Update performance.md (#50)
Add a section about vectors and libraries
2021-06-11 14:10:55 -07:00
Arseny Kapoulkine 50c22abae0
Update syntax.md (#46)
Add documentation for named arguments in function types.
2021-06-02 13:19:46 -07:00
Arseny Kapoulkine b20601af89
Update lint.md (#44)
Update FunctionUnused and ImportUnused following internal changes that make it possible to suppress the warning using _
2021-06-02 12:49:35 -07:00
Arseny Kapoulkine b490373454
Update syntax.md (#45)
Add information about type ascription syntax
2021-06-02 12:14:24 -07:00
vegorov-rbx 2a29ba1538
Update 2021-05-31-luau-recap-may-2021.md 2021-06-02 19:50:57 +03:00
vegorov-rbx 5c7a981866
Luau Recap: May 2021 (#42)
* Added May 2021 recap post

* Added missing items and fixed confusing function declaration example

* Apply suggestions from code review

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>

* Small fix

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-06-02 13:19:15 +03:00
Arseny Kapoulkine e8a58ea42f
Update if-expr RFC with mid-block return interaction (#43)
We don't have mid-block return support yet and it's not clear if we will due to similar grammatical issues with this wrt function calls, but noting this for completeness (thanks @alexmccord for bringing this up)
2021-06-01 15:45:43 -07:00
vegorov-rbx 7ab5a3a2db
Mark 'Named Function Type Arguments' status as implemented (#41) 2021-05-31 21:07:37 +03:00
Lily Brown 43d606fad4
RFC: Sealed table subtyping (#38) 2021-05-31 10:39:09 -07:00
Arseny Kapoulkine fff104b439
Rename linting pass to match internal changes
The name is cleaner and more correct
2021-05-30 11:55:52 -07:00
Andy Friesen fc4cfede58
Document how to actually use an exported type from another module. (#40) 2021-05-28 10:31:47 -07:00
Alexander McCord cc399fa98d
RFC: Singleton types (#37)
Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
2021-05-28 09:13:44 -07:00
Arseny Kapoulkine b2b0c33b5e Update CNAME 2021-05-27 19:00:09 -07:00
Arseny Kapoulkine a4fe638b17 Create CNAME 2021-05-27 18:52:43 -07:00
Arseny Kapoulkine d6ca8b2ce3 Delete CNAME 2021-05-27 18:33:38 -07:00
Arseny Kapoulkine d3b551e266 Create CNAME 2021-05-27 18:32:05 -07:00
Arseny Kapoulkine d40107dc60
Add RFC status fields (#39)
It seems more consistent and unambiguous if we mark RFCs as being
implemented when the implementation lands instead of expecting to
cross-reference documentation. That also makes it easier for us to flag
stale RFCs.
2021-05-17 18:19:49 -07:00
Alexander McCord 8956c7448e
RFC: Allow method call on string literals (#34) 2021-05-17 16:41:55 -07:00
vegorov-rbx 0f1f6609b1
RFC: Named Function Type Arguments (#36)
Introduces syntax for optional names of function type arguments.
2021-05-13 09:02:51 -07:00
Alan Jeffrey 674846e7cf
Generic Functions RFC (#33)
* Added generic functions RFC

Co-authored-by: Tiffany Bennett <tiffany@tiffnix.com>
2021-05-12 10:48:10 -05:00
Arseny Kapoulkine 8091a330f5
Update TEMPLATE.md
Change the title to use expected Title case.
2021-05-06 19:29:16 -07:00