View Source
Formulae
Nifty precompiled formulae handling
Installation
def deps do
[{:formulae, "~> 0.5"}]
endUsing
iex|1 ▸ f = Formulae.compile("rem(a, 5) - b == 0")
#ℱ<[
ast: "rem(a, 5) - b == 0",
eval: &:"Elixir.Formulae.rem(a, 5) - b == 0".eval/1,
formula: "rem(a, 5) - b == 0",
guard: nil,
module: :"Elixir.Formulae.rem(a, 5) - b == 0",
variables: [:a, :b]
]>
iex|2 ▸ f.eval.(a: 11, b: 1)
true
iex|3 ▸ f.variables
[:a, :b]
iex|4 ▸ f.module
:"Elixir.Formulae.rem(a, 5) - b == 0"Changelog
0.10.0InspectandString.Charsprotocols implementationFormulae.Sigils.sigil_F/2aka~F[x > y]
0.9.0options: [eval: :guard, alias: SomeModName]- fixes for modern Elixir
- optimizations in module generation
- benchmarks
0.8.0— generate combinators functions inFormulaemodule