fp-ts
adventofcode
Our great sponsors
fp-ts | adventofcode | |
---|---|---|
96 | 86 | |
10,435 | 16 | |
- | - | |
7.5 | 7.3 | |
22 days ago | 4 months ago | |
TypeScript | TypeScript | |
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.
fp-ts
-
Type-Safe Printf() in TypeScript
While I certainly agree, I've found that this is often an indication of too-complex an architecture, and a fundamental re-think being necessary. I've had projects that depend on [fp-ts], which end up incredibly generic-heavy, but still make it entirely through a typecheck(not build- typescript's just worse at that than other tools like esbuild) in seconds-at-worse.
Obviously depends on your organization/project/application, but I do like these things as complexity-smells.
[fp-ts]: https://gcanti.github.io/fp-ts/
-
Introducing fp-utils a functional utility library for Deno / Node
Unlike more comprehensive functional libraries like fp-ts, each module can be imported and resolved separately. If you just need options, simply add the option module and you're good to go.
-
Blog post: graphs and monads with Typescript
While it's quite abstract, I believe it may be useful to those of you who is interested to learn more about functional programming [in Typescript] and also get more intuition on diverse programming ideas. I use fp-ts as a functional programming library there.
-
Functional Programming Library for Golang by IBM
The library for TypeScript that this is influenced by is here:
https://github.com/gcanti/fp-ts
Interesting how both languages with this library converge to a similar syntax, due to heavy use of functions.
-
Is Scala worth learning in 2023?
Learn something that pays the bill first - nowadays it's Golang/Rust react/typescript. Then you can try some pure fp libs like fp-ts and fp-core.rs, and look through existing scala cats docs. If you'll feel bad about it - that's totally fine and expectable, fp takes a paradigm shift and not that many dev able to shift their brains way of thought due to basic psychological rigidity) (inability to change habits and to modify concepts/attitudes once developed). And that's purely a staffing and management issue - folks hired randoms out of the blue, and called 'em a team.
-
Application Bootstrapping with fp-ts
fp-ts, a library that caters to functional programming in TypeScript, comes with some micro-abstractions that already solve a few of our needs.
-
Error Handling Patterns
looks like more ergonomic/focused version of fp-ts[1]
-
To`class` or not to `class`?
The approach of checked errors is making a comeback. See Swift, Rust, Kotlin + Arrow.kt, and several takes on it in TypeScript: purify, fp-ts, etc.
-
For Production Users: Haskell in an age of Rust and Python
Yeah, TypeScript is shockingly good for a language that is so compatible with JavaScript. For example fp-ts. The main problem with TypeScript is pervasive mutability and side-effects.
-
Why I use Typescript nominal types [3via series part 3]
Back at my last job I was lucky enough to stumble upon some pretty awesome colleagues thanks to which I found even greater depths in Typescript which cemented the love even more. We used FP-TS to rewrite a legacy Feathers.js application and I learned many principles I later applied to my own full-stack "framework".
adventofcode
- -❄️- 2023 Day 10 Solutions -❄️-
- -❄️- 2023 Day 9 Solutions -❄️-
- -❄️- 2023 Day 8 Solutions -❄️-
-
-❄️- 2023 Day 7 Solutions -❄️-
The only code differs for two parts is as follows - https://github.com/bhosale-ajay/adventofcode/blob/master/2023/ts/D07.test.ts - under 80 lines.
-
-❄️- 2023 Day 6 Solutions -❄️-
Easy day TypeScript, P1 - Brute Force, P2 - Formula
- -❄️- 2023 Day 5 Solutions -❄️-
-
-❄️- 2023 Day 4 Solutions -❄️-
[LANGUAGE: TypeScript] Github - Under 40 lines, all parts running under 8ms.
-
-❄️- 2023 Day 1 Solutions -❄️-
[LANGUAGE: TypeScript] TypeScript - Running under 30ms (both parts)
-
-🎄- 2022 Day 25 Solutions -🎄-
F# This year I solved puzzles using TypeScript as well as F# - Day 18, 19, and 22 TBD
TypeScript/JavaScript - Merry Christmas, and a Happy New Year!
What are some alternatives?
effect - A fully-fledged functional effect system for TypeScript with a rich standard library
ramda - :ram: Practical functional Javascript
proposal-pattern-matching - Pattern matching syntax for ECMAScript
purescript - A strongly-typed language that compiles to JavaScript
io-ts - Runtime type system for IO decoding/encoding
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.
eslint-plugin-functional - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
zod - TypeScript-first schema validation with static type inference
neverthrow - Type-Safe Errors for JS & TypeScript
ts-toolbelt - 👷 TypeScript's largest type utility library
rust - Empowering everyone to build reliable and efficient software.