Post Reply 
newRPL: [UPDATED April 27-2017] Firmware for testing available for download
10-28-2015, 02:01 PM
Post: #103
RE: newRPL: [UPDATED Oct-19-2015] Firmware for testing available for download
(10-28-2015 01:50 PM)Claudio L. Wrote:  
(10-28-2015 12:05 AM)Helix Wrote:  I've made a mistake in my previous post. Here is the corrected suggestion:
' alpha A alpha alpha HIST doesn't work
' alpha-hold+A HIST is equivalent, and doesn't work either.
I happen to use the equivalent sequence with my 50g when the variable A already exists, so I think this possibility is missing in the current version of newRPL.
The same thing applies to EVAL instead of HIST (but probably not very useful with EVAL).

I got it now! I forgot to bind all those keys when in 'A' mode. Easy fix.

(10-28-2015 12:05 AM)Helix Wrote:  I can understand that you find this feature useful, but if the list will remain incomplete and disordered I'm almost sure that I will never use it. In that case, to answer one of your previous questions, help comments for these commands in the status area is certainly not a priority for me. Wink

I see. The list is not incomplete, it contains all commands currently implemented (is complete as far as newRPL development status is). As new commands are added to libraries, they will automatically "pop-up" in the autocomplete feature.

I'll think about it and see if something like that can be implemented efficiently somehow. The only issue is that it needs to allocate memory for potentially hundreds of suggestions to be able to sort them later. Right now it simply gives the current suggestion to one library and asks for the next one, which requires no memory and is quite fast. Obtaining all suggestions on every keystroke means scanning through all commands in all libraries every time, store them somewhere, then sort. This is CPU and memory consuming. To make things worse, the current text in the command line is at the end of TempOb (for easy growth/shrink). Allocating memory means that text would need to be copied again, which compounds on the CPU/memory issue. You'd be possibly triggering GC's in between keystrokes, and that can degrade the user experience with "hiccups" in the text editor.
While it seems a simple feature, internally is quite complex and it would consume resources much better spent elsewhere. But I'll think about it, perhaps I can find a way.

During firmware compile time, is it not possible to generate an alphabetical list of all commands and embed this list statically? Perhaps even generate an offset table for offsets to the first A command, first B command, etc. A hash table may also be useful. This is how the entries tables for Jazz and MASD were created for quick lookup.

So when a user is typing, it should be easy to search for possible matches with the offsets and hash tables. No sorting is needed since the list of command names have already be pre-sorted when compiling the firmware. The only cost here is ROM size.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: newRPL: [UPDATED Oct-19-2015] Firmware for testing available for download - Han - 10-28-2015 02:01 PM



User(s) browsing this thread: 3 Guest(s)