Welcome to the Effect documentation!
Please note that the documentation is currently under construction and some sections may be incomplete or subject to changes. We are working hard to provide you with comprehensive and accurate information.
Effect is a powerful TypeScript library designed to help developers easily create complex, synchronous, and asynchronous programs.
Some of the main Effect features include:
|Concurrency||Achieve highly-scalable, ultra low-latency applications through Effect's fiber-based concurrency model.|
|Composability||Construct highly maintainable, readable, and flexible software through the use of small, reusable building blocks.|
|Resource Safety||Safely manage acquisition and release of resources, even when your program fails.|
|Type Safety||Leverage the TypeScript type system to the fullest with Effect's focus on type inference and type safety.|
|Error Handling||Handle errors in a structured and reliable manner using Effect's built-in error handling capabilities.|
|Asynchronicity||Write code that looks the same, whether it is synchronous or asynchronous.|
|Observability||With full tracing capabilities, you can easily debug and monitor the execution of your Effect program.|
The documentation is structured in a sequential manner, starting from the basics and progressing to more advanced topics. This allows you to follow along step-by-step as you build your Effect application. However, you have the flexibility to read the documentation in any order or jump directly to the pages that are relevant to your specific use case.
To facilitate navigation within a page, you will find a table of contents on the right side of the screen. This allows you to easily jump between different sections of the page. Additionally, the breadcrumbs at the top of the page indicate the current location within the documentation, helping you keep track of where you are.
In these documentation pages, we use the
$ExpectType pragma borrowed from dtslint (opens in a new tab) to display the type of a variable. Here's an example:
// $ExpectType Date const foo = new Date()
In the above code, we are stating that the variable
foo has the type
Date. This provides clarity and helps you understand the expected type of variables in different examples throughout the documentation.
If you have questions about anything related to Effect, you're always welcome to ask our community on Discord (opens in a new tab).