Web Home
Getting Started
Manual
Packages
Quick Reference
Language Reference
Function Reference
I/O Reference

- Language Reference
  - Starting and Quitting Yorick
  - Getting Help
  - Error Recovery
  - Array Data Types
  - Constants
  - Defining Variables
  - Arithmetic and Comparison Operators
  - Logical Operators
  - Creating Arrays
  - Indexing Arrays
  - Array Conformability Rules
  - Calling Functions
  - Defining Functions
  - Variable Scope
  - Returning from Functions
  - Compound Statements
  - Conditional Execution
  - Loops
- Function Reference
- I/O Reference

# Yorick Language Reference

## Array Data Types

The basic data types are:

`char` one 8-bit byte, from 0 to 255
`short` compact integer, at least 2 bytes
`int` logical results- 0 false, 1 true, at least 2 bytes
`long` default integer- at least 4 bytes
`float` at least 5 digits, 10±38
`double` default real- 14 or 15 digits, usually 10±308
`complex` re and im parts are double
`string` 0-terminated text string
`pointer` pointer to an array

A compound data type compound_type can be built from any combination of basic or previously defined data types as follows:

`struct` compound_type `{
` type_name_A memb_name_1 `;
` type_name_B memb_name_2(dimlist) `;
` type_name_C memb_name_3,memb_name_4(dimlist)`;
...
}`

A dimlist is a comma delimited list of dimension lengths, or lists in the format returned by the `dimsof` function, or ranges of the form `min_index:max_index`. (By default, `min_index` is 1.)

For example, the `complex` data type is predefined as: `struct complex { double re, im; }`