# `Feel.Builtin.Boolean`
[🔗](https://github.com/FeeJai/BDM/blob/feel-v0.1.0/apps/feel/lib/feel/builtin/boolean.ex#L1)

The boolean function of FEEL (DMN 1.6, section 10.3.4.2, Table 74).

There is one: `not`. It is the negation of `Feel.Runtime.Logic` (Table 51), which is also what a
`not(...)` among unary tests is, so there is one rule: `not(true)` is `false`, `not(false)` is `true`,
`not(null)` is `null` and no mistake, and `not` of anything else is `null` with a type mismatch (the
TCK, 0066: `not(0)`, `not("true")`). `not` is an ordinary word, not a keyword (D-13), so `not(x)` is a
function call.

## What is written (D-79)

| Call | Result |
| ---- | ------ |
| `not(negand)` | the negation of a boolean |

# `functions`

```elixir
@spec functions() :: [Feel.Builtin.Function.t()]
```

The functions of this module that are written, as `Feel.Builtin.Function`s.

# `names`

```elixir
@spec names() :: [Feel.Name.t()]
```

Returns the canonical names of the functions of this module, sorted.

    iex> Feel.Builtin.Boolean.names()
    ["not"]

---

*Consult [api-reference.md](api-reference.md) for complete listing*
