Commit Graph

33 Commits

Author SHA1 Message Date
Arseny Kapoulkine 70ffc8a01d
RFC: Do not allow method call on string literals (#145) 2021-11-12 06:54:00 -08:00
Arseny Kapoulkine fe1bf43b54
RFC: bit32.countlz/countrz (#89)
Co-authored-by: vegorov-rbx <75688451+vegorov-rbx@users.noreply.github.com>
2021-11-09 10:40:14 -08: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
Arseny Kapoulkine 1f0084daa3 Mark RFCs that were implemented as such. 2021-11-03 21:35:25 -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 05a41d5d54
Remove team restriction from RFC process documentation
Fixes #98
2021-11-03 12:13:42 -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 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 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
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 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 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 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
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 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
Arseny Kapoulkine 26be211e5d
Update README.md
Emphasize the rfc label even more.
2021-05-04 16:23:45 -07:00
Arseny Kapoulkine a6844a8247 Add emphasis to use of label. 2021-05-04 00:31:30 -07:00
Arseny Kapoulkine ba2138ce10
Add more accepted RFCs. (#32)
This finishes the set of fully baked/accepted RFCs; 3 more proposals have been accepted but not implemented yet and will be submitted separately as actual RFCs.
2021-05-04 00:13:57 -07:00
Arseny Kapoulkine e2176e35e1
Establish an RFC process (#29)
This is going to apply to language and core library changes and will supplant the internal Roblox API proposal process for Luau only.
2021-05-03 18:52:43 -07:00