Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
202 stars 31 forks source link

Better help for beginners #826

Closed AleBeda closed 2 years ago

AleBeda commented 2 years ago

Suggestion for enhancement: better help for beginners

Often help messages are not helpful unless you already know the answer and use the help to refresh your memory.

For instance:

      ]ARRAY -?

 ARRAY     User commands that relate to arrays or variables:          
  Compare  Compare two variables/arrays                               
  Edit     Edit an array using the built-in editor ─ equivalent to )ED

]        ⍝ for general user command help                              
]cmd -?  ⍝ for info on the "Cmd" command or group                     

lists the Compare and Edit options but does not explain how to use them. Furthermore, the help text does not explain how ]ARRAY Edit is equivalent to )ED; an example would be helpful.

Please consider offering more detailed help for beginners.

RIDE version

IDE:
  Version: 4.3.3463
  Platform: MacIntel
  Date: 2020-07-07 10:44:21 +0100
  Git commit: 0cd6e9faf39a5d6a5f5caa94d1ff51743d5cdd75
  Preferences:{
    "floating":"1",
    "kbdLocale":"en_US_Mac",
    "wse":"1",
    "dbg":"1",
    "wrap":"1",
    "squiggleTips":"1"
  }

Interpreter:
  Version: 18.0.40684
  Platform: Mac-64
  Edition: Unicode/64
  Date: Jun 19 2021 at 00:08:08
abrudz commented 2 years ago

This isn't a RIDE issue, but an issue with the user command system. Note, however that the help given for the ARRAY group includes the instruction ]cmd -? ⍝ for info on the "Cmd" command or group. Indeed:

      ]array.compare -?
───────────────────────────────────────────────────────────────────────────────

]ARRAY.Compare                                                                 

Compare two variables/arrays                                                   
    ]ARRAY.Compare array1 array2                                               
    ]ARRAY.Compare -?? ⍝ for more information                                  

      ]array.edit -?
───────────────────────────────────────────────────────────────────────────────

]ARRAY.Edit                                                                    

Edit an array using the built-in editor ─ equivalent to )ED                    
    ]Array.Edit <arrayname>                                                    
AleBeda commented 2 years ago

@abrudz I understand, but please consider:

  1. A beginner does not differentiate between RIDE and the user command system. They are both part of the UI, even though implemented in different software modules.
  2. In the ]ARRAY -? entry there is no information about the syntax of sub-commands, such as ]ARRAY.Compare, thus a beginner (like me) would have no idea that more help can be obtained by typing ]ARRAY.Compare -?. In fact, I tried typing ]ARRAY Compare -?, but all I received was an error, without any helpful hints that the subcommand is accessed with a dot (which, incidentally, is not coherent with the general APL syntax of just juxtaposing functions and arguments).

These are just beginners' hurdles, but hurdles nonetheless. If Dyalog APL is to be more accessible, these hurdles should be at least alleviated.

abrudz commented 2 years ago

I totally understand, and we really appreciate your feedback. I only closed this issue because it cannot be tracked here. I've amended the help footer to:

]            ⍝ for general user command help                              
]grp     -?  ⍝ for info on the "GRP" group                     
]grp.cmd -?  ⍝ for info on the "Cmd" command of the "GRP" group                     

Dyalog actually has objects which do use the obj.member syntax.