00:12:27 <jix> kipple: there is a bug in the java interpreter
00:12:39 <jix> it hangs if i put a string into a comment
00:13:25 <jix> it seems to dislike comments at all
00:13:56 <jix> but if i don't put a string into a comment it stops hanging if i run another program
00:13:56 <kipple> hmm. I have used plenty of comments without problems. I can understand it could be a problem with strings though
00:14:35 <kipple> your talking about the applet?
00:15:06 <jix> ah a empty program just a comment.. that is a problem for the applet
00:15:55 <jix> hmm maybe it's a bug of my java vm
00:16:02 <kipple> though there seem to be an issue with the mouse cursor with empty programs
00:16:42 <jix> not only with empty programs but with all programms that ends with an unterminated comment (# but no \n)
00:17:17 <kipple> but does it really hang, or is it only the cursor that doesn't change back from hourglass?
00:17:45 <jix> i think it's the cursor because it turns back to normal if i run another program
00:18:04 <kipple> if you can run another program at all, it isn't hung
00:18:22 <jix> i first thought i can't run another programm
00:18:39 <kipple> a minor bug then, but thanks for letting me know!
00:18:47 <jix> but it was because x-chat was in front when i clicked and the first click just activated safari
00:19:36 <jix> maybe i find some more bugs by trying to copy the java interpreter's behavior
00:20:02 <kipple> it crashes on infinite loops...
00:20:36 <kipple> with the command line version you can just ctrl-c, but in the applet you loose whatever code you've written....
00:20:57 <jix> kipple: i can still copy the code even if the program is in an infinity loop
00:21:29 <jix> i'm sure i've done that yesterday
00:21:59 <jix> 1>a (a 1>a)
00:22:23 <jix> i LOVE mac os x ;)
00:22:28 <kipple> can you switch between code, input and output as well
00:23:10 <kipple> ok. probably just a minor difference in java runtime then (the textarea is not locked in yours)
00:23:47 <kipple> bah. now Opera crashed as well >:(
00:24:03 <jix> i think it's because on mac os x the UI refreshes/actions aren't all handled by the program
00:25:13 -!- calamari has quit ("Leaving").
00:28:24 <jix> ok comments are implemented
00:32:01 -!- Keymaker has quit ("Freedom!").
00:39:50 <jix> i hate string parsing in c
00:40:17 <jix> it is hard but it isn't fun like with an esolang
01:16:56 <jix> the parser knows + and -
02:02:05 -!- jix has left (?).
02:12:37 <kipple> OMG! this is the best star wars movie in ages: http://www.storewars.org/flash/index.html :D :D
02:36:56 <lament> i have decided against a kipple->brainfuck compiler!
02:45:28 -!- kipple has quit (Read error: 60 (Operation timed out)).
02:50:29 <graue> what if you write the compiler in C, as opposed to brainfuck?
02:52:56 <graue> no, i mean use C to write the kipple->brainfuck compiler
02:53:02 <graue> you were writing it in brainfuck before, yes?
02:53:40 <lament> i just realized i don't like brainfuck :(
02:55:27 <lament> has anyone worked with choon?
02:55:48 <graue> anyone who has, should add information on it to the wiki
02:56:10 <lament> it seems like a cool language
02:56:37 <graue> i have read about it, but not used it
02:56:38 <lament> at the same time, it seems whoever wrote it wasn't in the esoteric community
02:59:44 <lament> i just like the idea of a music language
04:06:03 <graue> we should spend more time writing programs in existing languages
04:06:34 <graue> iag, for instance, is almost totally unexplored
04:10:05 <lament> there's hundreds of unexplored languages out there
04:10:24 <graue> no, there probably are hundreds
04:10:35 <graue> maybe tens that are actually notable
04:10:48 <graue> (Ook! and COW don't need serious exploration)
04:20:07 <graue> maybe if COW stood for Copy-On-Write it would be an interesting language
04:20:15 <graue> i mean, if it somehow applied that principle in esoteric excess
04:23:51 <graue> the file extension .i seems to be used for both INTERCAL and iag
07:30:07 <graue> who runs the channel logging bot?
07:41:39 <graue> i was going to download all the esologs to back them up, but the robots.txt is stopping me
07:42:04 <CXI> no it isn't :P
07:42:18 <graue> i'm potentially being an asshole, and have set wget to ignore that
07:42:24 <CXI> there we go :D
07:42:53 <graue> i figure whoever runs the site realizes the alternative would be for me to manually download every file, which doesn't save him any bandwidth
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:04:21 <CXI> oh, man :(
09:04:41 <CXI> there's a gzip quine out there somewhere
09:04:43 <CXI> but I can't find it
09:05:48 <CXI> oh, wait, web archive and some ingenuity might save the day :D
09:18:53 <CXI> haha, that's so awesome
09:21:58 <CXI> http://members.dodo.com.au/~sgentle/selfgz.gz
09:42:43 -!- kipple has joined.
10:15:12 <lament> that might or might not be really cool
10:15:21 <lament> depending on the specifics of gz which i have no clue about
10:29:48 <pgimeno> I do and I'm utterly impressed
10:32:58 <pgimeno> compressed uncompressed ratio uncompressed_name
10:34:35 <pgimeno> the 8.6% looks a bit arbitrary :P
10:34:57 <pgimeno> with the given data, that is
10:35:36 <CXI> http://web.archive.org/web/20040808020638/http://caspian.arts-centre.net/
10:35:39 <CXI> ripped it from there
10:37:34 <kipple> Choon is also interesting
10:37:37 <pgimeno> next challenge is to dig into gzip's internals and write a gzip quine (as opposed to this one which is gunzip) ;)
10:37:37 <kipple> now who's gonna write 99 bottles in Choon?
10:37:57 <pgimeno> I want to write 99 bottles in Dis
10:38:06 <CXI> gzip quine would be... strange
10:38:28 <CXI> it'd be implementation-specific, too :/
10:38:32 <pgimeno> it surely would need a specific -1..-9 setting
10:38:55 <pgimeno> well, zlib is a good reference point
10:39:12 <pgimeno> but yes, it may be zlib-version-specific
10:39:31 <kipple> http://www.stephensykes.com/choon/choon.html
10:39:45 <kipple> found it in the log for last night
10:39:47 <CXI> The John Cage instruction ('%') causes a one note silence in the output stream.
10:41:25 <CXI> he made a song called 4'33", which is four minutes and 33 seconds of silence
11:12:51 -!- ZeroOne has joined.
11:32:14 -!- jix has joined.
11:33:03 <kipple> how's the interpreter going?
11:33:24 <jix> the parser scanns for + and - commands and the executing part is done
11:37:00 <pgimeno> if a program that plays the 99bob song in choon is a 99bob program, then I've got one :)
11:37:57 <kipple> what do you mean? is there a melody for the song?
11:38:40 <pgimeno> I still need to make it loop 99 times but I think the output will be huge in that case
11:39:05 <kipple> You should submit it to the 99 bottles page.
11:39:22 <kipple> but, of course, it should loop 99 times :)
11:41:28 <jix> now i have to implement > and < ...
11:43:55 <pgimeno> for those interested the current WIP is here: http://www.formauri.es/personal/pgimeno/temp/99bob.choon
11:45:04 <pgimeno> that loops just twice and plays an spurious note at the beginning which I plan to eliminate
11:59:36 <pgimeno> hm, I can't eliminate it at all
12:17:08 <jix> < is 20% done
12:21:31 <CXI> wish I was writing an esolang instead of doing my assignment
12:21:36 <pgimeno> know that murphy's law which says: "The first 90% of the work will take 10% of the time. The other 10% will take the remaining 90%"
12:22:12 <CXI> that's not murphy... I can't remember whose that is, actually
12:22:34 <pgimeno> oh sorry, it was in a book entitled "murphy's law"
12:22:53 <kipple> Murphy's law is probably one of the most misquoted laws there is...
12:24:39 <CXI> the name ah
12:24:44 <CXI> s/the name //
12:24:54 <CXI> it's called pareto's principle - the 80/20 rule
12:30:08 <kipple> jix: in case you're interested, here is an early version of the Kipple 05 spec: http://rune.krokodille.com/lang/kipple/kipple05.html
12:31:45 -!- J|x has joined.
12:31:55 -!- jix has quit (Nick collision from services.).
12:32:18 -!- J|x has changed nick to jix.
12:35:33 <jix> no.. 24h disconnect
12:36:47 <jix> in germany t-online disconnect's dsl users every 24h..
12:37:26 <kipple> did you get my link before you disconnected?
12:37:41 <jix> 13:25:46<CXI>s/the name //
12:38:04 <kipple> early version of the Kipple 05 spec: http://rune.krokodille.com/lang/kipple/kipple05.html
12:38:17 <jix> Escape characters are currently not supported.++
12:38:47 <kipple> was ther a problem with my message?
12:39:02 <jix> i think it's good that the string preprocessor does not support escape characters
12:39:05 <kipple> or are you talking about something else
12:39:29 <kipple> anyway, the string preprocessor is optional
12:40:35 <jix> but i want to implement it
12:40:48 <kipple> sure. It's nice to have
12:41:47 <jix> hmm.. is it possible to implement the @ stack in kipple
12:42:14 <jix> just because.. it would be like interactive IO
12:42:31 <jix> i push a number, read from the stack, push a number, read from the stack
12:44:28 <jix> ok another example: a<1 (top of a is now 2).. how to implement that in kipple ?
12:45:00 <kipple> I don't understand what you mean
12:45:26 <kipple> a stack that adds 1 to all pushed values?
12:45:50 <kipple> well it can't be named a (a-z are reserved for normal stacks)
12:46:44 <jix> oh.. yes... %<"a" %>o outputs "b"
12:47:35 <jix> the code gets executed with every push ?
12:48:10 <kipple> that's where I'm not decided yet
12:48:17 <jix> or with every pop
12:48:52 <jix> hmm.. for the @ stack every push would be optimal.. but if one would like to have the opposite of @ every pop would be better
12:49:25 <kipple> currently a push sets the "evaluate" flag. On a pop the code is executed if the flag is set. then the topmost value of the custom stack's o is popped
13:03:36 <jix> > is done 30%
13:04:12 <jix> i'm at 360 lines of code
13:05:42 <jix> kipple has 8 instructions
13:06:08 <kipple> depends on what you counts a an instruction
13:06:50 <kipple> but how do you get to 8?
13:07:05 <jix> 1: a<1 2: b>a 3: a+1 4: a+a 5: a-1 6: a-b 7: a? 8:(a )
13:07:47 <kipple> you count + and - two times?
13:08:23 <jix> yes because adding a value and adding a value popped from a stack are two different things
13:08:59 <kipple> yes, but they are still the same insctruction IMHO
13:09:26 <kipple> ( and ) could be considered two instructions
13:09:41 <jix> but in my internal representation they are one instruction
13:11:03 <kipple> ok. in mine they are separate tokes
13:11:28 <kipple> but there is only one + and one -
13:12:12 <jix> but my interpreter is written for speed and it's faster if it knows if it has to add a value stored in the program or stored in a stack
13:12:37 <kipple> mine is not written for speed
13:12:47 <jix> and the looping is faster if i just say: loop with this subprogram instead of go back to this thing if blablabla...
13:12:51 <kipple> will be intersting to see how they compare
13:13:42 <jix> i think i still have to finetune the values for reallocating the stack memory
13:14:13 <kipple> I tokenize the code into a linked list, and corresponding ( and ) 's are linked directly
13:14:47 <jix> i tokenize the code into a linked tree and the loop instruction forks the tree
13:15:56 <jix> my parser is really ugly code
13:16:06 <kipple> probably more efficient way to do it than mine
13:16:29 <jix> for(i3=1;lchr+i3<mchr && NRANGE(lchr[i3]);i3++){
13:17:22 <jix> in c i always have to check for bounds to get sure that i'm not reading from outside the string
13:18:27 <jix> yes? .. i thought java Strings have bound checking
13:19:05 <kipple> if go outside the bounds you get an exception
13:19:20 <jix> that's what i want
13:19:31 <kipple> so you can choose: check yourself, or handle the exception
13:19:42 <kipple> I chose to check manually
13:20:02 <jix> if i read outside of the string i can be sure that the instruction is incomplete and just skip it
13:20:33 <kipple> which string are you talking about btw? I though you meant the entire source code string
13:21:16 <jix> a<12 ok ? i'm not done with >
13:21:21 <kipple> never mind, I'm thinking in the way I've implemented it
13:21:52 <kipple> I start at the operator and then moves to both left and right to parse the operands
13:22:03 <kipple> and then I have to check that I don't go out of bounds
13:22:21 <jix> "a<12" check 'a' is 'a' an instruction ? no.. next char: '<' .. instruction! it needs a stack on the left site.. ok end on the right site is.. a number so seek until the end of the string OR to a nonnumber char
13:23:08 <kipple> ok. then we do it a bit differently
13:23:39 <kipple> I read until I find an operator ( <>+-?() ). only then do I look for operands
13:24:00 <kipple> I don't consider 'a' an instruction
13:24:09 <jix> i neither..
13:24:30 <jix> check 'a' is 'a' an instruction ? no..
13:25:37 <jix> i'm done with >
13:25:57 <kipple> seems we do it pretty much the same way after all, then :)
13:26:12 <jix> but we handle () differently
13:27:49 <kipple> and I use lots of objects, so your's is probably faster
13:27:59 <jix> i use lots of structs
13:28:20 <jix> hmm.. one for every stack .. and one for every instruction
13:28:33 <jix> 2 different struct types
13:28:48 <jix> but i inline the stack methods !
13:28:51 <kipple> I have one object for every stack, instruction and operand (including numbers)
13:29:23 <jix> operands are part of the instruction struct
13:29:57 <jix> union { stack* s; int i;} op_a;
13:30:20 <jix> for stack and int.. op_b has also an p for a sub program (looping)
13:39:14 <jix> 1 bug fixed
13:40:00 <jix> refixed the bug
13:45:03 <jix> IT WORKS the parser works
13:45:25 <jix> now i can test the interpreter
13:57:32 <jix> hmm there is a bug
13:57:43 <jix> i get tons of malloc warnings
13:57:53 <jix> and the program doesn't terminate
14:04:41 <jix> uh.. i thought it was the interpreter.. but it was the token-tree-freeer
14:35:10 <jix> hmm the parser doesn't parse (@>o) correctly
14:38:11 <jix> ok fixed the "one instruction bug"
14:59:14 <jix> fixed the nested loop bug
15:00:20 <kipple> getting close to a release?
15:00:35 <jix> but the @ stack doesn't work
15:01:45 <jix> i wrote a small debug feature that allows me to dump out the token-tree (the output is valid kipple)
15:28:56 <jix> ok fixed all bugs
15:29:24 <kipple> hmm. there is no 99 bottles of beer enty in Chef...
15:29:32 <kipple> maybe I'll have to write one
15:30:42 <CXI> HQ9+ is the best language ever
15:31:30 <kipple> but it lacks some important features!
15:31:59 <kipple> mainly the F command (print fibonacci numbers) and the P command (prime numbers)
15:32:55 <jix> extend it F prints the first <accumulator-value> fibonaccis and P the first <accumulator-value> primes
15:33:18 <jix> oh and what about calculating pi ?
15:33:26 <kipple> what? using the accumulator? I find that offensive!
15:33:41 <jix> ok.. F prints all fibonacci numbers
15:33:45 <jix> and P all primes
15:34:32 <kipple> yes. all would be best
15:36:23 <CXI> sure, but it does so using a Las Vegas method
15:36:33 <CXI> so you get an output at the end :P
15:37:25 <kipple> and the interpreter optimizes this so it is extrememly fast: while(true)
15:37:50 <CXI> and we could call the language zzzzbest
15:51:50 <jix> i'm done with version 0.1
15:52:35 <jix> does windows need special header files ?
15:53:16 <kipple> what are you developing with?
15:53:36 <kipple> will it compile with gcc?
15:54:09 <jix> x-code uses gcc
15:54:13 <jix> but not make etc...
15:55:42 <jix> be warned my c coding style is baaaad...
15:56:18 <kipple> as long as it compiles :)
15:56:23 <jix> without warnings
15:56:36 <jix> but i use no header files
15:56:43 <jix> no function prototypes
15:56:56 <jix> i reuse variables for different things
15:57:05 <jix> all in all very clean code ^^
16:02:22 <jix> http://www.harderweb.de/jix/cipple.c
16:04:25 <jix> now download it and have fun
16:05:17 <jix> kipple: ping
16:08:42 <kipple> it mops the floor with my intperpreter!
16:08:51 <kipple> 7 times faster on prime.k
16:13:54 <jix> generating primes<1000 right now
16:14:25 <jix> real 0m28.048s user 0m23.518s sys 0m0.117s
16:14:45 <jix> and also try compiling it with -DINSPECT
16:15:34 <jix> dump the internal representation to kipple code
16:15:52 <kipple> how is that different from the source code?
16:16:34 <jix> it includes the internal instructions
16:17:02 <jix> http://rafb.net/paste/results/E46ILK92.html this is the dump of prime.k with primes<1000
16:19:14 <jix> hmm does it handle a+a correctly ?
16:19:34 <kipple> I don't know. How does it handle a+a?
16:19:52 <jix> the wrong way
16:20:50 <kipple> the correct way: case '+': operand1.push(operand1.peek() + operand2.pop());
16:22:06 <kipple> my interpreter took 6.42 mins to run the brainfuck interpreter with 99 bottles of beer as input
16:23:25 <jix> wait for ppcipple the kipple > ppc compiler
16:23:37 <jix> but now i have to do homework
16:26:17 <graue> isn't there a free ppc emulator one can download, the way there are myriad x86 emulators?
16:26:51 <jix> ppc emulators are slow
16:27:02 <jix> x86 emulators are fast
16:27:43 <jix> the ppc has more registers so a ppc emulator needs to put the registers into the ram.. the other way around the registers are stored all in registers
16:29:22 <graue> well, i could at least use your compiler, though
16:29:37 <graue> how about a ppc emulator for amd64? amd64 has more registers
16:29:59 <jix> i don't know
16:30:17 <jix> kipple > pcc G5 .. have fun
16:45:51 <graue> man, i've been prevented from downloading channel logs off that meme.b9.com site
16:45:53 <graue> Your request has been denied from ip68-100-130-21.dc.dc.cox.net and logged into our system for exceeding the throttle limits.
16:45:53 <graue> HTTP/1.1 503 Service Unavailable Date: Sun, 29 May 2005 15:45:56 GMT Connection: Close Server: AllegroServe/1.2.42 Content-Type: text/html
17:41:08 <kipple> maybe they'll provide a .gz if you ask?
17:53:48 <jix> cipple 1.2 is faster
17:54:20 <jix> reduced calls to realloc malloc and free
17:55:21 <jix> memory requirements for small programs are higher but primes<1000 is 8.736s vs 28.048s
17:56:11 <jix> 0.2 not 1.2
18:23:50 <kipple> is the 0.2 version uploaded to your web, or is that still 0.1? (would be nice if you included version # in the comments
18:24:43 -!- calamari has joined.
18:26:57 <graue> i got all the logfiles from http://tunes.org/~nef/logs/esoteric/
18:27:24 <graue> i'll provide a zipped paq6 file to anyone interested in making a backup
18:27:46 <kipple> maybe we should store them in the files archive
18:28:08 <kipple> a monthly zip or somehting
18:30:00 <graue> tgz would compress a lot better
18:30:27 <kipple> a was using zip as a generic term. didn't mean to imply any particular algorithm
18:30:56 <kipple> correction: I was using...
18:32:53 <graue> oh, of course then
18:33:28 <graue> ...what happens if someone invents an esoteric language called 'logs'?
18:43:38 <kipple> ah, you mean with the archive?
18:43:59 <graue> i decided to put the logs in an esoteric/logs directory
18:44:25 <kipple> a bit more descriptive name would be nice
18:44:34 <graue> why, what's wrong with that name?
18:44:50 <kipple> it doesn't say what kind of logs
18:45:13 <kipple> what if we find out that there are other things we want to log?
18:46:29 <graue> we may want to retain other things, but i doubt we'll want to log them
18:46:37 <graue> collections of mailing list messages are called 'archives'
18:47:04 <kipple> I would still call it irc_logs or something, just to make it more obvious
18:47:37 <kipple> but it's not a big deal
18:49:37 <graue> okay, they are now in esoteric/irclogs
18:51:43 <kipple> *sigh* I was in the process of writing an INTERCAL article in the wiki, and the accidently close the wrong tab :(
18:52:05 <kipple> dang, my spelling is bad today....
18:53:16 <graue> the INTERCAL thing, more than the spelling
18:53:35 <kipple> well, the spelling too :)
18:57:42 <jix> tar bzip2 is one of the best compressions for text (imho) and more people have bzip2 than paq6
18:58:22 <jix> the online version is 0.1
19:01:14 <kipple> will that be the place you'll keep it (and later versions)?
19:01:29 <kipple> i.e. can I link to it from the Kipple page?
19:03:40 <jix> www.harderweb.de/jix/cipple/cipple.c is always the newest version
19:03:48 <jix> www.harderweb.de/jix/cipple/cipple.x.x.c is version x.x
20:30:41 -!- calamari has quit ("Leaving").
21:12:55 -!- J|x has joined.
21:22:29 -!- jix has quit (Read error: 110 (Connection timed out)).
21:29:08 -!- Keymaker has joined.
21:29:57 <Keymaker> i finally made my version of 99 bottles of beer in brainfuck. here's the result: http://www.bf-hacks.org/hacks/beer.b
21:30:22 <Keymaker> warning: brainfuck or/and beer destroys braincells!
21:30:37 <Keymaker> as well, i don't support alcohol drinks
21:31:13 <Keymaker> i'll probably make a shorter version sometime..
21:32:14 <Keymaker> i started the code the previous night and continued during this day
21:32:20 <Keymaker> well, not all the time, of course
21:32:46 <Keymaker> anyways, good night. zzZzzz....
21:32:51 -!- Keymaker has left (?).
21:41:39 * lament wonders why keymaker doesn't support alcoholic drinks
21:54:55 -!- J|x has changed nick to jix.
22:41:39 <kipple> lament: doesn't really fit with the finnish stereotype, does it?
22:42:09 <jix> kipple: you got the new url of cipple
22:42:29 <kipple> www.harderweb.de/jix/cipple/cipple.c ?
22:43:30 <jix> i wrote a new kipple programm
22:43:37 <jix> read a number from input square it and output it
22:44:05 <jix> and it ignores spaces and \n in input..
22:45:34 <kipple> I'll put it on the web site if you want
22:50:50 -!- wooby has joined.
22:59:42 <kipple> wooby: was it you who owned the esolangs.org domain?
23:00:05 <kipple> any reason it points to the old wiki?
23:00:32 -!- wooby has quit.
23:01:17 -!- wooby has joined.
23:03:52 <wooby> ok it's pointing at 70.85.100.4
23:04:55 <wooby> it will take a little bit to kick in
23:10:19 <jix> hm 99bob page: Use Whitespace, TABs and Returns to make your code readable.. is it ok to not use them ?
23:10:36 <jix> because my dc solution doesn't use them
23:11:29 <kipple> well, the Malbolge entry isn't exactly readable ;)
23:18:34 <jix> http://rafb.net/paste/results/sx4WtH56.html
23:19:17 <jix> and for square.k : http://rafb.net/paste/results/OZLhGE38.html
23:20:14 <jix> dc seems to be an esolang
23:23:15 -!- jix has quit ("Banned from network").