- DocumentID: mtac
  Title: >+
    `mtac`
  CategoryID: commands
  Summary: >-
    Reverse the order of an array
  Description: |-
    `mtac` takes input from STDIN and reverses the order of it.

    It's name is derived from a program called `tac` - a tool that functions
    like `cat` but returns the contents in the reverse order. The difference
    with the `mtac` builtin is that it is data-type aware. So it doesn't just
    function as a replacement for `tac` but it also works on JSON arrays,
    s-expressions, and any other data-type supporting arrays compiled into
    Murex. 
  Usage: |-
    ```
    <stdin> -> mtac -> <stdout>
    ```
  Examples: |-
    ```
    » ja: [Monday..Friday] -> mtac
    [
        "Friday",
        "Thursday",
        "Wednesday",
        "Tuesday",
        "Monday"
    ]

    # Normal output (without mtac)
    » ja: [Monday..Friday]
    [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
    ]
    ```
  Flags:
  Detail: |-
    Please bare in mind that while Murex is optimised with concurrency and
    streaming in mind, it's impossible to reverse an incomplete array. Thus all
    all of STDIN must have been read and that file closed before `mtac` can
    output.

    In practical terms you shouldn't notice any difference except for when
    STDIN is a long running process or non-standard stream (eg network pipe).
  Synonyms:
  - mtac
  - list.reverse
  Related:
  - a
  - ja
  - ta
  - count
  - 2darray
  - append
  - prepend
  - suffix
  - prefix
  - jsplit
  - msort
  - pretty
  - map
