afiniate/seresye — Issue #12: Proposal: better negation syntax
Author: yrashk
Created: 2012-02-02 06:05:54+00:00
State: open

So, right now the syntax is really awkwardly hard:

```erlang
-neg_rule({determine_engine_state, [{'working-state', engine, '__IGNORE_UNDERSCORE__'},
{repair, '__IGNORE_UNDERSCORE__'}]}).
%% ...
determine_engine_state(Engine, {start, _})
when not {rule, [{'working-state', engine, _}, {repair, _}]} ->
```

I was just thinking, and basing on my experience writing Exportie (https://github.com/spawngrid/exportie) I am pretty sure we can pack this above example to:

```erlang
determine_engine_state(Engine,{start,_},not([{'working-state', engine, _}, {repair, _}]) ->
...
```

If you agree with this proposal I will write this and send a pull request. Please let me know.