Replies: 1 comment 3 replies
-
There's already a GDScript grammar, but it needs to be updated for Godot 4.x. This is non-trivial as GDScript was rewritten from scratch in Godot 4. Regarding having a formal language specification, GDScript isn't meant to be a standalone language you can use separately from Godot. It was designed for Godot's needs first and foremost. Do you have a project that would require a specification? If so, please detail it here in a reply 🙂 |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Introduction
This proposal advocates for the establishment and maintenance of a formal GDScript specification. Over time, GDScript has evolved and improved by introducing new features. Now is the moment to create a comprehensive specification that will not only streamline the development process, but also enable better tooling, documentation, and community collaboration.
Rationale for a Specification
A language specification is a document that delineates the syntax and semantics of a programming language. It acts as a blueprint for language designers, compiler developers, and other tooling creators. A well-structured specification brings numerous benefits, as detailed below:
Clear and Unambiguous Definition
A formal specification provides a single source of truth for the language's syntax and semantics, minimizing inconsistencies and ambiguities. This clarity supports improved communication among developers, tool creators, and users.
Alternative Implementations and Interoperability
A well-defined language specification allows for the creation of alternative GDScript implementations, including transpilers, interpreters, and JIT compilers for various platforms and use cases. Additionally, it enables the development of libraries and tools that interoperate with GDScript, such as bindings for other languages and platforms.
Expanding alternative implementations and interoperability broadens GDScript's reach and use cases, ensuring it meets the diverse needs of the game development community.
Enhanced Documentation
With a specification in place, documentation can be generated and updated more efficiently, granting the community access to accurate and current information, and fostering a better understanding and utilization of the language.
Streamlined Language Evolution
A specification simplifies the process of proposing and implementing new features as GDScript continues to grow and evolve. It offers a solid foundation on which to build, ensuring that changes align with the language's design principles.
Improved Tooling Support
Better tooling support, including text editors, linters, debuggers, and other development tools, becomes possible with a specification. Tool creators can more easily develop and maintain their tools with a clear understanding of the language's syntax and semantics, ultimately benefiting the Godot community.
Proposal Components
We propose the following steps to create and maintain the GDScript specification:
Conclusion
A formal GDScript specification will lay a strong foundation for the language's future development, ensuring consistency, clarity, and a more vibrant ecosystem. By investing in a specification, we can unlock GDScript's full potential and enhance the Godot Engine experience for developers and users alike.
Beta Was this translation helpful? Give feedback.
All reactions