00:19:57 <bsmnt_bot> the peeple tell me to due bad things 
00:25:10 <SimonRC> *BOGGLE*   http://www.mixedtraffic.net/images/funnies/14067.jpg 
01:01:05 <SevenInchBread> yay! got the esopage up!   ...but I'm too lazy to type out all the specification 
01:15:20 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 
01:15:51 -!- nazgjunk has joined. 
01:20:53 -!- nazgjunk has quit ("Bi-la Kaifa"). 
01:48:16 -!- Arrogant has quit ("Leaving"). 
01:52:29 -!- nazgjunk has joined. 
01:52:37 <SevenInchBread> ...hmmm... I should equip egobot with a befunge that can read multiline befunge programs. 
01:54:14 <SevenInchBread> say  !befunge-start command on one line, then put the rest of the program in subsequent lines... and then end with a !befunge-end line. 
02:00:09 -!- SevenInchBread has quit ("haaaaaaaaaa"). 
02:01:54 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 
02:02:18 -!- nazgjunk has joined. 
02:09:29 -!- SevenInchBread has joined. 
02:14:03 <SevenInchBread> I wonder if you could take advantage of swapping two values in an esolang. 
02:14:22 <SevenInchBread> that was the original idea I had for an infinitely visible BF. 
02:14:48 <SevenInchBread> if you swap two values with the same value... the net effect is a NOP...  
02:23:07 -!- SevenInchBread has quit (Remote closed the connection). 
02:27:34 -!- nazgjunk has changed nick to na[zZz]gjunk. 
02:36:00 -!- ihope has joined. 
02:36:17 <ihope> HAI IM GREGORR I LIVE IN OREGON AND I WORK FOR INTEL >_O 
02:43:49 -!- SevenInchBread has joined. 
02:49:09 -!- tgwizard has quit (Remote closed the connection). 
02:51:37 -!- nazgjunk has joined. 
02:51:38 -!- na[zZz]gjunk has quit (Read error: 104 (Connection reset by peer)). 
02:53:11 -!- nazgjunk has changed nick to na[zZz]gjunk. 
03:06:32 -!- nazgjunk has joined. 
03:06:33 -!- na[zZz]gjunk has quit (Read error: 104 (Connection reset by peer)). 
03:07:18 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 
03:47:22 <ihope> ~exec self.ihope = IRCbot("80.32.164.76", "Python", "nope", "ihope", "Now 100% Real", 9999, "#lobby", True, ["#lobby"], "#", True); self.ihope.listen() 
04:01:33 <ihope> I'm struggling with bsmnt_bot! 
04:01:54 <ihope> Because it isn't working like I want it to and I don't know what to do. 
04:02:45 <ihope> How do I make the bot execute everything it receives in a PRIVMSG? 
04:03:39 <ihope> That won't only execute stuff with an #exec? 
04:03:49 <ihope> Then again, that's what I wanted to do anyway :-P 
04:04:09 <ihope> Um, yeah, so how does it work? 
04:06:09 <ihope> #exec self.register_raw(r"\S+ PRIVMSG ([^#]\S+) :(.*)", blah)? 
04:06:29 * ihope ponders disconnecting without warning 
04:06:40 <ihope> So what would blah be? do_exec? 
04:07:54 <ihope> It's not doing anything. 
04:16:31 -!- bsmntbombdood has left (?). 
04:16:40 -!- bsmntbombdood has joined. 
04:17:44 -!- bsmnt_bot has quit. 
04:17:48 -!- bsmnt_bot has joined. 
04:33:16 -!- ihope has quit (Read error: 110 (Connection timed out)). 
05:34:47 -!- digital_me has quit ("Lost terminal"). 
05:41:39 -!- digital_me has joined. 
05:50:05 -!- pgimeno has quit (Connection reset by peer). 
05:50:11 -!- pgimeno_ has joined. 
05:50:30 -!- pgimeno_ has changed nick to pgimeno. 
06:33:31 -!- digital_me has quit ("Lost terminal"). 
06:54:34 -!- oerjan has joined. 
07:16:34 -!- anonfunc has joined. 
07:59:59 -!- clog has quit (ended). 
08:00:00 -!- clog has joined. 
08:00:21 -!- sgeo_ has joined. 
08:33:37 -!- helios24 has joined. 
09:50:10 -!- Sgeo has quit (SendQ exceeded). 
10:10:11 <oklopol> haha i just invented lazy evaluation :D 
10:10:41 <oerjan> next: fire or the wheel? :) 
10:11:30 <oklopol> thought i should invent a way to use map so that it only needed to evaluate as the values are actually needed... then i had this incredible idea of generalizing this so that NOTHING is done unless needed... 
10:12:13 <oklopol> i wish i'd born in the fifties 
10:13:36 <oerjan> do you read Lambda the Ultimate?  There was a recent thread on "the golden age" of the sixties and seventies. 
10:13:57 <oklopol> sounds something i'd like to read 
10:14:14 <oerjan> it's a weblog about programming languages, at http://lambda-the-ultimate.org/ 
10:15:27 <oerjan> it is often very high-level, though. 
10:15:33 -!- sebbu has joined. 
10:16:05 <oerjan> they encourage links to research articles and the like. 
10:16:21 <oklopol> you mean i wouldn't understand it? 
10:17:13 <oerjan> well maybe not all of it, but there is somewhat lighter fare on its "discussion forum" 
10:18:19 <oerjan> which actually is the majority of threads. 
10:18:22 <oklopol> where can i see an article list there? 
10:18:59 <oklopol> the front page changes daily and contains the link to the article? 
10:19:38 <oklopol> too much text and links, there should just be a big button 
10:19:42 <oerjan> changes immediately with a new main topic, i guess. 
10:20:08 <oklopol> a link to the article of the day :D 
10:20:20 <oklopol> i get dizzy when there's so much links 
10:20:34 <oerjan> there can be more than one article, and there are several editors. 
10:21:16 <oerjan> since i follow it every day, i like to read it from the Recent Posts subpage.  Logging in helps then since new articles are marked. 
10:21:33 <oerjan> *articles and comments 
10:22:19 <oerjan> besides the main page doesn't contain the forum topics. 
10:24:40 <oerjan> btw the topic i mentioned at the start is first on the next page. 
10:31:47 <oklopol> i understand the article they have now 
10:32:37 <oklopol> i think i might start reading daily, i like reading junk, usually just randomly search for that kind of stuff 
10:33:28 <oklopol> i happen to know erlang and actors quite well though 
10:33:48 <oklopol> but maybe i know everything, i don't know what i don't know 
10:33:56 <oklopol> i don't know cobol though, i wanna know it 
10:36:47 -!- nazgjunk has joined. 
10:45:34 -!- kxspxr has joined. 
11:37:18 -!- oerjan has quit ("leaving"). 
11:40:08 -!- tgwizard has joined. 
11:53:08 -!- nazgjunk has changed nick to timonator`. 
11:53:18 -!- timonator` has changed nick to nazgjunk. 
12:13:50 -!- ihope has joined. 
12:14:13 -!- ihope has quit (Client Quit). 
13:11:58 -!- anonfunc has quit. 
13:25:25 -!- alex89ru has joined. 
14:04:09 -!- goban has quit (Remote closed the connection). 
14:04:28 -!- goban has joined. 
14:10:01 -!- alex89ru has quit (Remote closed the connection). 
14:13:26 -!- tokigun has quit (Read error: 110 (Connection timed out)). 
15:04:06 -!- goban has quit (Read error: 104 (Connection reset by peer)). 
15:04:18 -!- goban has joined. 
15:25:55 -!- UpTheDownstair has joined. 
15:25:55 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 
15:29:48 -!- oerjan has joined. 
15:30:56 <oerjan> what is the word for an explanation why something might be worth considering? 
15:40:14 <oerjan> *sigh* i'll try with "rationale" 
15:55:59 <oerjan> wrong word class, sorry. 
15:56:21 <oerjan> anyway it was just for an edit summary 
16:20:07 -!- goban has quit (Remote closed the connection). 
16:20:40 -!- goban has joined. 
16:25:48 -!- digital_me has joined. 
16:30:33 -!- goban has quit (Read error: 104 (Connection reset by peer)). 
16:30:49 -!- goban has joined. 
17:05:05 -!- Sukoshi has quit (Read error: 104 (Connection reset by peer)). 
17:19:13 -!- UpTheDownstair has changed nick to nazgjunk. 
17:21:33 -!- sgeo_ has changed nick to Sgeo. 
17:23:50 -!- goban has quit (Read error: 104 (Connection reset by peer)). 
17:28:36 -!- goban has joined. 
17:34:24 -!- wooby has joined. 
18:03:53 -!- Sukoshi has joined. 
18:41:26 <bsmntbombdood> "Lowering: A Static Optimization Technique for Transparent Functional Reactivity" 
18:41:59 <SimonRC> SevenInchBread:   http://doi.acm.org/10.1145/142137.142162 
18:42:24 <SimonRC> "02:11 < SevenInchBread> I wonder if you could take advantage of swapping two values in an esolang." 
18:42:58 <oerjan> um, he has heard of Smetana, hasn't he? :) 
18:44:31 <oerjan> how are you telling it to quit? 
18:48:02 <oerjan> hopefully you are not using print in it. 
18:48:33 <oerjan> or you would hit the stdout problem :) 
18:49:21 <bsmnt_bot> <module 'ski_repl' from '/bot/ski_repl.py'> 
18:50:18 <SimonRC> If you haven't seen it, read the link I just gave about Linear LISP. 
18:51:08 <SimonRC> O(1) copy, O(1) equality testing, EQ is the same as EQUAL, and no GC required! 
18:51:51 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2)))))) 
18:52:05 <SimonRC> And there is no sharing, so you can mutate values as much as you like without worrying about other uses of them.  REVERSE == NREVERSE.  SORT == NSORT. etc 
18:52:29 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))) 
18:52:40 -!- bsmnt_bot has quit (Remote closed the connection). 
18:52:44 -!- bsmnt_bot has joined. 
18:53:11 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))) 
18:53:19 -!- bsmnt_bot has quit (Remote closed the connection). 
18:53:21 -!- bsmnt_bot has joined. 
18:54:11 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl") 
18:54:19 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))) 
18:55:25 <bsmntbombdood> sometimes it leaves things partially unreduced though 
18:56:29 * SimonRC tries to remember what the simple infinite loop is. 
18:58:01 <oerjan> so it is not actually _meant_ to stop prematurely? 
18:58:12 -!- kxspxr has quit. 
18:59:19 <oerjan> eh, it's called "correct implementation" ;) 
19:02:44 <SimonRC> Gargh!  What twat at mozilla decided the put the "quit without confirmation" key right next to the "close tab" key. 
19:10:16 <oerjan> i think i know a way to fix that simp. 
19:10:51 <oerjan> Simplify simp[0] _before_ checking for the test cases. 
19:13:48 <oerjan> why, isn't that the point? ;) 
19:13:57 <oerjan> Then you need to include a resource limit. 
19:14:16 <SimonRC> keep track of the number of reductions that take place or something 
19:15:24 <SimonRC> well, have a variable that contains the number of applications that have taken place so far, and increase it whenever you do an application 
19:16:50 <oerjan> it should be enough to do it for the S case. 
19:17:12 <oerjan> since that is the only one that can increase the expression size. 
19:21:43 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl") 
19:21:54 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))) 
19:23:23 <oerjan> well i take it you have to stop somewhere? 
19:24:14 <oerjan> what does your new simp return when the resource limit is exceeded? 
19:24:43 <oerjan> and where is that limit checked? 
19:25:29 <oerjan> hm... simplify t[1] before returning even in that case. 
19:26:09 <oerjan> then only S reductions will be avoided, I think. 
19:26:40 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl") 
19:27:03 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl") 
19:27:09 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))) 
19:28:42 <bsmntbombdood> ~exec globals()["ski_repl"] = __import__("ski_repl") 
19:28:49 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~ski (.*)", lambda x,y: bot.raw("PRIVMSG %s :%s" % (y.group(1), ski_repl.unparse(ski_repl.simp(ski_repl.parse(y.group(2))))))) 
19:29:06 * oerjan wonders how much of that is actually necessary 
19:31:30 <oerjan> globals are looked up every time they are referenced, not? So you should definitely not need to redo the register_raw. 
19:32:50 <oerjan> it's not perfect for functional programming, i take. 
19:40:56 -!- jix__ has joined. 
19:45:08 <bsmntbombdood> ~exec self.register_raw(".*tell me x.*", lambda m: self.raw("PRIVMSG #esoteric :%s" % x)) 
19:45:18 -!- bsmnt_bot has quit (Remote closed the connection). 
19:45:21 -!- bsmnt_bot has joined. 
19:45:36 <bsmntbombdood> ~exec self.register_raw(".*tell me x.*", lambda m: self.raw("PRIVMSG #esoteric :%s" % x)) 
19:46:16 <bsmntbombdood> ~exec self.raw_regex_queue[-1][1].func_globals = locals() 
20:09:37 -!- sebbu2 has joined. 
20:10:08 -!- jix__ has quit (Read error: 104 (Connection reset by peer)). 
20:14:25 -!- kxspxr has joined. 
20:15:07 -!- kxspxr has quit (Client Quit). 
20:28:37 -!- sebbu has quit (Connection timed out). 
20:29:35 <SimonRC> ooh, esoteric:    http://home.pipeline.com/~hbaker1/sigplannotices/COMFY.TXT 
20:32:15 -!- jix__ has joined. 
20:38:33 <oerjan> appears to be seriously intended, on first look.  If that is Vaughan Pratt mentioned, I think I remember him for writing about "Chu Spaces" as models of linear logic. 
20:39:39 <oerjan> although this seems much earlier, if those 60's references are a guide. 
20:40:54 <oerjan> On the other hand, you could say it was in the Golden Age, when you could get research funding for being esoteric :) 
21:08:29 -!- calamari has joined. 
21:28:28 <GregorR> Heeeeeeeeeeeeeeeeeeeeeey calamari, you speak Java ... ^^ 
21:29:19 <calamari> my Java might be a little rusty now  
21:29:35 <calamari> but we can speak JCL if you'd like  
21:30:08 <oerjan> JCL? The infamous IBM language? 
21:30:13 <GregorR> http://groups.google.com/group/nestedvm/browse_thread/thread/f11cc0b0e9a9b584 < I need sys_select in NestedVM to port Java. 
21:30:15 -!- goban has quit (Read error: 104 (Connection reset by peer)). 
21:30:29 <GregorR> But reading that code just makes my head swim :( 
21:30:30 -!- goban has joined. 
21:33:38 <calamari> why are you porting a perfectly good c++ program to java?  seems rather cruel 
21:37:24 <SimonRC> it makes the object's allocation policies into part of its interface 
21:38:14 <GregorR> SimonRC: Blah blah blah don't care. 
21:38:23 <GregorR> calamari: I'm just trying to make it usable from Java so I can make an applet of it. 
21:38:40 <GregorR> SimonRC: Blah blah blah it's not built in, get yourself Boehm GC and shaddap ^^ 
21:39:09 <calamari> and you're sure you need select? 
21:39:23 <calamari> I don't think I've needed that for any of my java irc stuff 
21:39:39 <GregorR> calamari: IRC only had one socket, no? 
21:39:54 <GregorR> calamari: DirectNet has X sockets. 
21:40:01 <GregorR> calamari: Where X is a number often greater than 1. 
21:40:22 <calamari> well, I guess threads don't really scale well 
21:40:26 <GregorR> I stopped using threads in DN a long time ago ... and NestedVM doesn't have threads support. 
21:41:24 <calamari> unfortunately my knowledge of nio is nil, sorry 
21:41:56 <GregorR> I don't want you to go out of your way, I just thought this whole junk may be easier than I thought ;) 
21:43:02 <calamari> or you could write some kind of browser plugin to support c++ programs ;) 
21:43:35 <calamari> then the user would hate you when they go to a site and it wipes their system due to lack of security 
21:44:51 <calamari> GregorR: btw where do you work? 
21:45:18 <GregorR> Sorry, tried to dereference a NULL pointer. 
21:45:25 <GregorR> Somewhat, not desperately. 
21:45:50 <GregorR> I still have 1.5 years 'til I have an undergrad degree. 
21:45:55 <calamari> IBM has it's embedded Linux operations in Oregon 
21:46:11 <calamari> thought you might enjoy something like that 
21:46:21 <GregorR> But couldn't get the job :P 
21:46:28 -!- tgwizard has quit (Read error: 110 (Connection timed out)). 
21:46:40 <calamari> I could put in a good word for you 
21:46:41 <GregorR> Well, lesse ... I have no degree. 
21:46:52 <calamari> you could be a co-op first, not a problem 
21:47:11 <fizzie> Co-op first, deathmatch later. (Sorry, free association.) 
21:47:49 <calamari> It's kinda nice because once you graduate you are pretty much guaranteed a job as long as you do a good job 
21:48:01 <GregorR> Well, I intend on going to grad school. 
21:48:21 <GregorR> I'm considering professorship *shrugs* 
21:48:31 <calamari> they have tuition reimbursement 
21:48:53 <calamari> those who can, do.. those who can't, teach 
21:51:25 <calamari> anyhow, if you'd like me to forward it on to a guy I know in that dept.. send me your resume jeffryj at us ibm com 
21:52:04 <SimonRC> Boehm GC has a few points of suckitude:  If there is a fake pointer to the head of a list, and that list is continually created at the tail by one routine and destroyed at the head by another, then memory usage will grow indefinitely, as the fake pointer prevents *any* of the list from being collected. 
21:52:18 <SimonRC> Plus compiler optimisations can seriously fuck it up. 
21:56:28 <calamari> can't wait to build my computer.. want to try out linux amd64 
22:01:29 <calamari> hmm, ubuntu came out in 2004 so it looks like I've been using linux for about 2 1/2 years 
22:15:54 * SimonRC finds out that the Inform library is even cruftier than he remembered. 
22:16:10 -!- goban has quit (Connection timed out). 
22:16:13 <SimonRC> the main parsing routine is a sight to behold 
22:16:19 -!- goban has joined. 
22:17:14 <SimonRC> 1200 lines of code, repeatedly re-using the half-a-dozen local variables to which it is restricted. 
22:17:35 <SimonRC> and a map at the beginning to help you understand it all. 
22:19:05 <SimonRC> The fact that it has to handle english grammar, loads of exceptions, and must call and pay attention to a vast set of hooks doesn't help either. 
22:21:02 <SimonRC> oh, yeah, and it's written in a language mostly less powerful than C. 
22:22:01 -!- goban has quit (Read error: 104 (Connection reset by peer)). 
22:27:27 <oerjan> is this intended to be a general statement? :) 
22:43:11 -!- goban has joined. 
22:50:47 <oerjan> what about it? not that i know/remember the details, but it is hardly the state of the art. 
22:51:13 <bsmntbombdood> it iterates through the entire memory like 4 times each run 
22:53:43 <oerjan> that's sort of like crying because Turing machines are slow... :) 
22:56:26 -!- SevenInchBread has quit ("haaaaaaaaaa"). 
23:21:16 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").