Releases: Tanish-Ranjan/TPL
v0.1.0-beta06
We're excited to announce the release of TPL v0.1.0-beta06, bringing significant performance improvements, new features to streamline your development workflow, and a more informative development experience.
Key Highlights:
Enhanced Developer Experience:
Improved Error Handling:
Error messages have been completely overhauled to provide clearer and more informative messages. Additionally, error locations are now marked within the console output, pinpointing the exact line and index causing the issue.
New Plugins for Enhanced Development:
- NullSafety Plugin: This plugin enforces stricter type checking for variables and expressions to prevent null pointer exceptions during program execution.
- Formatting Plugin: This plugin helps you maintain clean and consistent console output formatting, improving readability and focus.
Performance Enhancements:
We've made substantial optimizations to the TPL compiler and runtime, leading to noticeable performance gains in various code execution scenarios.
Variable Reference Consistency:
A bug that caused multiple variables declared together to hold the same value despite having different reference IDs has been fixed. Now, such variables will correctly share the same reference ID, reflecting their identical underlying data.
Advanced Memory Management Features:
Reference ID Access with ref()
Function:
Introducing the new ref()
function, you can now retrieve the reference ID of any object in your TPL program. This empowers you to perform advanced reference-based comparisons and memory management tasks.
Strict Reference Comparison with ===
Operator:
The new ===
operator allows you to compare object references directly. This is useful for determining if two variables point to the exact same object in memory.
Simplified Data Access and Type Control:
Simplified Sequence Value Extraction:
Extracting sub-sequences from strings and lists is now more convenient. You can directly use square brackets []
with start, end, and step (optional) values to extract the desired portion.
Enhanced Type Safety:
The type safety plugin has become stricter, providing more robust type checking and reducing potential runtime errors. Dynamic typing has also been made completely type-independent, offering greater control over data types.
For a comprehensive exploration of these new features, bug fixes, and detailed documentation, please refer to the updated TPL documentation.
We encourage you to upgrade your TPL environment and experience the benefits firsthand. Happy coding!
v0.1.0-beta05
We're excited to announce the release of TPL v0.1.0-beta05! This release focuses on stability improvements, bug fixes, and several new features that enhance the overall developer experience.
Highlights:
- Improved Stability: This release addresses numerous bugs identified after the memory management changes in the previous version. TPL is now significantly more stable and reliable.
- Default Return Type for Functions: Functions without an explicit return type will now implicitly return
Unit
. This simplifies code and avoids potential undefined behavior. - Performance Enhancements: We've implemented optimizations that provide a slight performance boost, making TPL code execution even faster.
genList
Function Update: ThegenList
function now requires theend
parameter, ensuring clearer code and preventing potential errors.
New Features:
- Catch Block Variable: Catch blocks now allow specifying a variable name to capture the error object, providing more granular error handling capabilities.
- Membership Operator Expansion: The membership operator (
in
) can now be used with strings, enabling string-based checks for element existence within collections. - For Loop Iterators: The
for
loop can now iterate over strings and maps in addition to iterating over lists. This offers more flexibility for processing different data structures.
We encourage you to upgrade to TPL v0.1.0-beta05 to benefit from these enhancements and experience a more stable and powerful development environment.
v0.1.0-beta04
Exciting Enhancements and New Features!
We're thrilled to announce the release of TPL v0.1.0-beta04, bringing significant improvements to memory management, language functionality, and overall development experience.
Performance and Memory Optimization:
- Hybrid Scope and Reference System: We've implemented a hybrid scope and reference system, minimizing memory usage while maintaining performance efficiency. This reduces memory footprint without compromising execution speed.
Enhanced Garbage Collection:
- New Garbage Collector: In conjunction with the hybrid scope system, TPL now includes a robust garbage collector. This automatically reclaims unreachable values upon exiting a scope, further optimizing memory management.
Language Improvements:
-
Scoped Loops: Loops now benefit from proper scoping. Each loop iteration operates within its own scope, preventing unintended variable conflicts and enhancing code clarity.
-
KTK Block Changes: KTX block now return
String
value containing the result of the kotlin code it executed, allowing for easier integration with your TPL scripts and improved data manipulation. -
getList
Function: We've introduced thegetList
function, streamlining the creation of numerical lists. It simplifies generating sequences of numbers with user-defined start, end, and step values. -
Enhanced Parser Flexibility: The TPL parser has been revamped to enable greater dynamism in code writing. This empowers developers to write more flexible and adaptable TPL scripts.
We believe these enhancements will significantly empower your TPL development experience. We encourage you to explore the new features and optimize your TPL scripts for better performance and memory efficiency.
Happy TPL Scripting!
v0.1.0-beta.03
Enhanced Performance, Control Flow, and String Manipulation
We're pleased to announce the release of TPL v0.1.0-beta03, delivering a range of improvements that enhance performance, expand the language's expressive power, and simplify string manipulation tasks.
Stability and Performance:
- Bug Fixes: We've meticulously addressed several bugs, leading to a more stable and performant TPL experience.
Language Expansion:
elif
andswitch
Keywords: The introduction ofelif
andswitch
keywords empowers developers with greater control flow capabilities. These keywords enable the creation of complex decision-making logic, improving code readability and maintainability.
String Manipulation Enhancements:
-
New String Properties: The String data type has been enriched with a comprehensive set of built-in properties:
isUpperCase
,isLowerCase
,isSpace
,isDigit
,isLetter
,isAlphaNum
,uppercase
,lowercase
, andcharacters
. These properties provide developers with powerful tools for analyzing and manipulating string data. -
New String Functions: We've introduced the
capitalize
andtitle
functions for strings. These functions streamline common string formatting tasks, allowing developers to transform strings with ease.
Improved Error Handling:
-
Enhanced Error Messages: Error messages for
InvalidTokenException
andSyntaxException
have been refined to provide more specific information regarding the encountered issue. This aids developers in pinpointing errors and resolving them more efficiently. -
Cleaner KTX Output: KTX blocks no longer display debug information when an error is thrown. This streamlines the output, making it more user-friendly and easier to interpret.
We trust these enhancements will elevate your TPL development experience. Explore the new features to craft more robust, expressive, and maintainable TPL scripts.
Happy TPL Scripting!
v0.1.0-beta.02
Top Priority: Stability and Performance
This release of TPL v0.1.0-beta02 prioritizes critical bug fixes to ensure a stable and performant development environment. Our focus is on addressing issues that may have significantly impacted your workflow.
By addressing these critical bugs, we aim to:
- Enhance the overall reliability of TPL.
- Minimize disruptions and errors during development.
- Provide a more robust foundation for your TPL scripting projects.
We understand the importance of a stable development environment. We appreciate your patience and understanding as we continuously strive to improve TPL Runner.
Happy TPL Scripting!
v0.1.0-beta.01
We're thrilled to announce the official release of TPL, a new scripting language designed to empower developers with building efficient and versatile applications.
This initial release v0.1.0-beta01 lays the foundation for a powerful and versatile scripting experience. Here's a glimpse of what TPL offers:
Core Functionalities:
- Multi-paradigm Design: TPL seamlessly blends the simplicity of high-level languages with the power of low-level languages. This allows for both clear, concise code for everyday tasks and granular control for intricate system programming.
- Dynamic Typing and Garbage Collection: TPL eliminates the need for manual memory management. Its dynamic typing simplifies development, while automatic garbage collection ensures efficient memory usage.
- Multi-threading Support: Leverage the power of multi-threading to optimize code execution and efficiently utilize computational resources for tasks that benefit from parallel processing.
- Kotlin Integration: Embed Kotlin code blocks directly within your TPL scripts. This unique feature expands your programming capabilities and allows you to seamlessly integrate powerful Kotlin functionalities.
Ease of Use:
- Simple Syntax: TPL boasts a clear and intuitive syntax, making it an approachable language for beginners. This allows you to grasp the core concepts quickly and begin writing functional scripts efficiently.
- Gradual Learning Curve: Start with basic constructs and progressively build your skillset. TPL's design facilitates a smooth learning experience, empowering you to take on more complex tasks as your proficiency grows.
Additional Highlights:
- Memory Safety: TPL's design prioritizes memory safety, minimizing the risk of memory-related errors and crashes. This contributes to a more robust and reliable development environment.
- Plugin System: Extend TPL's functionality through a unique plugin system. Customize the compiler's behavior to fine-tune the language for your specific needs, making TPL a truly adaptable coding tool.
By combining these features, TPL offers a powerful and versatile scripting language for various programming endeavors. Whether you're a seasoned developer or just starting your coding journey, TPL provides a well-rounded platform to explore your creativity and bring your ideas to life.
Getting Started:
- Install TPL: Installation Instructions
- Explore the documentation: Documentation
- Join the community: Instagram
We're excited to see what you create with TPL! We encourage you to explore the language, experiment with your scripts, and join the community to share your feedback and ideas.
Happy Scripting!