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

frontend #72

Open
bialystok opened this issue Dec 11, 2023 · 5 comments
Open

frontend #72

bialystok opened this issue Dec 11, 2023 · 5 comments

Comments

@bialystok
Copy link

Please make tutorial to create fronend for other language

@fubark
Copy link
Owner

fubark commented Dec 11, 2023

Do you mean compiling to Cyber IR? That's not really a priority but it should be doable since IR is just a sequence of bytes with the encoding here: https://github.com/fubark/cyber/blob/master/src/ir.zig.
And I'm also not sure there would be a good reason to compile a dynamic language that is GCed to Cyber. It would probably be easier to just transpile to Cyber source code.

@fab1an2
Copy link

fab1an2 commented Dec 11, 2023

Yes!
If LLVM have frontend why not making it to Cyber.

@fubark
Copy link
Owner

fubark commented Dec 11, 2023

Because LLVM can actually do optimizations. Cyber IR is just a high level result of sema (after all type checking is done and resolving symbols). You wouldn't gain that much from using it directly vs transpiling to Cyber source, except for compilation speed.
I'm curious though, what frontend languages were you thinking of doing this with?

@fab1an2
Copy link

fab1an2 commented Dec 12, 2023

All ;) https://esolangs.org/

creating normal frontend for llvm is very difficult. Cyber is easy and flexible.

@fubark
Copy link
Owner

fubark commented Dec 12, 2023

This is actually a good idea. I don't think I have the time atm to see it through but definitely open to the possibility!

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