Replies: 8 comments
-
Hi there, thanks for reaching out - and an excellent question: Why C? Because in 2014 as an FPGA engineer I was in a world where, software folks, who know C, would write up some algorithm. And then hand over that algorithm in C to me the FPGA engineer, who also knows C. So it seemed natural that, if trying to bridge the hardware programability gap to pick a language that is already pretty much the intermediate between software and hardware folks already. Its a simple language and everyone knows it. Also I do not have a theoretical CS / programming languages background (FPGA engineer by training) - so again, the language side of things needed to be dead simple. Why not Rust? (or others): Since the project started with 'what made sense and was easy' there isnt a hard reason why not another language and I am definitely open to other front end languages. This is also the sort of answer I give to 'why not make MyNewSpecialC language custom for hardware description?' Its alot of work and Im no expert. So short answer to 'other languages?' is 'yeah why not? I just need some help :)' |
Beta Was this translation helpful? Give feedback.
-
PipelineC++ 👀 |
Beta Was this translation helpful? Give feedback.
-
I think this is a great convo to have re: imagining future PipelineC stuff. Maybe we could all get together and brainstorm ideal syntax/features |
Beta Was this translation helpful? Give feedback.
-
Yeah to anyone watching this issue or otherwise The PipelineC Discord is also a great place to also discuss this in a more conversational way https://discord.gg/Aupm3DDrK2 Down for brainstorming 🧠 👍 🤓 |
Beta Was this translation helpful? Give feedback.
-
Possible to work with Rust syntax tree? |
Beta Was this translation helpful? Give feedback.
-
Similar for Go AST? |
Beta Was this translation helpful? Give feedback.
-
Python AST? 😏 Pypeline 🐍 |
Beta Was this translation helpful? Give feedback.
-
Heck - how to properly get at the C++ AST and evaluate constant and such? Does clang eval constexpr/templates easily through some API? Only in C++ API has EvaluateAsConstExpr? |
Beta Was this translation helpful? Give feedback.
-
I know there are more C-to-HDL compilers in the field, but being a new one, maybe Rust could be a good aproach due to its type safety (I think there are someones based on Go due to its coroutines). Only reason I could think about using C would be pointers... Is there any reason to have used C instead of Rust? Honest question, and just curious :-)
Beta Was this translation helpful? Give feedback.
All reactions