[meta] Add a Prior Art section to the RFC template - #243
Conversation
|
I never thought about an approach like this, but I could see it being widely used across future RFCs. |
|
Supportive of us adding this. We should also include a point about the existing language design being a key piece of prior art. For example if we introduced a new global called |
nnullcolumn
left a comment
There was a problem hiding this comment.
are there any examples of other projects which have this as part of their RFC process? /j
i am in support of this idea, but i think we could probably deliberate a bit over the organization and reading flow
|
|
||
| ## Prior Art | ||
|
|
||
| * Do other programming languages have similar features? What do those look like? How do they compare and contrast to this design? |
There was a problem hiding this comment.
"How do they compare and contrast to this design" might invite very shallow comparisons especially so late into the body. Maybe it'd be better to include this section below Motivation, above Design, and rework the wording to something along the lines of "What design considerations are unique to luau or that feature which are different here?" That way we flow from Motivation -> Similar Designs + Declaring Unique Constraints -> Design
There was a problem hiding this comment.
I think the idea of identifying unique design considerations is important, but my worry about that ordering is that it encourages a terse prior art section. I also think it makes sense to live along side Alternatives (e.g.: "an alternative is copy-pasting JavaScript's design"). I'll extend the language but keep its spot in the template.
There was a problem hiding this comment.
my worry about that ordering is that it encourages a terse prior art section.
yeah, understandable. Just as a reader, I think I'd prefer to read
-
"similar designs"
-
"here's what's different about our situation"
-
"here's what we're actually proposing"
in that order. reading a design proposal followed by design considerations feels like it invites unnecessary repetition people might not otherwise write in to begin with
Like most engineering, language design heavily benefits from looking at prior art, and the vast majority of language features have prior art in a widely used programming language:
whileloop in Luau and one in JavaScript work roughly the same.#sigil to meanprivate.This can also apply to prior art for library functions. If we're adding a new
mathfunction, do other languages standard libraries have the same functions? The same constants?This is worth adding a section to push all RFC writers in the right direction.