< 1110849082 0 :paramount!unknown@unknown.invalid QUIT :""Naturally, there are exceptions because otherwise it would be too easy to understand." -- Brian "Beej" Hall" < 1110852076 0 :heatsink!~heatsink@1106-wstoughton.halo.soltec.net JOIN :#esoteric < 1110856138 0 :kipple!unknown@unknown.invalid QUIT : < 1110857438 0 :calamari!~calamari@dialup-4.240.242.207.Dial1.Phoenix1.Level3.net JOIN :#esoteric < 1110857477 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110858843 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hi calamari < 1110858878 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi raven, how's it going? < 1110858910 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :great, got some good updates for ya < 1110858936 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :been having fun learning java ;) < 1110858960 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool.. just got back from shopping a little while ago.. working on goto < 1110859027 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :shall i send you the new code + change log? < 1110859035 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :or integrate it all later < 1110859044 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :later.. in a groove ;) < 1110859061 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :sweet :) < 1110859064 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :a groove is the opposite of a rut, right? < 1110859071 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ya < 1110859075 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yup, programming nirvana < 1110859086 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :strange how this language works. < 1110859176 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :which language? < 1110859184 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :english < 1110859201 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :lol yup < 1110859287 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :calamair: i can't wait to see what you have come up with < 1110859294 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :*calamari < 1110859315 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you'll have to, otherwise you'll be writing very sequential code :) < 1110859333 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hehe :) i'll just have fun at my end then < 1110859398 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ii'm starting to understand how it all works now ;) < 1110859457 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :anyways, back to bed, have to be up soon < 1110859460 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :nite all < 1110859483 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :g'niters. < 1110859927 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yay, goto is working :) now to do if, gosub, and ongoto < 1110861691 0 :Keymaker!~nobody@wire74.adsl.netsonic.fi JOIN :#esoteric < 1110861724 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :calamari: what are you working on..? where is goto working and where do you need to make gosub and ongoto to work? :) < 1110862253 0 :Keymaker!unknown@unknown.invalid QUIT : < 1110862612 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :(Keymaker): BFBASIC < 1110862710 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :(Keymaker): Trying out new label code that isn't limited to 256 labels (unlimited, acutally) < 1110862732 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ongoto is being a problem.. need to think how I can solve it < 1110863130 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hash functions aren't exactly a strong point of bf :) < 1110863216 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :happy pi day, btw, to anyone where it's still March 14th ;) < 1110863231 0 :heatsink!unknown@unknown.invalid QUIT :"Leaving" < 1110871422 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1110873599 0 :clog!unknown@unknown.invalid QUIT :ended < 1110873600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1110873674 0 :arke!unknown@unknown.invalid NICK :EIGHT_EQUALS_D < 1110873769 0 :EIGHT_EQUALS_D!unknown@unknown.invalid NICK :arke < 1110879908 0 :kipple!~Rune@163.80-202-100.nextgentel.com JOIN :#esoteric < 1110890368 0 :cmeme!unknown@unknown.invalid QUIT :"Client terminated by server" < 1110890411 0 :cmeme!~cmeme@216.184.11.2 JOIN :#esoteric < 1110891566 0 :kipple!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1110891694 0 :kipple!~Rune@163.80-202-100.nextgentel.com JOIN :#esoteric < 1110901631 0 :calamari!~calamari@dialup-4.240.246.228.Dial1.Phoenix1.Level3.net JOIN :#esoteric < 1110901637 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110901638 0 :kipple_!~Rune@163.80-202-100.nextgentel.com JOIN :#esoteric < 1110901648 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi kipple < 1110901653 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110901667 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :raven: any thoughts on my mail? < 1110901691 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I did get a few ideas last night that are somewhat unrelated < 1110901733 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :calamari: writing up a potential solution now < 1110901739 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I think it'd be neat to leave the code in @VAR form until the very end, and have a routine that sorted the variables to minimize code size < 1110901876 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric :hi calamari :) < 1110901888 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if the algorithm I've come up will work, but here it is: 1) count interactions between variables (an interaction occurs linearly, as each @ is come across, for example @A[@B+@A-] would be two interactions on AB) < 1110901932 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :2) start with a generic variable ordering (as it is now) < 1110901974 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :3) determine which way each variable would like to go. They will be "pulled" each direction by the total number of interactions they have in that direction < 1110902007 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :4) Figure out which variable if pulled the way it wants to be will reduce the << >> the most < 1110902026 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :5) repeat at 3) if the << >> count is reduced at all < 1110902073 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'm hoping this will work even with the large arrays < 1110902133 0 :kipple!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1110902153 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :since this will require a 2nd pass, I can also check to see that any GOTO's have a matching destination LABEL < 1110902238 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :have just sent idea by email < 1110902305 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's the best I could come up with too < 1110902347 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the benefit of tdoing it that way is it will work nicely with my above algorithm since the variables need no be in a certain order < 1110902347 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :most ways to do it are non-trivial oin BF < 1110902381 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lets merge what we have < 1110902394 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that way you can have something that will work for your game < 1110902417 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i'll email you the changes < 1110902422 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1110902474 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I've been trying to think of ways to make the code more OO.. haven't figured it out completely yet, but I think I'm almost there < 1110902495 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I definitely want each statement to be its own class < 1110902616 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the way to do that is to have Java check out which class files are in a certain subdirectory, and load them. Each class can return certain information to plug into the compiler. Haven't figured out all the details of that yet.. easy for things like GOTO, but assign is harder since = isn't at the front < 1110902706 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure it needs to be OO < 1110902745 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ok, update sent by email < 1110902758 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't need to be.. but it should be :) < 1110902766 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hehe :) < 1110902816 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :a second pass would allow NOPs to be removed from the code, but we can do this via a temp file after compilation < 1110902857 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :well, it's only a second pass of sorts.. the file isn't parsed twice, but the bf output is held from being written right away < 1110902959 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i thought about doing that, but after 2 days of Java I'm not yet sure about juggling arrays :) < 1110902999 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes to learn a language by writing/working on a fully developed project at the first attempt < 1110903016 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :certain operations cause some >><< wastefulness, if they don't conform to the @VAR spec.. for example variable assign and read go off and do their own thing, but they still need to interface with the outside world, so you'll sometimes see wasted brackets around them. It uses fixed >>> to get to the known previous location so then the next @ call might cause <<<<<< and suddenly you have >>><<<<<< < 1110903078 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :it's easy to remove them by looping through the code removing all instances of -+ +- <> >< [-]{-] until none were removed < 1110903150 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Raven: I tlike the idea of wrapping the output, but I think it should be off by default unless -w is specified < 1110903230 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :that's easy enough to do I was thinking about making wrapwidth=0 turning off wrapping < 1110903237 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, SYSTEM predates PESOIX < 1110903239 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1110903244 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :or adding a -nowrap option < 1110903290 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you could add a PESOIX command later, though! :) < 1110903318 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :END EXIT and STOP seem to be enough ways to terminate < 1110903329 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i have never seen SYSTEM used in that way before < 1110903358 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :in BASICA and GWBASIC it was the only way to actually exit < 1110903385 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :EXIT itself doesn't exit the program.. that's for things like EXIT FOR < 1110903403 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, I still think that END and STOP are the two ways to keep < 1110903416 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :SYSTEM is usually reserved for making system calls < 1110903448 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Not in any basic I've seen so far.. even QBASIC and QuickBasic reserve SYSTEM for exiting the program < 1110903482 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :so I think it should stay < 1110903487 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1110903504 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :it must be a M$ thing < 1110903509 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :maybe so < 1110903577 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but they have been the most successful with their basic's.. Visual Basic is still surviving, somehow < 1110903599 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :BBC BASIC has been going for over 24 years < 1110903618 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :and the latest version is only a month old < 1110903685 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :and it is available for over 30 platforms :) < 1110903710 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :apparently not BF ;) < 1110903721 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :heheh < 1110905666 0 :kipple!~Rune@163.80-202-100.nextgentel.com JOIN :#esoteric < 1110905827 0 :kipple_!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1110905835 0 :cmeme!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1110905836 0 :fizzie!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1110905895 0 :cmeme!~cmeme@216.184.11.2 JOIN :#esoteric < 1110905927 0 :fizzie!fis@sesefras.tky.hut.fi JOIN :#esoteric < 1110916919 0 :calamari!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1110917377 0 :calamari!~calamari@dialup-4.240.242.189.Dial1.Phoenix1.Level3.net JOIN :#esoteric < 1110920988 0 :Keymaker!~a@wire74.adsl.netsonic.fi JOIN :#esoteric < 1110924892 0 :Keymaker!unknown@unknown.invalid PART #esoteric :? < 1110928320 0 :angelic!~hope@anope.org JOIN :#esoteric