Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(docs): language reference for wing launch (#2999)
This PR introduces an up-to-date language reference - all wishlist/roadmap feature mentions were deleted and instead put into new/existing issues, with a link in a newly added "Roadmap" paragraph at the end of relevant sections.. All code samples (Wing and TypeScript) were tested and should successfully compile. [Rendered version of the language reference](https://github.com/winglang/wing/blob/urib/lang-ref/docs/docs/03-language-guide/90-reference.md#1149-roadmap). Fixes #2420 ### TODO - [ ] I'll remove all typescript code samples in a follow-up PR ### Misc - [x] Changed the rust debugger to debug the current open `.w` file by default (relevant contributor guide doc updated). - [x] Small fix of a couple of tree-sitter test headlines. - [x] Fixes #2696 - by defining the behavior of `for` loops. ### I simply removed the following spec features/requirements: 1. In 1.1.4.8 Json logging “It is also legal to just log a json object” 2. In 1.2 Utility Functions: “The above functions can accept variadic arguments of any type except `throw` which only accepts one argument and that is the message to be contained in the error.” 3. In 1.4 Storage modifiers: “The name of any static data member and static member function must be different from the name of the containing class regardless of the casing.” 4. In 2.6 For: “Type annotation after an iteratee (left hand side of **in**) is optional.” 5. In 3.2 Classes: “Optionals are initialized to `nil` if omitted, unless the type is `nil?`, which in that case, absent initialization is a compile error.<br/> Member function and field access in constructor with the "this" keyword before all fields are initialized is invalid and would throw a compile error.<br/> In other words, the `this` keyword is immutable to its field access operator `.` before all the member fields are properly initialized. The behavior is similar to JavaScript and TypeScript in their "strict" mode.” 6. In 3.3 Preflight classes: Scope and ID are “both overrideable by user-defined ones in constructor.” 7. In 3.8 Enumeration: “Last comma is optional in single line definitions but required in multi line definitions.” “`nameof` operator” 8. Entire section: 6.1.2 Shell strings 9. Entire section: 6.4 Kitchen Sink 10. Entire section: Inspiration (last section) ### Issues opened/changed to track spec completeness: - [x] Opened issues: - [x] #3121 - [x] #3123 - [x] #3129 - [x] #3139 - [x] #3140 - [x] #3142 - [x] Changed description: - [x] #108 - [x] #2103 - [x] #116 - [x] #125 - [x] #128 - [x] #129 - [x] #130 - [x] #1737 ## Checklist - [x] Title matches [Winglang's style guide](https://docs.winglang.io/contributors/pull_requests#how-are-pull-request-titles-formatted) - [x] Description explains motivation and solution - [ ] Tests added (always) - [x] Docs updated (only required for features) - [ ] Added `pr/e2e-full` label if this feature requires end-to-end testing *By submitting this pull request, I confirm that my contribution is made under the terms of the [Monada Contribution License](https://docs.winglang.io/terms-and-policies/contribution-license.html)*.
- Loading branch information