Author Topic: Features Wishlist  (Read 616518 times)

0 Members and 3 Guests are viewing this topic.

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Features Wishlist
« Reply #2400 on: June 16, 2011, 07:45:27 pm »
Ok, so just have them as separate statements if possible?  (with the least likely outermost so it runs through less checks)
Coll, I'll just do that ;D

(what I'm working on is adding movable objects to DS and I'm trying to make sure the getKeys and such don't mess with it :P
Vy'o'us pleorsdti thl'e gjaemue

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Features Wishlist
« Reply #2401 on: June 16, 2011, 09:14:43 pm »
Ok, so just have them as separate statements if possible?  (with the least likely outermost so it runs through less checks)
Even if you don't use !, it's still more optimized to do something like
Code: (Axe) [Select]
:If A
:If B
:...
:Code here
:...
:End
:End
instead of
Code: (Axe) [Select]
:If A and B
:...
:Code here
:...
:End




Ashbad

  • Guest
Re: Features Wishlist
« Reply #2402 on: June 16, 2011, 09:19:24 pm »
One thing I would really love is to have some sort of global variable that can be used in an expression to represent the current location the PC is at, so that you could tell exactly where in the program memory you were.  This would mean you could make overlapping functions that HHS inner would do the function, the outer would simply return value of the PC at the beginning of the function.  This would be very, very useful for implementing crude OOP and Proc arrays.

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Features Wishlist
« Reply #2403 on: June 16, 2011, 11:23:59 pm »
Can you add a For() loop that counts down?  (Like a 16 bit djnz)  Maybe For()r ?  That would be very useful.  :)
EDIT: I know there is DS<(), but that is a little bit different.
« Last Edit: June 16, 2011, 11:25:41 pm by ralphdspam »
ld a, 0
ld a, a

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Features Wishlist
« Reply #2404 on: June 18, 2011, 09:16:25 pm »
Can you add a For() loop that counts down?  (Like a 16 bit djnz)  Maybe For()r ?  That would be very useful.  :)
EDIT: I know there is DS<(), but that is a little bit different.
In extension to this, would it be possible to add a command that allows you to do something like For()r except it would check the two arguments, and if the first was larger than the second, it would count down instead of up.

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Features Wishlist
« Reply #2405 on: June 19, 2011, 12:30:19 pm »
Can you add a For() loop that counts down?  (Like a 16 bit djnz)  Maybe For()r ?  That would be very useful.  :)
EDIT: I know there is DS<(), but that is a little bit different.
In extension to this, would it be possible to add a command that allows you to do something like For()r except it would check the two arguments, and if the first was larger than the second, it would count down instead of up.

I'm not sure if I'm right, so please correct me if not:

Isn't that the same thing as For(10,2,-1)? Or this can't be done?

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Features Wishlist
« Reply #2406 on: June 19, 2011, 09:54:10 pm »
Can you add a For() loop that counts down?  (Like a 16 bit djnz)  Maybe For()r ?  That would be very useful.  :)
EDIT: I know there is DS<(), but that is a little bit different.
In extension to this, would it be possible to add a command that allows you to do something like For()r except it would check the two arguments, and if the first was larger than the second, it would count down instead of up.

I'm not sure if I'm right, so please correct me if not:

Isn't that the same thing as For(10,2,-1)? Or this can't be done?
I'm pretty sure that can be done (I know it can in basic, well, assuming you include a variable in there) I was just thinking of having it do it automatically without the negative one.  Like if it was For(A,10,2)r it would count down, but For(A,2,10)r would count up.

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
Re: Features Wishlist
« Reply #2407 on: June 21, 2011, 01:31:07 pm »
I don't know if this has been suggested yet, but can the Axioms get custom token support?
I don't think people (nor I) would enjoy writing down which token corresponds to which command... :P
It should be definable in the compiled file (obviously), and... accessible via a special menu.
(Omnicalc esque, where a button is pressed twice to access the menu OR some other method)

Also, can subroutines get custom token support too? (Basically, preparse the library file, and then make an accessible menu to access the new tokens)

I propose a format like this:
Code: [Select]
.LIBRARY [special identifier to indicate this program is a library]

.Fade.FadeIn may even make a "Axe Class" possible! But don't worry about that for now - this is just for organization.
#Token(Fade.FadeIn)
Lbl FIN
code here...

#Token(Blah)
Lbl BLA
code here...

Is this possible?
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

Ashbad

  • Guest
Re: Features Wishlist
« Reply #2408 on: June 21, 2011, 01:52:38 pm »
Token Support: already rejected
Those For Loops:  Why not just come up with your own Repeat or While loops?

Code: [Select]
Abs([num_of_Loops+1])
While -1 -> [var]
   .Code
   [var]
End

Which is a simple template that can be easily modded to fit your application-specific restraints.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2409 on: June 23, 2011, 08:59:18 pm »
Remove the scope restrictions on commands? I was just working on a pretty beastly optimization using the value returned by Copy() in the middle of a line, but Axe won't let me. :(

Also, do you think the /10 "optimization" should be removed? It results in smaller code, but also much slower code.
« Last Edit: June 23, 2011, 09:08:28 pm by Runer112 »

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: Features Wishlist
« Reply #2410 on: June 23, 2011, 11:57:28 pm »
Remove the scope restrictions on commands? I was just working on a pretty beastly optimization using the value returned by Copy() in the middle of a line, but Axe won't let me. :(

Also, do you think the /10 "optimization" should be removed? It results in smaller code, but also much slower code.

The scope restriction I might remove for that command, the main reason I have it is because I don't want it used inline or else that implies that it has a defined return value (which is what you're trying to do) yet its still possible it could change in the future for a better optimization or something.  I don't think the Copy() command could possibly get more optimized though, but I'd at least have to change the documentation about it to describe the return value and also decapitalize the "C".

For division by 10, I figure that if you're dividing by a constant 10 you're most likely not using the division for speed critical math and are probably doing something with digits, which don't need to be fast generally.  If speed was really critical, you should be using one of the other auto-ops for division or just use /(10) instead of /10.
« Last Edit: June 23, 2011, 11:57:42 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Features Wishlist
« Reply #2411 on: June 24, 2011, 02:13:12 am »
Could BASIC's expr( be hijacked into providing a string->number routine?
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2412 on: June 24, 2011, 02:26:54 am »
Yeah, the copy and fill commands definitely have calculable, consistent return values. And I don't think the routines could possibly be optimized any more, so these values probably won't change. Although if I could have it my way, I would completely remove scope restrictions. I often find myself seeing how my code could be more optimized with insane stuff like inline If statements.

Speaking of which... feature request: inline If statements? :) Many (most?) computer languages have them, so why not bring them to Axe?


Also, I don't think you need to change the capitalization of Copy() or Fill(). Other commands, like GetCalc() for instance, can be used inline but are capitalized. I think routines used solely for their return value should not be capitalized, but other commands should.
« Last Edit: June 24, 2011, 02:48:42 am by Runer112 »

Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: Features Wishlist
« Reply #2413 on: June 24, 2011, 06:42:13 am »
What are inline if statements?
I'm not a nerd but I pretend:

Offline Munchor

  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6199
  • Rating: +295/-121
  • Code Recycler
    • View Profile
Re: Features Wishlist
« Reply #2414 on: June 24, 2011, 07:25:44 am »
What are inline if statements?

I think it's like:

Code: [Select]
EndIf A>4