00:00:18 cheap or poor? 00:00:27 Both, I think. 00:00:36 oh no. 00:00:39 a _terrible_ bug 00:01:46 hmm. how advanced is introduction to algorithms, and why clrs? 00:01:54 Well, it's the classic. 00:02:03 And it's called CLRS because of the authors. 00:02:04 yes but i haven't read it. i assume you have 00:02:06 oh. 00:02:16 right. 00:02:44 Well, it's no Knuth. So it's not very advanced-advanced. But it's (maybe) good to have a reference book of them basics, just in case. 00:03:13 The first edition was abbreviated CLR; the second edition added an author and a letter in the abbrev. 00:03:20 does it prove algos, or just state them? 00:03:45 or a random mixture 00:04:07 Something like that. It's not *that* formal, but it's no cookbook either. 00:04:31 http://pastie.org/364233.txt?key=9rpypyo03fxtfukjimeq 00:04:35 There's a reasonable amount of work done on computing worst-case asymptotic effectiveness and things like that. 00:04:40 Bracism->Python translator. 00:04:44 Written in Bracism, of course. :-P 00:04:55 well yes, but that's much easier than correctness proofs, ime 00:05:13 wait actually i broke it fuck 00:05:22 ehird: how does it do dictionaries? 00:05:27 bsmntbombdood: cleverly 00:05:35 ill show the non-obfuscated source 00:05:35 second 00:06:17 just need to fix this one bug 00:06:34 oklopol: Sure, that's probably why they've bothered to do them. 00:07:06 bsmntbombdood: http://pastie.org/private/wqoy0vq8pdrfkapgzgg 00:07:15 should be fairly easy to figure out how it works 00:07:16 because ordos and the like are often pretty much just arithmetic, with a small layer of explanation 00:07:55 i read *an* introduction to algorithms at some point i think 00:08:07 i mean skimmed through it because i already knew all the algos 00:09:31 no actually there were a few trees i didn't know about, these things where you have the strings as paths in a tree, and can thus check what's in the dict etc. 00:09:38 but anyway, i wonder what book that was 00:10:17 bsmntbombdood: see how it works? 00:10:20 it was really big, but most of it was sample code, which was written in C# i think, and thus took the bulk of the book (levenshtein was like 3 pages) 00:10:21 no. 00:10:42 bsmntbombdood: :D, basically, it only triggers a block if you have a colon, whitespace, then a {, BUT 00:10:51 it only does that trigger if the last { seen entered a block 00:11:00 so {...} doesn't enter a block, no colon 00:11:01 but 00:11:04 {'a': {}} 00:11:05 doesn't either 00:11:09 since the last { seen didn't open a block 00:11:19 it's an essentially foolproof algorithm 00:12:02 CLRS code samples are all in their own pseudo-code thing. 00:12:19 pseudo-code is a great evil. 00:12:56 The book's web page has their LaTeX macro for typesetting that pseudo-code, I've used it a couple of time for presentation slides and stuff. 00:13:37 fizzie are you IRL buds with lament I have this fucked up view of #esoteric, and all the ops know each other. 00:13:56 ehird: No. I don't even know which country lament is from. 00:14:03 he lives in canada. 00:14:10 but he's russian 00:14:10 but he's russian iirc 00:14:13 snap 00:14:28 He's like a superhero 00:14:34 "LAMENT! He lives in canada... 00:14:36 But he's RUSSIAN!" 00:14:50 yeah, i wonder why that was such a crucial detail 00:15:04 i mean i'm australian, but i don't mention it much 00:15:08 lol 00:15:13 lament has inherent russian-nature 00:15:23 wait oklopol are you really australian 00:15:35 ehird: how really are we talking? 00:15:36 From the people in the nick-list I only IRL-know ineiros. And I might've seen Deewiant accidentally, since we're in the same university. 00:15:42 oklopol: like, really 00:15:48 like really really? 00:15:53 fizzie: wait you know ineiros the famous idler? WHOAAAAAAAAA. 00:16:04 he's been idle _thirty two days_ 00:16:44 i haven't seen esotericers irl, not even myself 00:16:44 Not on the IRCnet side of the fence. 00:16:50 at least directly and completely 00:17:01 IRCnet is a crazy finnish thing. 00:17:09 oklopol: there needs to be an #esoteric meetup sometime :||||||| 00:17:17 hehe. 00:17:37 would be so coo 00:17:38 l 00:17:39 It's not that Finnish. Although I haven't seen statistics. 00:18:02 There are .de people around, at least. 00:18:06 night 00:20:53 Seems to be sort-of losing in popularity: http://irc.netsplit.de/networks/details.php?net=IRCnet&submenu=years when compared to the trend in http://irc.netsplit.de/networks/details.php?net=freenode&submenu=years 00:21:46 Freenode has only had 52041 users max? 00:21:48 Seriously? 00:22:23 Well, it's not a big network. 00:22:37 It feels like one of the biggest... 00:22:59 :wolfe.freenode.net 266 fasdfa :Current global users: 44083 Max: 52254 00:23:28 Must sleeps now, night. 00:24:22 hmmm 00:24:28 so in haskell all object are immutable 00:24:38 does that mean they can use reference-counting for gc? 00:24:55 no 00:25:45 you can still have circular references that go out of scope 00:25:45 no? 00:26:00 how can you have a cricular reference? 00:26:09 bsmntbombdood: easy 00:26:12 let x = [x] 00:26:15 a=1:a? 00:26:21 x=[x] doesn't work 00:26:26 oh 00:26:27 right 00:26:28 types 00:26:30 :P 00:26:37 newtype Foo = Foo Foo 00:26:41 myFoo = Foo myFoo 00:26:45 yeah it's not like types are that crucial in haskell :P 00:26:51 oh hmm 00:27:16 bsmntbombdood: in fact, circular structures are very good for haskell programs 00:27:22 e.g. a fold over an infinite list is an interesting control structure 00:27:59 bsmntbombdood: take this with a grain of salt though, i'm not feeling all that bright today, there might be some other optimizations for gc at least, given immutability. 00:28:28 i just haven't thought or read about it, and clearly you can at least do what makes mutable stuff circumvent refcounting. 00:31:45 http://www.amazon.com/Garbage-Collection-Algorithms-Automatic-Management/dp/0471941484 00:31:48 that book is $100 00:35:33 lol cool 00:39:39 http://product.half.ebay.com/_W0QQcpidZ405747QQprZ305965 00:40:01 1996? 00:40:09 Garbage collection has progressed a loooooong way since then. 00:40:28 "Visible shelf wear -- may have some notes/markings on pages" - $32.00 00:40:56 lofl 00:41:06 Never used - may have notes 00:41:12 lol 00:41:15 lofl: lolling on the floor laughing? 00:41:22 or 00:41:26 laughing on the floor louding? 00:41:39 there is no expansion 00:41:40 just lofl. 00:41:43 Loudly on the floor laughing. 00:41:45 oic 00:41:48 I am loudly on the floor. 00:41:48 kind of like oko then 00:50:05 I see that my name has been said, so I look up through history to see in what context it was said, and am subjected to THAT :P 00:52:04 what was it 00:55:51 mnomnomno 01:09:08 ehird: I think I got the persistance of triggers working. http://dpaste.com/110549/ 01:09:46 just need to call bot.save_callbacks() to save, and it is loaded upon restart 01:11:54 -!- Corun has quit ("Leaving"). 01:13:52 ehird: Strangely, the issue with the topic-change doesn't seem to have any obvious solution. The bot sends the TOPIC-command to the server, which responds with the standard ":nick!user@host TOPIC #chan :...", but the topic doen't seem to get changed anyway. 01:17:57 -!- seabot has quit (Read error: 113 (No route to host)). 01:37:49 is something besides bsmntbombdood developing bsmnt_bot ?!?! 01:48:29 well... ehird asked me to make added triggers persistant 01:51:30 ive begun coding the interp for my language :o 01:52:34 and its working :D 02:31:25 >>> import each 02:31:27 >>> ['a', 'b', 'C'].each().upper() 02:31:29 eo['A', 'B', 'C'] 02:31:30 >>> 02:38:57 I no longer like Python. 02:39:44 Then again, you can do wild things like that in Haskell, too. 02:39:52 I got the idea from IO 02:40:20 You mean you can actually do that in Haskell? 02:40:29 ? 02:40:43 Er. 02:40:48 however, implementing it in python required using ctypes to get at the internal dict :D 02:40:53 Never mind. 02:41:13 I don't know haskell :( 02:41:19 I'm afraid to learn it because then I will forget about prolog 02:41:37 newtype Each a = Each [a]; instance Stuff a => Stuff (Each a) where f (Each a) = Each (map f a) 02:42:01 Where Stuff is an arbitrary class, and f is an arbitrary class variable thingy. 02:42:26 I'll get back to you on that when I understand Haskell. ;) 02:42:33 :-) 02:43:03 * kerlo ponders the continuous functions in Sierpinsky space 02:45:48 Sierpinski, rather. 02:53:05 Oh, cool, a function to the Sierpinski space is continuous if and only if the set of functions it maps to 1 is open. 02:54:04 -!- GreaseMonkey has joined. 03:40:38 -!- bsmnt_bot has quit (Excess Flood). 03:41:36 ... 04:00:02 dc is awesome 04:00:15 it's sooo esoteric even though it was intended as a serious language 04:24:27 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)). 04:25:34 -!- puzzlet has joined. 04:30:43 :D 04:36:58 i am teh bored 04:45:38 bsmntbombdood: HELP ME WRITE ZEE 04:45:52 whut is that 04:46:22 ZEE is a game I'm writing, it stands for Zoom-Enhance-Extrapolate. It's a parody of those scenes in spy movies where they magically ... well, zoom, enhance and extrapolate images. 04:46:27 It's sort of an image-maze game. 04:46:59 i don't believe in games 04:47:15 You don't believe that they exist? :P 04:50:16 good god, cpython is a quarter-million sloc 04:51:23 i was gonna take a look at it 05:27:38 -!- oerjan has joined. 06:25:17 my language is working! :D 06:25:20 well, not all of it 06:25:23 but some of it 06:25:26 the important stuff! 06:25:36 so you did solve your parsing problem? 06:25:51 oh, no, that wasn't for this yet. im going to need to solve it eventually. 06:25:54 and no, i didn't. not yet 06:26:00 what kind of parsing is it? 06:26:06 what do you mean? 06:26:24 LR parsing or recursive descent, or what? 06:26:34 havent decided/determined yet. 06:28:12 anyway, the thing is that when you recognize a non-terminal token, you should know what tokens it consists of. 06:28:46 so you can build the tree out of the trees for the subtokens at the same time... 06:29:15 im not entirely sure how you mean that but ok :P 06:29:52 well consider LR parsing. you have some tokens on the stack, and recognize that they form a non-terminal production 06:30:17 so you do a reduction, perhaps after considering lookahead 06:31:02 now, if you already have the trees for the subtokens built up, you can just combine them to get the tree for the replacement non-terminal 06:31:24 sdjfhsajkdhfs 06:31:25 dude 06:31:31 dont even 06:31:32 :P 06:32:09 once more: you build the trees _while_ you are recognizing tokens, not afterwards 06:32:22 ok. 06:33:23 each token comes with its subparse tree 06:39:06 -!- bsmnt_bot has joined. 06:39:11 -!- bsmnt_bot has quit (Remote closed the connection). 06:42:58 man 06:43:04 the ruby socket docs are horrible 06:43:07 all ruby docs are 06:43:11 wtf is wrong with these people 06:50:35 -!- Alt-255 has joined. 06:50:39 haha nice 06:50:44 -!- Alt-255 has quit (Remote closed the connection). 06:51:26 -!- Alt-255 has joined. 06:52:23 -!- Alt-255 has quit (Remote closed the connection). 06:53:36 -!- Alt-255 has joined. 06:53:40 -!- Alt-255 has quit (Remote closed the connection). 06:53:59 -!- Alt-255 has joined. 06:54:06 -!- Alt-255 has quit (Remote closed the connection). 06:55:12 -!- Alt-255 has joined. 06:55:18 -!- Alt-255 has quit (Remote closed the connection). 07:17:18 -!- oerjan has quit ("leaving"). 07:39:30 guys! 07:41:42 -!- kerlobot has joined. 07:52:02 -!- ehird has quit (K-lined). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:06 -!- psygnisf_ has joined. 08:02:16 -!- psygnisf_ has changed nick to psygnisfive_. 08:02:16 -!- GregorR has quit (Remote closed the connection). 08:02:30 K-lined :P 08:02:39 -!- psygnisfive_ has changed nick to psygnisfive__. 08:02:41 hm 08:02:45 i seem to have died 08:02:47 what did i miss 08:02:57 -!- psygnisfive__ has changed nick to psygnisfive_. 08:03:43 -!- psygnisfive_ has changed nick to psygnisfive_____. 08:03:50 -!- psygnisfive_____ has changed nick to p5. 08:03:56 * ehird has quit (K-lined) <-- wow, why? 08:04:02 what did he do? 08:04:11 -!- p5 has changed nick to cygnus5. 08:04:17 hrmph 08:04:27 maybe too many Excess Flood... 08:04:57 Heh, and he's always saying that Freenode admins do nothing. 08:05:33 -!- AntiGravityBot has joined. 08:05:36 :D 08:06:53 my bot is sexy innit 08:06:53 :D 08:11:25 -!- ehird has joined. 08:11:30 ehird, hello 08:11:37 -!- ehird has quit (K-lined). 08:11:39 what the heck did you do to get klined... 08:11:40 wtf 08:11:56 MizardX, maybe too many clients from one host? 08:12:00 -!- AntiGravityBot has quit (Remote closed the connection). 08:12:18 -!- AntiGravityBot has joined. 08:13:37 -!- psygnisfive has quit (Read error: 110 (Connection timed out)). 08:21:20 -!- AntiGravityBot has quit (Remote closed the connection). 08:21:29 -!- cygnus5 has changed nick to psygnisfive. 08:22:31 -!- AntiGravityBot has joined. 08:22:38 so! 08:22:47 i now have a bot that runs most of my little language. :D 08:28:30 -!- AntiGravityBot has quit (Remote closed the connection). 08:34:30 -!- puzzlet has quit (Remote closed the connection). 08:34:34 -!- puzzlet has joined. 08:47:29 -!- GregorR has joined. 08:57:01 -!- ais523 has joined. 08:57:34 -!- GreaseMonkey has quit ("Client Excited"). 09:00:43 -!- ais523 has quit (Client Quit). 10:29:16 -!- puzzlet has quit (Remote closed the connection). 10:29:25 -!- puzzlet has joined. 11:06:34 GregorR: It's sort of an image-maze game. <<< like, all you can do is zoom, but only some parts of the picture contain details you can actually zoom to? 11:11:49 somehow the fractal's structure hints where the path continues 11:12:02 and at the end, there's a little winking smiley 11:12:04 ";)" 11:12:16 so you know you finally did it. 11:16:35 hm 11:16:42 a lot of games are way too weak on the plot I think 11:17:12 However, I'm not good at making up game plots myself... 11:17:28 Two games in particular. 11:17:33 1) Chess 2) Tetris 11:17:37 both need more plot :D 11:17:42 no they don't 11:18:00 oklopol, well, not "need" indeed. But it wouldn't hurt. 11:18:20 it would hurt, it would just distract from the games' actual problems 11:18:45 oklopol, well, you could include it as "background info" or something 11:18:48 well okay, i'm not saying anything bad about tetris, but chess doesn't really work as a computer game. 11:18:57 oklopol, agreed. 11:18:58 because you can't build on it. 11:19:07 um? 11:19:09 it's always the same, change it, and it simply isn't chess anymore. 11:19:20 oh that would be fun, chess with trench digging! 11:19:20 thus it's more of a puzzle imo 11:19:23 :D 11:19:43 puzzle-typey game, not the kind that's fun to play with the computer 11:19:56 oklopol, make chess an RTS! 11:20:02 real-time system? 11:20:14 real time strategy 11:20:22 oh. right lol. 11:20:27 as opposed to turn based 11:20:59 trench digging? 11:21:18 oklopol, yes? 11:21:34 just making sure i heard 11:21:41 oklopol, http://en.wikipedia.org/wiki/Trench_warfare 11:21:57 you dig them 11:22:13 oklopol, also add hitpoints to the chess pieces 11:22:18 right that kinda trench. 11:22:19 and ranged weapons 11:22:29 i just thought you wanted to reroute rivahs or something. 11:22:41 oklopol, now, at which point is it no longer chess? :D 11:22:59 i'd say pretty much instantly, and that's my point 11:23:05 hehe 11:24:14 it's not a very continuous game, on any level, it breaks easily, in a way 11:24:49 well okay not that easily, i guess this is more about what i consider the chess philosophy to be. 11:27:03 chess is more of an algorithmic game, you can't continuously add challenge to it, as material, i guess is my point. 11:28:26 the only way you can safely add challenge is to make the AI gradually better, but, well, first of all that doesn't really have a continuing feel to it. and second of all AI isn't inherently very gradually enhancable. 11:28:52 it just isn't all that visible how good the AI is, at least to me. it just sometimes wins, sometimes not. 11:29:10 i mean unless you're really good at chess, which i obviously am not. 11:29:20 heh 11:29:37 oklopol, nor am I 11:30:04 AnMaster: i know dat 11:31:22 tetris is pretty easy to build on, the general idea of dropping shit into a pile with rewrite rules is used quite a lot 11:32:16 not directly though, ofc, if you just increased the size of the dropped objects, and kept them random, you'd never get a complete row 11:32:45 you'd have to add fuzzy row removing 11:32:54 which again isn't very tetrisy. 11:33:32 but, if the puzzles were handmade, or, well, even just generated more sensibly, you could even have continuous tetris 11:33:58 of course, if you fucked up, you might never be able to get the piece destroyed. 11:34:08 because it might not fit anything else 11:34:19 hm 11:34:34 continuous tetris? 11:34:43 pieces of arbitrary form. 11:34:46 ah 11:35:23 of course closed, having holes would make it kinda hard to remove the insides (impossible, assuming the pieces can't roll around, which isn't tetrisy again) 11:44:51 oklopol, you could also make something like, tetris but remove blocks of same colors if they are large enough 11:45:02 I think I have seen that once 11:45:06 * AnMaster tries to remember where 11:45:46 oh yes... http://kfouleggs.sourceforge.net/ 11:46:21 yes, that's the most common rewrite-rule-pile-based game. 11:46:32 it has tons of variations 12:00:56 true 12:08:58 -!- ais523 has joined. 13:11:47 -!- ehird has joined. 13:13:06 -!- bsmnt_bot has joined. 13:13:08 -!- bsmnt_bot has quit (Remote closed the connection). 13:25:57 WTF @ K-LINE 13:26:02 -!- ais523 has quit (Client Quit). 13:26:42 17:13:52 ehird: Strangely, the issue with the topic-change doesn't seem to have any obvious solution. The bot sends the TOPIC-command to the server, which responds with the standard ":nick!user@host TOPIC #chan :...", but the topic doen't seem to get changed anyway. 13:26:44 rate throttling? 13:27:10 18:40:48 however, implementing it in python required using ctypes to get at the internal dict :D 13:27:12 no, it really didn't 13:27:18 you can implement that trivially 13:28:31 Anyway, I was offline when I was klined. 13:28:34 I am asking #freenode now. 13:29:04 ehird: No. If I look at the console window (running the bot locally), the bot gets the standard response for successful topic change, but I don't see that in my normal IRC client. 13:29:17 MizardX: That's very wtf. 13:34:21 told me to email kline@freenode.net.. 13:34:23 I love indirection. 13:34:32 -!- ais523 has joined. 13:34:44 Hi ais523. 13:34:49 Why'dya think I got klined twice overnight? 13:35:12 no idea 13:35:16 which network? Freenode? 13:35:59 Yep. 13:36:04 I've sent an email to kline@freenode.net. 13:36:13 Very WTFy. 13:36:29 ais523: are there automatic K-lines 13:36:30 ? 13:36:34 maybe some nick that yours is linked to got hijacked? 13:36:38 and went mad? 13:37:19 There used to be automatic K-lines on joining known botnet control channels, but that probably doesn't apply. 13:37:36 also on joining GNAA channels 13:37:41 hmm... do you have autojoin on invite? 13:38:02 13:36 maybe some nick that yours is linked to got hijacked? 13:38:02 13:36 and went mad? 13:38:09 Considering the hostname was eso-std.org I very much doubt it. 13:38:12 that combination seems to be an obvious way to get someone klined, if it works 13:38:17 And I do not have autojoin on invite because it was my _freaking bouncer_ 13:38:23 Also, I've joined #gnaa on freenode before. No kline. 13:38:26 anyway, in a lecture, I'd better go 13:38:30 -!- ais523 has quit (Client Quit). 13:40:00 What, #gnaa does not have hot african sex? 13:49:53 -!- ehird has quit (K-lined). 13:51:46 Maybe they didn't like his tone in the email. 13:52:33 :P 13:52:53 maybe he should ask his big brother for help 14:06:28 -!- seabot has joined. 14:12:09 -!- seabot has quit (Remote closed the connection). 14:29:31 -!- seabot has joined. 14:35:21 -!- seabot has quit (Remote closed the connection). 15:03:14 -!- KingOfKarlsruhe has joined. 15:15:52 -!- MigoMipo has joined. 15:16:38 -!- join has joined. 15:17:06 -!- join has changed nick to Guest21688. 15:18:01 -!- Guest21688 has changed nick to Slereah_. 15:22:05 -!- puzzlet has quit (Remote closed the connection). 15:22:10 -!- puzzlet has joined. 15:23:26 -!- FireFly has joined. 15:24:53 -!- ehird_ has joined. 15:24:59 The fuckers. I'm still fucking banned. 15:25:06 God, freenode is a bunch of incompetend retards. 15:25:18 *incompetend 15:25:19 *incompetent 15:27:50 You'd better watch that mouth of yours, they'll be k-lining you for calling them retards. 15:28:01 Verily. 15:29:32 It'd be nice if they, say, unbanned me while trying to fix it. 15:29:40 Instead of "contact our shitty issue tracker so we can ignore it". 15:32:01 -!- Slereah has quit (Read error: 110 (Connection timed out)). 15:45:42 -!- KingOfKarlsruhe has quit (Remote closed the connection). 15:51:56 -!- jix has joined. 16:02:13 -!- dbc has joined. 16:03:46 ehird / ehird_ 16:03:51 how do you propose this be trivially implemented 16:04:35 specifically, you can't just do list.foo = 'bar' 16:08:15 what is subclassing 16:08:24 each([1,2,3]) is so bad? :P 16:08:55 also im ehird_ cuz ehird got k-lined. 16:18:41 hi comex ico 16:20:46 yes 16:20:48 it is 16:21:01 because it requires thinking you're going to use "each" before typing out the list 16:21:08 this is a laziness construct 16:21:12 " what is cursor positioning " 16:21:21 however, obviously its uses in python are limited 16:21:57 clearly we should all use scheme 16:22:04 in io you can do, say, list(foo, bar, baz) each setNumber(x += 1) 16:22:08 clearly we should all use scheme 16:30:06 AAAAAAAAAAA 16:30:46 -!- MigoMipo has left (?). 16:31:21 still fucking klined 16:43:47 -!- ais523 has joined. 16:59:25 -!- oerjan has joined. 16:59:35 hi ais523 oerjan 16:59:43 hi ehird_ oerjan 16:59:49 *hi oerjan ehird_ 16:59:53 hi ais523 ehird_ 16:59:55 we need some chance at symmetry here... 17:00:12 wait what 17:00:17 well we failed 17:00:28 so, now taking bets as to when freenode will de-kline my bouncer again 17:00:46 ouch 17:01:02 what did it do? 17:01:10 nothing, read the logs 17:01:13 keeps happening 17:01:16 * ais523 vaguely wonders why the desktop background on the Windows computer next to me says "Please Check Monitor For Updated Password" 17:01:21 freenode are incompetent maximus 17:02:00 my guess is it's something to do with the practice on the lecture hall computers that they use of putting a guest username/password onto the monitor so visiting lecturers can log in 17:02:02 = incompetentissimus, iirc 17:02:07 and it's somehow been deployed over here by mistake 17:02:23 there isn't a username/password on this monitor 17:02:43 but then, weirder was the time when I came to a similar computer and it was apparently off 17:02:55 none of the LEDs on the front looked on (but it was sunny and I couldn't tell for certain) 17:03:01 neither the keyboard nor mouse did anything 17:03:16 the only thing that made me wonder if it was really off was the Windows XP screensaver on the monitor 17:03:24 -!- ehird_ has set topic: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa. 17:03:29 wait what? 17:03:31 bsmnt_bot 17:03:37 ... guess it got klined too 17:04:27 perhaps bsmnt_bot was the reason 17:04:38 was it going on a rampage, I wonder? 17:04:44 it could be controlled by arbitrary people... 17:04:51 does it have logs? 17:04:56 I doubt it, it didn't quit as k-lined 17:05:01 just as connection reset by remote 17:05:07 whereas I was explicitly auto-klined 17:05:10 or, umm, klined by a fucktard 17:05:19 but i'd prefer to think its incompetent programming 17:07:22 Chess plot: You are the king of a great empire, but for years there has been diplomatic tension with the empire just down the road. Now, their fury at you for completely duplicating their army in every detail has heatened so that they've declared war! Neither of your armies are very large (you have enough people to recruit a huge army, but then it wouldn't be an exact duplicate of your neighbors!), so this singular battle will likely determine the vic 17:07:24 tor in the war. Now, send your footsoldiers to their almost certain doom, as they are but pawns in ... oh, never mind. Welcome to the world of CHESS! 17:07:50 GregorR: so why can you only move one a turn? 17:08:14 That has nothing to do with the plot, that's just a game rule. 17:08:24 The plot never actually explains the rules, that would be nonsensical. 17:08:40 ah, it's just a chess-inspired film 17:08:44 http://groups.google.co.uk/group/net.micro.pc/msg/993d3e017d041ed4 17:08:48 The first me too post. EVER. 17:08:48 you should make Tetris: the Movie 17:08:53 I've wanted someone to make that for ages 17:08:59 A plague upon csu-cs!casterli. 17:09:00 ehird_: how do you know it's the first ever? 17:09:14 ais523: google sez so 17:09:18 http://www.google.com/googlegroups/archive_announce_20.html 17:09:34 did Deja really archive usenet right from the start? 17:09:40 1) Chess 2) Tetris 17:09:42 no, ais523 17:09:55 so there may have been a me-too that wasn't archived and got lost 17:09:56 but near-complete usenet archives are available 17:10:04 and they were mostly meta-discussion about usenet, really 17:10:07 fwiw, someone might have written X-No-Archive: yes\n\nMe, too! 17:10:14 ass for (2), there is the sunken city of Tetris in Triangle and Robert... 17:10:19 *as 17:10:21 yeah um I don't think people used those headers back then ais523 :P 17:10:22 DAMNIT 17:10:40 ehird_: Somebody extremely psychic could have :P 17:11:14 http://groups.google.com/group/net.lang.c/msg/66008138e07aa94c 17:11:16 Duff's device 17:11:59 * oerjan recalls seeing a chess-inspired film on TV once. it ended with nuclear war iirc 17:12:16 HOW ABOUT A NICE GAME OF CHESS? 17:12:18 "Many people (even Brian Kernighan?) have said that the worst feature of C is that switches don't break automatically before each case label. This code forms some sort of argument in that debate, but I'm not sure whether it's for or against." 17:12:20 oh wait. 17:12:23 oerjan was referencing that. 17:12:24 A famous quote, it's nice to see the original 17:12:25 damn you. 17:12:54 Seeing people talk about having written C for 10 years, around 10 years before I was born, is eerie. 17:13:06 ehird_: just reading pre-C89 C is eerie 17:13:15 some of that would have been written before I was born 17:13:21 and the code you're talking about is even older than that 17:14:02 Any, or almost any, 17:14:03 > MacOS app that can run on MacOS8 *WILL* run on MacOSX. 17:14:05 -- 1998 17:14:06 *g* 17:14:55 because Apple don't need to stick to an insane backward-compatibility system to try to convince the rest of the world that all computers really are like that 17:17:17 Hrm. 17:18:16 -!- CakeProphet has quit ("lol"). 17:19:14 sssssssssssssssssssss 17:19:58 ais523: how come there aren't any old replies to things like http://groups.google.com/group/comp.os.minix/browse_thread/thread/e3df794a2bce97da/2194d253268b0a1b?#2194d253268b0a1b ? 17:20:09 did people not reply in those days? Or are they just lost from the archive? 17:20:23 quite possibly not archived 17:20:33 Usenet is not very conducive to archiving, the way it's designed 17:20:48 you need to be someone big like Google who's connected to more or less everyone to get the whole thing 17:21:06 I'm pretty sure archiving Linus's message was Deja's work. 17:21:23 Well, depends if it's older than Deja. 17:21:23 I'd be surprised if Deja managed to get the whole of every thread 17:21:41 besides, the discussion may have moved to whatever the old-fashioned equivalent of comp.sources was 17:21:46 when he posted the source on Usenet 17:21:46 Who wrote find(1)? 17:21:46 ? iirc some guy with vms experience. 17:21:48 that used to be common 17:21:50 Why am I not surprised? 17:23:10 * ais523 finds http://mauke.ath.cx/stuff/poly.html on proggit 17:23:14 which is actually esolang-related 17:23:18 Yes. 17:23:20 Does BF & Whitespace. 17:24:09 strange... 17:24:15 is 0 true for the purposes of ?: in Ruby? 17:24:15 ? 17:24:19 that source seems to imply it is 17:24:27 ais523: Only false and nil have falsity in Ruby. 17:24:32 aha 17:24:38 (After all, why is 0 false? It's just another number.) 17:24:39 clever way to detect Ruby vs. Perl then 17:24:43 in code which is almost the same in both of htem 17:24:57 yes 17:25:16 ais523: oh wow 17:25:20 if you leave http://mauke.ath.cx/stuff/poly.html open for a while 17:25:22 it changes 17:25:25 to I'm a javascript-generated HTML page 17:25:31 not for me it doesn't 17:25:31 :-D 17:25:37 turn on scripts. 17:25:37 it detects all sorts of other things, too 17:25:42 scripts enabled is one 17:25:51 but it also detects whether you're using trigraphs, in the C 17:25:58 and zsh/bash/sh 17:25:58 yes 17:26:07 it does perl6 too :-D 17:26:25 actually, I vaguely wonder how Perl6 knows to run just that code 17:26:29 is everything else commented out for it 17:26:34 or does it have a program-starts-here line? 17:26:34 mauke is a #haskell and ##C denizen FWIW, he's pretty fun 17:26:43 ais523: Same way as all the programs: clever commenting. 17:26:52 and polyglotty snippets 17:27:06 we should go for an esolang-only polyglotting record 17:27:20 luckily, there are lots of joke lines which autopolyglot into anyhting 17:27:23 I have to say, the fact that it's a Whitespace program is just beautiful. 17:27:36 Polyglots have been done, but not effing whitespace ones. 17:27:46 whitespace is quite good for polyglotting into things, really 17:27:57 hmm... it's valid HQ9+, ofc 17:28:04 but it could be meaningful valid HQ9+ with a couple of tweaks 17:28:09 although it would just say hello world 17:29:09 ok, that C99 check is just insane 17:31:06 it's also a valid oklotalk program :-D 17:32:07 what does it do in oklotalk? 17:32:15 Who knows? 17:32:19 AFAICT, it's a Kimian quine in some versions of INTERCAL 17:32:25 But every string of characters is syntactically valid oklotalk. 17:32:35 And oklotalk has no runtime errors. 17:32:49 So it does _something_, possibly nothing. 17:52:10 back 17:52:12 hi ais523 17:52:15 hi 17:53:18 tnorf 17:55:35 oerjan, *GROAN* 17:56:09 think my boouncer is still k-lined? 17:58:40 ais523: blognomic is impossible 17:59:41 why? 17:59:43 and wrong channel? 17:59:54 wrong channel: it's a protest againt my k-line :-P 17:59:56 and because it's so effing fast 18:05:27 http://unix-tree.huihoo.org/V3/usr/man/man1/chdir.1.html 18:05:33 I am so glad they shortened the name 18:06:57 shortened the name of what? 18:07:01 chdir to cd 18:07:10 oh right 18:09:45 i found two old bots of mine yesterday/today. 18:09:48 who wants to play with em 18:10:44 :} 18:10:52 everyone loves bots right? 18:11:50 . 18:12:06 ehird_: oko and kok? 18:12:16 nope, KajirBot and seabot 18:12:28 seabot was in here yesterday: it gave birth to Bracism 18:12:40 both in python 18:12:46 so, let's say hello to KAJIRBOT 18:12:51 * ehird_ runs 18:12:58 -!- KajirBot has joined. 18:12:58 here comes! 18:13:01 lo KajirBot! 18:13:03 .help 18:13:03 feed, help, kill, ps, q, tell, time 18:13:12 .help help 18:13:12 help [command] 18:13:12 Displays help on commands. 18:13:19 .help feed 18:13:19 feed [food] 18:13:19 Feeds KajirBot. 18:13:23 .feed something 18:13:23 sorry, i haven't eaten something before. have you got ten black holes? 18:13:27 .feed ten black holes 18:13:27 thank you :) 18:13:32 .feed mushrooms 18:13:32 sorry, i haven't eaten mushrooms before. have you got ten black holes? 18:13:32 how cute. 18:13:39 .feed lhc 18:13:40 sorry, i haven't eaten lhc before. have you got ten black holes? 18:13:45 .feed ten black holes 18:13:46 thank you :) 18:13:51 .feed sth 18:13:51 sorry, i haven't eaten sth before. have you got pizza? 18:13:54 .feed pizza 18:13:55 thank you :) 18:14:00 how pointless. but endearing. 18:14:01 .help 18:14:01 feed, help, kill, ps, q, tell, time 18:14:04 .time 18:14:04 Right now, it is 2009-01-19, 18:14 GMT 18:14:07 is it now 18:14:10 .help tell 18:14:10 tell pid msg 18:14:11 Sends a message to a process. 18:14:14 oho 18:14:16 .ps 18:14:16 0. ps 18:14:34 Okay, um, that is pretty much all it does. 18:14:37 Oh wait! 18:14:41 .q This is like a real AI. 18:14:41 This is like a real AI? 18:14:46 .q You're fun 18:14:46 You're fun? 18:14:51 .q I am cool 18:14:52 you are cool? 18:14:55 .q yes I am 18:14:56 yes you are? 18:14:59 etc 18:15:03 ehird_: that looks to me like a bad elizabot 18:15:13 fungot: meet KajirBot 18:15:13 ais523: that's good though if it's going so slowly that i think 18:15:17 ais523: it just adds a ? and swaps I/you :-) and am/are :-) 18:15:19 .q that's good though if it's going so slowly that i think 18:15:19 that's good though if it's going so slowly that you think? 18:15:26 .q fungot 18:15:27 fungot? 18:15:27 ehird_: ( ( out if she does move you know i didn't know that mm th- there's no other circumstances that uh people are not even computer literate they don't even touch the tip of the iceberg when it comes 18:15:27 KajirBot: at the same 18:15:40 .q fungot, will you marry me? 18:15:40 fungot, will I marry me? 18:15:40 ehird_: even seen it and have thought nothing maybe their first thought would've been okay there's a helen of troy okay there's a helen of troy okay there's a helen of troy okay there's a bunch of ' em 18:15:41 KajirBot: unfortunately i guess you would have a lot to do with 18:15:41 ehird_: Kajirbot doesn't respond to its name, though, it seems 18:15:45 ais523: nope 18:16:08 .q are__ 18:16:08 are__? 18:16:12 hmm 18:16:15 there's a way to break this 18:16:16 .q are___ 18:16:17 are? 18:16:20 :-) 18:16:27 def swap(a, b, q): 18:16:27 q = ' %s ' % q 18:16:27 q = re.sub(re.compile(r' %s ' % a, re.I), ' %s___ ' % b, q) 18:16:27 q = re.sub(re.compile(r' %s ' % b, re.I), ' %s ' % a, q) 18:16:27 q = re.sub(re.compile(r' %s___ ' % b, re.I), ' %s ' % b, q) 18:16:29 return q[1:-1] 18:16:45 Bot review: good code, cute, but lacks features. 18:16:51 Now, for seabot. 18:17:07 -!- seabot has joined. 18:17:15 This is seabot. He is pretty advanced: 18:17:16 .help 18:17:16 feed, help, kill, ps, q, tell, time 18:17:18 er 18:17:19 @help 18:17:19 cdecl: cdecl 18:17:19 help: help 18:17:19 karma: karma karma+ karma- 18:17:19 meta: load reload unload 18:17:19 python: python 18:17:23 @karma seabot 18:17:24 seabot has a karma of 2 18:17:28 Persistance! 18:17:44 @python if 1 == 1: { print "[broken implementation of] bracism!" } 18:17:44 [broken implementation of] bracism! 18:17:52 @python __import__ 18:17:52 > 18:17:55 @python __import__('sy') 18:17:58 @python __import__('sys') 18:18:08 o_o 18:18:16 ah 18:18:20 it rejects imports 18:18:22 @python __builtins__ 18:18:23 > 18:18:25 @python __builtins__() 18:18:26 NameError: global name 'builtins' is not defined 18:18:31 @python builtins() 18:18:31 NameError: name 'builtins' is not defined 18:18:34 meh 18:18:40 @help 18:18:40 cdecl: cdecl 18:18:40 help: help 18:18:40 karma: karma karma+ karma- 18:18:40 meta: load reload unload 18:18:40 python: python 18:18:50 ais523: try cdecl :-P 18:19:46 @cdecl void (*) () 18:19:46 syntax error 18:19:53 @cdecl void (*foo) () 18:19:53 declare foo as pointer to function returning void 18:20:02 it should manage it without the variable names 18:20:09 it doesn't. 18:20:19 because cdecl(1) doesn't 18:20:20 huh 18:20:24 @cdecl int getchar(), c[16], i; 18:20:25 syntax error 18:20:27 it runs cdecl? 18:20:30 yes 18:20:35 interesting 18:20:44 I mean I don't find C types very hard unless extreme 18:20:47 the name seabot cames from the fact that I made it for ##free-c and it was originally written in C 18:20:55 AnMaster: meh, bot features are fluff 18:20:58 might as well pile them up 18:21:04 like function pointers to function pointers that take arrays of function pointers or whatever 18:21:13 true 18:21:27 @karma AnMaster 18:21:27 AnMaster has a karma of 0 18:21:31 nobody loves you. 18:21:39 @karma oklopol 18:21:39 You have a karma of 0 18:21:42 oklopol++ 18:21:42 ! 18:21:45 @karma+ oklopol 18:21:45 oklopol's karma raised to 1. 18:21:45 how's this work 18:21:46 @karma+ oklopol 18:21:46 @karma+ oklopol 18:21:46 oklopol's karma raised to 2. 18:21:47 @karma+ oklopol 18:21:47 oklopol's karma raised to 3. 18:21:47 @karma+ oklopol 18:21:47 oklopol's karma raised to 4. 18:21:47 oklopol's karma raised to 5. 18:21:49 @karma+ oklopol 18:21:50 oklopol's karma raised to 6. 18:21:52 @karma+ oklopol 18:21:52 oklopol's karma raised to 7. 18:21:54 @karma+ oklopol 18:21:54 oklopol's karma raised to 8. 18:21:56 @karma+ AnMaster 18:21:56 AnMaster's karma raised to 1. 18:21:57 @karma+ oklopol 18:21:57 ah, right, much better 18:21:57 oklopol's karma raised to 9. 18:21:59 @karma+ oklopol 18:21:59 oklopol's karma raised to 10. 18:22:02 @karma+ oklopol 18:22:02 oklopol's karma raised to 11. 18:22:04 @karma+ oklopol 18:22:05 oklopol's karma raised to 12. 18:22:07 @karma+ oklopol 18:22:07 oklopol's karma raised to 13. 18:22:09 that's better 18:22:12 hey wait AnMaster 18:22:14 you cant change your own karma!! 18:22:17 @karma+ ehird_ 18:22:17 You can't change your own karma, silly. 18:22:19 it specifically forbids it 18:22:25 @karma- ehird_ 18:22:25 You can't change your own karma, silly. 18:22:29 it just did it above? 18:22:33 AnMaster: try again 18:22:40 ehird_, so you fixed it, ok 18:22:41 nice 18:22:44 no 18:22:47 also I think karma is silly 18:22:47 but it always worked for me 18:22:48 try again 18:22:49 :P 18:22:51 @karma egobot 18:22:51 egobot has a karma of -1 18:22:55 snarky 18:22:58 @karma+ AnMaster 18:22:58 AnMaster's karma raised to 2. 18:23:03 O_O 18:23:03 fail? 18:23:14 norm = thing.lower() 18:23:18 ehird_, do you lower case one and then compare or something? 18:23:18 @karma+ AnMaster 18:23:18 @karma+ AnMaster 18:23:18 @karma+ AnMaster 18:23:18 if norm == msg.sender.nick: 18:23:18 msg.respond("You can't change your own karma, silly.") 18:23:18 Fail 18:23:20 HAHA LOL FAIL 18:23:21 AnMaster's karma raised to 3. 18:23:21 AnMaster's karma raised to 4. 18:23:21 AnMaster's karma raised to 5. 18:23:21 hm 18:23:25 -!- seabot has quit (Remote closed the connection). 18:23:28 ehird_, agreed 18:23:30 ehird_: easy to get round it, anyway 18:23:36 -!- seabot has joined. 18:23:37 @karma- AnMaster 18:23:38 @karma- AnMaster 18:23:38 AnMaster's karma lowered to 4. 18:23:38 AnMaster's karma lowered to 3. 18:23:38 @karma- AnMaster 18:23:38 @karma- AnMaster 18:23:39 AnMaster's karma lowered to 2. 18:23:41 AnMaster's karma lowered to 1. 18:23:41 (just balancing it out sry) 18:23:42 .. 18:23:47 however 18:23:49 @karma+ AnMaster 18:23:49 AnMaster's karma raised to 2. 18:23:51 for finding the buggg 18:23:54 ^bf ,[.,]!@karma+ ais523 18:23:55 @karma+ ais523 18:23:55 ais523's karma raised to 1. 18:24:00 @karma- ais523 18:24:00 ais523, :D 18:24:00 ais523's karma lowered to 0. 18:24:03 ehird_: you should probably block bots 18:24:03 that was easy. 18:24:06 @karma+ ais523 18:24:07 ais523's karma raised to 1. 18:24:07 ais523: naw 18:24:10 I like bots. 18:24:19 @unload karma 18:24:19 You are not ehird! 18:24:22 ... 18:24:24 Bitch. 18:24:27 classic 18:24:29 :D 18:24:29 -!- ehird_ has changed nick to ehird. 18:24:30 @karma+ seabot 18:24:30 seabot's karma raised to 3. 18:24:40 * oerjan waits for the kline 18:24:42 @unload karma 18:24:43 Unloaded the karma plugin. 18:24:49 ehird, about that kline, too many connections from the same host could cause it 18:24:50 @karma 18:24:50 wtf is karma? 18:24:54 :-D 18:24:56 AnMaster: only 1 18:25:02 @fungot 18:25:02 wtf is fungot? 18:25:03 ehird: ( ( noise yeah)) the one that's not conspicuous if they're ah laughter you know laughter stuff and ' cause she's packing)) 18:25:03 seabot: ( ( mm mhm mhm)) especially in the afternoon then it would come on fnord laughter laughter mm noise noise)) 18:25:22 @python while True: { print "lol 18:25:22 SyntaxError: EOL while scanning string literal (, line 2) 18:25:23 er 18:25:26 @python while True: { print "lol" } 18:25:26 -!- seabot has quit (Excess Flood). 18:25:29 lol fail 18:25:45 -!- seabot has joined. 18:25:56 @help 18:25:56 cdecl: cdecl 18:25:57 help: help 18:25:57 karma: karma karma+ karma- 18:25:57 meta: load reload unload 18:25:57 python: python 18:26:01 @unload cdecl 18:26:01 Unloaded the cdecl plugin. 18:26:03 @unload help 18:26:03 Unloaded the help plugin. 18:26:05 @unload karma 18:26:05 Unloaded the karma plugin. 18:26:07 @unload python 18:26:07 Unloaded the python plugin. 18:26:09 @unload meta 18:26:09 Unloaded the meta plugin. 18:26:14 Now it does NOTHING :-D 18:26:20 @unload 18:26:20 wtf is unload? 18:26:41 -!- seabot has quit (Remote closed the connection). 18:26:47 Anyway, enough seabot. 18:26:51 -!- seabot has joined. 18:26:53 Let me find another bot for us to enjoy! 18:27:03 I have sooo many... 18:27:46 -!- olsner has joined. 18:27:51 Ooh, old Endeavour./ 18:27:52 Vintage. 18:28:00 TypeError: __init__() got an unexpected keyword argument 'conn' 18:28:02 Very vintage. 18:29:02 Let's try that again. 18:29:08 -!- Endeavour has joined. 18:29:14 YO MY BOY 18:29:15 -!- Endeavour has quit (Remote closed the connection). 18:29:19 wat 18:30:39 bot.seen[input.nick] = (datetime.now(), input.target, input.text) 18:30:41 is the failing line 18:30:48 String or Integer object expected for key, unicode found 18:30:50 oic 18:30:53 just need to str() i guess 18:31:58 written for old python? 18:32:02 yeah. 18:32:09 how old? 18:32:16 -!- Endeavour has joined. 18:32:18 seen ehird 18:32:21 .seen ehird 18:32:22 -!- Endeavour has quit (Remote closed the connection). 18:32:25 Fail 18:32:32 AnMaster: 2.4 18:34:29 -!- ais523 has quit (Remote closed the connection). 18:34:37 ehird, that isn't so old 18:34:52 I mean I would have thought maybe 2.3 or 2.2 18:35:11 It was for this channel. :-P 18:35:20 I only arrived here 2007 and I htink this bot is early-2008. 18:35:36 AnMaster: python 2.4 is circa 2004 18:35:44 So, 2.3 would have been 2003 or so 18:35:46 ehird, that old heh 18:35:48 2.2 would have been about 2000 18:35:53 ehird, 2.5 took a long time? 18:36:16 2.5 came out in 2006. 18:36:23 So 2.4 only lasted 2 years or so. 18:36:37 and 2.3 would be 2003? 18:36:43 Roughly, yes. 18:36:52 so it only lasted a single year? 18:37:04 Well, I think it came out in 2002 :P 18:37:09 I was just giving rough years. 18:37:09 hm ok 18:37:20 every second year new minor release? 18:37:31 interesting 18:37:32 Seems about right. 18:37:47 AnMaster: they do quite a few really-minor (toddler?) releases inbetween 18:38:10 ehird, "micro" I think is the real name, though "toddler" is funnier 18:38:28 btw postgresql call the second digit "major" and the third "minor" 18:38:33 I have no idea what they call the first 18:38:37 In this line, I propose a new term for "early adopter": "pedophile". 18:38:58 a bit too dirty for my taste 18:39:15 Well, those early adopters are a dirty bunch. 18:39:16 ehird, teenager maybe? 18:39:38 * oerjan recalls Paul Erdos called children "epsilons" 18:39:42 that would fit, at least for the period around 15 years 18:40:38 Well I give up on endeavour. 18:40:42 Let's find another bt. 18:40:44 ehird, oh? 18:40:50 endeavours are useless 18:40:56 ehird, how many do you have in total 18:41:02 AnMaster: like 50 :-P 18:41:03 # bastard: fuck goddamn 18:41:03 # it does irc 18:41:03 # released into the public domain by tusho, 2008 18:41:07 Best. Comment header. Ever. 18:41:16 I think I recall the discussion surrounding it. 18:41:21 eh 18:41:24 I think we were trying to come up with the most horrible IRC client ever. 18:41:25 was that the name? 18:41:33 client or bot? 18:41:34 And I decided to run sed over netcat. 18:41:39 AnMaster: client 18:41:39 ouch 18:42:29 so, was it worse than telnet? :D 18:42:39 oerjan: it's only 1 lines long, I never got around to it :P 18:42:44 oh 18:42:46 ah 18:42:49 unfortunately :( 18:43:36 _10 = PRINT("HELLO, WORLD!"), GOTO(10) 18:43:40 Valid Python code. 18:44:00 ehird, really? 18:44:08 with some input filter? 18:44:15 http://pastie.org/364879 18:44:53 ehird, that one doesn't work in the general case does it? 18:44:56 just wondering 18:45:02 What do you mean? 18:45:26 could you have more than one label there 18:45:30 and so on 18:45:35 yes, if you did: 18:45:42 to actually make control flow with it 18:45:44 _10 = PRINT("HELLO, "), GOTO(20) 18:45:48 _20 = PRINT("WORLD!"), GOTO(10) 18:45:50 that woul dwork 18:45:52 wow 18:45:58 ctx = globals()['_'+str(self.i)] 18:46:00 from GOTO 18:46:02 ehird, antyhing but "print"? 18:46:13 AnMaster: no, but you could make something like CALL(func, 1, 2) 18:46:34 also am I right this works through some sort of reflection? 18:46:40 yes. 18:46:43 ctx = globals()['_'+str(self.i)] 18:47:03 hm 18:47:34 what does the syntax _10 = classname(...), otherclass(...) do in python? 18:47:36 in general 18:47:54 a, b is (a,b), a tuple (like a list but immutable) 18:48:00 _10 is just a random variable name 18:48:00 ah 18:48:03 that looks like a line number 18:48:36 even better on python 3 where exec is a function 18:48:41 heh 18:48:46 umm 18:48:49 that makes no difference 18:48:57 well, you could lowercase it if you want in that case 18:49:05 o_o 18:49:07 what 18:49:13 why would you want that 18:49:20 upper case is the point. 18:49:20 good point 18:49:24 * comex shutsu p 18:49:25 This botte looks like it works 18:49:33 Specifically, botte.old/ 18:49:39 (I have 50 bots named botte, none of which work) 18:49:51 ./lib/botte/client.rb:24:in `run': undefined method `feed' for # (NoMethodError) 18:49:53 ehird, you keep all bots in under one directory? 18:49:53 sed over netcat? lovely 18:49:55 OR NOT 18:50:00 in subdirs by year? 18:50:01 :D 18:50:10 AnMaster: i keep everything in ~/Code// 18:50:24 it's a freaking huge dir 18:50:32 % ls ~/Code|wc -l 18:50:33 746 18:50:36 heh 18:50:40 ehird, du -sh? 18:50:41 I keep things organized by subject 18:50:52 $ ls /usr/src/b | wc -l 18:50:54 135 18:50:55 AnMaster: 723MB 18:50:58 comex, I keep them by size since my ~/src is too small 18:51:08 comex: b? 18:51:18 ehird, /b/ 18:51:22 na 18:51:24 /usr/src/b is my "wii stuff" directory 18:51:25 AnMaster: i doubt it 18:51:32 how can you write 135 programs about /b/ 18:51:33 :-P 18:51:42 ehird, um... good point 18:51:45 (did that work, because konversation fucked up) 18:51:48 [13:51] <-> #esoteric> /usr/src/b is my "wii stuff" directory 18:51:52 yes 18:52:07 also, I daresay it wouldn't be very hard 18:52:19 Hm 18:52:59 comex, <->? 18:53:10 you broke it's format string somehow? 18:53:46 no 18:53:48 konversation does that 18:53:53 -> = send 18:53:54 <- = recv 18:53:59 and <->? 18:54:13 "either way"? 18:54:19 no 18:54:22 18:54:24 I typed /msg #esoteric 18:54:25 THING = -> | <- 18:54:27 ah 18:54:32 } else { 18:54:33 /* "offensive programming" */ 18:54:33 printf("You SUCK! Go to HELL!\n"); 18:54:33 exit(1); 18:54:33 } 18:54:37 -- ~/Code/c-cont/cont.c 18:54:44 ehird, right 18:54:54 also, ehird: with konversation for normal channel messages I just get a standard layout 18:54:55 ehird, heh? What is the if? 18:54:55 (yes, real continuations for C) 18:55:06 ehird, also. pastebin that code 18:55:07 AnMaster: 18:55:08 void restore_context(void) { 18:55:08 if (gcont) { 18:55:08 cont_t *old = gcont; 18:55:08 gcont = old->next; 18:55:10 exec_context(old); 18:55:14 heh 18:55:15 right 18:55:17 awesome 18:55:19 checking for null 18:55:35 Not strictly my code, I'm afraid: it was someone else's toy that I cleaned up the code of (it didn't compile) 18:55:42 I wrote programs actually using it. 18:55:45 For example, a factor(1). 18:55:52 oh interesting 18:55:53 It was basically prolog-style. 18:56:00 The API was: 18:56:00 if possible I would very much like to see it 18:56:05 TRY(x) -- Returns x, generally. 18:56:06 HOWEVER 18:56:14 If after a TRY, a FAIL; happens somewhere 18:56:20 then we backup to the next TRY, and keep executing after it 18:56:24 until the try points are exhausted 18:56:26 ouch 18:56:26 at which point we fail 18:56:30 So, Prolog-style. 18:56:38 AnMaster: the actual continuation library was stack smashing 18:56:47 The API definition: 18:56:47 #define FAIL restore_context() 18:56:47 #define TRY(x) if (!save_context()) return x 18:56:49 ehird, I can see that 18:57:00 You also had to have a main looking like this: 18:57:02 int main(int argc, char **argv) 18:57:03 { cont_main(main_, argc, argv); 18:57:03 } 18:57:07 um 18:57:13 where main_ is your real main function 18:57:16 wow 18:57:17 because it needs to grab a stack pointer 18:57:24 so then it can't return while the program goes 18:57:29 not portable 18:57:38 comex: "Stack smashing isn't portable" 18:57:39 no shit sherlock 18:57:43 ehird, there are some tricks for getting stack pointer anyway. Boehm-GC does such stuff 18:57:47 but it works on just about everything 18:57:56 AnMaster: right, but you need to get a base stack pointer 18:58:03 non-x86? 18:58:05 ehird, err, let me see if stack smashing works here :D 18:58:09 comex: yes 18:58:16 ehird, if you pastebin it 18:58:19 ehird: how? 18:58:23 or upload a project with it or so 18:58:27 comex: it doesn't use asm. 18:58:35 comex, not very odd, the only thing I can think of where it would break is SPARC 18:58:38 AnMaster: it actually uses longjmp 18:58:42 yeah, but the stack can go different directions and shit 18:58:43 ehird, hm ok 18:58:44 and setjmp 18:58:47 but 18:58:51 AnMaster: and here's the oh god part 18:58:56 it messes with the jmp_buf 18:58:56 :-D 18:59:01 comex: you can detect that, the code doesn't but you can 18:59:04 oh my indeed 18:59:13 ehird, *that* isn't portable 18:59:20 portable, n. works on shit 18:59:40 ehird, jmp_buf format is "implementation defined", I'm pretty sure about that 18:59:46 wait 18:59:51 it doesn't actually mess with the jmp_buf 18:59:51 huh 18:59:56 oh right 19:00:02 it just uses the jmp_buf to restore the registers 19:00:02 XD 19:00:07 with setjmp/longjmp 19:00:09 ehird, yes and? 19:00:11 that is normal 19:00:15 AnMaster: yes but 19:00:16 what it does is 19:00:21 first it mangles the stack to restore it 19:00:24 then it does a longjmp 19:00:24 now 19:00:29 since the longjmp just contains the position in the stack 19:00:34 it jumps to the right place on the newly-mangled stack 19:00:36 and returns the registers 19:00:46 so it makes longjmp do its bidding, without mangling the jmp_buf :-D 19:00:51 ouch 19:00:53 -!- GregorR has quit (Remote closed the connection). 19:00:55 gotta find the original author of this code 19:00:58 a complete genius 19:00:58 ehird, this would fail on SPARC I'm pretty sure 19:01:04 ehird, also I WANT TO SEE IT! 19:01:26 ehird, I can't imagine this working with SPARC's moving register window thingy 19:01:43 sadly I don't have a sparc to test on 19:01:48 but anyway 19:01:52 I want to test this, please! 19:02:09 kay 19:02:18 First, here's factor.c 19:02:27 AnMaster: http://pastie.org/private/rm5gexu9dbovkfi3jch4g 19:03:08 Note: rather inefficient :-P 19:03:15 Specifically, in that it's copying the stack each integer it tries. 19:03:17 In a brute-force. 19:03:32 But it works: 19:03:32 % ./factor 4 19:03:33 4: 2 2 19:03:34 hm? any more files? 19:03:40 AnMaster: yes, that's just the demo program 19:03:56 ehird, the rest? 19:04:00 Be patient. 19:04:03 right 19:04:14 that wouldn't be me however ;P 19:05:06 AnMaster: http://pastie.org/private/yaoobsjszqr9ufddh9znfg 19:05:12 source & examples 19:05:13 ehird, idea: use this and boehm-gc at the same time, watch star collide 19:05:23 source is mostly the other guyses, but with my cleanup and stuff 19:05:28 examples are all mine 19:06:35 AnMaster: fibs.c doesn't actually use it for prolog-style backtracking OFC 19:06:39 it just uses it as a continuation 19:06:55 generally you want multiple continuations that you can resume at your will and pass around, ofc 19:07:03 left as an excersize to the reader :-P 19:07:17 incidentally, 19:07:17 printf("fib(%i) = %i\n", i++, fib()); 19:07:17 if (i <= 10) FAIL; 19:07:19 causing a loop 19:07:25 I'm splitting files atm, let see 19:07:34 is possibly one of the most perverse behaviors of c code ever witnessed 19:08:14 AnMaster: running those programs through cpp may help 19:08:35 ls 19:08:38 Hrm 19:08:53 Note that I think getcontext/setcontext of posix ucontext may actaully do exactly what this code does. 19:09:06 * ehird runs one of these programs in gdb for shits 'n giggles 19:09:24 ehird, yes 19:09:26 testing them atm 19:09:37 * ehird step step step step 19:09:53 hm it works work -fstack-protector-all for amb at least 19:10:07 Ha. Your stack protector is foiled! 19:10:18 Heh. I found python 1.5.2 on one of my school's servers. :) 19:10:21 ehird, it is for buffer overwriting on normal return 19:10:26 AnMaster: Yes. 19:10:28 it can't protect long jump 19:10:33 AnMaster: It's not a long jump. 19:10:37 It actually modifies the memory on the stack. 19:10:40 It just copies it in place. 19:10:41 -!- KingOfKarlsruhe has joined. 19:10:47 the longjmp is only needed for restoring registers 19:10:55 the stack smashing would work just as well without of it 19:11:15 ehird, yes and there is no way stack smash protection can work for that case 19:11:20 since it doesn't return normally 19:11:29 :-D 19:11:35 ehird, oh btw, does it work on sparc? 19:11:40 Dunno. 19:11:48 ==17012== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1) 19:11:52 I don't believe it... 19:12:02 The elk scheme implementation does continuations in a similar way, I think it has its own special setjmp/longjmp implementation in asm 19:12:04 all of them are f*ing valgrind clean! 19:12:05 for sparc 19:12:06 != 19:12:07 !? 19:12:09 HAHAHAHA 19:12:09 :-D 19:12:35 ehird, ok some memory leak 19:12:39 but no other stuff 19:12:45 haha, where? 19:12:51 ==17022== 4,560 (2,240 direct, 2,320 indirect) bytes in 10 blocks are definitely lost in loss record 3 of 4 19:12:52 ==17022== at 0x4A0743E: malloc (vg_replace_malloc.c:207) 19:12:52 ==17022== by 0x4008AE: get_context (in /home/arvid/irc/c-cont/fibs) 19:12:52 ==17022== by 0x40091B: save_context (in /home/arvid/irc/c-cont/fibs) 19:12:53 for example 19:12:56 AnMaster: I am dubious as to valgrind's ability to track memory over stack smashing. 19:13:00 Perhaps it's messing up. 19:13:09 ehird, yes I agree, but that is a heap allocation 19:13:14 hmm, you're right. 19:13:15 it never calls free() 19:13:18 but it does malloc stuff 19:13:31 so that'll be a problem if you do like 50 thousand continuation sets :-P 19:14:06 ehird, yes, to support enterprise grade applications it need to avoid leaking memory 19:14:11 Quite. 19:14:11 ;) 19:14:27 wow, oklotalk is so pretty. 19:14:41 it uses the § symbol. 19:14:41 that's hardcore. 19:14:52 ehird, btw I saw Try/Catch in C today 19:14:58 in a non-eso program 19:14:59 that's easy. 19:15:01 it makes me sad 19:15:02 It's just a setjmp/longjmp. 19:15:05 AnMaster: why? 19:15:05 ehird, yes 19:15:09 it's a legitimate thing 19:15:12 yes 19:15:17 and that makes me even more sad 19:15:23 why :P 19:15:30 ehird, btw: http://rafb.net/p/lwMx7W92.html 19:15:48 Yeah, seen it. 19:15:52 It's a bit bloated :-P 19:15:55 ehird, unbalanced blocks too 19:15:57 :( 19:16:08 wut? 19:16:29 exception__catch 19:16:31 look at it 19:16:47 ah, right. 19:16:50 That's because it has to come after a try. 19:16:58 same for Try, unbalanced too 19:16:59 :( 19:17:02 no duh 19:17:05 you have a try, then a catch 19:17:08 yes it is sad 19:17:10 why 19:17:25 because it breaks code folding in this editor :,( 19:17:36 ;P 19:17:36 lol 19:18:18 ehird, you laughed at something I said? YES! 19:19:05 ehird, btw have you seen the build systems (yes plural) of libpng? 19:19:28 no 19:20:00 there are 1) lots of makfiles like makefile.gcc, makfile.vms and what not, around 40 or so I think, 2) autoconf 3) cmake. All in parallel 19:20:21 heh 19:20:24 why? 19:20:26 sure 2 at once when you are changing, but 3 at once... from such different periods 19:20:30 ehird, I don't know 19:20:52 I wish I knew 19:20:59 * ehird is a fan of the "just make it, if there's a system issue change the vars in the makefile" approach 19:22:22 ehird, well that is what optipng uses, and you need to change in several makefiles, since it uses one for the main program, one for the included and modified libpng, one for (again modified) zlib, and one for some "pngxtern" 19:22:33 and I needed to debug something, so 4 places to add -g, compile 19:22:39 find out it passes -s in LDFLAGS 19:22:41 then that is not my system :-P 19:22:44 edit again in 4 places 19:22:47 recompile, 19:22:49 then that is not my system :-P 19:22:57 find that make clean does not work as advertised 19:22:59 fix 19:23:01 clean again 19:23:03 recompile 19:23:10 ehird, yes it is awful 19:23:17 I mean, autoconf would be a step up 19:23:30 Note that you can do system detection in plain make. 19:23:39 with things like uname :_P 19:23:40 :-P 19:23:46 ehird, oh? Let me check 19:23:52 * AnMaster looks for a copy of nmake 19:24:00 damn don't think I have that 19:24:11 nmake is almost gnu make, IIRC 19:24:20 admittedly no uname :-) 19:24:24 just run the windows specific command and check that 19:24:25 ehird, err no it is microsoft make with a totally different syntax 19:24:25 too 19:24:27 iirc 19:24:33 no, iirc, you're wrong. 19:24:49 ehird, well I might be, it was years since I last had to deal with it 19:25:14 ehird, and I don't have any windows around 19:25:15 cool, my old DDoSing program 19:25:41 wtf... dev-dotnet/gluezilla? (something depended on it. trying to figure out what the heck it is 19:25:49 oh mono, wth pulled that in 19:26:06 this ddos program was a random fuzz checker too :P 19:26:20 it catted /dev/urandom to nc massively parallely 19:26:33 fun fun 19:26:37 WTF. What happened to the package dep graph 19:26:39 :( 19:27:05 first time gentoo package manager broke for me ever. And that is since 2004 19:27:16 (that is when I started using gentoo) 19:28:06 logs! 19:28:30 http://rafb.net/p/PnQjW524.html 19:28:38 I have no clue what the hell happened 19:28:45 * AnMaster checks around 19:29:20 well the mono one was easy to fix 19:37:28 -!- MigoMipo has joined. 19:42:22 -!- Corun has joined. 19:46:51 Heh. There's a module called tabnanny in Python :) 19:47:05 whassit do 19:47:28 tab. 19:53:01 -!- sebbu2 has joined. 19:53:35 -!- sebbu has quit (Read error: 60 (Operation timed out)). 19:53:41 -!- sebbu2 has changed nick to sebbu. 19:54:52 ehird, is there something like "perldoc" but for python? 19:55:03 pydoc 19:55:09 oh ok 20:07:07 -!- kar8nga has joined. 20:11:27 -!- KingOfKarlsruhe has quit (Remote closed the connection). 20:38:13 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 20:42:52 -!- Corun has quit ("This computer has gone to sleep"). 21:03:34 -!- kar8nga has joined. 21:10:43 -!- GregorR has joined. 21:11:07 -!- GregorR has set topic: This topic unintentionally left unblank.. 21:36:53 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC"). 21:39:53 -!- Corun has joined. 22:01:54 http://blog.uncool.in/2009/01/19/computer-science-fail-higher-education-in-india/ 22:01:58 … Linux is basically a DOS based OS. 22:02:04 A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9. 22:02:08 The first high level language was Ada, also known as Smalltalk 22:02:12 ETCETCETC 22:04:23 Additional lulz: http://www.reddit.com/r/programming/comments/7qvdj/the_first_high_level_programming_language_was_ada/ 22:06:41 A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9. <<< xD 22:07:23 oklopol :p 22:07:25 :o 22:07:42 "a proof is a sequence of easily verifiable steps, in formal mathematics axioms or rules derived from them... to prove you use a pencil and you write "->"'s that mean "follows from"" 22:07:54 lol :-D 22:08:03 well okay that had a few errors, but joke should be correct anyway. 22:09:00 this is no joke sir! this are truth! 22:09:22 so, oklopol, i now have a semi-workable version of my language :) 22:09:37 cooooool. i have a few new books \o/ 22:09:54 psygnisfive: is it the graph thing 22:09:55 oh 22:09:56 -!- ehird has set topic: how much could a if a could ?. 22:09:56 shall i bring my bot in here so you can poke at it? :P 22:09:58 it's the rewrite thing 22:10:01 no tree 22:10:02 sure. 22:10:08 of course, i should go read soon. 22:10:11 the graph thing is my linguistics project :p 22:10:31 ehird: a of it prolly 22:10:37 oklopol: oic 22:10:41 -!- AntiGravityBot has joined. 22:10:54 ehird: !! 22:11:10 -!- AntiGravityBot has quit (Remote closed the connection). 22:11:20 failure 22:11:21 -!- AntiGravityBot has joined. 22:11:25 there thats better. 22:11:32 a proper n=. 22:11:34 you restarted it to change the ident? 22:11:35 srsly? 22:11:39 yes :p 22:11:46 im neurotic about these things sir! 22:12:23 so. 22:12:25 how does it run. 22:12:28 it sort of works for what i want. i need to improve it tho. its just prototyped right now. 22:12:33 STOP BEING NEUROTIC OR I'LL SPANK YOU. OH WAIT. 22:12:34 run in what sense? 22:12:38 psygnisfive: AntiGravityBot. 22:12:40 how do you use it. 22:12:43 oh 22:12:44 or does it just sit there. 22:12:46 agbot: 5 + 5 22:12:46 10 22:12:50 agbot: 1 / 0 22:12:51 Infinity 22:12:55 agbot: {APOW£" 22:12:55 error: contains unbound variables 22:13:00 agbot: crash fucker 22:13:00 (crash fucker) 22:13:06 agbot: \n 22:13:06 (\ n) 22:13:08 agbot: "\n" 22:13:08 ("\ n ") 22:13:18 agbot: (1 / 0) + 2 22:13:18 *** 22:13:22 wat 22:13:35 agbot: sin pi 22:13:35 (sin pi) 22:13:39 *** is its current way of saying "this is not possible" 22:13:41 -!- kar8nga has quit (Read error: 60 (Operation timed out)). 22:13:46 agbot: suck a bum 22:13:46 (suck a bum) 22:13:59 AntiGravityBot: 1+2 22:14:00 psygnisfive: um, Infinity+1 is very well defined 22:14:03 so is Infinity+2 22:14:08 no no thats not what i mean :p 22:14:31 Infinity itself is not defined in the system. its relying on the ruby's math facilities to do math, see 22:14:38 AntiGravityBot: SUPPORT TAB COMPLETION YOU INFIDEL! 22:14:44 so it does 1 / 0 and ruby kicks back Infinity 22:14:59 psygnisfive: now make its prefix its actual nick 22:15:03 and this gets converted back into a string 22:15:09 ok fine :P 22:15:12 -!- AntiGravityBot has quit (Remote closed the connection). 22:15:17 so 22:15:19 -!- agbot has joined. 22:15:20 what is interesting about it 22:15:23 happy? :P 22:15:25 whell 22:15:26 i'm not seeing anything more than basic arithmetic atm 22:15:40 agbot: fac 0 = 1 22:15:40 defined: fac 0 = 1 22:15:52 you can define functions 22:15:52 agbot: fac N = N*(fac (N-1)) 22:15:52 defined: fac N = N*(fac (N-1)) 22:15:54 whoop de doo 22:15:56 :P 22:15:59 when does it get interesting? 22:16:00 agbot: fac 5 22:16:00 120 22:16:09 agbot: fac 10000000 22:16:11 I broked it. :-) 22:16:15 agbot: fac 1 22:16:15 no its running 22:16:19 psygnisfive: yes. 22:16:20 im watching it evaluate that 22:16:23 and it'll run until we get bored. 22:16:31 -!- agbot has quit (Remote closed the connection). 22:16:41 so where's the interesting part 22:16:46 -!- agbot has joined. 22:16:48 hush you 22:16:54 it's a question 22:16:55 answer it 22:16:57 psygnisfive: now is there any of that nondeterministic stuff? 22:17:04 oklopol: not yet 22:17:06 agbot: X my== X = true 22:17:06 defined: X my== X = true 22:17:14 ehird: when was the last time you made anything interesting? :P 22:17:15 is that syntax? 22:17:17 that is ugly syntax. 22:17:19 agbot: _ my== _ = false 22:17:19 defined: _ my== _ = false 22:17:21 oklopol: all the time :P 22:17:23 I just never release it. 22:17:33 agbot: 1 my== 2 22:17:33 false 22:17:37 agbot: 1 my== 1 22:17:37 true 22:17:44 simple, trivial, i know. :P 22:17:57 so 22:17:57 ehird: if you don't finish and release it, it never existed. 22:18:00 but the point is that its using full blown unification based pattern matching on its rules 22:18:04 where's the interesting part psygnisfive 22:18:17 oklopol: like oklotalk 22:18:23 you can define things like lists ground up, in a sense. 22:18:25 ehird: my point exactly. 22:18:31 that is 22:18:31 agbot: first nil = error 22:18:32 psygnisfive: you mean like in any language ever? 22:18:32 defined: first nil = error 22:18:38 not impressed yet. 22:18:46 im not trying to impress you, funnily enough 22:18:47 the point was i was just referring to my own incapability to finish a project after realizing how to finish it. 22:19:04 psygnisfive: i was assuming it was esoteric in some kind of way. 22:19:17 you know, since you were talking about the lang in #esoteric. and brought the bot here 22:19:22 knew you couldn't just play along, people lose some sense of spotting sarcasm when you attack them 22:19:25 its esoteric in the sense that its thue with syntactic variables. 22:19:26 psygnisfive: that's impossible anyhow :D 22:19:50 so if thue as eso then this is mildly less so :P 22:19:50 oerjan: your puns are pretty impressive 22:20:00 agbot: a = a 22:20:00 defined: a = a 22:20:03 agbot: a 22:20:03 a 22:20:09 agbot: a X = a X 22:20:09 defined: a X = a X 22:20:11 agbot: a 22:20:11 a 22:20:12 agbot: a 2 22:20:15 huh 22:20:17 -!- agbot has quit (Remote closed the connection). 22:20:20 byebye 22:20:23 thanks, you sent it into an infinite loop :P 22:20:26 -!- agbot has joined. 22:20:32 thats another thing im going to change in the next version 22:20:33 agbot: ¡¶§¶åß®†∞¶ÂfiflÂÍfl 22:20:34 ¡¶§¶åß®†∞¶ÂfiflÂÍfl 22:21:15 ehird 22:21:21 would it help if i explained the language? :P 22:21:38 haha. 22:21:38 perhaps 22:21:43 hey adimit 22:21:43 that generally helps. 22:21:46 I had fun with that thing today already 22:21:50 hey psygnisfive 22:21:52 yes i imagine it does, ehird :P 22:22:45 ()[]{} are all individual symbols any time they appear. () is used to group things into trees in the text -- the interp never sees parens themselves 22:22:45 psygnisfive: if it's thue-based shouldn't the order of equations be irrelevant? 22:23:06 anything starting with a capital letter is a syntactic variable 22:23:17 anything else is a symbol 22:23:22 oerjan: what do you mean? 22:23:37 X my== X = true 22:23:41 _ my== _ = false 22:23:51 oh, in defining things? no. because variables + pattern matching introduces certain issues 22:24:04 psygnisfive: can you make it trace 22:24:09 thue is only fun if you see every step 22:24:30 also, non-alphanumerics produce separate symbols. so a+b is a, +, c. a++b is a, ++, b, etc. 22:24:48 and each _ is a dummy variable that uniformly matches anything but doesnt unify 22:25:06 ehird: im going to do those things in the next version. its very primitive right now. 22:25:17 adding tracing cannot possibly be hard. 22:25:21 its not 22:25:33 you have a step function, and a step-until-constant function, so just add an irc output in the step 22:25:45 but the way i evaluate it currently is using recursive evaluation, as opposed to iterative. 22:25:51 and? 22:25:59 the next version will be properly iterative so itll work better. 22:26:10 ok, I'll come back in 5 years 22:26:19 how about in maybe two weeks? 22:26:20 :P 22:26:34 it takes you two weeks to rewrite an interpreter for that? 22:26:35 Seriously? 22:26:38 schools going to start and i have stuff to do before then. i only worked on this yesterday because i wanted to experiment 22:26:51 no no writing the interpreter isnt what takes time dude 22:26:51 sheesh, gimme the code and I'll add a trace 22:27:06 Hey psygnisfive 22:27:10 no, its horrible code. and you dont understand the garbage i put into it. and its not even close to working properly 22:27:14 want to experiment? 22:27:23 its like way pre alpha right now. 22:27:32 when its more mature ill start distributing code. 22:27:33 I've patched oklopol's awful code before. 22:27:39 Slereah_ sexually? 22:27:40 There is absolutely no way yours is worse. 22:27:53 ehird: have you? 22:27:58 when 8| 22:27:59 the code, it burns 22:28:02 oklopol: ages ago 22:28:04 ehird: im sure you have. and im sure mine could easily be worse. but im self-conscious about my code. 22:28:05 which code? 22:28:14 oklopol: oklotalk-- or something I think 22:28:30 SLereah 5:28 I have stuff in my bums D: 22:28:30 SLereah 5:28 It is cause for alarm 22:28:33 via the AIMs. 22:28:36 oklotalk-- is quite good code on a conceptual level. 22:28:42 psygnisfive: well, I'd play with it if it traced. 22:28:44 of course, it's not very pretty 22:28:47 oklopol: yeah. on a conceptual level ::::P 22:28:52 hey oklopol when do we get oklotalk 22:28:53 i want it 22:29:04 ehird: give me a little bit to do that and you can play all you want. 22:29:15 right now i have to go back to working on my database project. 22:29:22 i'm trying to get myself to add at least a few hours of coding to my weeks, it's simply dropped out with all the university shit 22:29:33 i have to build this db system, analyze the data, and then also do some work on my ling project 22:29:37 by next monday, preferably. 22:29:39 oklotalk will be finished in _good_ time before duke nukem forever, i'm sure 22:29:46 cause ive slacked a bit this past month :p 22:29:50 ehird: oklotalk will probably not be my next language to complete. 22:30:03 oklopol: yeah but if you did oklotalk the other langs could be written in oklotalk. 22:30:05 so guys 22:30:07 afk 22:30:11 <3 22:30:18 dont break my bot :P 22:30:31 at least clue and a simple version of muture should probably appear before it 22:30:40 psygnisfive: i won't. 22:30:55 oh also, the interp is running inside textmate, which means its probably slow, so infinite loops are painful on my system. 22:31:04 so dont loop it :| 22:31:04 ehird: true. if i made all of it, then probably yes. also that would be insanely cool. 22:31:13 oklopol: :D 22:31:41 oklopol: then you could just, like, write oklotalk in oklotalk 22:31:48 bootstrapping? who gives a fuckshit 22:31:52 I run programs in my mind 22:32:03 well. 22:32:43 yes. wells are holes with water. 22:32:54 quite. 22:37:56 < Prodego> yes, and you really shouldn't be /on/ the network while klined 22:38:00 *facepalm* 22:38:11 -!- ehird has quit ("leaving"). 22:39:42 i have to leave, 00:37 and i haven't gotten pretty much anything done. irc is so fucking addictive. 22:40:03 if i can, that is. 22:40:27 -!- olsner has quit (Remote closed the connection). 22:44:49 -!- ehird has joined. 22:45:03 Freenode are hostile, incompetent fucks failing to run a shitty network. 22:45:21 -!- sriracha has joined. 22:45:29 are you really supposed to be here? ;D 22:46:07 Heh. 22:46:40 No, being here is against freenode policy at the moment -- and I don't give a shit because it's the fault of a shitty auto-Kliner written by the incompetent fucks. 22:46:40 whats up 22:46:46 sriracha: disregard me. 22:46:47 I'm angry. 22:46:50 :-) 22:46:51 * oerjan is actually having to remind himself how unimportant this is, otherwise he would be angry on ehird's behalf 22:46:57 ha 22:47:12 sriracha: not much at the moment, collectively, it seems 22:47:17 not that I can speak on behalf of this channel. 22:47:24 Although that would be neat. If I could. 22:47:31 i see... 22:47:31 I'm scaring the newbie aren't I. Oh dear. 22:47:37 :( 22:48:01 Okay I'll pass this on to oerjan :P 22:48:01 ahh it's ok 22:48:35 wait, a newbie? 22:48:44 Well, sriracha looks new to me. 22:48:46 I may be wrong. 22:48:57 fungot, say hello to our newbie 22:48:57 oerjan: okay well we can we walk pretty much everywhere so it was really 22:49:19 ^style 22:49:19 Available: agora alice darwin discworld europarl ff7 fisher* ic irc lovecraft pa speeches ss wp 22:49:21 ^style irc 22:49:21 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 22:49:26 fungot: be slightly more coherent 22:49:26 ehird: i don't read much of cll lately :) hot showers seem so much better :) 22:49:32 fungot: oic 22:49:33 ehird: now calamari has set up a poll about the most useless key, sysrq is currently tied for the lead, anyway? who needs to learn how to write it 22:49:43 sriracha: Have you sacrificed the obligatory amount of goats yet? 22:50:09 i'm more of a sacrificing kittens and puppies type of person... 22:50:49 The cuter the better! 22:51:02 (I'm tired...) 22:51:09 wow...what did i get myself into 22:51:12 wait, is this one of those actual magick guys we sometimes get when our topic is misleading? 22:51:20 who knows 22:51:24 sriracha: what brings you here? 22:51:36 i was actually trying to figure out how to use IRC 22:51:42 aha 22:51:51 Well, you've come to the right place! Sort of. Kinda. :-) 22:51:55 and i chose a random channel 22:52:16 We're actually about esoteric programming languages. (How boring, right? :|) 22:52:30 LOGS MISSING FROM TOPIC 22:52:34 Oh dear. 22:52:38 -!- ehird has set topic: LGOS. 22:52:39 -!- ehird has set topic: LOGS. 22:52:41 i see 22:52:46 don't know much about programming 22:52:51 *facepalm* 22:52:58 I should make a bot that screams that if someone edits topic and the logs are missing 22:53:04 sriracha: Neither do we, that's why we're here (ok, that's a bad joke :-P) 22:53:08 ehird, also: ha. ha. 22:53:08 sriracha: here is the place to learn it. 22:53:18 adimit: um that might be a bad choice of place :D 22:53:34 why, I learned bass on a six-string fretless... 22:53:46 whoa...how'd you guys send a message to me directly like that? 22:53:51 fungot: oic <-- what did cll mean? 22:53:51 %eval (The logs are missing!) 22:53:51 (The logs are missing!) 22:53:52 or better put...what's the command? 22:53:53 AnMaster: ok what it was when i first saw it i knew it once but must not have been merged and info on how too view it. 22:53:56 sriracha: Hm? 22:53:58 I didn't. 22:53:59 That was pretty useless. 22:54:00 But it's /msg. 22:54:06 /msg person message. 22:54:12 If you want a new window for them, /query person. 22:54:32 *facepalm* 22:54:40 what 22:54:48 not knowing irc :( 22:54:54 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric. 22:55:16 um, he's a newbie. 22:55:20 stop being elitist. 22:55:20 AnMaster: well he (or maybe she) said that 22:55:43 i'm a "he" 22:55:43 oerjan: sneaky topic 22:55:43 ehird, hey you are like that to me when it comes to some stuff 22:55:56 ehird: how so? 22:56:05 did i mistype? 22:56:06 oerjan: it's http://tunes.org/~nef/logs/esoteric 22:56:06 :P 22:56:21 -!- oerjan has set topic: Logs: http://tunes.org/~nef/logs/esoteric. 22:56:23 %eval %eval 22:56:24 %eval 22:56:28 um 22:56:53 night btw 22:57:00 AnMaster: I think CLL was comp.lang.lisp. 22:57:08 fizzie, ah right, night 22:57:11 hi fizzie. 22:57:21 say hi to the person who randomly came in here when trying to figure out how to use irc! 22:57:27 ( sriracha ) 22:57:28 -!- BeholdMyGlory has joined. 22:57:29 :-P 22:57:41 Hi to anyone who's hi-able, although I'll be gone in half an hour or so. 22:58:00 who isn't hi-able? 22:58:07 i'm assuming you guys more or less know each other? 22:58:13 ehird, well... there is also #,0 pretty common to get there by mistake 22:58:15 * AnMaster ducks 22:58:28 sriracha: for a certain value of "know" 22:58:34 and don't try that 22:58:38 sriracha: not really 22:58:40 i've never met any of the others in person 22:58:43 oerjan: You mean the biblical sense of "know", I guess? 22:58:44 well, yes 22:58:54 * oerjan swats fizzie -----### 22:58:55 but there's not many people in here so we know pretty much all the non-idlers. 22:59:00 think of the newbies! 22:59:02 fungot is a bot by the way. 22:59:02 ehird: sure, tomorrow. i thought the wrong way. 22:59:13 ehird, have you tried the channel #2,000? Very newbie friendly I heard 22:59:15 [a computer program that sits on IRC.] 22:59:20 You're a bot today too 22:59:22 AnMaster: yeah that was funny in like 2006 22:59:44 ehird, actually I have seen it work, using some strange unicode thing instead of , on a network that allowed that 22:59:49 confused the hell out of me 23:00:25 ehird, since I could join it by copy and paste by not by typing :P 23:00:35 (until I found out a bit later) 23:03:56 -!- agbot has quit (Remote closed the connection). 23:04:27 hum de dmu 23:04:28 *dum 23:05:46 ^ul ((hum de dum de)S:^):^ 23:05:46 hum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum d ...too much output! 23:05:53 darn 23:06:29 * oerjan feels dehumanized 23:07:12 ^ul ((what )S:^):^ 23:07:12 what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what ...too much output! 23:07:17 night really now 23:07:25 ^ul ((...too much output! )S:^):^ 23:07:25 ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...t ...too much output! 23:07:49 ^ul ((oo much output! ...t)S:^):^ 23:07:49 oo much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too m ...too much output! 23:08:22 ^ul ((put! ...too much out)S:^):^ 23:08:23 put! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! 23:08:28 there we go. 23:08:43 ^ul (:^):^ 23:08:44 ...out of time! 23:09:40 -!- CakeProphet has joined. 23:09:44 %eval (((s i) i) ((s i) i)) 23:09:47 In retrospect, "out of patience" would have been more accurate there. 23:09:50 ((loop i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i 23:10:29 I think I want to look up the Y combinator. 23:10:46 Yes. 23:10:55 I think we scared sriracha away. 23:11:11 %eval ((((s s)k)((s(k((s s)(s((s s)k)))))k) foo) 23:11:11 Syntax error 23:11:16 * kerlo frowns 23:11:36 %eval (((s s)k)((s(k((s s)(s((s s)k)))))k) 23:11:37 Syntax error 23:11:48 %eval ((s s)k) 23:11:49 [l (z) ((s z) (k z))] 23:12:37 %eval (((s s)k)((s(k((s s)(s((s s)k)))))k)) 23:12:38 [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))] 23:12:47 %eval ((((s s)k)((s(k((s s)(s((s s)k)))))k)) foo) 23:12:48 (foo (((s ((s s) k)) (k foo)) ((k ((s (k ((s s) (s ((s s) k))))) k)) foo))) 23:13:00 %eval (((s s)k)((s(k((s s)(s((s s)k)))))k)) 23:13:00 [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))] 23:13:11 %eval (hold (((s s)k)((s(k((s s)(s((s s)k)))))k))) 23:13:11 (hold (((s s) k) ((s (k ((s s) (s ((s s) k))))) k))) 23:13:22 I'm too lazy to add spaces myself. 23:13:51 there should be a language whose valid programs are KH(A^n)N, where the number of As is converted to opcodes 23:15:41 no. 23:15:43 ^ul (A)(~:(A)*~(KH)~*(N)*S~:^):^ 23:15:43 KHANKHAANKHAAANKHAAAANKHAAAAANKHAAAAAANKHAAAAAAANKHAAAAAAAANKHAAAAAAAAANKHAAAAAAAAAANKHAAAAAAAAAAANKHAAAAAAAAAAAANKHAAAAAAAAAAAAANKHAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAAAANKHAAA ...too much output! 23:15:47 failure 23:15:52 ^ul (A)(~:(A)*~(KH)~*(N )*S~:^):^ 23:15:53 KHAN KHAAN KHAAAN KHAAAAN KHAAAAAN KHAAAAAAN KHAAAAAAAN KHAAAAAAAAN KHAAAAAAAAAN KHAAAAAAAAAAN KHAAAAAAAAAAAN KHAAAAAAAAAAAAN KHAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAAAN KHAAAAAAA ...too much output! 23:16:19 ^ul ( ...too much output!)S(()S:^):^ 23:16:20 ...too much output! ...out of time! 23:16:26 ^ul ( ...out of time!)S(()S:^):^ 23:16:27 ...out of time! ...out of time! 23:16:48 %temp ((lambda (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k))) 23:16:55 I did it again. 23:17:10 what? 23:17:12 %reset 23:17:16 Used lambda instead of l. 23:17:24 %temp ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k))) 23:17:30 oh god you kids with your languages 23:17:35 out of curiosity, what is that? 23:17:39 What is what? 23:17:52 %temp 23:18:15 %eval fnord 23:18:16 fnord 23:18:21 %eval fix 23:18:21 [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))] 23:18:49 That sets the evaluation template. Any expression you give to kerlobot is substituted for input in the template before it's used. 23:20:04 Let's see, I want the function to take itself, then take an argument, then return the argument a'd to itself... or something like that, anyway. 23:20:35 %eval ((fix (l (self) (l (x) (a x self)))) 3) 23:20:35 (3 ((s ((s s) k)) (k (l (self) (l (3) (a 3 self))))) ((k ((s (k ((s s) (s ((s s) k))))) k)) (l (self) (l (3) (a 3 self))))) 23:20:44 -!- sriracha has left (?). 23:20:53 Of course. 23:21:55 It doesn't evaluate self before passing it to a. 23:22:15 I wonder how to do that... 23:24:05 Eh, SillyLisp isn't for serious programming anyway. That's what SaneLisp is for. 23:24:54 How many times have I mentioned that I don't know why SKI calculus in SillyLisp works? 23:25:20 oh 23:25:33 well basically each of S, K and I happen to work 23:25:44 %eval s 23:25:44 [l (x) (l (y) (l (z) ((x z) (y z))))] 23:25:47 %eval k 23:25:47 [l (x) (l (y) x)] 23:25:50 %eval i 23:25:50 [l (x) x] 23:26:04 Oh, hmm... 23:26:20 variable capture is not a problem as long as you only pass closed expressions 23:26:37 Variable capture? 23:26:55 when variable definitions shadow each other 23:27:06 which is the problem you get when you don't rename 23:27:16 Do you know how variable substitution in SillyLisp works? 23:27:43 i assume you are just doing it naively 23:27:56 Pretty naively, yes. 23:28:08 ignoring alpha conversion 23:28:11 %eval ((l (x y) x) y foo) 23:28:11 y 23:28:12 * kerlo nods 23:29:42 (k foo), where foo is an arbitrary expression, will evaluate to [l (y) foo]. If foo contains any y's, those will be replaced when that's applied to something. 23:29:47 %eval ((k y) 6) 23:29:47 6 23:30:02 %eval ((k s) 6) 23:30:02 [l (x) (l (y) (l (z) ((x z) (y z))))] 23:30:16 I have absolutely no idea what you guys are doing :( 23:30:18 however, if ... oh wait 23:30:24 Hmm. 23:30:27 hm there could be a problem 23:30:37 %eval (k s) 23:30:37 [l (y) s] 23:30:41 Oh! 23:30:55 if foo contains both y's and what y's are replaced with 23:30:58 s doesn't contain anything at all! 23:31:10 oh 23:31:21 It's only when it's evaluated that stuff happens. 23:31:32 so you don't expand s and k until they are applied, yeah that makes things safe 23:31:37 * kerlo nods 23:32:08 I don't expand anything at all unless it's evaluated. 23:33:28 Evaluating (x y z . . .) causes x to be evaluated. After something is evaluated, the result is also evaluated, effectively. Also, f causes some stuff to be evaluated. 23:33:39 %eval ([l (x) (x x)] s) 23:33:39 [l (y) (l (z) ((s z) (y z)))] 23:33:58 and no sharing 23:34:06 %eval ((l (x) (x x)) s) 23:34:06 [l (y) (l (z) ((s z) (y z)))] 23:34:14 Using brackets is cheating. :-P 23:35:07 i thought there was some difference 23:35:21 there is 23:35:48 %eval ((l (foo) (I AM A HOT DOG)) (l (foo) (no ain't))) 23:35:48 (I AM A HOT DOG) 23:35:53 Wait, what? 23:36:07 I always get those mixed up. 23:36:10 Makes sense to me. 23:36:25 %eval ((l (foo) (l (foo) (no ain't))) (I AM A HOT DOG)) 23:36:25 (l ((I AM A HOT DOG)) (no ain't)) 23:36:36 %eval ((l (foo) [l (foo) (no ain't)]) (I AM A HOT DOG)) 23:36:36 [l (foo) (no ain't)] 23:36:47 The brackets protect l's first argument from substitution. 23:38:59 Which is cheating, of course. 23:39:04 So, I'll be more specific. 23:39:42 About f evaluating stuff, that is. 23:40:49 -!- BeholdMyGlory has quit ("godnatt på er"). 23:41:00 -!- FireFly has quit ("Later"). 23:41:02 (f func e list), where list is a non-empty list, evaluates func and (f func e ) before evaluating its result. 23:41:52 oh fold 23:42:37 "l" is lambda, what is "s"? 23:42:41 SKI calculus 23:42:44 for s, k and i 23:42:47 %eval (f (THIS IS FUN, EH MATE) e (1 2 3 4 54 5 6 7 8 9 0 10)) 23:42:47 ((THIS IS FUN, EH MATE) 1 ((THIS IS FUN, EH MATE) 2 ((THIS IS FUN, EH MATE) 3 ((THIS IS FUN, EH MATE) 4 ((THIS IS FUN, EH MATE) 54 ((THIS IS FUN, EH MATE) 5 ((THIS IS FUN, EH MATE) 6 ((THIS IS FUN, EH MATE) 7 ((THIS IS FUN, EH MATE) 8 ((THIS IS FUN, EH MATE) 9 ((THIS IS FUN, EH MATE) 0 ((THIS IS FUN, EH MATE) 10 e)))))))))))) 23:42:47 %eval s 23:42:47 [l (x) (l (y) (l (z) ((x z) (y z))))] 23:42:49 %eval k 23:42:49 [l (x) (l (y) x)] 23:42:50 %eval o 23:42:51 o 23:42:52 er 23:42:54 %eval i 23:42:55 [l (x) x] 23:43:14 %show 23:43:28 %what 23:43:28 ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k))) 23:44:50 %eval x 23:44:51 x 23:44:53 %eval s x 23:44:54 Syntax error 23:44:58 %eval (s x) 23:44:59 [l (y) (l (z) ((x z) (y z)))] 23:45:03 %eval (l x) 23:45:03 (l x) 23:45:17 %eval ((l x (x)) x) 23:45:18 ((l x (x)) x) 23:45:22 %eval ((s x)) 23:45:22 ([l (y) (l (z) ((x z) (y z)))]) 23:45:33 %eval ([l x (x)] x) 23:45:33 Syntax error 23:45:38 l takes a list as its first argument. 23:45:43 Your argument is invalid. 23:45:48 (Sorry.) 23:45:51 how am I supposed to know that :) 23:45:55 %eval ((l (x) (x)) x) 23:45:55 (x) 23:46:01 %eval ((l (x) (x x x)) x) 23:46:01 (x x x) 23:46:03 %eval ((l (x) (x x x)) y) 23:46:03 (y y y) 23:46:08 comex: omniscience. 23:46:28 oh shit, freenode have a link to these logs as part of my email about the kline 23:46:36 think I could get clog to erase the anti-freenode lines? 23:46:44 huh? 23:46:49 %eval ((k f) g) 23:46:49 f 23:47:40 ehird: what were you klined for? 23:47:44 %eval (s (k y) (k z) x) 23:47:44 ([l (x) (l (y) (l (z) ((x z) (y z))))] (k y) (k z) x) 23:48:00 kerlo: nothing: I was offline when it was done. 23:48:18 Why are you saying "oh shit", then? 23:48:32 comex: the SKI functions don't really like it when you pass x, y and z to them. 23:48:40 %eval (s (k Y) (k Z) X) 23:48:41 ([l (x) (l (y) (l (z) ((x z) (y z))))] (k Y) (k Z) X) 23:48:51 Though apparently they handled it well this time. 23:48:54 kerlo: cuz I called freenode incompetent fucks in the log that I linked them 23:48:55 :P 23:49:08 mm. 23:49:36 freenode without you would be... different. 23:49:51 'sthat a word for "better"? ;) 23:49:58 %eval (q q) 23:49:59 (q q) 23:49:59 more quiet, polite... 23:50:03 %eval (k k) 23:50:03 [l (y) k] 23:50:08 oerjan: Harsh, man. Harsh. 23:50:31 %eval (l (x) (x x))(l (x) (x x)) 23:50:31 Syntax error 23:50:38 %eval ((l (x) (x x)) (l (x) (x x))) 23:50:39 (loop (l (x) (x x))) 23:50:47 That terminated quickly. 23:51:10 %eval ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((x 23:51:10 Syntax error 23:51:19 Now what did you expect that to accomplish? 23:51:35 dunno 23:51:41 Anyway, it can handle recursion to a depth of 1000. If you want to hang it, use really wide recursion. 23:52:06 %eval (loop x) 23:52:07 (loop x) 23:52:29 loop is nothing special. 23:52:57 Here, let me make it siller. 23:53:00 -!- oerjan has quit ("Good night"). 23:53:00 Sillier, rather. 23:53:13 Creamy is the puff. 23:53:13 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)). 23:53:20 -!- kerlobot has joined. 23:53:33 %temp ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k))) 23:53:38 %eval (fix i) 23:53:52 * kerlo waits 23:54:12 %eval meep? 23:54:36 Wow, it hanged. 23:54:50 http://lca2srv30.epfl.ch/sathe/data/emacs_learning_curves.png 23:54:57 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)). 23:55:54 -!- kerlobot has joined. 23:56:24 I wonder why it did that. 23:56:30 Anyway... 23:56:30 %eval ((l (x) (x x)) (l (x) (x x))) 23:56:31 (loop (l (x) (x x))) 23:56:46 Oh, I didn't even save it. 23:56:46 -!- kerlobot has quit (Read error: 54 (Connection reset by peer)). 23:56:52 -!- kerlobot has joined. 23:56:54 %eval ((l (x) (x x)) (l (x) (x x))) 23:56:54 (loop (l (x) (x x))) 23:57:08 Oh, maybe I did. 23:57:29 One more time... 23:57:29 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)). 23:57:36 -!- kerlobot has joined. 23:57:39 %eval ((l (x) (x x)) (l (x) (x x))) 23:57:40 ((IT IS LOOP SORRY) (l (x) (x x))) 23:57:47 Worth spamming the channel for, isn't it. 23:57:53 IT IS LOOP SORRY 23:57:59 IT IS LOOP SORRY 23:58:07 %eval ((s i i) (s i i)) 23:58:07 (([l (x) (l (y) (l (z) ((x z) (y z))))] i i) (s i i)) 23:58:13 %eval (((s i) i) ((s i) i)) 23:58:20 (((YOU ARE LOOP SORRY) i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i 23:58:20 IT IS LOOP SORRY??????? 23:58:22 lol 23:58:26 YOU ARE LOOP SORRY? 23:58:26 wat 23:58:37 Yeah, sometimes it says YOU ARE LOOP SORRY instead. 23:58:40 -!- Corun has quit ("This computer has gone to sleep"). 23:58:42 For, um, diagnostic reasons.