November 11, 2017 --------------------------------------------------------------- Forth suffers from a lack of approachability. When someone new to the language sits down to start learning, it's often a difficult, confusing process. Consider Gforth. On startup I see: Gforth 0.7.2, Copyright (C) 1995-2008 Free Software Foundation, Inc. Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' Type `bye' to exit So on start, all it does is tell you to type `bye` to exit or `license` to see the warranty discalimer. I had one of my sons sit down and try to figure out how to do anything. He tried: help Which yielded this unhelpful text: :3: Undefined word >>>help<<< Backtrace: $7F19AEAEEA68 throw $7F19AEB04CE0 no.extensions $7F19AEAEED28 interpreter-notfound1 I mentioned that `words` would provide a list of functions, so he tried that. I won't insert the 18 screenfuls of text that were generated. By this point he was already losing interest. Contrast this with Python: Python 3.6.2 (default, Oct 3 2017, 01:19:10) [GCC 4.2.1 Compatible FreeBSD Clang 3.8.0 (tags/RELEASE_380/final 262564)] on freebsd11 Type "help", "copyright", "credits" or "license" for more information. Typing `help` yields: Type help() for interactive help, or help(object) for help about object. And then `help()` gets into something more useful: Welcome to Python 3.6's help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/3.6/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam". Forth is no longer unique in offering an interactive environment. And the interfaces are stuck in the past. I'm working to change this for my dialect. RETRO on iOS is the best case at the moment. It has a dual pane editor, with a simple menu at the bottom. And easily discoverable documentation and examples. But it's not perfect. And so I must continue to look forward, and build tools that make it easier to learn and use. This week I implemented most of a new glossary tool. This is in the RETRO repository, and the data set (words, comments, and examples) will be included in future RETRO releases. On iOS the data will be searchable via the interface. And on FreeBSD/Linux/ macOS a tool exists that makes this data available (and editable) via the command line. I'll go further though. I'll use bits from my Atua severs to expose the data in a browsable form via my server, so it'll be easily accessible via Gopher or HTTP. This is just one small thing though. I'll keep looking for more ways to make my Forth more accessible to new users. ---------------------------------------------------------------