Hacker News new | past | comments | ask | show | jobs | submit login

First there is no Carbonlang, it is called Carbon.

Second, it is mostly a Google thing for their C++ use, it is still mostly a frontend implementation at this point, with semantics yet to be fully defined.

They are also open that Carbon is basically an experiment.




If it is just a frontend, does it mean that it could be used everywhere the backend is used?


First you need to create a backend that understands what the frontend generates.

https://godbolt.org/z/rzMcs6nvh


I see...

Does it mean that the compiler is more than just a frontend? Or maybe I don't understand what a frontend is?


It definitly is.

Frontend in a compiler, is what converts the text code representation of the language into some intermediary format, usually a graph or intermediate language, that is than further processed for type checking and other semantic analysis, suffering other transformations in the process, until fed into the backend, which takes it from there for the further phases required to generate machine code.

https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index...


Thank you for your explanations.

I don't understand why you provided that link to goldbolt though? What was it supposed to demonstrate?

Also, you said that one need a backend for a frontend (to be useful I guess). Do you mean to say that the "Carbon" frontend does not have any backend to work with?


I suggest learning about compilers in first place.

https://www3.nd.edu/~dthain/compilerbook/compilerbook.pdf


Oh, thank you...

I am sorry I bothered you with my annoying questions..


No worries, I see some interest there, hence pointing out some literature on the subject, and the LLVM tutorial, as means for getting a better understanding than through plain HN comments.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: