Several tools for debugging and development are also under development or planned:
Turquoise draws on the object-oriented principles of languages like Python and JavaScript, but emphasizes concision to accelerate the development workflow.
Turquoise's data structures and operators are structured to be infinitely reconfigurable to the needs of your task.
A core part of Turquoise's design philosophy revolves around making the planning -> development -> feedback loop as seamless and pain-free as possible. The language is dynamic and meant to be interacted with as a key part of the development process.
This is currently a (very) new and feature-limited programming language, so it is intended to work cohesively with other technologies, libraries, and modules while maintaining a reasonable dependency scope for the language's core features. Eventually, Turquoise will be able to run arbitrary Python code on representations of its data structures and likewise, snippets of Turquoise code will be able to be executed with a Python library. Transpiling (transcompiling) is also being explored as a way to bridge the gap between Turquoise's methodology and Python's massive ecosystem of modules and libraries.
Everything in the language should, to a reasonable extent, do what you expect it to. When confusion arises, efficient strategies for clarifying the language's behavior will be available.
Exceptions to rules and principles should be minimized wherever possible in order to make the language's basic concepts universally applicable.
Turquoise is not accepting contributions at this time. If there is a feature you want considered for the language, please feel free to open a new issue. Contributions of pull requests and specific functionality may be accepted in the future once the core features of the language have been built out and it is reasonably stable.
This document was generated from turquoise.ipynb
at 2021-06-04 20:18:52