Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
Agree. What I linked provides core type support for that library. The pipe one is just a bunch of overloads to support a specific way of handling function composition to appease the TypeScript type checker.
There are a lot of typing hacks in that library to simulate higher kinded types.
For example?
Not OP, and these examples are not unreadable, but they are a few steps up from your typical generics.
https://effect-ts.github.io/effect/effect/Unify.ts.html#unify
https://effect-ts.github.io/effect/effect/Pipeable.ts.html
Creating basic functionality for the language always leads to unreadable code.
The C++ version would be much, much worse, and the Lisp version is Lisp.
Agree. What I linked provides core type support for that library. The pipe one is just a bunch of overloads to support a specific way of handling function composition to appease the TypeScript type checker.
There are a lot of typing hacks in that library to simulate higher kinded types.
Right to jail. Right now.