Mercurial > hg > ishara
changeset 28:673b8e45d05a
Tidied up indentation.
author | samer |
---|---|
date | Sat, 19 Jan 2013 14:40:54 +0000 |
parents | 5de03f77dae1 |
children | 61921dceded1 |
files | README.txt |
diffstat | 1 files changed, 20 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/README.txt Sat Jan 19 14:22:09 2013 +0000 +++ b/README.txt Sat Jan 19 14:40:54 2013 +0000 @@ -58,13 +58,13 @@ real - double or single precision floating point value complex - double or single precision complex floating point value nonneg - real number >=0 - int - integer - natural - integers starting at 0 or 1 - bool - true or false (Matlab allows 0 or 1) - string - Matlab string (array of characters) - A..B - Integers between A and B inclusive - A--B - Real numbers between A and B inclusive - [A] - Integers between 1 and A inclusive + int - integer + natural - integers starting at 0 or 1 + bool - true or false (Matlab allows 0 or 1) + string - Matlab string (array of characters) + A..B - Integers between A and B inclusive + A--B - Real numbers between A and B inclusive + [A] - Integers between 1 and A inclusive [A,B,..] - Comma separated list of integers in 1..A, 1..B etc (used for array domains) A|B - Non-discrimitated union, value of type A or B (not recommended to use if possible) {A,B,C} - Value from the enumerated set, eg {0,1,2} is equivalent to 0..2 (also deprecated) @@ -85,8 +85,9 @@ Cells and tuples cells(A) - arbitrary length row array of cells (list) of type A, equivalent to {[1,N]->A} - cell {A1,..,AN} - 1xN cell array with exactly the give types, ie, a tuple + cell {A1,..,AN} - 1xN cell array with exactly the give types, ie, a tuple pair(A,B) - equivalent to cell {A,B}. + box(A) - equivalent to cell {A}. Structures @@ -96,9 +97,9 @@ Options Options are an indefinite length list of trailing arguments specifying name-value pairs, - used to pass values of optional named arguments. Functions are expected to use default - values for named arguments not specified. Structures can be used to pass several names-value - pairs at once. + used to pass values of optional named arguments. Functions are expected to use default + values for named arguments not specified. Structures can be used to pass several names-value + pairs at once. options { <option_list> } - Abitrary length list of arguments specifying optional values <option_list> ::= <option_spec> [ ; <option_list> ] @@ -107,10 +108,10 @@ Dependent types Dependent types are use for functions where the type some argument or return depends on - the *value* of one of the arguments. These are most useful when the size of a returned array - depends on the value of a numerical input. Specifying these types requires some way to bind the - value of an argument to a variable in the type specification, for which purpose a single colon ':' - is used. We revise the type specification definition as follows: + the *value* of one of the arguments. These are most useful when the size of a returned array + depends on the value of a numerical input. Specifying these types requires some way to bind the + value of an argument to a variable in the type specification, for which purpose a single colon ':' + is used. We revise the type specification definition as follows: <type_spec> ::= [<variable> :] <type> [~'<description'] @@ -119,7 +120,7 @@ eye :: N:natural -> [[N,N]]. Which means that the first argument is a natural number with value N, the return value is - a square N-by-N array or real numbers. + a square N-by-N array or real numbers. Variable length argument and return lists @@ -146,9 +147,9 @@ cell A == cell {A{:}} == cell {real, natural} == pair(real,natural) If a variable such as A is used in a type specification, and we wish to emphasise - the fact that A denotes a cell array or list of N types, then we can write A@typelist(N). - This is a bit clunky and is a hangover from a previous method of specifying argument - lists - perhaps it shoud be A@X, where X is any type of types (ie a *kind*), eg + the fact that A denotes a cell array or list of N types, then we can write A@typelist(N). + This is a bit clunky and is a hangover from a previous method of specifying argument + lists - perhaps it shoud be A@X, where X is any type of types (ie a *kind*), eg cells(type) - arbirary list of types {[N]->type} - list of N types