Pinned
My RustLab presentation on **How to stop fighting with coherence and start writing context-generic trait impls** is now available on YouTube: www.youtube.com/watch?v=gXIf...
Soares Chen
@maybevoid.com
Rust Nerd ∘ Creator of Context-Generic Programming @contextgeneric.dev ∘ Interested in Haskell, functional programming, type theory, category theory, programming language theory ∘ https://maybevoid.com ∘ https://contextgeneric.dev
155 followers227 following107 posts
Pinned
My RustLab presentation on **How to stop fighting with coherence and start writing context-generic trait impls** is now available on YouTube: www.youtube.com/watch?v=gXIf...
Soares Chen reposted
Torturing rustc by Emulating HKTs, Causing an Inductive Cycle and Borking the Compiler Discussion | lobsters | Author: WeetHet
How to stop fighting with coherence and start writing context-generic trait impls in Rust contextgeneric.dev/blog/rustlab... This blog post contains the slides and transcript for my presentation of Context-Generic Programming at RustLab 2025.
Supercharge Rust functions with implicit arguments using CGP v0.7.0 🚀 contextgeneric.dev/blog/v0.7.0-...
Context-Generic Programming (CGP) now has a new website! We have now migrated from Zola to Docusaurus. This blog post explains the reasons behind the move. contextgeneric.dev/blog/2026/02...
We're excited to announce the release of cgp v0.6.1, which brings several quality-of-life improvements to Context-Generic Programming in Rust. contextgeneric.dev/blog/v0-6-1-...
Soares Chen reposted
We have some bittersweet news: Lambda Days will take a break in 2026. But - we’re releasing something special 💛 🎥 All Lambda Days 2025 talk recordings are now public! 👉 youtube.com/playlist?lis...
Soares Chen reposted
The Call for Proposals for RustWeek 2026 is now open! If you’d like to give a talk, please submit your proposal via sessionize.com/rustweek-2026/ The CFP closes Dec 31. #rustweek2026 #rustlang
I am excited to announce the release of cgp-serde, a modular serialization library for Serde that leverages the power of Context-Generic Programming (CGP). contextgeneric.dev/blog/cgp-ser...
Soares Chen reposted
No more fighting the compiler! 😄 Soares Chen showed how Context-Generic Programming lets Rust devs go beyond coherence limits — safely and elegantly. #RustLab2025 #RustLang @maybevoid.com
I’m excited to announce the release of CGP v0.6.0! This version introduces major ergonomic improvements that make provider and context implementations simpler and more intuitive to write. #RustLang contextgeneric.dev/blog/v0-6-0-...
I am thrilled to announce the release of CGP v0.5.0! This new release includes many exciting features and improvements, including auto dispatchers, extensible datatype improvements, monadic computation, emulation of RTN, sneak preview of cgp-serde, and more. contextgeneric.dev/blog/v0-5-0-...
Soares Chen reposted
Soares Chen reposted
I will be presenting at @rustlab.it on how to stop fighting with coherence and start writing context-generic programs with @contextgeneric.dev. Use the discount code SP20FR to attend the conference with 20% discount! rustlab.it/talks/how-to...
Soares Chen reposted
🦀 We are proud to announce the Schedule for RustLab 2025! It’s not completed yet: there will be some minor changes or additions, especially in the workshops and social events areas, but this is it! Take a look at it and join us now! 🤗 👉 rustlab.it/schedule
Oh wow, so even Java has type classes now, or it looks more like Scala implicits. At least it is still good that Java is becoming more FP-friendly. Now when is Go's turn? www.youtube.com/watch?v=Gz7O...
The third and fourth parts of Extensible Data Types for Rust - the design and implementation of extensible records and variants - has been published! contextgeneric.dev/blog/extensi... contextgeneric.dev/blog/extensi...
Learn about how to build modular interpreters and visitors in Rust using CGP!
I am excited to share the second part of my blog series on Extensible Data Types with CGP. This post dives into how CGP leverages extensible variants to elegantly solve the expression problem. contextgeneric.dev/blog/extensi...
CGP v0.4.2 has been released, with brand new support for extensible records and variants. Check out the blog post to find out more! contextgeneric.dev/blog/extensi...
I'm excited to share the release of CGP v0.4.2, with new support for extensible records and variants! 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.
Soares Chen reposted
Finally I can get back to hacking the core CGP implementation! This time with a new CGP builder pattern for constructing Rust structs!
Now that Hypershell is finally published, it is finally time to go back to working on the core CGP implementation and add new features. The new CGP builder pattern is being developed pretty smoothly. Here is a snippet Rust code on the test code and macro expansion!
I have created Hypershell as a proof of concept to showcase how CGP can be used to build highly modular and extensible DSLs, with the DSL programs expressed as Rust types!
Announcing Hypershell: a modular, type-level DSL for shell-scripting in Rust, powered by Context-Generic Programming! contextgeneric.dev/blog/hypersh...
I am thinking of using AI to figure out which concepts in @contextgeneric.dev are hard to understand, by asking it to read the documentation and explain the code base. If the AI cannot explain the concepts clearly, I would add new documentation until all the misunderstanding are clarified.
Soares Chen reposted
I have published my first new blog post in four years lexi-lambda.github.io/blog/2025/05...
Soares Chen reposted
I am excited to share about the new release of #CGP v0.4.0! This update solves a major challenge in debugging CGP-related errors in Rust, simplifies the developer experience with new macros, and added new features such as presets and datatype-generic programming. contextgeneric.dev/blog/v0-4-0-...
Soares Chen reposted
Soares Chen reposted
A lot of new features have been added to the `#[cgp_getter]` macro! For the basic use cases, you can now define getter methods that return &str or Option<&T>, and the macro will generate getter implementations that read from String or Option<T> fields. github.com/contextgener...
Soares Chen reposted
new blog post! Explaining a useful rust programming pattern that not many people seem to know about. paper.wf/binarycat/sa... #rust #programming