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:55:10 <{^Raven^}> great, got some good updates for ya
03:56:00 <calamari> 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:44 <heatsink> a groove is the opposite of a rut, right?
03:58:06 <heatsink> strange how this language works.
04:01:27 <{^Raven^}> calamair: i can't wait to see what you have come up with
04:01:55 <calamari> 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:12:07 <calamari> yay, goto is working :) now to do if, gosub, and ongoto
04:41:31 -!- Keymaker has joined.
04:42:04 <Keymaker> 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:58:30 <calamari> (Keymaker): Trying out new label code that isn't limited to 256 labels (unlimited, acutally)
04:58:52 <calamari> ongoto is being a problem.. need to think how I can solve it
05:05:30 <calamari> hash functions aren't exactly a strong point of bf :)
05:06:56 <calamari> 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:18 -!- kipple_ has joined.
15:47:47 <calamari> raven: any thoughts on my mail?
15:48:11 <calamari> 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 <calamari> 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:28 <calamari> 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 <calamari> 2) start with a generic variable ordering (as it is now)
15:52:54 <calamari> 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 <calamari> 4) Figure out which variable if pulled the way it wants to be will reduce the << >> the most
15:53:46 <calamari> 5) repeat at 3) if the << >> count is reduced at all
15:54:33 <calamari> 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 <calamari> since this will require a 2nd pass, I can also check to see that any GOTO's have a matching destination LABEL
15:58:25 <calamari> yeah, that's the best I could come up with too
15:59:07 <calamari> 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:54 <calamari> that way you can have something that will work for your game
16:01:14 <calamari> 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 <calamari> I definitely want each statement to be its own class
16:03:36 <calamari> 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:58 <calamari> it doesn't need to be.. but it should be :)
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 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> unfortunately, SYSTEM predates PESOIX
16:14:50 <calamari> 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 <calamari> in BASICA and GWBASIC it was the only way to actually exit
16:16:25 <calamari> 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 <calamari> Not in any basic I've seen so far.. even QBASIC and QuickBasic reserve SYSTEM for exiting the program
16:19:37 <calamari> 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: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.