Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust rewrite? #76

Open
Rudxain opened this issue Apr 6, 2024 · 8 comments
Open

Rust rewrite? #76

Rudxain opened this issue Apr 6, 2024 · 8 comments

Comments

@Rudxain
Copy link
Member

Rudxain commented Apr 6, 2024

Yeah, I know, this has become a meme 💀. I'm willing to do the rewrite (maybe with the help of @FusionSid ?), but definitely not now as I'm busy IRL and need to develop some unfinished PRs.

I'm proposing RIIR for 3 reasons:

  • The project is relatively "small", so a rewrite would be "easy" and not so disruptive.
  • This would make it more maintainable when we add more features.
  • We could reduce our dependency on Python
    • which would allow us to (for example) use an LLVM backend (in the far future) to transpile RR to any lang (or native machine code)
@FusionSid
Copy link
Member

(maybe with the help of @FusionSid ?)

I barely know any rust 😭
Most advanced thing I could probably do is fizz buzz

@Rudxain
Copy link
Member Author

Rudxain commented Apr 7, 2024

I barely know any rust 😭

oh 💀

In that case, we should postpone the rewrite to ~1 year (if it actually happens), which should be enough time for everyone to get used to Rust.

If organization members don't know Rust, then we can't reliably maintain the repo.

Should we close this issue, then reopen later? Or should we leave it open, to keep it in mind?

@Rudxain
Copy link
Member Author

Rudxain commented Apr 7, 2024

I've just stalked analyzed members (10, at the time of writing) at a glance, and collected some Rust stats:

  1. 5 members have (at least) basic knowledge
  2. ~2 (including me) have "enough experience"
  3. ~4 (including me) are interested in learning more

(I didn't took contributors into account)

@SatinWukerORIG
Copy link
Member

Don’t worry @Rudxain , I learned Rust two years ago but just didn’t use it for 1 and a half years 😂
Still, I will be able to write a compiler. Maybe we can talk to and learn from each other privately 😁 this is my discord: satinwuker
You can also email me your other contacts if you don’t have a discord

@Rudxain
Copy link
Member Author

Rudxain commented Apr 7, 2024

Sure! Here's my public contact info

@Rudxain
Copy link
Member Author

Rudxain commented Aug 2, 2024

Development is work-in-progress here: https://github.com/Rick-Lang/rickroust

If anyone reading this wants to help, please do!

@Rudxain
Copy link
Member Author

Rudxain commented Aug 2, 2024

cargo check
    Checking llvm-sys v140.1.3
error: No suitable version of LLVM was found system-wide or pointed
              to by LLVM_SYS_140_PREFIX.
       
              Consider using `llvmenv` to compile an appropriate copy of LLVM, and
              refer to the llvm-sys documentation for more information.
       
              llvm-sys: https://crates.io/crates/llvm-sys
              llvmenv: https://crates.io/crates/llvmenv
   --> /home/rudxain/.cargo/registry/src/index.crates.io-6f17d22bba15001f/llvm-sys-140.1.3/src/lib.rs:487:1
    |
487 | / std::compile_error!(concat!(
488 | |     "No suitable version of LLVM was found system-wide or pointed
489 | |        to by LLVM_SYS_",
490 | |     env!("CARGO_PKG_VERSION_MAJOR"),
...   |
497 | |        llvmenv: https://crates.io/crates/llvmenv"
498 | | ));
    | |__^

error: could not compile `llvm-sys` (lib) due to 1 previous error
llvm-config --version
16.0.6

@Rudxain
Copy link
Member Author

Rudxain commented Aug 2, 2024

https://gitlab.com/taricorp/llvm-sys.rs#llvm-compatibility

It seems inkwell is using a version of llvm-sys that's incompatible with llvm-16. But the following line indicates otherwise:
https://github.com/TheDan64/inkwell/blob/89e06af9dd70dc5d6bc5ae42a2a03f680a367d37/Cargo.toml#L152

I guess it's a config issue?

Edit: I'm so blind 🤦:
https://github.com/Rick-Lang/rickroust/blob/615f6481202a88df17a9508373693e00e1f7594a/Cargo.toml#L9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants