From ec3a8b30566ed2488a38428dbe237cff6ba6f188 Mon Sep 17 00:00:00 2001 From: Dhruvan Date: Sat, 14 Dec 2024 15:27:19 -0500 Subject: [PATCH] Update README.md --- .github/README.md | 116 ++++------------------------------------------ 1 file changed, 9 insertions(+), 107 deletions(-) diff --git a/.github/README.md b/.github/README.md index 1886d50..501b2ab 100644 --- a/.github/README.md +++ b/.github/README.md @@ -17,6 +17,10 @@ **Robustness**: Provides tools and features that ensure code stability and reduce runtime errors, along with a cross-platform standard library. +
+ Bumper +
+ --- ## Table of Contents @@ -63,16 +67,6 @@ - [License](#license) - [Acknowledgements](#acknowledgements) - [Links](#links) - - [Project Status](#project-status) - - [Development Checklist](#development-checklist) - - [Quick Start](#quick-start-1) - - [Installation](#installation) - - [Running Your First Script](#running-your-first-script) - - [Community](#community) - - [License](#license-1) - - [Acknowledgements](#acknowledgements-1) - - [Discover More About Helix](#discover-more-about-helix) - - [Key Changes and Enhancements:](#key-changes-and-enhancements) --- @@ -113,12 +107,11 @@ Helix is designed with a nod to C++ developers, blending familiar syntax and par ### Code Comparison between Helix and C++
- Helix Example - C++ Example - Bumper + Helix Example + C++ Example + Bumper
- - **Template and Class Syntax**: Both Helix and C++ use template mechanisms to enable generic programming. Helix’s `requires` keyword functions similarly to C++ templates, but with a more readable syntax. For instance, where C++ uses ``, Helix uses `requires ` to declare generic types. - **Function and Method Definitions**: Helix mirrors C++ in how functions and methods are defined and used, maintaining the same logic flow but simplifying syntax to increase clarity and reduce common pitfalls. - **Memory Management**: Helix adopts smart pointer concepts similar to C++'s `std::unique_ptr` and `std::shared_ptr` but integrates them more deeply into the language runtime to automate memory safety without manual intervention. @@ -142,8 +135,8 @@ Helix has seamless integration with C++ codebases, enabling developers to utiliz Helix's FFI system is designed to be intuitive and straightforward, minimizing the learning curve and allowing for quick adoption in projects that already rely on C++:
- Helix Implementing C++ - C++ Header + Helix Implementing C++ + C++ Header Bumper
@@ -460,94 +453,3 @@ Happy coding with Helix! 🚀 - [Official Website](https://helix-lang.com) - [Documentation](https://helix-lang.com/docs) - [Tutorials](https://helix-lang.com/tutorials) -For a revised README that stays grounded and avoids unnecessary hype while showcasing the features and capabilities of Helix, here is a complete, restructured version: - -```md -
- Helix Programming Language Logo -
- -| [Website](https://www.helix-lang.com) | [Introduction](#introduction) | [Quick Start](#quick-start) | [Project Status](#project-status) | [Community](#community) | [License](#license) | [Acknowledgements](#acknowledgements) | - -# Introduction to Helix -Helix is a high-performance, statically typed programming language that draws inspiration from Rust, Python, and C++. It's designed to fill specific gaps in system programming by offering a more flexible type system, better memory safety features, and a familiar yet modern syntax. - -## Why Helix? -- **Performance**: Matches the efficiency of C with more expressive capabilities. -- **Safety**: Enhances safe memory management while allowing some flexibility for advanced users. -- **Simplicity**: Offers a clean syntax that simplifies learning and enhances code readability. - -## Features of Helix -- **Expressive Syntax**: Merges the simplicity of Python with the robust capabilities of C++. -- **Advanced Type System**: Supports strong type checking, generics, and user-defined types with minimal overhead. -- **Memory Management**: Implements a novel approach to memory safety without a garbage collector, reducing runtime overhead. -- **Interoperability**: Designed to interoperate seamlessly with C++ codebases, facilitating easier adoption in existing projects. - -### Example: Basic Helix Usage -```helix -// Demonstrates defining a function and basic file operations in Helix -fn main() { - print("Hello, World!"); -} -``` - -## Project Status -Helix is under active development with its primary components in various stages of completion. We're currently focused on refining the core language features and expanding the standard library. - -### Development Checklist -- [x] Syntax Definition -- [ ] Standard Library Implementation -- [ ] Compiler Optimization Techniques -- [ ] Tooling and IDE Integration - -## Quick Start - -### Installation -Ensure you have a modern C++ compiler and Python installed on your system. Clone the repository and build the project using: - -```bash -git clone https://github.com/helixlang/helix-lang.git -cd helix-lang -xmake build -``` - -### Running Your First Script -Save the following code in a file named `hello.hlx`, then compile and run it using the Helix compiler: - -```bash -helix hello.hlx -``` - -## Community -Helix thrives on community collaboration. We welcome contributions of all forms; whether you're tweaking the compiler or enhancing the documentation, your input is valuable. - -- [Contribute](https://github.com/helixlang/helix-lang/pulls) -- [Report Issues](https://github.com/helixlang/helix-lang/issues) - -## License -Helix is open-sourced under the MIT license, allowing you to use it freely in your personal or commercial projects. - -## Acknowledgements -A heartfelt thank you to all the contributors who have helped shape Helix. Your dedication and insight are integral to its ongoing development. - -
- - - -
- ---- - -### Discover More About Helix -- [Documentation](https://helix-lang.com/docs) -- [Community Discussions](https://helix-lang.com/community) -``` - -### Key Changes and Enhancements: -- **Streamlined Introduction**: Starts with a concise introduction to what Helix is and why it might be appealing to prospective users. -- **Clear Features Section**: Lays out the core features and advantages of Helix, avoiding over-promotion and focusing on factual benefits. -- **Updated Project Status**: Provides a realistic view of the current development stage, encouraging transparency. -- **Simplified Quick Start**: Directs new users through the installation and initial testing process in a straightforward manner. -- **Community Engagement**: Encourages community involvement in a welcoming tone, highlighting the importance of contributions to the project's success. - -This README is designed to provide all the essential information succinctly while ensuring it is accessible to newcomers and detailed enough for potential contributors or adopters. It balances technical insight with approachability, reflecting the mature yet evolving nature of Helix. \ No newline at end of file