Author Topic: Axe Tokens (Read Post Before Voting)  (Read 32694 times)

0 Members and 1 Guest are viewing this topic.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Axe Tokens (Read Post Before Voting)
« on: June 17, 2010, 03:23:10 am »
It is very important you read all of this before you vote.  This is a crucial part to the future of Axe Parser.

The original concept behind going through the trouble of renaming some of the Tokens is that I am very quickly running out of intuitive TI-BASIC tokens to use for more complicated Axe Commands.  I've often resorted to using the r or sometimes even the double rr but that's not going to cut it soon.  In this last version, I was all out of sprite tokens, so I used what was left in the drawing menu: Tangent().  The name has no meaning to the intended function and may force one to read the documentation before figuring out what it might be used for.

This is okay though.  I realize that a lot of TI-BASIC programmers are used to their tokens and they know where they are on all the menus lightning fast.  If you hear the word "Str1" you might immediately think "[VARS][7][1]" as I usually do.  But if you hear "Bitmap()" you have no idea where it might be.  The catalog isn't in alphabetical order either so that doesn't help much (maybe I can change that with hooks in the future but I'm unsure).  So there is a concern that you have to learn new shortcuts.

There are many many new commands still to come.  For my example, I will mention the commands for reading from archive.  There would need to be an openfile and a readbyte command.  It is entirely possible that I just use maybe log() to open the files and prod() to read a byte, there is no problem with that.  But I imagine the code is much more readable with Open() and ReadByte() for instance.  This is not an isolated case, there are more than 20 other commands I can think of that don't have any meaningful tokens.

One other advantage of renaming some tokens is that often in BASIC, commands such as int() have totally different uses in Axe.   This can ease any potential misuse since the new names imply that the interpretation of the commands have changed.  While tokens that have the same name will be interpreted as working the same way in both Axe and BASIC.

So, if I start using the new token names, then that raises the new issue of documentation.  Sure, it may be possible to document both in the commands list, and maybe even the user's guide, but not having a single standard can get very confusing when reading other people's source code, writing your own tutorials or routines, and even regular conversations like asking for help and fixing code.

I could still offer the option of using the old tokens but just have them minimally documented (like a simple table that tells you the equivalences between tokens).  That way, it encourages the new standard among the forums and when documenting the code.

If I have the tokens be completely "Mandatory" then I can hook the program editor so that the tokens are automatically enabled when editing Axe programs and then automatically disabled when you quit to the home screen or edit a regular TI-BASIC program.  There could be an option to toggle this behavior in the parser even if the old names names are documented or undocumented.

The last thing I'm going to throw out there: These are only name changes.  The actual position in the menus for each token does not change and all past and future source code is totally compatible since the tokes themselves are still the same, only the physical letters displayed on the calculator are affected.

Please ask more questions if you want clarification on something or want to bring up another point.  You can change your vote at any time.
« Last Edit: June 22, 2010, 08:28:56 pm by ztrumpet »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Tokens (Read Post Before Voting)
« Reply #1 on: June 17, 2010, 03:35:21 am »
Is option number two, "Even though I like the new tokes names, I think you should still be able to switch to the old ones even if they're not documented," suggesting the idea of keeping it kind of how it is where you can toggle them on and off?
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Tokens (Read Post Before Voting)
« Reply #2 on: June 17, 2010, 03:38:33 am »
Yes, except the commands list and stuff would be all the new token names and there might just be one additional chart for conversions.  But all other example code and documentation would be with the new tokens.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Tokens (Read Post Before Voting)
« Reply #3 on: June 17, 2010, 03:44:06 am »
Then is option three saying the same thing just that you'll take the time to convert the documentation too?
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Tokens (Read Post Before Voting)
« Reply #4 on: June 17, 2010, 03:50:45 am »
As best as I can yes.  Its going to be confusing to write documentation through if I have to make extra columns or I would just have to clarify which token naming set the doc is using.  The thing to keep in mind with this option though is that many people are going to be using either the new names or the old ones so as long as you're okay with knowing that you may receive the help in either of the 2 spellings and know how to convert them.

Source code written with one token spelling set is obviously readable with the other don't forget so that part makes no difference.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Ikkerens

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 378
  • Rating: +28/-9
  • JavaScript Magician
    • View Profile
    • Walotech
Re: Axe Tokens (Read Post Before Voting)
« Reply #5 on: June 17, 2010, 03:53:20 am »
Might be an idea, but make Alpha+Vars a menu instead of a trigger?

You know, like Omnicalc. If you press prgm twice you get a special omnicalc menu with all their tokens.
Maybe you should make such a menu under Alpha+Vars, would defenitely increase the ease on finding those tokens :)

Splut for Android [----------]
Paused/halted indefinitely, might be abandoned, our graphic designer quit and the rest of us simply doesn't have the time to work on it...

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Tokens (Read Post Before Voting)
« Reply #6 on: June 17, 2010, 04:02:44 am »
As best as I can yes.  Its going to be confusing to write documentation through if I have to make extra columns or I would just have to clarify which token naming set the doc is using.  The thing to keep in mind with this option though is that many people are going to be using either the new names or the old ones so as long as you're okay with knowing that you may receive the help in either of the 2 spellings and know how to convert them.

Source code written with one token spelling set is obviously readable with the other don't forget so that part makes no difference.

Ah ok. Well before making an offer that I am thinking I need to get something straight. All the new tokens are doing is just changing the name of the previous token, correct? Like if you write something in Axe the "old" way and then toggle the new tokens on the program will act and work exactly the same but the source just displays the new tokens.

Might be an idea, but make Alpha+Vars a menu instead of a trigger?

You know, like Omnicalc. If you press prgm twice you get a special omnicalc menu with all their tokens.
Maybe you should make such a menu under Alpha+Vars, would defenitely increase the ease on finding those tokens :)

Actually I think that [ALPHA][VARS] should remain the trigger but, like you said, pressing [PRGM] twice (while triggered) will bring up a catalog for the new tokens (instead of reordering the previous one to be alphabetical).
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Tokens (Read Post Before Voting)
« Reply #7 on: June 17, 2010, 04:03:50 am »
That's a very good idea, especially for the obscure ones you normally have to look through the catalog for.  But this is a feature that could be implemented regardless of if I decide to keep the new token names or not.  The only difference would be what is displayed on the menu.  Its a possibility I can have the text on the menu be different than the token itself with the new spellings and when you select it it puts the regular BASIC token there.  But that wouldn't help readability of the source which is the main purpose for the proposed name changes.

EDIT: And yes.  This entire thread is about the spelling of the tokens and nothing else.  The physical bytes of the tokens are identical always and always compatible across the board.  How the spelling affects documentation is one of the main concerns.
« Last Edit: June 17, 2010, 04:07:09 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Tokens (Read Post Before Voting)
« Reply #8 on: June 17, 2010, 04:06:16 am »
I personally don't like the idea, because Axe has been using


Otherwise, in worst case scenarios, you could maybe change only, and I really say only tokens that were not used in previous versions of Axe (such as Tangent) and use the exact same starting letter so it's sorted properly in the Catalog (assuming Tangent() is for large sprites, Tallsprite() or TallTile() could maybe do). Conj(), Repeat and the like should remain named as they are, IMHO. Also, think about people who are gonna give help to newbies, they will tell people to use Conj() but newbies will not see Conj() listed in the command list or will need to search more.

I personally would leave things as they were, otherwise. Think also about the users who are used a lot to TI-BASIC tokens and may forget to switch back (altough maybe a check could be done to detect if a PRGM is Axe or BASIC), I wish them good luck debugging their large BASIC game until they find out. Also some people has trouble getting used to new stuff when they were used to something else. (like me)

Had Axe been using such token change since the very beginning, I would have been fine, but now most people got used to the current names.

Leaving things as they were would also prevent potential issues with future TI-OSes and third-party APPS releases for short periods of time before Axe is updated.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Tokens (Read Post Before Voting)
« Reply #9 on: June 17, 2010, 04:12:17 am »
I can see your legitimate concerns, but I'm a little confused about that last part:

Quote
Leaving things as they were would also prevent potential issues with future TI-OSes and third-party APPS releases for short periods of time before Axe is updated.

Why would new TI-OSes or apps conflict with displaying a different spelling for the token?  Especially if its only during the program editor session with Axe source?
« Last Edit: June 17, 2010, 04:13:13 am by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Axe Tokens (Read Post Before Voting)
« Reply #10 on: June 17, 2010, 04:19:56 am »
Remember what happened to TI-BASIC games that uses inverted text (white fonts on black background), Omnicalc features, xLIB as a whole and Door CS betas when OS 2.53MP came out. Notice how Ndless only runs on OS 1.1 on the TI-Nspires. Remember how Illusiat 6 will not run correctly on OS 1.15 or later (due to the OS ASCII map having been changed). Sadly, we are dealing with Texas Instruments here. We never know what kind of OS they will throw at us in a year or two. I also remember third-party apps conflicting between each others as well. Example: Français APP with old versions of Omnicalc.

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Tokens (Read Post Before Voting)
« Reply #11 on: June 17, 2010, 04:25:39 am »
That's a very good idea, especially for the obscure ones you normally have to look through the catalog for.  But this is a feature that could be implemented regardless of if I decide to keep the new token names or not.  The only difference would be what is displayed on the menu.  Its a possibility I can have the text on the menu be different than the token itself with the new spellings and when you select it it puts the regular BASIC token there.  But that wouldn't help readability of the source which is the main purpose for the proposed name changes.

EDIT: And yes.  This entire thread is about the spelling of the tokens and nothing else.  The physical bytes of the tokens are identical always and always compatible across the board.  How the spelling affects documentation is one of the main concerns.

Ah ok, well if you implemented that double tap [PRGM] thing you could make it so it just holds all the Axe supported commands in it and while using TI tokens they are just kind of there but when you toggle Axe tokens on they appear in alphabetical order (or if both were alphabetical that would work even better, just not sure how easy that would be or not). I have no idea if this is what you were saying exactly or not. I'm a bit tired :P

Ok, so it is what I thought. If you would like I would be happy to help with documentation stuff. Like, for example, have two versions of the Documentation.pdf. One that is using the TI tokens and the other using the new Axe tokens. I could also help with the editing of the command list so it includes the TI tokens and then in a next column it has the Axe token and then finally the explanation of the use. Speaking for myself I honestly would find that useful since that way you have a nice "conversion table" in the command list, a document file for the people who prefer the TI tokens so they can just keep on keeping track that way, and then for people interested they have the Axe tokens documentation so you can see how it all will flow together and look with the new tokens.

I am hoping at least some of this makes sense due to the fact I am tired, as I stated before :P
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Axe Tokens (Read Post Before Voting)
« Reply #12 on: June 17, 2010, 04:38:22 am »
The actual doc is easy to do.  I can very easily "add another column".  But at the same time, I want to make things as simple as possible.  2 separate pdfs in the same zip file seems like its separating the Axe community in half and also there are probably only 1 or 2 commands in there that need changing at all.  Its not MY documentation that I'm concerned about becasue I have complete control over that.  Its how others will document their code and their tutorials, etc.  Should they really have to make 2 versions to appeal to 2 crowds is the question.

Not all the new tokens I'm keeping by the way.  "Repeat" I realize is best left alone since it functions very similarly to BASIC.  Others like "sign{" would likely be kept.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Magic Banana

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 371
  • Rating: +77/-1
  • It's not an apple, it's a ... magic banana.
    • View Profile
Re: Axe Tokens (Read Post Before Voting)
« Reply #13 on: June 17, 2010, 04:41:59 am »
Well, I like the idea of changing the tokens to make them more readable, especially for the newer Axe programmers. What I don't like is that you can only toggle all of them off or on, and there are some commands (mainly repeat) that I don't like to have changed. The ones that you have changed are nice, but that's just me because I personally haven't gotten into those commands, so when I do it will be easier to understand. I guess what I'm looking for is a choice in the options to choose which commands you want to use the TI token name and which ones you want to use the Axe token name, so we can use whichever ones we feel comfortable with without having to use all the tokens of one or the other.

The idea of having all the special tokens in a special 'double tap' menu sounds pretty cool as well, but PGRM or VARS wouldn't be the best button to use, seeing as Omnicalc uses those already. Maybe sin/cos/tan would be good to use. As for the documentation, it would be really helpful to list which ones you have changed so we know when you mention Bitmap( we will know that it is the same as Tangent( and not a whole new token.

That's my 2 cents.

EDIT: Just read your post and saw that you cover most of what I'm talking about already, but I don't feel like going though and editing it, so meh.  :P
« Last Edit: June 17, 2010, 04:42:23 am by Magic Banana »
I do sprites and stuff, so yeah.

Quote from: yunhua98
i'M NOT SURE WHAT A SWORD SKILL IS BUT HERE'S THE SWORD ANIMATION FROM THE TWO SPRITES ON PG 13

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: Axe Tokens (Read Post Before Voting)
« Reply #14 on: June 17, 2010, 04:47:54 am »
Ah ok, gotcha.

Speaking for myself here, but once the Axe tokens become more widely spread and such I will be taking the time to just go through and change things for both versions so everyone can read it and all. I would say that the TI tokens would be easier in general for documenting though since the Axe tokens are not widely known and such. Plus, once you type something in with the TI tokens then just toggle the Axe tokens on you can then see the new tokens to help understand if you previously didn't (and really vise-versa too but ya).

What would be a really cool little utility for a computer would be so that when you transfer Axe source to the computer you can run it through a program that will display the original program as it is (with TI tokens) and then a little window separator that just simply changes the tokens to the Axe ones. That way it'd be really easy for people to just post both sets of code and such. I have no clue if that makes sense but ya.

@Magic Banana
If [PRGM] or [VARS] didn't work, [STAT] could be used.
« Last Edit: June 17, 2010, 04:50:30 am by meishe91 »
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)