github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/types/README.md (about) 1 # Data-Type Reference 2 3 This section is a glossary of data-types which Murex is natively aware. 4 5 Most of the time you will not need to worry about typing in Murex as the 6 shell is designed around productivity as opposed to strictness despite 7 generally following a strictly typed design. 8 9 Read the [Language Tour](/docs/tour.md) for more detail on this topic. 10 11 ## Definitions 12 13 For clarity, it is worth explaining a couple of terms: 14 15 1. "Data-types" in Murex are a description of the format of data. This 16 means that while any stdio stream in UNIX will by "bytes", Murex might 17 label that data as being a JSON string or CSV file (for example) which 18 means any builtins that parse that stdio stream, for example to return 19 the first 8 items, would need to parse those types differently. Thus a 20 "data-type" in Murex is actually more than just a description of a data 21 structure; it is a series of APIs to marshall and unmarshall data from 22 complex file formats. This enables you to use the same command line tools 23 to query any type of output. 24 25 2. "Primitive" data-types refer to types that are the required by Murex 26 to function. These will be `int`, `float` / `number`, `bool`, `string`, 27 `generic`, and `null`. 28 29 ## Feature Sets 30 31 Since not all data formats are equal (for example the TOML file format 32 doesn't support naked arrays where as JSON does), you may find some 33 features missing in some data-types which are present in others. If in 34 doubt then refer to the manual here or check the API manual for more 35 details about specific hooks. 36 37 ## Pages 38 39 * [`*` (generic)](../types/generic.md): 40 generic (primitive) 41 * [`bool`](../types/bool.md): 42 Boolean (primitive) 43 * [`commonlog`](../types/commonlog.md): 44 Apache httpd "common" log format 45 * [`csv`](../types/csv.md): 46 CSV files (and other character delimited tables) 47 * [`float` (floating point number)](../types/float.md): 48 Floating point number (primitive) 49 * [`hcl`](../types/hcl.md): 50 HashiCorp Configuration Language (HCL) 51 * [`int`](../types/int.md): 52 Whole number (primitive) 53 * [`json`](../types/json.md): 54 JavaScript Object Notation (JSON) 55 * [`jsonc`](../types/jsonc.md): 56 Concatenated JSON 57 * [`jsonl`](../types/jsonl.md): 58 JSON Lines 59 * [`num` (number)](../types/num.md): 60 Floating point number (primitive) 61 * [`path`](../types/path.md): 62 Structured object for working with file and directory paths 63 * [`paths`](../types/paths.md): 64 Structured array for working with `$PATH` style data 65 * [`str` (string)](../types/str.md): 66 string (primitive) 67 * [`toml`](../types/toml.md): 68 Tom's Obvious, Minimal Language (TOML) 69 * [`yaml`](../types/yaml.md): 70 YAML Ain't Markup Language (YAML) 71 * [mxjson](../types/mxjson.md): 72 Murex-flavoured JSON (deprecated)