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

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.




He 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."


Absolutely, 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.


100x programmer.


> 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.


I 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.


With 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.


Jai gets to use the entire language.

constexpr in C++ 11 is indeed very limited, arguably even more than Rust's const functions today.


Except that almost no one has access to Jai.


Sure, I'm not commending Jai in general, but it's a clear existence proof on this particular matter.


Well, Lisp and Dylan also did it first.


D has had compile time function execution since 2007 or so.


Don’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


> 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++?


LLVM? 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: