00:00:02 Huh? 00:00:09 What was that command? 00:31:18 "Tonight we'll be playing eleven card stud-hold'em with threes, eights, jacks, and kings wild...fives count as fours, fours count as nines, and queens don't count unless there is a prime numbered spade showing." 00:44:01 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:06:24 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 01:08:37 -!- puzzlet has joined. 02:16:05 -!- ihope has quit (Read error: 110 (Connection timed out)). 02:44:43 <{^Raven^}> I have been pondering calamari's idea of using line numbers in BF programs 02:45:12 that's not a bad idea actually :) 02:45:41 * kipple is currently working on an esoteric BASIC variant which is all about line numbers 02:46:40 <{^Raven^}> it is an essential technique used by BFBASIC, it occurs to me that adding the concept of blocks of line numbers, you can write code that executes a lot faster 02:47:19 <{^Raven^}> each subroutine could be in it's own block, that way you just have to check the block number and only check for the specific line number if it is in your block 02:48:33 <{^Raven^}> it also means that the line numbers in each block can run from 1-n, this forces all the line numbers into nice small ranges that are quick to check for 02:54:04 <{^Raven^}> It seems that efficent optimised line number algorithms will be essential for the development of a C compiler for BF 03:00:53 Good thing we're all thinking of the /important/ things in life. 03:02:51 <{^Raven^}> calamari has shown us that it is possible to write a BASIC to BF compiler. 03:04:17 <{^Raven^}> the maddening thing for me is that i know it is possible to write a C compiler for BF becuase BF is turing complete, but actually doing it is going to be a challenge 03:04:52 what exactly makes a C compiler harder than a BASIC compiler? 03:11:44 <{^Raven^}> memory allocation is going to be difficult to implement, each time a function is called you may have to create some variables for it on the stack. Recursive functions with local variables seem like a big challenge to implement 03:14:06 <{^Raven^}> calamari solved the problem of how to implement high level flow control, so jumping around inside the program can be done via line numbers. 03:15:55 AFAIK BASIC has no local variables (you can correct me on this if I'm wrong) 03:16:02 So that makes that easier :P 03:16:36 <{^Raven^}> BFBASIC has no local variables, of course most modern BASICs have local and static variables 03:16:40 depends on the BASIC dialect I suppose, but yeah 03:17:31 <{^Raven^}> rewriting the standard C library for the BF virtual machine is going to be an interesting challenge 03:19:12 that would be quite an achievement! 03:19:30 <{^Raven^}> optionally you could have some functions implemented as inline functions which would increase the code size but reduce the amount of jumping around the program 03:21:07 <{^Raven^}> kipple: math.h, especially if the compiler supports 16-bit numbers (on an 8-bit machine) or floating point numbers 03:21:43 hehe. yeah. didn't realize you we're going to include all of that... 03:22:06 I thought you were only talking about a small subset of C 03:24:25 <{^Raven^}> This is a thought experiment, I'm not actually working on anything like that at the moment 03:28:49 <{^Raven^}> It does occur to me that to enable us to run the mammoth programs that a compiler might generate, it is important to have effiecent optimising interpreters to execute the programs at reasonable speeds 03:30:44 Well... 03:31:02 Once you got the C compiler itself ... 03:31:11 You could get most of a free libc from newlib :) 03:31:22 sprintf, etc (anything that doesn't need kernel calls) 03:34:38 Hmm, transforming this grammar, I had to use 7 LL(2)s ... now, do I continue adjusting to try to get it to LL(1), or do I say "Well, technically, it says he'll accept it in LL(2) form" and be done with it :P 03:36:22 * {^Raven^} is a compiler compilers newbie whi usually writes his own parsers 03:36:59 -!- fungebob has joined. 03:37:42 I wrote my own Glass parser :P 03:39:48 <{^Raven^}> It should be possible to write a proof of concept compiler that compiles a limited subset of C into BFBASIC before embarking on the project proper 03:40:37 That would prove no concept except that you can write a parser ;) 03:41:52 <{^Raven^}> And that you can get a limited subset of C to (eventually) compile to workable BF object code. :P 03:46:54 ARGH 03:47:05 * GregorR doesn't like his professor's "do-as-I-do-not-as-I-say" attitude :P 03:47:36 First he says that our ridiculously minimalistic language should not support such reals as ".9", that it needs to have a digit before it. 03:47:45 Then he has a test WITHOUT a digit before it, which is supposed to pass! 03:47:52 SHGOIUSPDHFIDHFIODSJFIODPSJF *KILL KILL KILL* 03:51:04 * {^Raven^} finds that the requested specifications often bear little resemblance to the actual specifications required 03:51:33 <{^Raven^}> nite all 03:52:55 -!- kipple has quit (Read error: 110 (Connection timed out)). 03:54:01 lol 03:54:10 {^Raven^} says "nite all," then kipple quits :P 04:03:11 -!- Sgeo has quit. 10:35:29 -!- clog has joined. 10:35:29 -!- clog has joined. 11:21:59 re 11:22:07 ihope: does it owrk? 11:28:52 was it the rhotor distribution that caused all that zip-trouble? 11:29:02 tar.bz2 11:29:19 but someone was talking about zip before i announced the url 11:29:47 he must have gotten a corrupt download then. it worked fine for me 11:30:37 kipple: were you able to compile it? 11:30:51 haven't tried. don't have haskell 11:31:20 yeah i was thinking about a binary distribution but i don't have windows or linux 11:31:38 and crosscompiling haskell... no 11:31:41 well, I guess I should download haskell. 11:31:52 download the glasgow haskell compiler (ghc) 11:32:17 do they have a debian package? 11:32:27 -!- ihope has quit (Read error: 110 (Connection timed out)). 11:32:28 then run build.bat or build.sh or build.command 11:33:02 can some windows user test build.bat? 11:33:37 ghc6 11:33:40 is the debian package 11:33:45 yeah, I found it 11:35:52 yikes. I'm getting 445kB/s from the debian ftp. didn't know my connection was that fast.... 11:36:12 must be a bug :P 11:38:13 I usually get debian packages ~3-6 MB/s. One of the very few good points of living in these student apartments. 11:38:33 From a debian mirror nearby: 19:57:43 (4.04 MB/s) - `ls-lR' saved [31813417] 11:40:11 jix: it compiled without error on my debian box. don't have any code to test it with, though 11:41:55 here's one jix posted some lines above: x/>,x 11:42:36 ok, 30 lines above at least 11:44:27 thanks. it worked. 11:44:32 yay 11:44:53 though I don't understand anything of that program ;) 11:45:08 well x is stdin 11:45:21 is a simple way to iterate over all characters 11:45:48 and > replaces a with a,a and b with the same procedure applied to b 11:45:58 but, then again I do not understand lambda calculus, so it's no surprise 11:46:06 ok 11:51:55 -!- calamari has joined. 11:52:01 'ey 11:52:09 hi 11:52:13 how's the bf? 11:52:43 currently writing :) 11:53:23 cool 12:32:58 grhh.. a bug again.. 12:33:29 come on there are only 8 instructions, how hard can it be? 12:33:37 :D 12:46:43 aaargh.. this bug can't be found that easily.. 12:47:04 it doesn't cause errors, but the behaviour isn't right, although it "looks" right 12:48:30 gotta go for a while.. 12:51:01 have fun.. 14:17:04 back. 14:34:49 rghhh.. 14:43:18 NOOOOOOOOOOOOOO!!!!!!! 14:43:44 the code current code is perfectly valid, i just hadn't written it yet to do some things.. 14:44:05 that's why it looked right but didn't behave right.. 14:45:04 well, it was a meatware problem once again 14:45:53 grghh. i'm only annoyed because it took time to realize this.. i could've spent the debug time continuing the program writing.. 14:47:16 and, is there any word to replace the word "code" in "program code"? i don't like using that word 14:47:45 and preferably "source code" too.. well, don't like the word "source" either. 14:48:06 and no, this has nothing to do with this current program, i'm just insane. 14:51:49 You can use "program text". 14:51:59 cool! 14:52:00 It's called the text segment, after all. 14:52:23 ok, although it doesn't sound that good either 14:52:28 definitely better though 14:52:32 It's not as unambiguous. 14:55:05 statements? instructions? 14:56:03 the instructions sounds the best 14:59:27 darn wikipedia.. i can't even remember what i was originally reading about! 15:08:13 lol 15:19:09 -!- ihope has joined. 15:34:31 -!- calamari has quit ("Leaving"). 15:35:49 -!- Sgeo has joined. 15:46:59 gn8 15:47:05 nite 15:47:30 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 15:48:02 "gn8"? 15:48:27 "good night" 15:48:30 Oh. 8 with... an Australian accent, is it? 15:48:37 * ihope is bad at recognizing those things 15:54:16 I think it's german actually 15:55:15 Hmm. /me imagines Augustus Gloop from that one movie 15:55:28 "guten nacht" or something.. yeah, could be. 15:55:32 I guess it works. 15:55:37 8 = acht 15:55:40 yeah, 8 was something like acht 15:55:43 yah 15:55:55 and jix is german IIRC 15:56:00 yep 15:56:07 that's right 15:56:08 Ah. 15:56:28 I guess that would make sense, given his quit message. 15:56:43 yeah, although i don't understand it :) 15:57:36 "Please you select a funeral message". 15:59:00 Maybe his chat client said "Please select a quit message" once upon a time, then he translated it wrong? 15:59:20 Something along those lines, I think. 15:59:32 I always thought that was what it meant 15:59:40 heh 15:59:58 i always thought it had something to do with beer :} 16:00:02 :-) 16:00:18 * ihope drinks a Beerdigungnaachricht 16:00:27 s/aa/a 16:00:41 Uh. s/s/aa/a/s/aa/a// 16:04:52 99 bottles of beerdigungnachricht on the wall ... 16:05:26 who's Augustus Gloop by the way? 16:05:47 Character in Charlie and the Chocolate Factory. 16:06:18 ah, the german boy? 16:06:52 Yep. 16:06:55 The fat one. 16:22:08 rghh.. at least the program doesn't cause errors, but doesn't work properly either 16:22:19 sigh.. back to debug.. 16:27:54 oh well, now it gave some healthy underflow.. 16:28:32 why do i always get underflow instead of other errors?! 16:29:08 Because an error may be caused in the process of displaying an error> 16:36:36 heh 16:36:49 http://www.pwned.nl/ayb/ 16:36:52 WOW! 16:36:55 no, the interpreter is fine, i just happen to mess up somewhere 16:44:11 ihope: lol 16:49:08 hmm. an esolang based on the Zero Wing intro text could be funny 16:49:30 input: What you say!! 16:49:49 move zig could move memory pointer.. 16:51:23 You have no chance to survive make your time... that one would hash the system clock into a seed for a random number generator! 16:51:56 hehe :) 16:52:35 "Main screen turn on." turn on the graphical display 16:53:18 Makes sense. 16:53:26 We get signal could be the input thing. 16:53:37 yeah 16:53:50 Some{body|one} set up us the bomb would end the program. 16:53:56 yeah 16:54:05 what about "For great justice."? 16:54:11 Um... 16:54:19 what could it do? 16:54:21 Make the language Turing-complete? 16:54:26 hehe 16:54:36 "For great computation"... 16:55:05 heh 16:55:13 Well, "you have no ___ to ___ make your ___" would have to be a somewhat versatile command. 16:55:37 You have no time to chance make your survive! 16:55:46 all your are belong to 16:55:56 yeah 16:55:57 Yeah! 16:56:25 All your "Hello, World" are belong to STDOUT 16:56:36 Heh. 16:56:40 hehe 16:57:05 Take up every = output 16:57:23 that's good 16:57:32 All your "Hello, world!" are belong to hello. 16:57:39 Take up every hello. 16:57:47 :) 16:57:49 Somebody set up us the bomb. 16:57:58 why take up? should be take up 16:58:01 off 16:58:09 ...Oh, yeah. 16:58:21 Take off every hello... 16:59:12 hmm, what about the loops or jumps? 16:59:43 what about "what!" and "what happen?" 16:59:52 for great/equal/lesser justice could be comparison operator 16:59:59 :D 17:00:05 that's great! 17:00:27 Yeah! 17:01:04 first storing some value to some specific variables and then using the FGJ instruction 17:01:55 you are on the way to destruction could be GOTO (replace destruction with a label) 17:02:27 Yeah! 17:03:05 Main