burrido
Do-notation for JavaScript (by pelotom)
exceptionally
A fully type-safe and lightweight way of using exceptions instead of throwing errors (by ivanhofer)
Our great sponsors
burrido | exceptionally | |
---|---|---|
3 | 1 | |
173 | 35 | |
- | - | |
10.0 | 4.4 | |
about 7 years ago | about 1 year ago | |
JavaScript | TypeScript | |
MIT License | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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
Posts with mentions or reviews of burrido.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-30.
-
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)
exceptionally
Posts with mentions or reviews of exceptionally.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-22.
-
Handling errors like a pro in TypeScript
I one also thought that handlong errors works better when havung a good structure but that didn't really plan out. I stopped throwing anything inside my codebases. The only way to get full knowledge over the possible outcomes of a function call is if the function also returns exceptions instead of throwing them. TypeScript will not help you if something gets thrown. I wrote my own little library to handle this: https://github.com/ivanhofer/exceptionally I recently discovered that there are also other solutions out there that do something similar. With such an approach you will also know after 5 and more levels of function calls if your code really covers all possible outcomes. Really useful for refactoings!
What are some alternatives?
When comparing burrido and exceptionally you can also consider the following projects:
ante - A safe, easy systems language
mlton - The MLton repository
futhark - :boom::computer::boom: A data-parallel functional programming language