Commit Graph

18 Commits

Author SHA1 Message Date
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