11 ms·
Truly an amazing project. One person implementing the entire C++ standard, and then countless new, useful features on top of it. Circle did the interpreted, com
by rogerclark 4y ago
Truly an amazing project. One person implementing the entire C++ standard, and then countless new, useful features on top of it. Circle did the interpreted, compile-time pass idea before any of the other new systems languages.
Carbon and C++Next both seem very directly "inspired" by Circle, but neither of those efforts seem to have actually produced anything yet.
Ideally, Circle it would be open source. But I understand wanting to hold out for some amount of corporate sponsorship first.
- anonymoushn 4y ago> Circle did the interpreted, compile-time pass idea before any of the other new systems languages. constexpr is in C++11, Jai is from 2014, and Zig 0.1.1 is from 2017. This project looks quite cool though.
- pjmlp 4y agoWith the small difference that Circle can use the complete language at compile time, constexpr is still far from it, and also gave birth to constinit and consteval.
- tialaramex 4y agoJai gets to use the entire language. constexpr in C++ 11 is indeed very limited, arguably even more than Rust's const functions today.
- pjmlp 4y agoExcept that almost no one has access to Jai.
- tialaramex 4y agoSure, I'm not commending Jai in general, but it's a clear existence proof on this particular matter.
- pjmlp 4y agoWell, Lisp and Dylan also did it first.
- vadiml 4y agoI think the first take on the subject was IBM with their PL/I Checkout and Optimizing compilers. They've integrated almost full PL/I language interpreter in the macro pre-processor stage. I was using it in the beginning of 80ies.
- WalterBright 4y agoD has had compile time function execution since 2007 or so.
- reisse 4y ago> One person implementing the entire C++ standard, and then countless new, useful features on top of it. Isn't it done on top of LLVM/Clang++?
- Kranar 4y agoLLVM? Yes. Clang? No. The front-end compiler and standard library are written from scratch, but it uses LLVM as the backend. The standard library is not yet complete, but it's amazing how it uses Circle's unique features to implement in a very elegant and efficient manner certain classes like variant and tuple which are absolute monstrosities of complexity in clang/g++/MSVC.
- carabiner 4y agoHe seems like a wonderboy. His linkedin has a recommendation: "Cannot say enough good things about this guy--probably the most capable programmer I've ever met."
- hobo_mark 4y agoAbsolutely, also Sean made enough money in his previous life to be able to work on Circle full-time (while living in NYC), truly living the dream.
- fidgewidge 4y ago100x programmer.
- GPMueller 4y agoDon’t forget about cpp2/cppfront — Herb Sutter has been in direct contact with Sean and it seems their discussions have had some impact on both their projects. cpp2 is currently my favorite contender in this arena