contextgeneric.dev/blog/extensi...
contextgeneric.dev/blog/cgp-ser...
contextgeneric.dev/blog/cgp-ser...
This version introduces major ergonomic improvements that make provider and context implementations simpler and more intuitive to write. contextgeneric.dev/blog/v0-6-0-...
This version introduces major ergonomic improvements that make provider and context implementations simpler and more intuitive to write. contextgeneric.dev/blog/v0-6-0-...
contextgeneric.dev/blog/v0-5-0-...
contextgeneric.dev/blog/v0-5-0-...
S@maybevoid.com introduces Context-Generic Programming: a new way to write flexible trait impls without breaking the rules.
🧩 How to Stop Fighting with Coherence and Start Writing Context-Generic Trait Impls
#rustlang #rustlab2025
S@maybevoid.com introduces Context-Generic Programming: a new way to write flexible trait impls without breaking the rules.
🧩 How to Stop Fighting with Coherence and Start Writing Context-Generic Trait Impls
#rustlang #rustlab2025
S@maybevoid.com introduces Context-Generic Programming: a new way to write flexible trait impls without breaking the rules.
🧩 How to Stop Fighting with Coherence and Start Writing Context-Generic Trait Impls
#rustlang #rustlab2025
rustlab.it/talks/how-to...
rustlab.it/talks/how-to...
contextgeneric.dev/blog/extensi...
contextgeneric.dev/blog/extensi...
contextgeneric.dev/blog/extensi...
contextgeneric.dev/blog/extensi...
contextgeneric.dev/blog/extensi...
contextgeneric.dev/blog/extensi...
In short extensible data types allows us to read, construct, and deconstruct a *generic* struct or enum without needing access to the concrete type.
In short extensible data types allows us to read, construct, and deconstruct a *generic* struct or enum without needing access to the concrete type.
The new CGP builder pattern is being developed pretty smoothly. Here is a snippet Rust code on the test code and macro expansion!
The new CGP builder pattern is being developed pretty smoothly. Here is a snippet Rust code on the test code and macro expansion!
contextgeneric.dev/blog/v0-4-0-...
contextgeneric.dev/blog/v0-4-0-...
github.com/contextgener...
github.com/contextgener...
Help give me an upvote here: news.ycombinator.com/item?id=4334...
Help give me an upvote here: news.ycombinator.com/item?id=4334...
There are many exciting features in the upcoming v0.4.0 release. In particular, CGP now shows much more informative compile errors that makes it much easier to debug CGP code.
There are many exciting features in the upcoming v0.4.0 release. In particular, CGP now shows much more informative compile errors that makes it much easier to debug CGP code.
contextgeneric.dev/blog/v0-3-0-...
contextgeneric.dev/blog/v0-3-0-...
The CGP Patterns book has also been updated with significant revision on based on the new features.
This time, we go into deep dive various ways of defining and implementing field accessors using CGP, the HasField trait, and context-generic accessor providers. #RustLang
This time, we go into deep dive various ways of defining and implementing field accessors using CGP, the HasField trait, and context-generic accessor providers. #RustLang
This time, we walk through an example config loader provider that reads a config file and parses the content as JSON, and how to wrap around #RustLang errors like std::io::Error with more details.
This time, we walk through an example config loader provider that reads a config file and parses the content as JSON, and how to wrap around #RustLang errors like std::io::Error with more details.
The chapter walks through how we can decouple #RustLang code that produce errors from code that handles/report errors.
The chapter walks through how we can decouple #RustLang code that produce errors from code that handles/report errors.
This chapter dives into some advanced techniques in CGP to make it so that we can declaratively handle different source error types.
This chapter dives into some advanced techniques in CGP to make it so that we can declaratively handle different source error types.
The introduction to error handling in CGP is very important, as it is very different from how error handling is typically done in #RustLang.
The introduction to error handling in CGP is very important, as it is very different from how error handling is typically done in #RustLang.
patterns.contextgeneric.dev/associated-t...
patterns.contextgeneric.dev/associated-t...