> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ss14.art/llms.txt
> Use this file to discover all available pages before exploring further.

# General

## Sources

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>iota</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `T -> IEnumerable<T> where T: INumber<T>`
  </div>
</div>

Returns <code>1..N</code>

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>to \<dest></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `T -> IEnumerable<T> where T: INumber<T>`
  </div>
</div>

Returns <code>N..M</code>

## Filters

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>where \<block (T -> bool)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Filters the input by the provided code block.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>unique</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Filters the input by uniqueness, eliminating duplicate values.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>take \<amount></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Removes N values from the input, discarding the rest.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>select \<quantity></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Removes a quantity (amount or percentage) of values from the input randomly, discarding the rest.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>sort</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Sorts the input from least to greatest.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>sortby \<block (T -> TOrd)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Sorts the input from least to greatest using the given ordering value.

```
    entities sortby { allcomps count }
```

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>sortmapby \<block (T -> TOrd)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Sorts the input from least to greatest using the given ordering value, returning the ordering values.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>sortdown</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Sorts the input from greatest to least.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>sortdownby \<block (T -> TOrd)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Sorts the input from greatest to least using the given ordering value.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>sortmapdownby \<block (T -> TOrd)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Sorts the input from greatest to least using the given ordering value, returning the ordering values.

## Transforms

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>isempty</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> bool`
  </div>
</div>

Returns true if the input is empty, otherwise false.
This command can be inverted with `not`.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>isnull</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `object? -> bool`
  </div>
</div>

Returns true if the input is null, otherwise false.
This command can be inverted with `not`.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>count</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> int`
  </div>
</div>

Counts the number of values in the input.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>iterate \<block (T -> T)> \<times></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IEnumerable<T>`
  </div>
</div>

Repeats the given code block N times over it's own output, effectively `f(f(...N f(x)))`

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>first</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> T`
  </div>
</div>

Returns the first value in the input, or errors if there isn't one.

## Mutators

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>rep \<amount></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `T -> IEnumerable<T>`
  </div>
</div>

Repeats the input value N times.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>bin</h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<T> -> IDictionary<T, int>`
  </div>
</div>

Counts the number of times each unique instance of T occurs in the input, returning a dictionary of unique instance : count.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>map \<block (TIn -> TOut)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<TIn> -> IEnumerable<TOut>`
  </div>
</div>

Applies the given code block to each element of the input.

<div style={{display: "flex", justifyContent: "space-between", alignItems: "center"}}>
  <div>
    <h3>reduce \<block (T -> T)></h3>
  </div>

  <div style={{textAlign: "right"}}>
    `IEnumerable<TIn> -> T`
  </div>
</div>

Reduces the input, effectively `f(x1, f(x2, ...f(xn-1, xn)))`
