seanbaxter/circle
seanbaxter/circle has 2,586 GitHub stars and 72 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-06 20:58 UTC. Last push 2023-11-05.
The compiler is available for download. Get it!
Measured star growth
- in 24h
- +1
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalCircle
The C++ Automation Language
2023
Sean Baxter
Download here
Follow me on Twitter @seanbax for compiler updates.
New Circle
New Circle is a major transformation of the Circle compiler, intended as a response to recent successor language announcements. It focuses on a novel fine-grained versioning mechanism that allows the compiler to fix defects and make the language safer and more productive while maintaining 100% compatibility with existing code assets.
New Circle is the richest C++ compiler yet. Try out:
- choice types,
- pattern matching,
- interfaces and impls,
- language type erasure,
- as-expressions for safer conversions,
- a modern declaration syntax with
fnandvarkeywords to make clearer, less ambiguous declarations, - a simpler syntax for binary expressions, greatly reducing the likelihood of bugs caused by confusing operator precedences,
- a
forwardkeyword to take the complexity and bugginess out of forwarding references, - safer initializer lists, which address ambiguities when calling std::initializer_list constructors and non-std::initializer_list constructors,
- lifting lambdas to pass overload sets as function arguments,
- nine kinds of template parameters to make templates far more comprehensive,
- reflection traits to access packs of information about class types, enum types, function types, class specializations, and so on,
- pack traits for pack-transforming algorithms, like sort, unique, count, erase, difference, intersection, and so on.
New Circle describes a path for evolving C++ to meet the needs of institutional users. The versioning mechanism that accommodated the development of the features above will also accommodate research into critically important areas like memory safety. Rather than insisting on a one-size-fit's-all approach to language development, project leads can opt into collections of features that best target their projects' needs.
Old docs. May be out of date. Refer to New Circle for fresh information.
- Circle implementations of Standard Library classes
- CUDA
- Pattern Matching
- Circle Imperative Arguments
- Member traits
- Circle conditionals
- Universal member access
- Circle reflection and typed enums
- Circle C++ for shaders
- List comprehensions, slices, ranges, for-expressions, functional folds and expansion expressions
- File @embed and a compile-time design dilemma
- The Circle format library
- Compile-time regular expressions
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,673 starspublic-apis/public-apis
A collective list of free APIs
496,921 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
440,017 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,107 stars