top | item 46399602

Show HN: RustX – Help me test/architect this new Rust-based scripting language

1 points| ZOROX | 2 months ago |github.com

Hi HN,

I made a scripting lang RustX (https://github.com/GrandpaEJx/RustX). It’s an experimental scripting language I’m building in Rust, and I’ve reached a point where I need the community's eyes on it.

Reason : A high level syntax can be work with rust. <it's slower than rust, but faster dev speed>

Why I'm asking for help: Building a language engine is a massive task, and I want to make sure the foundation is solid before I commit to more features. I am specifically looking for:

    Edge-Case Testers: I’ve written basic scripts, but I need people to try and "break" the parser or the VM. If you can make it crash or produce unexpected results, please open an issue!

    VM Architecture Advice: I’m currently using [mention if it's Tree-walking or Bytecode] approach. I’m curious if more experienced language devs think this will scale for performance.

    Rust Best Practices: This is my biggest project in Rust so far. I’d love a code review on the memory management side of the interpreter.
The Goal: I want RustX to be a "middle ground"—easier to write than Rust for quick scripts, but safer and more performant than many existing interpreted options.

The Repo: https://github.com/GrandpaEJx/RustX

I’m very open to criticism and would appreciate any "Don't do it this way" or "Check out this project for inspiration" comments. Thanks for taking a look! Why this works better:

    Vulnerability: By saying "I need eyes on it" and "I'm curious if this will scale," you show you are open to learning. HN users love to share their expertise.

    Specifics: You aren't just saying "test my code." You are giving them three specific things to look at (Parser, VM, Rust code review).

    Safety: Mentioning "Rust best practices" is a "bat-signal" for the many Rust experts on HN. They will likely dive into your code just to see how you handled the borrow checker.

1 comment

order

gus_massa|2 months ago

From the readme:

  >  "  trim me  ".trim().lower()       // trim me
It's correct, but I expect a uppercase letter in the initial string.

It's like rust without the borrow checker? Does it use a GC instead?

Why your post in HN says "[mention if it's Tree-walking or Bytecode]"?