01:11:22 -!- paramount has quit (""Naturally, there are exceptions because otherwise it would be too easy to understand." -- Brian "Beej" Hall"). 02:01:16 -!- heatsink has joined. 03:08:58 -!- kipple has quit. 03:30:38 -!- calamari has joined. 03:31:17 hi 03:54:03 <{^Raven^}> hi calamari 03:54:38 hi raven, how's it going? 03:55:10 <{^Raven^}> great, got some good updates for ya 03:55:36 <{^Raven^}> been having fun learning java ;) 03:56:00 cool.. just got back from shopping a little while ago.. working on goto 03:57:07 <{^Raven^}> shall i send you the new code + change log? 03:57:15 <{^Raven^}> or integrate it all later 03:57:24 later.. in a groove ;) 03:57:41 <{^Raven^}> sweet :) 03:57:44 a groove is the opposite of a rut, right? 03:57:51 ya 03:57:55 <{^Raven^}> yup, programming nirvana 03:58:06 strange how this language works. 03:59:36 <{^Raven^}> which language? 03:59:44 english 04:00:01 <{^Raven^}> lol yup 04:01:27 <{^Raven^}> calamair: i can't wait to see what you have come up with 04:01:34 <{^Raven^}> *calamari 04:01:55 you'll have to, otherwise you'll be writing very sequential code :) 04:02:13 <{^Raven^}> hehe :) i'll just have fun at my end then 04:03:18 <{^Raven^}> ii'm starting to understand how it all works now ;) 04:04:17 <{^Raven^}> anyways, back to bed, have to be up soon 04:04:20 <{^Raven^}> nite all 04:04:43 g'niters. 04:12:07 yay, goto is working :) now to do if, gosub, and ongoto 04:41:31 -!- Keymaker has joined. 04:42:04 calamari: what are you working on..? where is goto working and where do you need to make gosub and ongoto to work? :) 04:50:53 -!- Keymaker has quit. 04:56:52 (Keymaker): BFBASIC 04:58:30 (Keymaker): Trying out new label code that isn't limited to 256 labels (unlimited, acutally) 04:58:52 ongoto is being a problem.. need to think how I can solve it 05:05:30 hash functions aren't exactly a strong point of bf :) 05:06:56 happy pi day, btw, to anyone where it's still March 14th ;) 05:07:11 -!- heatsink has quit ("Leaving"). 07:23:42 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:14 -!- arke has changed nick to EIGHT_EQUALS_D. 08:02:49 -!- EIGHT_EQUALS_D has changed nick to arke. 09:45:08 -!- kipple has joined. 12:39:28 -!- cmeme has quit ("Client terminated by server"). 12:40:11 -!- cmeme has joined. 12:59:26 -!- kipple has quit (Read error: 104 (Connection reset by peer)). 13:01:34 -!- kipple has joined. 15:47:11 -!- calamari has joined. 15:47:17 hi 15:47:18 -!- kipple_ has joined. 15:47:28 hi kipple 15:47:33 <{^Raven^}> hi 15:47:47 raven: any thoughts on my mail? 15:48:11 I did get a few ideas last night that are somewhat unrelated 15:48:53 <{^Raven^}> calamari: writing up a potential solution now 15:48:59 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 15:51:16 hi calamari :) 15:51:28 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) 15:52:12 2) start with a generic variable ordering (as it is now) 15:52:54 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 15:53:27 4) Figure out which variable if pulled the way it wants to be will reduce the << >> the most 15:53:46 5) repeat at 3) if the << >> count is reduced at all 15:54:33 I'm hoping this will work even with the large arrays 15:55:33 -!- kipple has quit (Read error: 145 (Connection timed out)). 15:55:53 since this will require a 2nd pass, I can also check to see that any GOTO's have a matching destination LABEL 15:57:18 <{^Raven^}> have just sent idea by email 15:58:25 yeah, that's the best I could come up with too 15:59:07 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 15:59:07 <{^Raven^}> most ways to do it are non-trivial oin BF 15:59:41 lets merge what we have 15:59:54 that way you can have something that will work for your game 16:00:17 <{^Raven^}> i'll email you the changes 16:00:22 ok 16:01:14 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 16:01:35 I definitely want each statement to be its own class 16:03:36 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 16:05:06 <{^Raven^}> i'm not sure it needs to be OO 16:05:45 <{^Raven^}> ok, update sent by email 16:05:58 it doesn't need to be.. but it should be :) 16:06:06 <{^Raven^}> hehe :) 16:06:56 <{^Raven^}> a second pass would allow NOPs to be removed from the code, but we can do this via a temp file after compilation 16:07:37 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 16:09:19 <{^Raven^}> i thought about doing that, but after 2 days of Java I'm not yet sure about juggling arrays :) 16:09:59 * {^Raven^} likes to learn a language by writing/working on a fully developed project at the first attempt 16:10:16 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 >>><<<<<< 16:11:18 <{^Raven^}> it's easy to remove them by looping through the code removing all instances of -+ +- <> >< [-]{-] until none were removed 16:12:30 Raven: I tlike the idea of wrapping the output, but I think it should be off by default unless -w is specified 16:13:50 <{^Raven^}> that's easy enough to do I was thinking about making wrapwidth=0 turning off wrapping 16:13:57 unfortunately, SYSTEM predates PESOIX 16:13:59 :) 16:14:04 <{^Raven^}> or adding a -nowrap option 16:14:50 you could add a PESOIX command later, though! :) 16:15:18 <{^Raven^}> END EXIT and STOP seem to be enough ways to terminate 16:15:29 <{^Raven^}> i have never seen SYSTEM used in that way before 16:15:58 in BASICA and GWBASIC it was the only way to actually exit 16:16:25 EXIT itself doesn't exit the program.. that's for things like EXIT FOR 16:16:43 <{^Raven^}> hmmm, I still think that END and STOP are the two ways to keep 16:16:56 <{^Raven^}> SYSTEM is usually reserved for making system calls 16:17:28 Not in any basic I've seen so far.. even QBASIC and QuickBasic reserve SYSTEM for exiting the program 16:18:02 so I think it should stay 16:18:07 <{^Raven^}> ok 16:18:24 <{^Raven^}> it must be a M$ thing 16:18:29 maybe so 16:19:37 but they have been the most successful with their basic's.. Visual Basic is still surviving, somehow 16:19:59 <{^Raven^}> BBC BASIC has been going for over 24 years 16:20:18 <{^Raven^}> and the latest version is only a month old 16:21:25 <{^Raven^}> and it is available for over 30 platforms :) 16:21:50 apparently not BF ;) 16:22:01 <{^Raven^}> heheh 16:54:26 -!- kipple has joined. 16:57:07 -!- kipple_ has quit (zelazny.freenode.net irc.freenode.net). 16:57:15 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net). 16:57:16 -!- fizzie has quit (zelazny.freenode.net irc.freenode.net). 16:58:15 -!- cmeme has joined. 16:58:47 -!- fizzie has joined. 20:01:59 -!- calamari has quit (Read error: 110 (Connection timed out)). 20:09:37 -!- calamari has joined. 21:09:48 -!- Keymaker has joined. 22:14:52 -!- Keymaker has left (?). 23:12:00 -!- angelic has joined.