Commit graph

747 commits

Author SHA1 Message Date
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
Arseny Kapoulkine
fb67f5760c
Delete assert-return RFC
(this analysis should have been done before the RFC but the thought never crossed my mind)

There's 63K assertions in all luarocks repositories combined. Out of this, around ~600 assertions would be broken as a result of this change. This is ~1% which is pretty uncomfortable (I was hoping for a couple of odd unit tests) - as such this RFC is going to get closed. We will maintain the current behavior of assert and try to adapt type checker to be reasonably useful instead.

The common thread between all of these cases (many of them target custom APIs although some target core APIs like string.match) is that assert is used together with a function that either returns nil (for errors), or multiple arguments. Under these conditions multi-arg assert is useful.

A couple examples:

```
out_r, out_w = assert(unix.pipe())
local header, body = assert(data:match "(.-\r\n)\r\n(.*)")
local z85_secret_key, z85_public_key = assert(zmq.curve_keypair())
local _, r = assert(coroutine.resume(co, msg))
```
2021-05-04 22:15:14 -07:00