00:09:00 -!- puzzlet has quit (Remote closed the connection). 00:09:07 -!- puzzlet has joined. 00:26:16 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 00:27:20 -!- puzzlet has joined. 00:33:09 You have 5 Moderator Points! Use 'em or lose 'em! 00:35:13 4 left 00:35:31 I cast magic missile. 00:35:36 i hardly ever use my mod points or post 00:36:00 mod points? i take it this is not irc 00:46:31 -!- Jontte has joined. 00:49:37 oklokok, ping I said something in #psox 00:49:39 Hi Jontte 00:52:34 hello 01:25:56 Sgeo: ping 01:26:03 pong 01:26:09 Sgeo: ping 01:26:12 pong 01:26:17 Sgeo: ping 01:26:19 pong 01:26:25 Is this some sort of lesson? 01:26:34 in not pinging people all the time? yes. :P 01:37:37 -!- ehird` has quit ("... and now I'm gone"). 01:55:53 oklokok: slashod 01:55:59 t 02:04:34 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 02:05:25 -!- puzzlet has joined. 02:18:05 http://abacus.kwzs.be/~bsmntbombdood/IMG_2302.JPG_small.jpg 02:19:35 http://abacus.kwzs.be/~bsmntbombdood/IMG_2328.JPG_small.jpg 02:22:34 http://abacus.kwzs.be/~bsmntbombdood/ladder.jpg 02:25:53 http://abacus.kwzs.be/~bsmntbombdood/slide.jpg 02:25:55 * bsmntbombdood is awesome 05:14:20 -!- calamari has joined. 05:19:05 Hi calamari 05:19:59 hey guys 05:20:35 * Sgeo goes to sleep now.. 05:20:51 -!- Sgeo has quit ("Ex-Chat"). 05:20:57 hi RodgerTheGreat 05:21:08 hi, calamari. What's up? 05:22:22 not too much 05:23:05 I'm doing some work on a bitmapped-font GUI library 05:23:19 intelligent wordwrap is kindof a bitch to get perfect 05:52:27 -!- immibis has joined. 05:53:26 immibis, you are such a fool! 05:54:00 that script is now deleted. 05:57:56 I wrote an ELF64 loader in JavaScript, am I cool yet? 8-D 05:59:34 why........................................................did you make...................................an ELF64 loader...........in JavaScript? 05:59:45 and what use is it from within javascript anyway? 05:59:52 -!- puzzlet has quit (Remote closed the connection). 05:59:53 -!- puzzlet_ has joined. 06:10:56 -!- calamari has quit ("Leaving"). 06:16:43 -!- pikhq has joined. 06:17:13 * pikhq is officially tired as fuck 06:32:17 ok 06:38:09 Just got back from a campus visit. . . 06:38:19 And I've *essentially* not slept since Tuesday. 06:39:20 (well, fine. I've had a grand total of 16 hours of sleep since Tuesday night.) 07:31:56 -!- Figs1 has joined. 07:32:15 -!- Figs1 has changed nick to Figs. 07:33:35 HELLO. 07:33:37 :D 07:33:45 Long time no see... 07:33:56 * Figs prods oklokok 07:36:05 Eh, anyone alive? 07:46:24 -!- immibis has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. Take my advise. I don't use it anyw). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:34:32 *waves* 08:37:00 who wants 781 mb of pascals triangle 08:37:36 i wonder if would it be illegal to share it on bittorrent :D 08:42:12 -!- GreaseMonkey has quit ("kthxbai"). 08:44:03 -!- oklokok has quit (Read error: 104 (Connection reset by peer)). 08:44:09 -!- oklopol has joined. 08:53:52 hi oklopol 08:58:49 bye bye 08:59:13 -!- jix has joined. 08:59:13 -!- Figs has quit ("Java user signed off"). 11:24:40 -!- puzzlet has joined. 11:34:02 -!- RedDak has joined. 11:34:57 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 11:40:02 -!- RedDak has quit (Remote closed the connection). 11:52:49 -!- puzzlet_ has joined. 11:52:50 -!- puzzlet has quit (Remote closed the connection). 12:41:30 soo how does this work? can someone please tell me the time? 14:27:52 -!- Slereah_ has joined. 14:27:53 -!- puzzlet has joined. 14:30:24 -!- RedDak has joined. 14:33:16 -!- sebbu2 has changed nick to sebbu. 14:33:39 -!- Slereah- has quit (Read error: 110 (Connection timed out)). 14:38:09 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 14:39:40 pikhq is being tortured by college administrators! 14:39:50 alert the media 14:44:14 is pascals triangle tc? 14:44:25 tc? 14:45:05 Turing Complete. 14:45:08 someone come up with something witty! the first answer must not be a correct one 14:45:10 damn 14:45:16 ohh 14:45:21 i dont know ;P 14:45:43 there's no propagation really, it can't be, i thinksssss 14:45:48 "No, but your mom is!" 14:45:51 *rimshot* 14:45:54 Well, I tried! 14:57:09 -!- pikhq has quit (Read error: 110 (Connection timed out)). 15:08:09 -!- ehird` has joined. 15:08:32 -!- ehird` has quit (Remote closed the connection). 15:09:21 -!- ehird` has joined. 15:39:30 18sec for mandelbrot.b 15:39:30 not bad 15:41:47 http://www.sipuli.net/joonas/mandelbrot.png 15:42:03 thank you, that's very helpful :| 15:42:11 i totally don't now what a mandelbrot set looks like 15:42:17 aww 15:42:22 :P 15:42:32 i am talking about the brainfuck mandelbrot program :P 15:42:40 i have a Brainfuck->D compiler in D 15:42:44 wow 15:42:50 mines in C++ 15:43:13 eww 15:43:16 C++ is the devil 15:43:20 :D 15:43:58 * ehird` wonders if there are any [, followed by + and - sequence, ] that does not eventually terminate with byte cells 15:44:15 can i see your brainfuck program? 15:44:53 ehird`: trivially no 15:45:50 Jontte: mandelbrot.b ain't mine 15:45:58 Jontte: google for it, it's all over the plcae 15:46:00 (the compiler is mine though) 15:46:03 oklopol: 'trivially'? 15:46:06 ok, thanks 15:46:09 well, yeah :| 15:46:15 oklopol: give me a [, (+- sequence), ] that doesn't halt :P 15:46:21 in regexp terms 15:46:31 ...there isn't one 15:46:36 oh 15:46:38 i thought you meant 15:46:40 'tehre is no trivial one' 15:46:41 XD 15:46:50 oh :) 15:47:05 hmm 15:47:06 if you mean a [] loop, it's obvious it always terminates 15:47:13 eh 15:47:37 <> were not brainfuck 15:48:17 i should write a brainfuck interpreter 15:48:21 simple as what :P 15:48:43 or maybe just something that turns it to C 15:51:59 brainfuck interpreter = about 5 lines 15:52:03 brainfuck to C compiler = about 7 15:52:13 hehe 15:52:36 if you add optimization to the mix like i have, and intermediatry compilation stages and shit like i have, for me that brings it to 234 15:55:17 -!- RedDak has quit ("I'm quitting... Bye all"). 15:55:53 why the heck isn't this optimizing 15:56:55 lol 15:57:50 it should be optimizing [+++] and [-+--] and [+] and [-] 15:57:51 but it isn't 15:58:09 brainfuck->C is much simpler than a brainfuck interpreter 15:58:23 well, [-+--] is pretty easy to optimize 15:58:24 it's just a textual substitution 15:58:35 RodgerTheGreat: yeah 15:58:39 RodgerTheGreat: the code is there 15:58:43 RodgerTheGreat: it just isn't... doing anything 15:59:25 I always start with an initial pass of removing redundant +- -+ >< <> [] things 15:59:34 what language is your optimizer coded in? 15:59:37 c 15:59:53 pastebin it and I'll have a look 16:02:54 o 16:02:55 no 16:02:56 it's d 16:03:11 anyway ok but i'll give you some architechture info first 16:03:27 oh you made a new one 16:03:37 Hm. Well, I've been interested in learning D recently 16:03:46 who hasn't :P 16:03:53 Bytes of BF code -> BFIns[] -> (optimize over BFIns[] until we can't do anything any more) -> output language X (currently D) 16:03:59 some friends of mine convinced me it was sufficiently unlike C++ 16:04:11 it is unlike C++ 16:04:17 I know 16:04:22 it's C + high level language of your choice, watered down 16:04:26 it's nice with Tango 16:04:29 phobos not so much 16:04:34 anyway, show me a pastebin with d support :P 16:04:44 hm. 16:05:15 damnit, i just did a mod and now my compiler is segfaulting 16:05:21 I could probably get D added to the nonlogic dump... 16:05:21 (Which is oddly rare in D, you barely ever use pointers.) 16:05:28 nonlogic dump reformats my code 16:05:33 which makes ehird` sad 16:05:57 in what way? 16:06:28 do you mix spaces and tabs or something? 16:06:40 no 16:06:43 but it does SOMETHING to it 16:06:50 added newlines once i think 16:07:56 Hmm. Now it doesn't crash but doesn't do the optimization either. 16:08:00 that sounds quite unusual, but it's much more likely you have odd formatting that is not displayed correctly by your editor. The dump really doesn't do much to reformat text for display. 16:08:20 'much' 16:08:23 what DOES it do? 16:09:23 a pre tag inside a div that contains CSS settings for stuff 16:09:23 Also my code seems to be SLOWER with my optimization... 16:09:27 21s for mandelbrot.b 16:09:45 if you're optimizing for length, it's not surprising you get some speed hits 16:11:05 no 16:11:08 i'm optimizing for speed 16:11:24 the optimization that is failing is [-] to tape[ptr] = 0 instead of while (tape[ptr] != 0) { tape[ptr] -= 1; } 16:11:25 hm 16:11:31 and 16:11:33 tape[ptr] = 0 16:11:38 is NOT appearing in the compiled code 16:11:40 so something kooky is up 16:11:45 http://tripledoubleyou.pastebin.com/f68c7be75 here 16:11:58 oh, holy crap- I didn't realize you were *targeting* D 16:12:02 haha 16:12:03 yeah :D 16:12:10 lol 16:12:15 it could be trivially changed to C. 16:12:55 looool 16:12:57 i figured out my bug 16:13:01 while (tape[ptr] != 0) { 16:13:02 tape[ptr] = 0; 16:13:02 } 16:13:20 haha 16:13:26 interesting 16:13:45 so how is D as a language? ive never tried or even seen it 16:13:52 now testing "http://en.wikipedia.org/wiki/Special:Search?go=Go&search=--]+-[+" 16:13:53 err 16:13:54 wtf 16:14:00 [ [ -- ] + - [ + ] ] 16:14:04 I've heard very good things from people who like C, C# and Java 16:14:05 Jontte: it's cool 16:14:10 Jontte: http://digitalmars.com/d 16:14:21 there's a free-as-in-speech implementation as gdc 16:14:28 dmd though is non-free (the backend. the frontend is open) 16:14:34 I like Java and will concede some benefits to C, so it seems nifty 16:15:01 RodgerTheGreat: D is like Java without the 'You'll be safe with me and my protection!' and 'You must type this out so I can understand it properly' 16:15:35 while (tape[ptr] != 0) { 16:15:35 tape[ptr] = 0; 16:15:35 while (tape[ptr] != 0) { 16:15:35 } 16:15:35 } 16:15:38 I understand you can compile with runtime checking, or optionally take it out. This seems to me like a very good idea 16:15:40 i uh, think that's broken 16:16:53 tape[ptr] = 0; 16:16:54 tape[ptr] = 0; 16:16:54 } 16:16:55 so's that. 16:19:08 ehird`: sorry, of course any [] that has constant=0 will not terminate... 16:19:21 oklopol: doh, you#re right 16:19:29 didn't think that one through 16:19:51 that makes things a LOT harder 16:19:52 :| 16:20:22 hmm... not really, you don't have to optimize an infinite loop... 16:20:30 for the checking# 16:20:32 it makes it really hard 16:21:02 nope, [] should be optimized to [] for constant=0 with your optimizations 16:21:13 [] can be your trivial infinite loop 16:21:18 just hardcode a check for it 16:22:12 yes 16:22:15 but i do optimization in passes 16:22:21 (infinite passes until no_opt_done) 16:22:29 and 16:22:31 [+-] 16:22:35 would be picked up instantly 16:25:14 tape[ptr] = 0; 16:25:14 while (tape[ptr] != 0) { 16:25:14 } 16:25:18 that's not right 16:25:43 that's correct 16:25:54 err, but dubious 16:26:07 tape[ptr] = 0; while (tape[ptr] != 0) {} 16:26:07 is the same as 16:26:07 tape[ptr] = 0; 16:26:49 oh 16:26:56 tape[ptr]=0 was a part of it 16:27:06 ...where did you get that? 16:28:09 -!- pikhq has joined. 16:28:28 what 16:28:37 pikhq: oh hi 16:31:34 -!- jix has quit (Nick collision from services.). 16:31:42 -!- jix has joined. 16:41:45 Done compiling, program: 16:41:57 [[--][+]] 16:42:01 One optimization step, program: 16:42:05 [[--][+]] 16:42:09 One optimization step, program: 16:42:13 [[-][]] 16:42:17 One optimization step, program: 16:42:17 [-][] 16:42:17 ^ bizzare 16:43:13 Done compiling, program: 16:43:17 [[--][+]] 16:43:21 One optimization step, program: 16:43:25 [[--][+]] 16:43:29 One optimization step, program: 16:43:33 [[[-][]] 16:43:37 One optimization step, program: 16:43:41 [[[-]] 16:43:45 One optimization step, program: 16:43:45 [[[-] 16:43:45 more bizzare 16:43:45 wow 16:43:45 i'm spamming 16:43:46 sorry :| 16:46:20 Very bizare. 16:46:41 What sort of optimization do you have running here? 16:51:41 crazy optimization 16:51:42 :P 16:51:56 (OK, kate, that's the last straw. I'm setting up gvim on this machine.) 16:52:49 [[--][+]] -> [[-][]] is technically correct, but ...why the fuck does it optimize it like that? 16:53:17 we know the current cell is zero, so [+] can be made into [] 16:53:22 that's kinda weird. 16:53:54 that's not what it does 16:53:55 heh 16:54:19 kay :P 16:54:24 then what? 16:55:40 dunno 16:56:49 And the whole thing could be reduced to [-] with ease. . . 16:57:13 (assuming that at the start of that string, current is zero, it'll get transformed into "") 16:57:19 -!- meme_ has joined. 16:57:24 -!- Guilt has joined. 16:57:52 well any [...] can be removed if you know current is 0 17:00:29 True. 17:06:15 -!- Guilt has quit ("Leaving"). 17:38:39 bsmntbombdood: No torture involved. Sorry. 17:43:55 pikhq: if you write a stringlib for pebble, i'll write pebble.bfm :P 17:43:59 as it is it would be too painful 17:47:29 ehird, I'd first need to implement arrays. 17:47:35 do so :P 17:47:41 extra points: linked list 17:47:45 calamari's array implementation does not seem to *work*. 17:48:04 In Brainfuck, any sort of complex data structure would need to be done via arrays, I fear. 18:48:05 -how many of these optimizations will improve well-written brainfuck code? 18:48:41 -why would it be possible to replace [--] with [-]? 18:49:39 -!- oklopol has quit (zelazny.freenode.net irc.freenode.net). 18:49:39 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net). 18:49:39 -!- AnMaster has quit (zelazny.freenode.net irc.freenode.net). 18:51:00 I mean, [-]+[--] will not terminate with byte cells. 18:52:51 -!- oklopol has joined. 18:52:51 -!- RodgerTheGreat has joined. 18:52:51 -!- AnMaster has joined. 18:52:58 -!- oklopol has quit (Connection reset by peer). 18:52:58 -!- oklopol has joined. 18:53:14 -!- AnMaster has quit (SendQ exceeded). 18:54:59 -!- AnMaster has joined. 18:56:35 dbc: 1. a few 2. good point 19:11:50 -!- sebbu2 has joined. 19:18:42 "[Friends-of-brainfuck] Most intimate problems can be solved with WonderCum." 19:18:50 The FoB mailing list is quite deserted. 19:19:00 Wild spammers roam free! 19:22:04 friends-of-brainfuck? what the hell is that. 19:22:22 Some mailing list. 19:22:29 fontanel-pervs 19:22:35 But even when I joined, it was already deserted. 19:22:37 -!- RedDak has joined. 19:22:51 fontanellesex 19:25:46 -!- ihope_ has joined. 19:30:47 -!- sebbu has quit (Connection timed out). 19:39:36 Yeah. It didn't use to be, seven years ago or so. 19:40:07 Looks like I missed the train by quite a long shot! 19:43:51 7 years :| 19:43:57 was there... life back then :O 19:44:11 Mostly unicellular lifeforms. 19:49:23 hmm, that explains the simpler programming languages 19:50:21 Later, more complex lifeform evolved, like birds. 19:50:31 And that's how we got the logical combinator. 19:51:14 -!- Guilt has joined. 19:55:15 -!- Sgeo has joined. 20:16:29 Why are there so many avian combinators? 20:18:08 Me cracks his knuckles for some concept-proving. 20:18:11 Wow. 20:18:17 I did "Me" instead of "/me" 20:18:25 Me slaps himself in the head. 20:18:29 * GregorR cracks his knuckles for some concept-proving. 20:18:32 http://www.codu.org/jsmmix/test.html 20:18:37 Oh yes. That's right. 20:20:13 GregorR, what's that? 20:20:25 It's a partially-implemented MMIX simulator in JavaScript. 20:20:33 "partially" I noticed 20:20:37 What's MMIX? 20:21:01 Knuth's imaginary CPU. 20:21:56 -!- vickyfi has joined. 20:22:02 Hi vickyfi 20:23:35 MMIX eh 20:23:41 who's doing MMIX? :) 20:23:50 MMIX it up, babeeee 20:23:58 GregorR, sweet. does it run mmixware examples? 20:24:14 -!- vickyfi has left (?). 20:24:16 is there any guy here who has recieved a cheque from DEK? 20:24:17 It runs the hello.mms one. 20:24:19 Whoa, GregorR 20:24:21 YOU DID IT? 20:24:28 i want to meet such a guy 20:24:29 :) 20:24:39 I've actually only been trying hello.c compiled by GCC (I like a challenge :P ) 20:24:50 Gregor: what about MMMIX? 20:24:55 jsmmmix 20:24:56 :) 20:25:01 GregorR: You did? You crazy fuck. 20:25:12 and, is there a gcc backend to mmix/ 20:25:18 Guilt: yes, there is 20:25:19 Guilt: Yeah. 20:25:27 GregorR: you make my konqueror go slow 20:25:27 I'm thinkin', C->JS would be amusing X-D 20:25:30 sweet. where is it? 20:25:31 konqui will kill you in the night 20:25:32 ehird`: Hahahah X-D 20:25:36 Guilt: It's part of GCC. 20:25:39 he wants revenge 20:25:42 GregorR, no. 20:25:49 i didn't find it in config/ 20:25:49 Guilt, yes. 20:25:57 Guilt: Then your version is old :P 20:26:00 GregorR: You load fucking ELF files? 20:26:03 GregorR: What the what. 20:26:03 shit 20:26:04 :P 20:26:10 it's already there 20:26:17 :( damn. someone did my idea 20:26:26 ehird`: Yeah, I didn't want to pay for the definition of MMO files, so I load ELF64 files :P 20:27:05 ... 20:27:07 it says Error: unimplemented instruction 20:27:23 GregorR: So... HOw well does it do gcc-world atm? 20:27:32 Guilt: That's because I haven't implemented that instruction yet :P 20:27:34 You should probably implement a simple console in JS, btw. (Use a table.) 20:27:41 then I/O would be simple 20:27:45 ehird`: I did, does it not show in konqueror? 20:28:06 Oh, yeah, doesn't show in konq. 20:28:07 That sucks. 20:28:10 In the konq I see a black box, 20:28:12 with IP .... 20:28:13 OP ... 20:28:15 repeated 3 times 20:28:24 3? >_> 20:28:29 IP 0,0,0,0,0,0,1,8 20:28:30 OP 227 20:28:30 IP 0,0,0,0,0,0,1,12 20:28:30 OP 246 20:28:30 IP 0,0,0,0,0,0,1,16 20:28:30 OP 245 20:28:34 GregorR, put some compatibility jizz in. 20:28:37 ::) 20:29:00 ehird`: Ohyeah, I see it. Hm, konq seems to barf out after three instructions :( 20:29:07 ehird`: FFox does it really well, if you have it installed try that. 20:29:10 GregorR: Ok, I'll install firefox :P 20:29:13 (The gtk! It burns! 20:29:26 (... the form controls! They burn!) 20:29:32 GregorR, does it throw an exception? 20:29:34 I'll have to look at konq though, I tried not to do anything FF-specific :P 20:29:46 Guilt: What, when it fails to implement an operator? 20:29:54 Why doesn't it work in Konq.. oh you're looking into that 20:29:58 Guilt: Erm, when it fails to run an operator because it hasn't implemented it that is. 20:30:02 Guilt: No, it just dies. 20:30:19 Does konqueror have a JS error console? 20:30:33 no but there is a seperate JS console 20:30:43 GregorR, just put alerts and try debugging 20:30:48 GregorR: Now instructions are streeeeeaming 20:30:55 Error! Unimplemented instruction 20:30:55 :) 20:31:11 ehird`: ^^ 20:31:28 http://www.codu.org/jsmmix/64bitint.js What the fuck. 20:31:36 It's 64-bit ints. 20:31:40 Yeah./ 20:31:42 You are crazy. 20:31:53 What, I needed 64-bit ints in 8-bit bins 8-O 20:32:03 Crazy idea: 20:32:07 Add some sort of javascript interface. 20:32:12 I want to write an AJAX app in MMIX. 20:32:18 in C. 20:32:27 ehird`, if it's AJAX 20:32:34 then you can do all your MMIX on the server 20:32:44 which really isn't a JS implementation then 20:32:48 exactly 20:32:52 I want to do my client side stuff in C 20:32:55 compiled to MMIX 20:32:57 running on jsmmix 20:33:01 with a JS interface 20:33:03 to write an AJAX app 20:33:03 Heh 20:33:12 I just want vim running in JS :P 20:33:21 "just" ;) 20:33:28 Wow. 20:33:29 :P 20:33:37 OK, maybe not ;) 20:33:49 GregorR: I'm considering writing an editor in D because kate wouldn't indent D properly, incidentally :P 20:34:03 ehird`: Awesome, make sure you scream about it on #d 20:34:04 i want the linux kernel with the 16x PCI express and the SIMD unrolled code running in JS 20:34:05 :D 20:34:17 isn't that leet, bitches? :D 20:34:31 I wonder if there's a MMIX Linux port >_> 20:34:39 GregorR: I have screamed about it on #d actually :p 20:34:45 GregorR, mmixware by knuth 20:34:52 Guilt: That's not Linux, that's mmixware. 20:34:58 it runs on Linux. :) 20:35:01 it was more of the 'god damnit, why aren't there any decent gui toolkits' scream though. 20:35:08 I mean a port of the Linux kernel TO mmix :P 20:35:12 and what do you mean by MMIX linux port? 20:35:13 what? 20:35:17 Linux kernel? :o 20:35:25 Linux running /on/ MMIX :P 20:35:30 there is no hardware machine to run it. just the usual stuff.. 20:35:34 GregorR, write one. 20:35:36 lol 20:35:48 -!- puzzlet has quit (Remote closed the connection). 20:35:52 -!- puzzlet has joined. 20:35:52 Knuth doesn't have anything regarding peripheral specification, does it? 20:36:04 sorry s/Knuth/MMIX 20:36:08 Not to my knowledge. 20:36:11 does it talk about how to handle busses? :) 20:36:19 Pff, you don't need peripherals to run a kernel >_> 20:36:27 but you need to use it 20:36:32 it's not going to run all by itself 20:37:29 Sure it is - I didn't say it was going to be exciting to look at :P] 20:37:50 :P 20:40:11 If you were a chipmaker, would you design MMIX and gift it to DEK? 20:44:37 If I was a chipmaker, they'd be potato. 20:47:37 So, GregorR, what C programs compiled can your emulator run? 20:47:42 Does this work: 20:47:47 int main(void) { return 42; } 20:48:02 What about this: int main(void) { write(0, "x"); } 20:48:17 I actually haven't tested it with anything short of int main() { write(1, "Hello, world!", 14); } 20:48:20 Which is what's running there. 20:48:32 That's my first goal. 20:49:45 I just wanted to post something before my brain melted :P 20:50:06 I am now going to write the most minimal compiler 'evah' 20:50:16 cat? 20:50:20 hah 20:50:20 no 20:51:09 It will have functions, untyped variables, types of int, string and array, and a few statements (if, else, while, for, return) 20:51:24 So, pretty esoteric to write anything REAL in it. :P 20:51:48 Damnit, I can't call it "Tiny Compilable Language": tcl. 20:52:49 -!- Guilt has quit ("Leaving"). 20:53:16 You do of course realize that a BF->C compiler will be more minimal? 20:55:34 Of course. 21:03:33 hey 21:03:39 i have an idea for a lang 21:05:55 -!- sebbu2 has changed nick to sebbu. 21:08:41 what 21:31:06 -!- Guilt has joined. 21:37:43 Shoot, Konqueror doesn't support Array.concat 8-X 21:39:28 -!- Guilt has quit ("Leaving"). 21:39:49 Oh, never mind, I'm doing it wrong X-P 21:39:55 Wow, konq JS == sloooooooooow 21:43:21 OK, http://www.codu.org/jsmmix/test.html now works on Konqueror 21:43:31 I was doing: 21:43:37 Array.concat(a, b, c) 21:43:39 Instead of: 21:43:43 a.concat(b, c) 21:43:52 I don't know why the first syntax worked at all :P 21:44:28 -!- jix has quit ("CommandQ"). 21:46:41 Incidentally, I can make it run much faster, but it tends to hang the browser a bit :P 21:54:28 -!- pikhq has quit (Read error: 110 (Connection timed out)). 21:56:16 -!- Guilt has joined. 21:56:29 Hi Guilt 21:57:12 hi Sgeo :) 21:59:32 -!- pikhq has joined. 22:00:26 Oh, I didn't mention, it does run int main() { return 0; } now 22:04:23 Hi pikhq 22:11:31 -!- meme_ has quit ("Lost terminal"). 22:18:39 'Lo, Sgeo. 22:19:00 GregorR: What's this? Actual *work* on C2BF? 22:19:11 . . . No. 22:19:21 Heh, no :P 22:19:27 http://www.codu.org/jsmmix/test.html 22:20:04 That is spiffy. 22:20:56 * pikhq suspects a MMIX port of Linux would be possible; IIRC, GCC targets MMIX already 22:22:30 GCC does target MMIX already, that's why I'm using it ;) 22:22:57 ;) 22:23:12 Oh, God. . . 22:23:21 Plof->C->MMIX. 22:23:38 Hahahah 22:23:41 Not quite the plan :P 22:24:17 Hmm. Plof->JS runs Plof->C->MMIX? :p 22:24:41 YES 22:24:42 :P 22:24:50 * ihope_ reads up on Javascript 22:28:22 Hmm. ChatZilla has an /eval command for evaluating JavaScript expressions... 22:28:41 who doesn't 22:29:38 ChatZilla was, in fact, written in JavaScript. 22:30:14 Javascript and XUL. Get it right, Gregor. 22:30:31 Indeed. 22:30:38 * ihope_ sets x to 3 22:30:53 Well, that didn't seem to do much. 22:31:06 * pikhq declares that 0/0=1 22:31:23 i=3 will surely do something more. 22:31:28 * pikhq goes on to prove that black is white, and white black. 22:31:49 Ooh, there's a thing called "document". 22:31:52 * ihope_ sets it equal to 3 22:32:06 Now it's back to normal. Bah. 22:36:01 Cool. This tutorial is recommending people to use JavaScript to prevent people from viewing content which has been sent to their browser. 22:36:10 LMAO 22:37:47 ihope_, oO 22:38:01 Ok, there's a college I want to apply to 22:38:13 But I didn't know if the online form would actually send an email or something 22:38:19 So I went to the URL that the form goes to 22:38:25 "The following information has been submitted to our office:" 22:38:31 Then all the fields, blank 22:38:31 >.> 22:38:40 "An admissions representative will be contacting you shortly." 22:40:01 Sgeo, join me and cherez next year. 22:40:09 ? 22:40:39 cherez is at UMR, and I will be there next year. 22:40:43 -!- AnMaster has quit ("ERC Version 5.2 (IRC client for Emacs)"). 22:40:49 (Pikhq is following me to college, and has become quite an evangelist.) 22:40:49 * pikhq just returned from a campus visit. . . 22:41:00 UMR? 22:41:02 (it's a good college. What can I say?) 22:41:07 * Sgeo needs to stay close to home :/ 22:41:33 University of Missouri - Rolla. (soon to be Missouri University of Science & Technology) 22:42:40 Have to stay close to home? Why? 22:43:05 My dad wants me to 22:44:07 And your dad can do *jack shit* about it. . . 22:44:29 :-P 22:44:45 that depends heavily upon who's paying for tuition 22:45:24 Ah. 22:45:40 -!- RedDak has quit (Remote closed the connection). 22:45:57 (in my case, it's 'whichever generous souls donate', rather than 'parents'. . .) 22:46:10 My dad's probably paying.. 22:46:44 -!- AnMaster has joined. 22:46:51 Hi AnMaster 22:47:13 hmh 22:50:14 pikhq: i'll donate $1 22:50:26 (Which in real money is about £0.00000000001 these days) 22:52:22 Could you just donate a pound? That ought to pay for my entire college education. :p 22:52:39 real money :D 22:52:45 Do you want a pound of feathers or a pound of lead? 22:53:06 ihope_: A Great British Pound, actually. 22:53:24 pikhq: Aww, ok. 22:53:29 I'll make sure they're from Great British chickens. 22:53:31 (That's $6465456498498498498498498494894984. 22:53:42 (although I'll take either a pound of feathers or lead if it's signed by the Queen of England, so that it's legal tender) 22:54:15 pikhq: note to self, ask queen for autograph next time i se her 22:54:17 *see 22:54:21 LMAO 22:54:41 Ask for the text "By order of the Queen of England, this is legal tender for all debts." ;p 22:54:56 XD 22:54:58 I think it'd be fun to have a Queen. 22:56:10 ihope_: Bah, no, it's quite annoying to have 'power' (yeah right) descended by family. 22:56:12 And oh so backwards. 22:56:18 * ehird` wonders what tokens I need 22:56:34 Quite annoying to be a figurehead because one of your parents was one? 22:56:46 ihope_: Quite annoying to have a figurehead because their parents were. 22:56:56 Speaking from the perspective of a citizen. 22:57:05 * ihope_ nods 22:57:21 Well, why can't we elect a Queen, then? 22:57:37 Because then Queen is an inappropriate title. 22:57:39 'cause then it wouldn't be a queen/king 22:57:43 pikhq, marry me 22:57:44 I mean 22:57:46 that's what I sid 22:57:48 *said 22:58:11 Queen Except for the Fact that They were Elected? 22:58:30 'elected useless figurehead' 22:58:34 Yeah! 22:58:59 pikhq: GregorR: you have a chance to force your plof syntax on ltc right now, limited time offer :P 22:59:13 ltc? 23:00:42 Langugae that is Tiny and Compilable 23:00:55 (Tiny Compilable Language's acronym was taken...) 23:00:56 ;) 23:01:36 Ah. 23:01:49 Just an experiment of mine :P 23:01:49 I guess Tcl may be good. 23:02:06 The idea is: tiny tiny language->lex->parse->compile to Instruction class of some sort->output C 23:02:09 Wait, ltc's syntax is forceable? 23:02:26 With the newfound language-writing skills I will go on to write DZing :P 23:02:29 ihope_: huh? 23:02:41 I'm just saying that pikhq and GregorR can suggest Plof syntax for me to put in :P 23:02:52 Make it look like this: IncAll x = Map (L \f (Inc f)) x 23:03:05 no, that's a lot of work :P 23:03:29 (= (IncAll x) (Map (L \f (Inc f)) x))? :-P 23:04:10 No! :P 23:04:15 I want something... I dunno. 23:04:16 strange ;P 23:04:50 var IncAll = (x){map((f){f++})}; 23:05:08 Erm. 23:05:26 Sure. 23:05:48 (x){y} is kinda bad 23:05:50 var IncAll = (x as Collection){ x.map((f){ f++ }) }; 23:05:52 hard to parse manually :P 23:05:54 and 23:05:56 no objects 23:05:59 for now 23:06:03 and variables are typeless 23:06:03 :P 23:06:33 var add = {x,y|x+y} <-- I could probably do that. Is that good enough? :P 23:06:48 Maybe instead of (L \f (Inc f)) I should use (\f -> Inc f). :-P 23:07:24 var incAll = {x,something}? 23:07:36 ihope_: what about multiple arguments 23:07:51 Either currying or multiple arguments. 23:09:22 I want multiple arguments 23:09:34 currying... hard when using C :P 23:09:44 Then multiple arguments. 23:10:19 So how would I do that with your syntax? 23:10:59 Er, oops. 23:11:06 var incAll = {x|something} 23:11:59 var incAll = {x | x.map({f | f+1})} 23:12:00 I guess. 23:12:04 err 23:12:06 var incAll = {x | x.map({f | f+1})}; 23:12:32 * pikhq gets bored, tries to curry in Plof 23:12:39 Cancer of the semicolon. :) 23:13:04 Though foo.bar(quux) has never made all that much sense to me, I guess Redivider does have the same sort of thing with bar(quux)[foo]. 23:13:12 pikhq: var curry = (f,x){(y){f(x,y)}} 23:13:26 ihope_: Actually, I forgot, no objects 23:13:37 var incAll = {x | map(x, {f | f+1})}; 23:13:40 ehird`: I'm not expecting it to take forever. ;) 23:13:47 So.. 23:13:49 Let's see. 23:13:53 What tokens do I need... 23:14:27 VAR, ID, EQUALS, LT, GT, PLUS, MINUS, DIVIDE, TIMES, LPAREN, RPAREN, LBRACE, RBRACE, SEMICOLON, 23:14:31 Do you have stuff like f(x): {x = x+1}? 23:14:41 IF, ELSE, ELSEIF, WHILE, FOREACH 23:14:43 and that's it 23:14:48 ihope_: nope, just variable bindings for now 23:15:28 Do you have any way at all for a function to return multiple things, apart from global variables? 23:15:54 aha! of course, I need more: 23:16:03 LBRACKET, RBRACKET, RETURN 23:16:06 err 23:16:07 and COMMA 23:16:09 and that's it!! 23:16:13 oh 23:16:16 and LTEQ, GTEQ 23:17:53 So, that's 22 tokens in all. 23:17:57 Wait, no 23:17:58 23 23:17:59 Not bad. 23:19:41 Hmm. 23:19:46 How many tokens does plof have? *checks* 23:19:59 ... a few more 23:20:51 OK, in actual fact I have 26 23:21:25 VAR, ID, LPAREN, RPAREN, LBRACE, RBRACE, LBRACKET, RBRACKET, RETURN, COMMA, IF, ELSE, ELSEIF, WHILE, FOREACH, EQ, LT, GT, LTEQ, GTEQ, PLUS, MINUS, TIMES, DIVIDE, MODULO, STRING, NUMBER 23:23:18 Oh! and SET of course 23:26:21 -!- Guilt has quit ("Leaving"). 23:32:05 Hmm. 23:32:09 I don't like | as an argument seperator 23:32:35 Separating argument from result? 23:32:40 no 23:32:42 like {x|x} 23:32:42 is id 23:32:46 {x,y|x+y} is + 23:33:22 * ihope_ nods 23:33:32 but | there is ugly 23:33:35 so what should it be? :P 23:34:00 =? 23:34:15 = is taken for ASSIGN 23:35:57 .? 23:36:07 Space? :-P 23:36:35 ¿? 23:36:38 loljk 23:36:46 space wouldn't work well :P 23:36:53 {x,y,z OHNOES} 23:36:57 also 23:36:59 it'd mean EVERY space would be parsed 23:37:00 ¸˙? 23:37:01 :P 23:37:06 {x . x} 23:37:11 {x, y, z . x + y + z} 23:37:11 ASCII EOF, ASCII DEL... 23:37:11 » 23:37:13 « 23:37:14 . is kinda not noticable 23:37:22 Sgeo: something i can actually type :p 23:37:28 * Sgeo can type those =P 23:37:32 {x -> x} 23:37:39 Compose > > 23:37:39 {x, y -> x + y} 23:37:41 » 23:37:57 var incAll = {x -> map(x, {f -> f+1})}; 23:37:59 ASCII TAB is very noticeable in some cases :-P 23:38:24 ihope_: Hmm.. People who use emacs defaults would get syntax errors randomly. 23:38:26 This is very appealing to me... 23:39:06 :-) 23:40:26 haha, assinging oo to infinity 23:40:28 cute 23:46:45 GregorR: HAY I FOUND BUG IN YOUR LEXER. 23:47:14 I'm sure there are plenty 23:47:15 im in ur lexer, etc. etc.? 23:56:07 GregorR: If a string contains a newline you don't line++ 23:56:17 Haha, my lexer will be weiiiird 23:56:24 Since as soon as it finds a token it gives up, 23:56:37 "varx={x->returnx}" is valid 23:56:53 it's, of course, "var x = {x -> return x}"