Define Type: cast

Alters the data-type of the previous function without altering its output

Description

cast alters the data-type annotation for a pipe.

The contents of the pipeline are preserved, only the reported data-type is changed.

Additionally cast can be used to define the output type of a function.

Usage

Changing type annotation for a pipe

<stdin> -> cast data-type -> <stdout>

<stdin> :data-type: command

Defining the output type of a function

cast data-type

Examples

As a command

» out {"Array":[1,2,3],"Map":{"String": "Foobar","Number":123.456}} \
  -> cast json
{"Array":[1,2,3],"Map":{"String": "Foobar","Number":123.456}}

As a token

» out {"Array":[1,2,3],"Map":{"String": "Foobar","Number":123.456}} \
  -> :json: cat
{"Array":[1,2,3],"Map":{"String": "Foobar","Number":123.456}}

Defining data-type

» function example {
    cast json
    out '{"foo": "bar"}'
}

» example -> debug -> [[ /Data-Type/Murex ]]
json

Please note you’d normally use the Object Builder to create JSON objects.

Detail

If you want to reformat the stdin into the new data type then use format instead.

See Also


This document was generated from builtins/core/typemgmt/types_doc.yaml.

This site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.

Last built on Sat Aug 23 22:28:13 UTC 2025 against commit ad23f13ad23f131bfecd82ea8a12d9b3e92aab5d8398ae9.

Current version is 7.0.2129 (website) which has been verified against tests cases.