exquisite alternatives and similar packages
Based on the "Miscellaneous" category.
Alternatively, view exquisite alternatives based on common mentions on social networks and blogs.
-
ex_rated
ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it. -
ex2ms
:ets.fun2ms for Elixir, translate functions to match specifications -
ecto_autoslug_field
Automatically create slugs for Ecto schemas. -
std_json_io
A simple library for Elixir that provides json over STDIO -
gen_task
Generic Task behavior that helps encapsulate errors and recover from them in classic GenStage workers. -
exprint
A printf / sprintf library for Elixir. It works as a wrapper for :io.format. -
countriex
All sorts of useful information about every country. A pure elixir port of the ruby Countries gem -
Jisho-Elixir
A Japanese dictionary API; a wrapper around Jisho's API (http://jisho.org) -
indicado
Technical indicator library for Elixir with no dependencies. -
egaugex
A simple egauge parser to retrieve and parse data from egauge devices -
presentex
Elixir -> HTML/JavaScript based presentation framework intended for showing Elixir code -
ratekeeper
Ratekeeper is a library for scheduling rate-limited actions. -
mixstar
Elixir Mix task to starring GitHub repository with `mix deps.get`ting dependent library
Static code analysis for 29 languages.
Do you think we are missing an alternative of exquisite or a related project?
README
Exquisite match_specs for Elixir
Ever had to write a complex match_spec and ended up with a bunch of unintelligible code you hoped you would never have to work on ever again?
Those times are gone! Say hello to Exquisite!
What is this?
Exquisite converts a LINQ-inspired query language into match_specs at compile time so you can use them with mnesia, ets and dets.
It supports record reflection to access record fields directly in the query and allows complex data generation and compare.
It also has some helpers to select with matchspecs from tuples and list of tuples.
Examples
require Exquisite
s = Exquisite.match URI.Info,
where: host == "google.com",
select: path
r = Exquisite.run! s, [ URI.parse("http://google.com/derp"),
URI.parse("http://yahoo.com/herp"),
URI.parse("http://bing.com/durp"),
URI.parse("http://google.com/herp") ]
IO.inspect r # => ["/derp", "/herp"]
require Exquisite
s = Exquisite.match { x, y, z },
where: z > 2 and y < 3,
select: x
r = Exquisite.run! s, [ { 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 } ]
IO.inspect r # => [1]
require Exquisite
s = Exquisite.match { uri in URI.Info, x in { a, b } },
where: uri.path == nil,
select: { x.b, x.a }
r = Exquisite.run! s, [ { URI.parse("http://google.com/derp"), { 1, 2 } },
{ URI.parse("http://yahoo.com"), { 2, 3 } },
{ URI.parse("http://bing.com/durp"), { 4, 5 } },
{ URI.parse("http://google.com"), { 6, 7 } } ]
IO.inspect r # => [{3, 2}, {7, 6}]