Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to execute high-level arrows by mapping them to scala functions with Functors #43

Open
8 of 9 tasks
fehu opened this issue Jul 11, 2018 · 1 comment
Open
8 of 9 tasks
Assignees
Labels
arrows Uses arrow/morphism abstraction cmplx_low Low complexity enhancement New feature or request high-level High-level API

Comments

@fehu
Copy link
Contributor

fehu commented Jul 11, 2018

  • Introduce an arrow for Scala's Function1 - Func1Arrow
    • override composition (add higher-priority Compose typeclass instance)
  • Map ScalaExpr arrows to Func1Arrow
    • Id
    • SelectField
    • FMap
    • MBind
    • Split
    • SelectIn
@fehu fehu added enhancement New feature or request high-level High-level API cmplx_low Low complexity arrows Uses arrow/morphism abstraction labels Jul 11, 2018
@fehu fehu self-assigned this Jul 11, 2018
fehu added a commit that referenced this issue Jul 11, 2018
- added an arrow `Func1Arrow` that wraps scala's `Function1`;
- overrode arrows composition for `Func1Arrow`;
- mapping `ScalaExpr` to `Func1Arrow`: `Id`, `SelectField`, `FMap`, `MBind`; TODO: `Split`, `SelectIn`;
fehu added a commit that referenced this issue Jul 11, 2018
- defined generic `splitFunctor` implicit
- overriding default `Split` functor for `FuncArrow` with `FuncArrow.mapSplitToFunc1Arrow` (import is required)
@fehu
Copy link
Contributor Author

fehu commented Jul 11, 2018

SelectIn is not yet defined.

fehu added a commit that referenced this issue Jul 24, 2018
@fehu fehu mentioned this issue Dec 27, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrows Uses arrow/morphism abstraction cmplx_low Low complexity enhancement New feature or request high-level High-level API
Projects
None yet
Development

No branches or pull requests

1 participant