hkts
Functional programming tools: option, either, task, state, optics, etc. (by nullpub)
static-land
Specification for common algebraic structures in JavaScript based on Fantasy Land (by fantasyland)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
hkts | static-land | |
---|---|---|
3 | 3 | |
19 | 766 | |
- | 0.4% | |
8.5 | 0.0 | |
about 3 years ago | over 4 years ago | |
TypeScript | JavaScript | |
MIT License | 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.
hkts
Posts with mentions or reviews of hkts.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2020-12-28.
-
Hey Come Help Out And Learn Some Stuff
We need to be able to parse incoming json/xml/etc into typescript types. This is done or doable with the hkts decoder which is a partial port of io-ts.
-
Higher Kinded Deno
Before diving into the nitty gritty of how hkts implements higher kinded types, how hkts handles type-class constructor lengths, or how one might implement Monad for These, I will begin at the end. This is to say, I will be starting with examples of how to use Option, Either, Task, and more. Then I will endeavor to explain what type classes like Functor, Monad, Traverse, and Monoid mean. Lastly, I'll get into the typescript abstractions that make hkts possible.
static-land
Posts with mentions or reviews of static-land.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-13.
-
Should I Move From PHP to Node/Express?
There are respective fantasy land and static land specs, with the law conformance checks.
-
Expanding Single Page Apps into multiple Browser Windows — Part 2
A big poster child of functional style in JS-land is actually implemented on top of textbook OOP (Array.prototype.map/filter). For anyone interested in the gore details of functional polymorphism, look no further than the comparison between fantasy land and static land. Basically, it boils down to a simple fact: functional algebra constructs can be implemented in terms of other functional algebra constructs, but when push comes to shove, the most efficient Array map implementation is not going to be the same thing as a map implementation for any other data structure (Stream, Optional, whatever) and you can't have a magical compiler optimize under the hood for you in Javascript, because well, Javascript. So functional polymorphism has to be shoved somewhere, and as it turns out OOP happens to be a good complement for that conundrum.
-
Higher Kinded Deno
My goal with hkts is two-fold. First, to learn more about functional programming by implementing some common type classes (specifically, the ones defined in the static-land spec). Second, to put together a pragmatic, easy to read/understand library of tools based on fp-ts, io-ts, and monocle-ts that are deno native.
What are some alternatives?
When comparing hkts and static-land you can also consider the following projects:
dropshot - expose REST APIs from a Rust program
RxPHP - Reactive extensions for PHP
mostly-adequate-guide - Mostly adequate guide to FP (in javascript)
fantasy-laws - Property-based tests for FL-compatible ADTs
fp-ts-routing - A type-safe bidirectional routing library for TypeScript
fnts - λ Minimal Functional Programming Utilities for TypeScript & JavaScript
cats-effect - The pure asynchronous runtime for Scala
jsonschema - Generate JsonSchema and TypeScript types at the same time
lodash - A modern JavaScript utility library delivering modularity, performance, & extras.
sums_up - Sum types for Ruby
fp-ts - Functional programming in TypeScript