Get a sneak peek into Tim Smart's talk at EffectDays: Effect's Latest & Greatest. @tim_smart will take us through the latest additions to Effect, tackling real-world challenges. Stay tuned for a special announcement at the end! 👀 See you in Vienna 🇦🇹
This Week in Effect - 2024-02-09
Hi Effecters!
Welcome back to 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 get started, below you’ll find links to our documentation as well as our guide for installing Effect. Enjoy!
Another week has passed, and we’re on our second date with TWIE. Since some of you may have missed the last post, we would like to spend a few words on what TWIE is and what it aims for.
We’re happy to witness the community growing so fast, with more and more people adopting Effect, and we understand that it might not be that easy keeping up with everything that is going on in the Effect Ecosystem:
- Our Discord server reached 1850+ members a few days ago and the engagement is at an all-time high.
- We’re approaching our very first Effect Days Conference in Vienna on February 23, 2024, and lots of new content is coming up.
- All projects around Effect are receiving key updates and there has been a lot of activity on GitHub.
So, we wanted to make it easy for you to find all the info you need to fully enjoy your Effect journey!
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.
In this way, we want to help you stay on track with everything happening in the Effect Ecosystem and actively engage with our community.
Now, back to business!
Lists all the features, bug fixes, and changes (sometimes breaking) of this week.
- Add ClassTag, improve Effect.serviceConstants, require string identifier for all tags
- Add toJSON for Secret (feature)
- change Effect type parameters order (Refactor)
- change Exit type parameter order from Exit
- change STM type parameters order from STM
- change Layer type parameters order from Layer
- change Streamable.Class and Effectable.Class type parameters order from Class
- enhance DX by swapping type parameters and adding defaults to async
- change Deferred type parameters order from Deferred
- change TDeferred type parameters order from TDeferred
- change Take type parameters order from Take
- change Fiber type parameters order from Fiber
- change RuntimeFiber type parameters order from RuntimeFiber
- change FiberSet type parameters order from FiberSet
- Fix for possible stack overflow issues due to Array.push in combination with spread operator(bug fix)
- change FiberMap type parameters order from FiberMap
- change Pool type parameters order from
- change Request type parameters order from Request
- change Resource type parameters order from Resource
- change TExit type parameters order from TExit
- change Channel type parameters order from Channel
- add releaseAll api to Semaphore
- change Runtime.RunCallbackOptions type parameters order from RunCallbackOptions
- add Option.orElseSome
- change Sink type parameters order from Sink
- add apis for manipulating a Runtime
- change Exit type parameter order from Exit
- change Pool type parameters order from Pool
- change Layer type parameters order from Layer
- Fix for possible stack overflow issues due to Array.push in combination with spread operator (bug fix)
- enhance DX by swapping type parameters and adding defaults to async
- change Streamable.Class and Effectable.Class type parameters order from Class
- change Effect type parameters order (Refactor)
- change Sink type parameters order from Sink
- fix Schedule typings
- port RateLimiter from Rezilienze
- simplify RateLimiter implementation using Semaphore
- Rename schema transform params
- Fix usage of Schema.TaggedError in combination with Unify
- Schema: switch from positional arguments to a single options argument
- Introducing Optional Annotations in optional API
- remove overloads from ClientRequest.make
- fix ClientRequest.make signature (generic was unused)
- use Context for collecting transferables
- move where platform worker spawn function is provided
- remove more platform re-exports
We welcomed 25 new Effecters last week! Thank you for joining the community and we look forward to your active participation in our ever-growing family!
As you may already know, our big event in Vienna is getting closer and closer. From the 22nd to the 24th of February, we’ll have the opportunity to meet our amazing community and unfold what the future of Effect will be.
There are only 3 workshop tickets left, and if you’re still sitting on the fence, that’s your last chance to get one!
For those of you who may have missed it, here’s our full speaker lineup.
New sneak peeks of what our speakers will talk about have been posted on our X profile:
Tim Smart
Johannes Schickling:
Our keynote speaker, Johannes Schickling @schickling, just gave us a glimpse of what he'll be sharing at Effect Days! 🚀 We can't wait to hear his insights at the conference! See you in Vienna 🇦🇹
Tim Suchanek:
Interested in creating powerful AI agents that tackle real-world problems with Effect? 🤖 Learn how with Tim Suchanek @TimSuchanek at Effect Days! Don't miss out on this insightful session! See you in Vienna 🇦🇹
That’s all for this week. Thank you for being a vital part of our community. Your feedback and requests are 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.
The Effect Community Team