This Week in Effect - 2024-05-10
Hi Effecters!
Welcome back to a This Week In Effect (TWIE), our weekly update that aims to help you keep track of everything that is going on inside our Community and the Effect Ecosystem.
If it’s your first time here, Effect is a powerful TypeScript library designed to help developers create complex, synchronous, and asynchronous programs. One of the key features that sets Effect apart is how it leverages structured concurrency to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs.
To begin your Effect journey, take a look at our quick-start guide and documentation below. Enjoy!
Overview of TWIE
If you're new to TWIE, here are a few words on what TWIE is and what it aims for.
We’re happy to see the community growing so fast, with more and more people adopting Effect. At the same time, we understand that it might not be easy keeping up with everything that is going on in the Effect Ecosystem:
- Effect became API stable with the Effect 3.0 release.
- Our Discord server reached 2730+ members a few days ago and the engagement is at an all-time high.
- We've begun publishing the talks from Effect Days every week. Make sure you don't miss any by subscribing to our YouTube channel.
- All projects around Effect are receiving key updates and there has been a lot of activity on GitHub!
We want to make it easy for you to find all the info you need to fully enjoy your Effect journey and actively engage with the community!
And, that’s why we created TWIE – a weekly update to inform you about key events about Effect in the previous week, both from the community (Discord discussions, X posts, YouTube content, etc.) and from a technical standpoint.
Now, back to business!
Technology
Effect/Schema 0.67 has been released. Read the full release post by Giulio Canti to stay updated with all the latest features and improvements.
Below you can find all the changes that occurred last week.
Effect Core
- Support $is & $match for Data.TaggedEnum with generics (Feature, next-minor)
- Fix(platform): http client body stream runtime (Bug Fix, next-minor)
- Capture stack trace for tracing spans (Feature, next-minor)
Effect Platform
- Ensure http response middleware is interruptible (Bug Fix)
- Fix http ServerResponse cookie apis (Bug Fix)
- Replace isows with WebSocketConstructor service in @effect/platform/Socket (Refactor)
- Fix(platform-node): EADDRINUSE error reporting (Bug Fix)
- Run .close() when browser worker shuts down (Bug Fix)
- Fix(platform): http client body stream runtime (Bug Fix, next-minor)
- Capture stack trace for tracing spans (Feature, next-minor)
Effect Experimental
- Replace isows with WebSocketConstructor service in @effect/platform/Socket (Refactor)
- Capture stack trace for tracing spans (Feature, next-minor)
Effect RPC
- Fix Rpc.Rpc.Proto"schema" type (Bug Fix)
- Capture stack trace for tracing spans (Feature, next-minor)
Effect SQL
- Make @effect/sql dialect agnostic (Feature)
- Update sql readme (Documentation Update)
- Capture stack trace for tracing spans (Feature, next-minor)
Effect Schema
- Class API: avoid access before initialization when creating a class with suspended props (Bug Fix)
- Schema 0.67 (Feature, Improvement, Bug Fix)
Community
In the last week, we welcomed +100 new Effecters to our Discord server! Thank you all for joining the Effect community, we're excited to have you on board!
Content Update
We released two additional talks from the Effect Days Conference.
Our week started with Tim Suchanek's enlightening session 'Building AI Agents' where he explored building AI agents using Effect. Tim emphasized the importance of AI in practical settings, introducing the concept of agents and their different types.
On Friday, we published Antoine Coulon's presentation, 'Building Skott: A Journey of Effect-Driven Development'. Antoine shared his experience in designing skott, a static analysis tool, using Effect-driven development. Skott aims to harness the potential of graphs within computer systems, by combining the principles of test-driven and type-driven development.
Mattia Manzati, Effect Cluster Contributor, is carrying on his @effect/cluster series on Twitch. This week he started with a new task, moving effect/cluster from Platform to effect/RPC. You can catch up with all Mattia's videos on our YouTube channel. Here's ep.2:
Dillon Mulroy, Software Engineer @ Vercel, completed his series about how to build an Apple Music Twitch integration with Effect, and has some feedback to share for us:
Our DX Johannes Schickling was a guest on the latest syntax.fm episode, a podcast about full-stack web development. In this episode, Johannes delves into Effect as the "TypeScript missing library" and the rise of local-first development.
Milad Vafaeifard, Software Engineer and Educator, creator of Sign Language Tech, shared how to sign for "Pipe" in Effect using sign language:
Michael Arnaldi, author of Effect, gave a talk at LambdaConf 2024 on May 7. Follow us on our X account to stay updated on when the video will be available.
Closing Notes
That's all for this week. Thank you for being a vital part of our community. Your feedback is highly valued as we fine-tune this new format. Feel free to share your thoughts, and we'll do our best to tailor it to the needs of our community.
Effect Community Team
Related Posts
This Week in Effect - 2024-05-03
May. 3rd, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical updates in Effect. Effect 3.1 release. "AI-Native User Experiences. The Effect Opportunity." talk by Guillermo Rauch. Effect Advanced workshop by Maxwell Brown.
Read more
This Week in Effect - 2024-05-17
May. 17th, 2024
By Davide Scognamiglio, Mirela Prifti, Michael Arnaldi
Technical updates in Effect. 'Effective State Machines for Complex Logic' by David Khourshid. 'Integrating Effect with Remix' Ep.1 by Michael Arnaldi
Read more