Operator

Build Status Inline docs Deps Status hex.pm version API Docs license

Quick Start


def deps do
  [{:operator, "~> 0.0.1"}]
end

defmodule MyModule do
  use Operator

  @operator a ~> b
  # ...
end

Summary

Helpers for defining operator aliases for functions

Operators can be hard to follow, especially with the limited number available in Elixir. Always having a named function backing an operator makes it easy to fall back to the named version. Named fall backs are also very useful for piping (|>).


defmodule Example do
  use Operator

  @doc "Divide two numbers"
  @operator a ~> b
  def divide(a, b), do: a / b

  @doc "Multiply two numbers"
  @operator a <~> b
  def multiply(a, b), do: a * b
end

import Example

divide(10, 5)
#=> 5

10 ~> 2
#=> 5

multiply(10, 2)
#=> 20

10 <~> 2
#=> 20