|
From: <an...@ki...> - 2010-07-04 11:02:41
|
The last definition you wrote is the one that gets run when you invoke the word. So for :- >> words > navigate distance position sinus sinus speed height sinus .... ........................................................* Assuming left hand side is the start or oldest end of the wordlist and right is the end or newest end of the wordlist. The asterisk is marking the one that would be used. The others are waste. For the purposes of Space Technology this is actually a good feature. Imagine that a stray bit of cosmic radiation zaps through your controllers memory and screws up the last sinus word in the list. You dont want to try and recovery all the memory that the defintion occupied becasue there is no way for you to tell which bit has been zapped. You just define sinus again. the new definition coming closer to the end of the list is used in preference to the screwed one and your satellite is returned to full service. If you were developing code in situ as a development thing you would marker before you started. Develop and when happy invoke the marker and reload just the good code bits. Eliminating all the trial and error along the way. FORTH has apparently been used in several space programs because of these types of features. ie your mission is remotely repairable and therefore less likely to fail. Hope this helps. Cheers Andy Kirby On 04/07/10 11:46, pito wrote: > Andy, after I rised the Q I did it directly with my dev system. Frankly > the way how it works is changing my understanding for "interactivity". > Basically you cannot delete wrong words so the space occupied will grow. > Imagine my apollo picosatellite flying in the space and I am tweaking > the sw in its guidance computer. So I have to have at least a chance > activate/deactivate specific words. As I've seen the forth manual the > last definition of a word is valid. So you may have many words with > same name, however the last one will be used (am I right?) for "following" > usage. Imagine wordlist: >> words > navigate distance position sinus sinus speed height sinus .... > > The Q: which sinus word will be used in speed and height calculations? > > Sorry for this elementar Q, however I think one has to understand the > concepts... > Pito > > > ----- PŮVODNÍ ZPRÁVA ----- > Od: an...@ki... > Komu: amf...@li... > Předmět: Re: [Amforth-devel] Starting with amforth v4 > Datum: 4.7.2010 - 12:02:46 > >> Interesting question. >> >> I am afraid my understanding is that when you marker >> you delete >> everything back to the marker. Other markers as well. >> >> Managing linked lists etc on microcontrolers with limited >> space can be >> problematic. You dont have the memory to reorganize >> the memory space to >> free up bits of space in the middle of lumps of good >> code. Who is to say >> that the next bit of code would fit that space ??? >> >> The technique then is to purge from the end of the >> list wherever that >> may be back to the marker. >> >> So for >> >>> bla bla -foo3 hello hello -foo2 happy happy -foo1 >>> >> doing -foo2 would give you..... >> >>> bla bla -foo3 hello hello >> >> Doing -foo1 would be pointless. >> >> Doing -foo3 would give........ >> >>> bla bla >> >> Happy to be told I have got the wrong end of the stick >> though. >> >> Cheers >> >> Andy Kirby >> >> >> >> On 03/07/10 19:53, pito wrote: >>> Matthias, >>> I see the marker usage with sieve example. If you >>> mark the set of words >>>> with -foo2 where is the end of the marked area (as >>> you may have X words >>>> defined)? Is that the next new marker position? It >>> means (wordlist): >>>> >>> bla bla -foo3 hello hello -foo2 happy happy -foo1 >>>> <-----------> <---------------> <---------------> >>> the area of marker >>>> >>> -foo2 >>> >>> bla bla -foo3 happy happy -foo1 >>> <-----------> <---------------> >>> >>> or >>> >>> bla bla -foo3 ...................happy happy -foo1 >>> ?? >>>> <-----------> <---------------> >>>> >>> My understanding is it works like a "file system" >>> so a deleted -foo will >>>> create a free space for new words - am I right? >>> As I uploaded lot of stuff for my naive experiments >>> and the word list >>>> is now very long so the way how the list is maintained >>> seems to be a >>>> challenge.. >>> Pito >>> >>> ----- PŮVODNÍ ZPRÁVA ----- >>> Od: "Matthias Trute" <mt...@we...> >>> Komu: "Everything around amforth" <amf...@li...> >>>>>> Předmět: Re: [Amforth-devel] Starting with amforth >>> v4 >>>> Datum: 3.7.2010 - 13:55:30 >>> >>>> Hi Pito, >>>> >>>>> My previous Q to the interactivity - so my understanding >>>>>>>> is you may delete >>>>>> words from flash w/o burning new image. >>>> >>>> Just do a >>>> >>>> marker -foo >>>> : bar ; >>>> : baz bar ; >>>> ... use bar and baz and... >>>> >>>> now get rid of bar >>>> >>>> -foo >>>> >>>> and both bar/baz and -foo are gone. The only real >>>> difference >>>>>> from a >>>> users point of view is some planning with the -foo >>>>>> thing. Most of my >>>> source files define such markes... >>>> >>>>> However let us mind the atmel >>>>> flash and eeprom endurance.. >>>> >>>> I still use the very first atmegas for developing, >>>>>> they have seen >>>> versions pre-0.1 and still work. And replacing a >>>> DIP >>>>>> package is >>>> easy... >>>> >>>> Matthias >>> >>> >>> >>> ------------------------------------------------------------------------------ >>>>>> This SF.net email is sponsored by Sprint >>> What will you do first with EVO, the first 4G phone? >>>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>>> _______________________________________________ >>> Amforth-devel mailing list >>> Amf...@li... >>> https://lists.sourceforge.net/lists/listinfo/amforth-devel >>>> >> >> ------------------------------------------------------------------------------ >>> This SF.net email is sponsored by Sprint >> What will you do first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> Amforth-devel mailing list >> Amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amforth-devel > > > |