Skip to content

[NOTES] Red System v2 Wish List

Semseddin Moldibi edited this page Sep 12, 2018 · 1 revision

This page lists all the wishes various people have expressed for Red/System v2 (which will be rewritten in Red). There are three sections; Included, Requested, Rejected. The reviewing and selection process has not been done yet.


These features will be incorporated into Red/System V2.


These features have been requested for inclusion in Red/System V2.

  1. 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] (

  2. The = and == operators should be used for almost-equal and strict-equal for float values.

  3. stack-local struct values. See [issue #115] (

  4. Allow type casting chaining. See [issue #132] ( and [issue #142] (

  5. Add a break keyword for early escaping from loops. See [issue #166] (

  6. Pointer to enum type name. See [issue #297] (

  7. Allow byte! as index. See [issue #318] (

  8. Replace #define pre-processor construct. The options are explained in Pre-processor #define replacement.

  9. Allow empty struct! definitions. See [issue #194] (

  10. Reverse the evaluation of function arguments. See [issue #213] (

  11. Rename #enum to enumerate. See [issue #242] (

  12. Allow function pointers to be passed as arguments. See [issue #259] (

  13. Change 1-based indexing to 0-based. See [issue #264] (

  14. Add casting from function![...] to logic!. See [issue #301] (

  15. Extend DocStrings to Alias Struct! & #define. See [issue #329] (

  16. Change index variable to get-word. See [issue #341] (

  17. Introduce BREAK and CONTINUE keywords. See [issue #349] (

  18. Introduce GOTO keyword. See [issue #350] (

  19. Be able to get the address of a struct pointer, &aStructPointer.See [issue #351] (

  20. Introduce a union type (a struct whose members share the same memory space). See [issue #352] (

  21. EITHER expression allowed as an argument to a typed function call. See [issue #192] (

  22. Add .rsrc entry in the data directory of the PE emitter. See [issue #471] (

  23. Add 'FUNCTION definition in addition to 'FUNC. [Details] ('FUNCTION-definition-in-addition-to-'FUNC).

  24. Extend type declarations to include initial value. [Details] (

  25. Provide a simple way to initialise repeating characters in c-string! values. [Details] (

  26. Add array capabilities. See [ideal array capabilities] (

  27. Formalise the support of local functions. See [local functions] (

  28. Allow constants to be defined within a namespace. [Details] ( constants).

  29. Expose all standard numeric types. [Details] (

  30. Allow function specs as an argument in function pointer specs. See [issue #259] (

  31. Optimise 'DOES. [Details] ('DOES).

  32. Provide compile time option to re-define previously defined functions, etc for testing. [Details] ( Time Option to Re-define Functions).

  33. Allow aliases of simple types (integer!, byte!, etc.) to give finer control over type checking to the programmer. [Details] ( of Simple Types).

  34. Provide a type? function to allow type checking of struct!s and alias!s passed to typed functions. [Details] (

  35. Add a symbol! type. [Details] (!).

  36. Allow function overloading. [Details] (

  37. Additional struct! features. [Details] (!-features).

  38. Implement get-word for logic! values. [Details] (!-Get-Word). See [issue #534] (

  39. Add binding to external variables. It would be nice to check C variables such as errno.

  40. Function returns struct! by value (found in some C bindings). [Details] (!-By-Value).


These features will not be incorporated into Red/System V2.

Clone this wiki locally
You can’t perform that action at this time.