All Projects → rzeigler → waveguide

rzeigler / waveguide

Licence: Apache-2.0 license
An effect/IO datatype in typescript

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to waveguide

Redis4cats
🔖 Redis client built on top of Cats Effect, Fs2 and Lettuce
Stars: ✭ 189 (+85.29%)
Mutual labels:  effects
SoxSharp
.NET wrapper for SoX.
Stars: ✭ 41 (-59.8%)
Mutual labels:  effects
effet
An effect system based on type classes, written in Haskell.
Stars: ✭ 36 (-64.71%)
Mutual labels:  effects
Giftsurfaceview
🌷 直播间送礼物拼图案动画控件
Stars: ✭ 228 (+123.53%)
Mutual labels:  effects
UnityGUI
UGUI Panel Systems for navigation, animation and more
Stars: ✭ 80 (-21.57%)
Mutual labels:  effects
jeff
Effects for Java
Stars: ✭ 14 (-86.27%)
Mutual labels:  effects
Capability
Extensional capabilities and deriving combinators
Stars: ✭ 176 (+72.55%)
Mutual labels:  effects
online-training
Online Training website using ASP.Net Core 2.0 & Angular 4
Stars: ✭ 26 (-74.51%)
Mutual labels:  effects
xamarin-forms-statusbar
Xamarin.Forms Effect to manage the StatusBar BackgroundColor.
Stars: ✭ 16 (-84.31%)
Mutual labels:  effects
habbo-downloader
⚡A tiny script to download various files directly from Habbo.
Stars: ✭ 47 (-53.92%)
Mutual labels:  effects
Axanimationchain
AXAnimationChain is a chain animation library, can be used to easily create CAAnimation based chain animation. There are two kinds of combination chain, one is called combination, the other is called link, created by the two ways above, the animation can be carried out at the same time, can also according to the time order, you can use the code to create a rich and complex animation.
Stars: ✭ 234 (+129.41%)
Mutual labels:  effects
my-notes
工程师的自我修养
Stars: ✭ 28 (-72.55%)
Mutual labels:  effects
comfy-scenes
A rudimentary app for interactive Twitch scenes using Vue.js. It monitors your Twitch channel chat for !commands using Comfy.js (by instafluff and others), plays mp3 files, loads images, and interacts with Vue.js components.
Stars: ✭ 24 (-76.47%)
Mutual labels:  effects
Swiftuiimageeffects
Swift port of Apple UIImage+UIImageEffecs category.
Stars: ✭ 213 (+108.82%)
Mutual labels:  effects
UnityChanToonShaderVer2 VerticalDissolve
UnityChanToonShaderVer2 with VerticalDissolve
Stars: ✭ 31 (-69.61%)
Mutual labels:  effects
Isaura
An attempt at making a aura thingie with a isoline shader.
Stars: ✭ 187 (+83.33%)
Mutual labels:  effects
unity-reaction-diffusion
(WIP) ✏️ Test of a Reaction-Diffusion simulated with a compute shader in Unity.
Stars: ✭ 25 (-75.49%)
Mutual labels:  effects
effector-reeffect
Concurrent effects for Effector ☄️
Stars: ✭ 56 (-45.1%)
Mutual labels:  effects
UGUI-Effect
Efectos para la nueva UI
Stars: ✭ 14 (-86.27%)
Mutual labels:  effects
Messier87
A realtime raytracing blackhole renderer
Stars: ✭ 53 (-48.04%)
Mutual labels:  effects

waveguide

npm version npm version next CircleCI Join the chat at https://gitter.im/waveguide-core/community

waveguide has been superseded by mikearnaldi/matechs-effect. This package is a based off a fork of waveguide, is used in production, and contains useful additional modules like a request client.

Waveguide is a set of modules provided data types for describing effects in Typescript in the fp-ts ecosystem inspired by scala projects such as ZIO and cats-effect. Waveguide allows you to communicate with the real world in a referentially transparent manner. For a quick overview of waveguide in action see the tutorial A companion streaming library is being incubated in waveguide-streams and will eventually become part of the core

IO is:

  • Lazy. Work is not done until explicitly asked for and interruption can be used to stop work that is no longer needed.
  • Efficient. Asynchronous boundaries only occur where necessary. The run loop will execute as much work as it can before suspending.
  • Interoperable. There are a functions to adapt Promises as well as the fp-ts effect types.
  • Resource safe. Exposes a number of primitives for working with resources and guaranteeing cleanup.
  • Concurrent. Exposes a logical fiber model with support for joins and interrupts. Write your code as a sequence of effects and communicate with other fibers rather than trying to juggle the state of all concurrent processes at once.

For more information see the docs or the tutorial.

If you have questions don't hesitate to ask them in the gitter.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].