Red System v2 Wish List - qtxie/red GitHub Wiki
This page lists all the features we would like to add to Red/System v2, which will be rewritten in Red. There are three sections; Included, Requested, Rejected.
Included
These features will be incorporated into Red/System V2.
Requested
These features have been requested for inclusion in Red/System V2.
-
Add support for string comparison to
=
operator.=
would be a case-insensitive comparison, while==
could be used for a case-sensitive one. See [issue #8] (https://github.com/dockimbel/Red/issues/8). -
The
=
and==
operators should be used for almost-equal and strict-equal for float values. -
stack-local struct values. See [issue #115] (https://github.com/dockimbel/Red/issues/115).
-
Allow type casting chaining. See [issue #132] (https://github.com/dockimbel/Red/issues/132) and [issue #142] (https://github.com/dockimbel/Red/issues/142).
-
Add a
break
keyword for early escaping from loops. See [issue #166] (https://github.com/dockimbel/Red/issues/166). -
Pointer to enum type name. See [issue #297] (https://github.com/dockimbel/Red/issues/297).
-
Allow byte! as index. See [issue #318] (https://github.com/dockimbel/Red/issues/318).
-
Replace #define pre-processor construct. The options are explained in Pre-processor #define replacement.
-
Allow empty struct! definitions. See [issue #194] (https://github.com/dockimbel/Red/issues/194).
-
Reverse the evaluation of function arguments. See [issue #213] (https://github.com/dockimbel/Red/issues/213).
-
Rename #enum to enumerate. See [issue #242] (https://github.com/dockimbel/Red/issues/242).
-
Allow function pointers to be passed as arguments. See [issue #259] (https://github.com/dockimbel/Red/issues/259).
-
Change 1-based indexing to 0-based. See [issue #264] (https://github.com/dockimbel/Red/issues/264).
-
Add casting from function![...] to logic!. See [issue #301] (https://github.com/dockimbel/Red/issues/301).
-
Extend DocStrings to Alias Struct! & #define. See [issue #329] (https://github.com/dockimbel/Red/issues/329).
-
Change index variable to get-word. See [issue #341] (https://github.com/dockimbel/Red/issues/341).
-
Introduce BREAK and CONTINUE keywords. See [issue #349] (https://github.com/dockimbel/Red/issues/349).
-
Introduce GOTO keyword. See [issue #350] (https://github.com/dockimbel/Red/issues/350).
-
Be able to get the address of a struct pointer, &aStructPointer.See [issue #351] (https://github.com/dockimbel/Red/issues/351).
-
Introduce a union type (a struct whose members share the same memory space). See [issue #352] (https://github.com/dockimbel/Red/issues/352).
-
EITHER expression allowed as an argument to a typed function call. See [issue #192] (https://github.com/dockimbel/Red/issues/192).
-
Add .rsrc entry in the data directory of the PE emitter. See [issue #471] (https://github.com/dockimbel/Red/issues/471).
-
Add 'FUNCTION definition in addition to 'FUNC. [Details] (https://github.com/dockimbel/Red/wiki/Add-'FUNCTION-definition-in-addition-to-'FUNC).
-
Extend type declarations to include initial value. [Details] (https://github.com/dockimbel/Red/wiki/Extend-type-declarations-to-include-initial-value).
-
Provide a simple way to initialise repeating characters in c-string! values. [Details] (https://github.com/dockimbel/Red/wiki/Provide-a-simple-way-to-initialise-repeating-characters-in-strings).
-
Add array capabilities. See [ideal array capabilities] (https://github.com/dockimbel/Red/wiki/Proposition-for-ideal-array-capabilities).
-
Formalise the support of local functions. See [local functions] (https://github.com/dockimbel/Red/wiki/Local-functions).
-
Allow constants to be defined within a namespace. [Details] (https://github.com/dockimbel/Red/wiki/Namespace constants).
-
Expose all standard numeric types. [Details] (https://github.com/dockimbel/Red/wiki/Expose-all-standard-numeric-types).
-
Allow function specs as an argument in function pointer specs. See [issue #259] (https://github.com/dockimbel/Red/issues/259).
-
Optimise 'DOES. [Details] (https://github.com/dockimbel/Red/wiki/Optimised-'DOES).
-
Provide compile time option to re-define previously defined functions, etc for testing. [Details] (https://github.com/dockimbel/Red/wiki/Compile Time Option to Re-define Functions).
-
Allow aliases of simple types (integer!, byte!, etc.) to give finer control over type checking to the programmer. [Details] (https://github.com/dockimbel/Red/wiki/Aliases of Simple Types).
-
Provide a type? function to allow type checking of struct!s and alias!s passed to typed functions. [Details] (https://github.com/dockimbel/Red/wiki/Type?).
-
Add a symbol! type. [Details] (https://github.com/dockimbel/Red/wiki/symbol!).
-
Allow function overloading. [Details] (https://github.com/dockimbel/Red/wiki/Function Overlaoding).
-
Additional struct! features. [Details] (https://github.com/dockimbel/Red/wiki/Additional-struct!-features)
Rejected
These features will not be incorporated into Red/System V2.