Karolin Varner
Karolin Varner
We should explicitly expose sequence/typesafe/etc namespaces instead of polluting the root namespace. We might need a transitional module; or just keep exposing everything that is currently in the root namespace...
Map on a specific element of a set or object: ```js const euclidRem = (n, d) => n0 const mapNth = (seq, idx, fn) => map(seq, (tup) => { const...
Can we introduce type signatures using plain javascript? Used to take all arguments to their respective types. (Use with casting functions like obj, etc…) ``` typedfn = (types, fn) =>...
Apply a separate function to each element of a list. ```js mapTuple(["false", "22"], [Boolean, Number]) [false, 22] ```
Implement a Y combinator. https://rosettacode.org/wiki/Anonymous_recursion#JavaScript
Js structs have a number of disadvantages: * methods are unbound * new construction * This behaves weirdly. * No explicit handling of We could substitute our own syntax: ```js...
Version of compose that takes a sequence. (Might need a better name). ```js const composev = (seq) => compose(...iter(seq)); ```
Given the functional nature of ferrum, using typescript seems like it might be a good choice…
Implement the standard pattern matching structure `[head, ...tail]` but using iterators…so with lazyness. ```js // Split the given sequence into head and tail const pop = (seq) => { const...
Include a fold vector processing API: Multiple fold operations at the same time; e.g. sum and count ```js const multiFoldl = (seq, ini, fns) => { const resv = list(ini);...