CXXIter
carbon-lang
CXXIter | carbon-lang | |
---|---|---|
3 | 174 | |
36 | 32,216 | |
- | 0.4% | |
0.0 | 9.8 | |
over 1 year ago | 4 days ago | |
C++ | C++ | |
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CXXIter
-
5 Ways to Improve or Avoid Loops in C++20...23
I mostly agree. Though more often than not, it's not as easy as just switching to another language. If you've got a large codebase in C++, switching to Rust is unpracticable. But I think there are some nice lessons to be learned from Rust, that can be translated over to C++. I liked the idea of having the data stored within the locking structure, so it's impossible to access it incorrectly e.g.. And for iterators, I basically cloned Rust's interface in a C++20 library: https://github.com/seijikun/CXXIter
-
ReactivePlusPlus (reactive programming library for c++20) v0.0.1 is out with base operators (looking for feedback)
I'm especially intrigued by the way you implemented your usable interface that contains all of the chainable methods. I used a large struct where I manually added methods for every supported operator. And the operators themselves are then implemented each with their own struct in the back. Arguably, that makes it impossible to extend the public interface from the outside as a user. If I understood it correctly, that's where you used your member_overload mechanism, right? I'm still digging and trying to understand how it works though.
-
CXXIter: A chainable c++20 LINQ-like iterator library
I thought it might be a nice opportunity to get to know C++20 in the process, so I first read up about the new features, and then started applying them to a little iterator library I call CXXIter... that then somehow ended up getting a little bigger and more ergonomic than I had expected. I took inspiration for functions and appearance from LINQ, as well as from Rust's iterators. CXXIter allows passing elements as references, as well as using moves to pass them through the iterator. I know that there already are a couple of these libraries - but what would programming be without a little NIH here and there? :)
carbon-lang
- Carbon Copy Newsletter No.2
-
Cpp2 and cppfront – An experimental 'C++ syntax 2' and its first compiler
The roadmap for Carbon [0] mentions wanting to have basic, non-trivial programs written in Carbon by the end of 2024. They're aiming for a v0.1 release in 2025. If it gains traction, they're aiming for a v1.0 beyond 2027.
I don't think anyone outside Google will seriously adopt this before it reaches v1.0. Even within Google, they may choose other options.
[0] - https://github.com/carbon-language/carbon-lang/blob/trunk/do...
- Carbon Language Newsletter, the Carbon Copy, February 2024
-
Odin Programming Language
Carbon was started by Chandler Carruth, at Google, but they wanted to move it to broader governance quickly. It's not under the Google GitHub today, but its own org.
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
-
C++ Should Be C++
What do you think about Carbon[1]? I am hopeful.
[1] https://github.com/carbon-language/carbon-lang
- The NSA advises move to memory-safe languages
- Carbon Language: An experimental successor to C++
-
Toward a TypeScript for C++"
https://github.com/carbon-language/carbon-lang/blob/trunk/do...
next year 0.1 will be usable, 1.0 is about 3 years away, sigh, back to my rust fight
-
Programming Languages Every Developer Should Watch Out For
1. Carbon
What are some alternatives?
cpplinq - LINQ for C++ (cpplinq) is an extensible C++11 library of higher-order functions for range manipulation. cpplinq draws inspiration from LINQ for C#.
rust - Empowering everyone to build reliable and efficient software.
RxCpp - Reactive Extensions for C++
crubit
ReactivePlusPlus - Implementation of async observable/observer (Reactive Programming) in C++ with care about performance and templates in mind in ReactiveX approach
cppfront - A personal experimental C++ Syntax 2 -> Syntax 1 compiler
Odin - Odin Programming Language
go - The Go programming language
hylo - The Hylo programming language
Rustler - Safe Rust bridge for creating Erlang NIF functions
jakt - The Jakt Programming Language
Vale - Compiler for the Vale programming language - http://vale.dev/