Soares Chen
maybevoid.com
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.comhttps://contextgeneric.dev
Pinned
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...
RustLab | How to Stop Fighting with Coherence and Start Writing Context-Generic Trait Impls
Soares Chen at RustLab 2025
rustlab.it
Reposted by Soares Chen
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
Rust Week 2026: Call for Speakers
RustWeek is back!Two days of talks (Tue 19 and Wed 20) and one day with workshops (Mon 18),as well as social events and activities all week (Mon 19 - ...
sessionize.com
November 3, 2025 at 12:02 PM
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...
Announcing cgp-serde: A modular serialization library for Serde powered by CGP | Context-Generic Programming
contextgeneric.dev
November 3, 2025 at 1:14 PM
Reposted by Soares Chen
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
November 3, 2025 at 12:00 PM
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-...
CGP v0.6.0 Release - Major ergonomic improvements for provider and context implementations | Context-Generic Programming
contextgeneric.dev
October 26, 2025 at 11:57 AM
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-...
CGP v0.5.0 Release - Auto dispatchers, extensible datatype improvements, monadic computation, RTN emulation, modular serde, and more | Context-Generic Programming
contextgeneric.dev
October 12, 2025 at 2:45 PM
My observation of ML frameworks from the POV of a functional programmer: PyTorch tensors are actually some kind of monad, with the dimensions being the "type" of the contained values.
October 10, 2025 at 4:23 PM
Reposted by Soares Chen
Today’s my last day at AWS working on the Rust compiler. Unfortunately, back in July I received notice that I had to choose between moving to Boston from NYC, or leaving the company due to RTO policy. I unfortunately couldn’t abandon the city I plan on being my long term home.
September 5, 2025 at 1:14 PM
Reposted by Soares Chen
Tired of fighting Rust’s coherence rules?
[email protected] 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
August 26, 2025 at 11:30 AM
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...
RustLab | How to Stop Fighting with Coherence and Start Writing Context-Generic Trait Impls
Soares Chen at RustLab 2025
rustlab.it
August 23, 2025 at 10:51 AM
Reposted by Soares Chen
🦀 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
RustLab | Schedule
Check the schedule of the international conference on Rust in Florence, Italy
rustlab.it
May 16, 2025 at 11:18 AM
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...
Growing the Java Language #JVMLS
YouTube video by Java
www.youtube.com
August 21, 2025 at 8:40 PM
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...
Programming Extensible Data Types in Rust with CGP - Part 3: Implementing Extensible Records | Context-Generic Programming
contextgeneric.dev
August 5, 2025 at 3:43 PM
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...
Programming Extensible Data Types in Rust with CGP - Part 2: Modular Interpreters and Extensible Visitors | Context-Generic Programming
contextgeneric.dev
July 10, 2025 at 1:55 PM
Surprisingly, it turns out CGP already supports fully monadic computation in Rust! It is just that the CGP monads are in the form `a -> m b` instead of the usual `m a`.
July 9, 2025 at 10:47 PM
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...
July 7, 2025 at 2:01 PM
Reposted by Soares Chen
Howdy all. I'm unfortunately not going to be with my employer for much longer due to team relocation. If anyone has any info on roles that would allow me to continue my Rust compiler work (in New York City), they'd be greatly appreciated.
July 2, 2025 at 5:31 PM
Oh wow, since when did Firefox implement native integration with all major LLMs like ChatGPT? Did they get any funding from that integration? How come I never seen any such news or discussion on Hacker News?
July 1, 2025 at 3:23 PM
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!
June 17, 2025 at 8:52 PM
Damn.. I think I managed to get the Rust compiler to hang indefinitely when trying to write slightly more complex examples of Hypershell. 😅
Announcing Hypershell: a modular, type-level DSL for shell-scripting in Rust, powered by Context-Generic Programming! contextgeneric.dev/blog/hypersh...
Hypershell: A Type-Level DSL for Shell-Scripting in Rust | Context-Generic Programming
contextgeneric.dev
June 15, 2025 at 10:03 PM
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...
Hypershell: A Type-Level DSL for Shell-Scripting in Rust | Context-Generic Programming
contextgeneric.dev
June 13, 2025 at 11:21 PM
The vibe coding debate focused mostly on beginners who code with AI without understanding programming fundamentals, and experts who bash that the code generated by AI is incorrect.

But why not we *train* the AI to be good at teaching beginners on *hard* topics, e.g. Rust and functional programming?
June 12, 2025 at 9:18 AM
Here are some sneak previews of what I have been working on for the past 2 weeks. Hypershell is a compile-time DSL for writing shell-script-like programs as Rust types. It is powered by context-generic programming, and is highly customizable and extensible!
June 2, 2025 at 8:07 PM
Reposted by Soares Chen
I have published my first new blog post in four years lexi-lambda.github.io/blog/2025/05...
A break from programming languages
lexi-lambda.github.io
May 29, 2025 at 4:25 PM
Reposted by Soares Chen
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-...
CGP v0.4.0 is Here: Unlocking Easier Debugging, Extensible Presets, and More! | Context-Generic Programming
CGP v0.4.0 is officially released, bringing transformative improvements! Experience dramatically easier debugging, powerful new features, and a smoother developer journey for modular Rust programming.
contextgeneric.dev
May 9, 2025 at 3:05 PM
Reposted by Soares Chen
It is now possible to do OOP-like inheritance at the type-level in #RustLang using #CGP! Our latest PR brings significant improvements to defining and using presets in CGP, with support for multiple-inheritance, and override mechanism to overcome the diamond inheritance problem.
May 3, 2025 at 8:31 PM