burrido
ts-results
burrido | ts-results | |
---|---|---|
3 | 7 | |
173 | 1,069 | |
- | - | |
10.0 | 0.0 | |
about 7 years ago | 28 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
burrido
-
Late Architecture with Functional Programming
do-notation can be easily implemented using delimited continuations (ie. generators). Generators compose well and flatten tail calls so you don't need TCO or trampolines. The only notable issue is that one-shot delimited continuations like generators don't work with non-deterministic monads (ie. List). Multi-shot can be emulated by keeping a cache of past values and replaying the generator, but performance will suffer. See burrido [1] for a JavaScript do-notation implementation.
[1] https://github.com/pelotom/burrido
-
Handling errors like a pro in TypeScript
I haven’t tried this out myself but there’s libraries out there that emulate do notation with generators, if that’s any better than e.g. fp-ts’ Do. A quick Google search led me to burrido
-
Ante: A low-level functional language
Looks great!
A few questions (hopefully the author still reads it):
* Any plan for support of arrow/monad comprehensions?
* Semi-related: When it comes to generators it might be worth to consider making them clonable (see https://github.com/pelotom/burrido)
ts-results
-
Robust Error Handling in TypeScript: A Journey from Naive to Rust-Inspired Solutions
For TypeScript developers, the ts-results library is a great tool to apply Rust's error handling pattern, simplifying the implementation of Rust’s `Result’ type in TypeScript.
-
A better way to handle errors in JavaScript
Nicer way to go about this is `ts-results` which introduces the `Result` type, inspired by rust.
https://github.com/vultix/ts-results
-
Is this TypeScript code weird?
I can't speak to it much myself as I don't have any experience with this pattern but I came across this the other day and your post made me think of it. https://github.com/vultix/ts-results Seems like it may not longer be maintained but might be worth comparing it your implementation. Allegedly the module 'fp-ts' also has this functionality but its another thing I have not looked into much.
-
Handling errors like a pro in TypeScript
https://github.com/vultix/ts-results for the former.
- oxide.ts - my Rust-inspired Option/Result and match library for TypeScript - Version 1.0 Release
-
what's the recommended way to handle error in TS?
I've recently been a fan of the Rust style Result return types. There's a few projects doing this but I've been using ts-results.
-
I created a package that adds Rust-like features to TypeScript
This looks fantastic! I’ve been using the types from ts-results in a project for work and it’s been so nice, but I’ve been getting frustrated by the outdated documentation and lack of responses to PRs that have been opened. I was considering writing one of these libraries myself, but this looks like a perfect replacement!
What are some alternatives?
ante - A safe, easy systems language
neverthrow - Type-Safe Errors for JS & TypeScript
mlton - The MLton repository
oxide.ts - Rust's Option<T> and Result<T, E>, implemented for TypeScript.
futhark - :boom::computer::boom: A data-parallel functional programming language
functional-conditionals - A library for writing if / else if / else in a functional way.
exceptionally - A fully type-safe and lightweight way of using exceptions instead of throwing errors
rust-option - brings Option / Result / match from Rust to Javascript
monads - Option, Result, and Either types for TypeScript - Inspired by Rust 🦀
option-t - A toolkit of Nullable/Option/Result type implementation in ECMAScript. Their APIs are inspired by Rust's `Option<T>` and `Result<T, E>`.
throwless - The Result and Option type from Rust ported to TypeScript.
result - A TypeScript result type taking cues from Rust's Result and Haskell's Either types