write interfaces for algebras #4
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
to ensure algebraic lawfulness, structures should implement against common interfaces (Functor, Plus, Foldable, etc)
challenges
jsdoc/typescript is Not Good at this kind of thing. there is no higher kinded type support. with the way kojima is currently implemented (closures around anonymous functions and cached functions), jsdoc seemingly has no easy way of documenting them.
implements
andextends
only apply to structures decorated withclass
which means that if it's not called withnew
, jsdoc will get upsetthis may involve a full conversion to typescript which i'm not willing to do. features like declaration merging are only supported if the declarations fully live within jsdoc or typescript. this might be worth it if TS had first class HKT support, but right now it's hacky and hard to read which isn't much better than the solution kojima has right now.