Arrows.jl is an experimental library for learning and inference in Julia. It is:
- Relational
- Dependently typed
To do this, we build upon the formalism of Arrows
Arrows is currently highly experimental; explore at your own risk. Arrows is not yet in the official Julia Package repository. You can still easily install it from a Julia repl with:
Pkg.clone("https://github.com/zenna/Arrows.jl.git")
Arrows is then loaded with:
using Arrows
Arrows are a bit like functions, except we can wire their input and outputs in more interesting ways than simple function composition.
Let's work through it by example.
arr = AddArrow() >> SinArrow()
arr(1.0, 2.0)