oschulz / oschulz/FunctionChains.jl
Add fprod to construct cartesian products of functions
Open
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 10
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
With
fprod((f_a, f_b, ...))((x_a, x_b, ...)) = (f_a(x_a), f_b(x_b), ...)
fprod((a = f_a, b = f_b, ...))((a = x_a, b = x_b, ...)) = (a = f_a(x_a), b = f_b(x_b), ...)
fprod([f_a, f_b, ...])([x_a, x_b, ...]) = [f_a(x_a), f_b(x_b, ...)]
Specialize for identities, so that
fprod((identity, identity, ...)) === identitiy
fprod((a = identity, b = identity, ...)) === identitiy
fprod([identity, identity, ...]) === identitiy
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the package entry point and any existing function-composition tests, then compare their conventions with the tuple, named-tuple, and vector examples in the issue. Done means fprod supports those three input forms and returns identity for all-identity inputs, with coverage for each case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100