00:00:06 Yes. 00:00:23 while you're at it 00:00:24 those closest i got to Reading The Literature is learning about the old hat way of parsers and looking through the trifecta slides 00:00:27 since I'm bad at reading literature 00:00:31 you should compile a list of literature 00:00:33 for me to read 00:00:35 monqy: I want something that can do left-recursion :'( 00:01:07 left-recursion is strange 00:01:21 ...and thus on topic(?) 00:01:28 what's so strange about it 00:01:30 i based it on this: http://oi51.tinypic.com/drc86g.jpg 00:01:39 it recurses leftwards... 00:01:41 I dunno 00:01:47 i don't actually know BNF particularly well 00:01:48 that is not a good explanation. 00:01:54 wtf is 00:02:00 i left that out 00:02:04 forget about it 00:02:07 there's no such thing as predefined objects 00:02:10 read a different book 00:02:16 CakeProphet: it is the cleanest way to express infix 00:02:25 exp := number | exp '+' exp | exp '-' exp | ... 00:02:35 although that misses precedence :P 00:02:47 though precedence can also be done with only left recursion 00:02:48 CakeProphet: have you ever tried doing infix without recursion in one of the ways? it gets messy 00:02:53 instead of uh... left-right-recursion? I guess? 00:03:16 monqy: no I have not. But I have tried it with right recursion and it works quite well. 00:03:20 elliott: succ is a predefined constant 00:03:26 or Succ, is it 00:03:32 >_> 00:03:32 :> 00:03:35 no. 00:03:36 CakeProphet: if by works quite well you mean is hideous, you may be correct 00:03:59 you and your aesthetics. 00:04:21 by constants, which is a fairly bad choice of words 00:04:41 i think he mainly means libraries of LC's 00:04:41 itidus20: succ is not a predefined constant 00:04:46 what is it? 00:04:47 itidus20: what libraries 00:04:52 what is succ? 00:04:59 it depends on your encoding of numbers 00:05:11 hummm 00:05:16 ok >.< 00:05:51 succ has to be defined before usage anyway 00:06:08 what do you mean "defined" 00:06:17 heh, "pre-defined" as in defined before? 00:07:03 maybe he should have called them predefined expressions 00:07:15 maybe your book sucks and you shouldn't be reading it 00:07:15 ok 00:07:38 predefined to me implies that it was defined outside of the language itself 00:07:39 the term constant seems a bit of a mes 00:07:42 which is not the case for succ 00:07:46 constant isn't a thing 00:07:53 yeah 00:07:54 there are no "constants" in LC 00:08:13 CakeProphet: but what mechanism of the language can you use to define things? 00:08:14 ....except maybe uh, lambda? 00:08:21 lambda 00:08:25 itidus20: there isn't one!!! 00:08:36 so then is succ defined outside of the language itself? 00:08:38 >_> lambda? 00:08:40 itidus20: you define them in your head or on pencil and paper or with some sort of preprocessor 00:08:42 > cycle "lambda " 00:08:43 "lambda lambda lambda lambda lambda lambda lambda lambda lambda lambda lamb... 00:08:49 itidus20: and then inline the definitions 00:08:56 itidus20: ((\succ. ...code using succ...) (...definition of succ...)) 00:08:59 that's the only way to name anything. 00:09:04 or you can do that 00:09:05 monqy: yeah.. well notice i left constants out of my bnf :D 00:09:17 i just conveniently ignored that line 00:09:50 CakeProphet: WHAT'S THE NEW THING IN PARSING monqy HELP 00:10:03 but i want to show that i didnt think it all up on my own... not that advanced yet 00:10:09 dude I don't know any more than you about parsing 00:10:13 why would you think such things. 00:10:20 i don't knwlo; =______-; the parsec slides seemed intregueing but i forgot what they said 00:10:25 not parsec 00:10:26 trifecta 00:10:31 trifecta slides 00:10:35 itidus20: http://en.wikipedia.org/wiki/Church_encoding 00:10:37 I dunno if there's anything more than slides 00:10:38 read this. 00:10:39 for trifecta 00:10:50 CakeProphet: how will that help 00:11:14 elliott: it would show him ways to define data in lambda calculus? 00:11:19 All Church numerals are functions that take two parameters. Here f is the successor function and x represents 0. -- makes sense 00:11:52 a whole number then is a function of zero and a successor function. that isn't bad. :) 00:12:07 natural number specifically. 00:12:51 all i remember about the trifecta slides is it did things to solve problems (and i remember vaguely some of these ways) and also mentioned other methods of parsing 00:12:56 so when it says λf.λx.x is zero.. it means it has no successor ? 00:13:08 oops sorry i take that back 00:13:10 zero is just a special case basically. 00:13:15 it means it is not a successor of anything 00:13:20 yeah. 00:14:30 to actually use church numerals do you have to apply zero to something? 00:14:36 no. 00:14:45 but you don't "actually use" lambda calculus. 00:14:54 if I understand what you mean. 00:15:21 there is such a thing as impure/applied lambda calculus though as i understand it 00:15:27 no. 00:15:29 your source was bullshit. 00:15:34 CakeProphet: well he only wants to learn LC to "apply it to his gamedev". so of course he isn't going to be able to understand LC as the pure system it is. 00:15:55 are there any other pure systems? 00:15:56 itidus20: even if you did apply something to a function, you would be applying a function and returning a function 00:16:00 there is nothing else to apply or return. 00:16:03 is LC an instance of a pure system? 00:16:06 oh my god 00:16:12 note to self never say anything iti will overanalyse it 00:16:50 everything can be abstracted :D 00:16:55 sigh 00:16:57 :D 00:16:58 even LC 00:17:09 LC is a pure system, sure. 00:17:17 it is an instance of a pure system 00:17:18 you do _not_ have enough knowledge to think about things like LC on a metalevel before you even understand the base level of plainly understanding it 00:17:25 lc is a thing. an instance of a thing. thing. 00:17:27 if you keep doing things like that you will _never_ learn it. 00:18:17 its a form of trolling of mine. but thats enough of it i dont want to stir trouble 00:18:33 saying dumb things isn't trolling. 00:18:37 it's just dumb. 00:18:50 i play with abstraction a lot 00:18:57 ....lol 00:19:17 itidus20: and for what and in what ways do you want to use the lambda calculus? surely you have some applications in mind with such grave misconception of it 00:19:22 i have considered that sitting down is an instance of human actions 00:19:30 itidus20: if i tell you you're wrong, will you stop being wrong? 00:19:53 itidus20 is master of the abstract. 00:19:59 do not trifle him. 00:20:08 no im not .. i just need to stop 00:20:14 and figure out why im being a pain 00:20:32 and hence stop being a pain 00:20:38 just learn the basics before you go off on misguided tangents. 00:20:47 that's pretty much all that you're doing wrong. 00:20:59 i got my first irc ban last night... it was kind of uncomfortable 00:21:08 I must have missed it 00:21:13 being banned is pretty easy. 00:21:14 where 00:21:16 not in this channel, or even this server 00:21:20 where was it :P 00:21:20 1. join #python 2. msg "lol 00:21:25 efnet #xna 00:21:36 " 00:21:44 why'd you get banned 00:21:58 well this guy had been warning me for a while.. i think he just had enough 00:21:59 xna... fun stuff. 00:22:07 that's not an answer :P 00:22:11 but sure 00:22:11 warning you? for generally acting like yourself? 00:22:14 partially i don't even use xna.. i just rant as if i was in here 00:22:24 oh okay. 00:22:34 yeah that makes sense. 00:22:37 why are you in #xna if you don't use xna 00:22:37 he said the other day allowances can be made for people who at least sometimes talk about xna or use it 00:22:40 ? 00:22:43 good point 00:22:54 i considered using it once upon a time years ago 00:23:16 not merely gamedev 00:23:17 so how many channels do you rant in :P 00:23:39 i am thinking about bringing a new artform out of gaming 00:23:44 oh? 00:23:55 just curious 00:24:14 elliott: im currently in 9 00:24:20 itidus20: again, you should probably learn the basics of game design before you go making an artform out of it. 00:24:37 itidus20: do you rant in all of them 00:24:39 what are the basics of game design 00:24:43 i just assumed we were special. 00:24:57 you are special 00:25:02 howso 00:25:08 monqy: I don't think there's really a formal theory to it... it's just like... experience. 00:25:25 this is the only channel like it 00:25:40 but you give those other channels your special rants :'( 00:25:59 the formal aspect would be the same as in the rest of CS. So game design is essentially just a specific subset of learning how to design programs. 00:26:10 game design has nothing to do with cs 00:26:15 well in #xna.. i keep reacting to offtopic topics 00:26:23 monqy: fine. applied CS. 00:26:26 overreacting. 00:26:27 monqy: it should 00:26:30 CakeProphet: i said nothing to do 00:26:31 game developers are just bad programmers 00:26:34 basically rants about patents 00:26:45 elliott: the point was the separation between design and programming 00:26:45 (usually) 00:27:01 monqy: well all SE is applied CS. 00:27:05 CS isn't concerned with design? 00:27:13 in any way 00:27:16 there is no branch of it? 00:27:17 that cares? 00:27:24 i dont rant that much honestly 00:27:26 game design would also apply to non-electronic games, and the such 00:27:33 ah, that's true. 00:27:42 fun design. :P 00:27:44 how to make fun. 00:27:46 some conclusions i have reached is that the word game does not imply entertainment 00:28:04 sorry cake.. didn't mean to be the fly in your soup 00:28:11 the cake says it's ok. 00:28:12 wat. 00:28:19 cake soup. 00:28:33 My professor is assuming that my classmate's problem is due to a .txt extension, despite his saying (and being right) that it isn't 00:28:35 i am using lazy evaluation style of thinking 00:28:43 .. 00:28:45 ... 00:28:46 do you mean you're just being lazy 00:28:52 itidus20: you say these wrong things 00:28:55 and it just makes me cringe. 00:29:11 i only JUST NOW concluded that the word game does not imply entertainment 00:29:21 but i had gathered the necessary proofs over the last month or so 00:29:22 you're like me from years ago on this channel. stop that. 00:29:27 itidus20: do you know what lazy evaluation is 00:29:35 is that why there are so many bad games? 00:30:10 CakeProphet: i agree w/ comparison 00:30:18 a game is essentially an entertaining competition. What makes a game fun is subjective and different people find different kinds of games fun. 00:30:28 competition? nah 00:30:35 monqy: i think it means only calculate the answers to questions you need the answers to 00:30:40 games present challenges sure 00:30:43 elliott: well, not necessarily against other players 00:30:46 but competition is the wrong word 00:30:52 arguing over definitions of words is stupid anyway 00:30:55 you can be competing against the game rules. there is some kind of objective at least. 00:30:59 it doesn't matter if something is a game or a toy or whatever 00:31:06 CakeProphet: some games have no objective, literally no reward 00:31:14 minecraft. 00:31:15 for instance, consider minecraft creative 00:31:16 ill reword that: i think it means only calculate the answers to questions you need the answers to when you need them 00:31:18 nah 00:31:22 today's minecraft has obstacles and shit 00:31:27 but creative has literally no obstacle or objective 00:31:31 and it's still undeniably a game 00:31:37 or if you say it isn't a game, then every player of it would disagree 00:31:47 i still don't see how my definition differs from non-lazy evaluation. 00:31:49 hmmm. okay. 00:31:50 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 00:31:51 it is not a game in the mathematical sense 00:31:56 lulz 00:32:05 good words for good people 00:32:12 games are not games in the mathematical sense, are they? 00:32:17 monqy, cake: What I seem to do is an act of topic-dropping. 00:32:45 itidus20: if you're wrong about something enough, maybe someone will pick up the topic and correct you? 00:32:52 Similar to name-dropping, I use an inappropriate phrase as a synonym for another phrase. 00:33:03 monqy: usually no since it's too painful 00:33:22 itidus20: oh. that's horrible. 00:33:28 it is 00:33:42 -!- Patashu has joined. 00:34:16 an itidus20 is an instance of an OO mind virus. 00:34:27 monqy: help, parser, help, help 00:34:30 CakeProphet: CGoL is certainly not a game in the mathematical sense 00:34:47 quintopia: indeed not. 00:35:46 the appropriate phrase in place of " i am using lazy evaluation style of thinking" would have been "What I mean is I realized it just now because of the topic." 00:35:56 so that is topic-dropping 00:36:06 needlessly mentioning lazy evaluation when it is not relevant 00:36:26 #define as ;while 00:36:27 do foo 00:36:29 elliott: hopefully the difference between my former self and itidus20 is that I got around to learning all (well, most) of the things I didn't understand. 00:36:35 do foo(n) as (n --> 0); 00:36:41 CakeProphet: how old were you in like two thousand and seven again 00:36:53 elliott: 15 00:37:04 my mind viruses are partially built up by other people. 00:37:05 15-16 00:37:14 CakeProphet: another difference: you wre fourteen years younger 00:37:17 s/wre/were/ 00:37:20 ....oh 00:37:29 people who are happier if i am downtrodden and confused, taking steps to keep me down 00:38:01 it's human nature. people are often setting it as their goal to cause harm. 00:38:11 -!- Sgeo has quit (Ping timeout: 258 seconds). 00:38:24 -!- Jafet has joined. 00:39:13 humans cope because we manage to chill out in spite of our harmful intent 00:40:04 having said all that, i am taking lots of steps at formal introspection 00:40:07 what made you convince yourself that that wasn't projecting, at least partially? 00:40:42 i know it is partially my fault. 00:40:56 didn't say that 00:40:57 at all 00:41:04 was just asking a question 00:41:07 uhmmm 00:42:06 people take advantage of my defence mechanisms. i am responsible for my defence mechanisms. they are responsible for how they react to me. 00:42:24 take advantage of? 00:43:03 help what is formal introspection 00:43:05 i'm not healthy in mind, body, social life, or money. 00:43:13 help Freudian armchair psycho-babble what do? 00:43:22 oh wait I have monqy help back in exchange for sour cereal. 00:43:30 CakeProphet: taking notes of how i am feeling at various times 00:43:58 very formal 00:44:06 very introspective 00:44:27 trying to analyze the actual causes of feelings i don't want to feel 00:45:22 do the causes point to yourself is that where this is going 00:45:36 or do they point to other people is that where this is going 00:46:12 well, other people can do what they like.. its my problem if i overreact 00:46:51 -!- kmc has joined. 00:47:04 lots of gecho revisions recently 00:47:34 basically, if something i remember upsets me.. like for example.. if i remember such and such is gonna happen 00:47:47 where by gecho I mean the gecho page. these revisions are saddening. 00:47:56 gecho is saddening 00:47:57 im trying to take note of which things are actually causing such upset 00:48:17 ok 00:48:21 monqy: yeah thats the idea.. no need to get depressed by gecho 00:48:32 has your note taking worked 00:49:12 monqy: well, theres these feelings of derealization and depersonalization and psychosis which i seem to enter into at times 00:49:29 hey me too. 00:49:48 those are the main uhmm vector of attack which is bothering me recently 00:50:35 another thing is to be realistic about things. 00:51:03 what does that mean 00:51:31 monqy: come on, be more realistic. 00:51:55 wow this topic is really appropriate right now. 00:52:02 hm? 00:52:06 i have convinced myself that my brother isn't psychotic. he's just an asshole quite often. 00:52:26 that must be a relief 00:52:52 Note that he just said he convinced himself of that, not that it's true. 00:53:10 I am convinced that Gregor is actually Roger G. 00:53:31 I am convinced that Scotland is where Santa Claus is from. 00:53:35 and his first name propaganda is a terrible lie that he has told everyone including the government. 00:53:50 his last name is propaganda lies too 00:54:40 Gregor is also lying to himself about his name. 00:54:46 /Gregor/Roger G./ 00:55:04 s'^/'s/' 00:55:26 ok 00:55:28 man sometimes regex substition on IRC gets tricky. 00:55:37 I don't bother with regex 00:55:39 -!- zzo38 has joined. 00:55:45 I like it better my way 00:55:51 i just do s/thing/ 00:55:55 monqy: what is your way, 00:56:03 thing/other thing 00:56:12 Gregor: well he is an angry violent manipulative drunk who will take others things without a thought, but that doesn't necessarily mean psychotic 00:57:03 if thing/other thing is insufficient I do a "where by ... i mean ..." 00:57:33 I also sometimes use thing/other thing to add meaning rather than replace maybe? I forget if I do this. 01:01:49 perl regex substition is the only sane way to replace typos and misinformation. 01:01:57 all substitions must parse correctly. 01:02:01 these are the rules. 01:02:13 I tend not to care about typos 01:04:43 -!- Gregor has changed nick to NotRogerGYouGuys. 01:04:52 "...does it count as pedophilia if it's animals" --a friend 01:04:58 s/(.*?)/$1, also I am a really bad/ 01:05:16 s/(.*?)/$1, also I am a really bad/g 01:05:27 im a really bad 01:09:03 http://sourcereal.com/ 01:09:10 I just need to revisit this site 01:09:12 sour cereal 01:09:15 because it is truly the best site I've seen. 01:10:25 what IS IT 01:11:31 monqy: explain...... 01:11:35 you posted it originally right 01:11:44 yes 01:11:56 where 01:11:57 did you find it 01:11:58 -!- Jafet has quit (Quit: Leaving.). 01:12:04 he googled sour cereal I imagine 01:12:06 by searching for sour cereal 01:12:11 is that it 01:12:13 after I mentioned it being possibly a good idea. 01:12:24 after eating SOUR PUNCH STRAWS 01:12:26 source real . com 01:12:30 -!- Jafet has joined. 01:12:35 nooo its privately registered whois 01:12:40 IM CANNOT CONTACT 01:12:42 which, by the way, I must go buy more of. 01:13:12 `log Roger G 01:13:18 2011-09-14.txt:00:54:46: /Gregor/Roger G./ 01:13:23 Piffle 01:13:38 `log pop 01:13:42 2011-02-09.txt:14:41:06: Deewiant: Personally, I think that "ABCD"4) only pops from the fingerprint stack if ABCD is the most recently loadedfingerprint. 01:13:44 part of becoming an adult is spending your money irresponsibly. 01:13:59 `logurl 2011-02-09.txt:14: 01:14:01 http://codu.org/logs/log/_esoteric/2011-02-09 01:14:05 on things like candy and alcohol and wimminz 01:14:15 roger: well psychopath's are like shannon's maxim.. the key is simply knowing yes or no if they are 01:14:34 it can be virtually impossible to know without this key piece of info 01:14:40 .. 01:14:49 thats the truth. i have read up on it 01:15:39 this KEY piece of info bahahahahaha 01:15:45 okay time to go. 01:15:51 -!- NotRogerGYouGuys has changed nick to Gregor. 01:16:19 yes. once a psychopath is known to be a psychopath, that is all you need to know to know.. and without this knowledge you can almost not know 01:16:47 it is like trying to use a captcha to catch a bot 01:16:51 kk 01:16:53 k 01:17:27 in accordance with shannon's maxim, it is their most prized possession 01:17:35 I am a psychopath. 01:18:20 so several moral dilemmas are raised. is a person evil just by being a psychopath? 01:18:35 and once caught there is no treatment, only to cycle them between prison and mental hospital 01:18:42 please...stop... 01:18:47 you can eat them 01:18:47 why? 01:19:11 21:16 < CakeProphet> okay time to go. 01:19:15 okay time to go. 01:22:19 basically ok, it's like trying to determine what is on a display by scanning the video memory instead of looking at the display with a camera 01:24:28 -!- DH____ has joined. 01:26:12 Wow, String has really bad overhead. 01:26:22 Gregor: Ask me what String's overhead is in Haskell. 01:27:15 -!- tswett has quit (Read error: Operation timed out). 01:27:21 Gregor: Do it, it will amuse you. 01:27:56 Gregor is bad. 01:28:53 monqy: tell Gregor he is bad. 01:29:02 Only 39 bytes 01:29:14 Gregor: bad 01:29:31 Jafet: Forty, isn't it? 01:29:43 I was going to guess fifteen bytes one bit per character. 01:29:44 Per codepoint, of course. 01:29:53 -!- tswett has joined. 01:29:56 Gregor: It takes 5n words per codepoint, apparently :P 01:29:57 (Assuming ASCII only) 01:30:04 Erm 01:30:06 5 words per codepoint 01:30:12 You asked for overhead 01:30:14 It uses utf-thirtytwo always 01:30:18 Jafet: Point :P 01:30:26 It's not thirty-nine bytes though. 01:30:29 It's thirty-two. No? 01:30:31 Four words. 01:31:02 Most code points use one byte, 01:31:08 So UTF-320 01:31:16 Most take 7 bits :P 01:31:25 UTF-320? 01:31:38 Gregor: If you go by frequency of usage, perhaps. 01:31:43 pikhq_: Naturalismo. 01:32:04 Context-dependent, but generally true in non-plain text. 01:33:52 I wonder if there's a known-nicer string representation than ropes... 01:34:12 (Or, well, "finger tree of small vectors of codepoints" if you want to be precise.) 01:36:37 -!- DH____ has quit (Read error: Connection reset by peer). 01:36:42 -!- DH____ has joined. 01:38:14 -!- Jafet has quit (Ping timeout: 276 seconds). 01:38:31 `log godel 01:38:35 2011-01-04.txt:19:12:22: elliott: I don't get that godel quote 01:38:48 `pastelog godel 01:38:50 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastelog: not found 01:39:06 :/ 01:39:17 that would be a good program 01:39:22 please write it 01:39:37 `pastelogs godel 01:39:42 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25506 01:40:16 `run which pastelogs 01:40:18 ​/hackenv/bin/pastelogs 01:40:26 `logurl 2007-07-23 01:40:28 http://codu.org/logs/log/_esoteric/2007-07-23 01:40:35 quintopia: i made it : ): )) 01:40:36 also `log 01:40:36 `log 01:40:38 2005-03-24.txt:03:34:00: -!- lament has quit (clarke.freenode.net irc.freenode.net). 01:40:41 `log 01:40:43 2005-09-15.txt:04:50:58: (actually, i'm not sure about this. hrm) 01:40:52 ggood logss 01:41:43 `run ln -s /hackenv/bin/pastelogs /hackenv/bin/pastelog 01:41:45 No output. 01:41:52 can i do that? :P 01:42:14 -!- zzo38 has quit (Remote host closed the connection). 01:42:24 -!- Sgeo has joined. 01:42:25 `pastelog 01:42:42 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16730 01:42:58 `log dangerously 01:43:03 2011-03-07.txt:18:41:51: Sgeo doesn't, and was coming dangerously close to taking relationship advice from him. 01:43:23 `pastelogs dangerously 01:43:27 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.13037 01:44:14 -!- calamari has joined. 01:46:07 -!- Sgeo_ has joined. 01:46:59 -!- Jafet has joined. 01:47:42 -!- Sgeo has quit (Ping timeout: 260 seconds). 01:57:00 so is "\x x" church numeral 0? 01:57:06 -!- Jafet has quit (Quit: Leaving.). 01:57:14 hmm oops forgot 1 thing 01:57:26 so is "\f \x x" church numeral 0? 01:57:57 it can be 01:58:18 -!- augur has quit (Remote host closed the connection). 01:58:36 is "\f \x x" like "(λf.(λx.(x)))" 01:59:20 it can be 01:59:41 `run ln -s /hackenv/bin/pastelogs /hackenv/bin/pastelog 01:59:42 no 01:59:42 why do you have so many parentheses 01:59:48 why do you have parentheses around the x 01:59:50 why 02:00:05 because i don't want to make mistakes 02:00:12 `rm bin/pastelog 02:00:13 Because he's being strange and not doing sane notation. 02:00:13 No output. 02:00:19 you're more likely to make mistakes if you make a huge mess of parens like that 02:00:22 seems i am leaving out -> too 02:00:29 I'd recommend \f x->x 02:00:40 ahh 02:00:41 Or \f->\x->x if you want the currying explicit. 02:00:45 ahh 02:00:56 I tend to use more spaces 02:00:59 \ f x -> x 02:01:01 Or \f.\x.x if you want it to *just* be all-ASCII standard lambda calculus notation. 02:01:33 \fx.x if I'm doing it like that 02:02:02 I'm too used to names of variable length. ;) 02:03:16 Ichi \fx->f x, Ni \fx->f(f x), San \fx->f(f(f x)), Yon \fx->f(f(f(f x))), Go \fx->f(f(f(f(f x)))) 02:04:05 馬鹿じゃ! 02:04:10 One, Eck, Ichi \fx->f x, Two, Dou, Ni \fx->f(f x), Three, Teen, San \fx->f(f(f x)), Four, Chaar, Yon \fx->f(f(f(f x))), Five, Paanch, Go \fx->f(f(f(f(f x)))) 02:05:04 itidus20: it's strange of you to omit spaces in the formal parameters thingy but leave them in in the application 02:05:08 「12345」か、「一二三四五」か良いかもしらない。でも「Ichi Ni San Yon Go」がとても変だ。 02:05:21 itidus20: and also leave them out in other applications 02:05:21 monqy: ahh true true 02:05:50 Is there anything not strange about what i am doing though? 02:05:54 what 02:06:22 -!- Jafet has joined. 02:06:54 the other day someone thought a lang had all instructions executing at once (turned out it wasn't), but it got me thinking, what if all instructions had a queue on the data.. for example *addr1=*addr2+*addr3. if addr2 or addr3 are changed, then that would execute, changing addr1, then anything that relied on addr1 would execute, etc. Is there an esolang like that? 02:07:38 Dataflow languages aren't esoteric 02:07:47 Neither are constraint logic ones 02:08:12 I am just getting used to the lego blocks of lambda calculus 02:08:15 It's certainly possible to make an esoteric dataflow language 02:08:18 I mean esoteric languages aren't even esoteric. 02:08:21 you're pretty much fucked. 02:08:33 Nor are spreadsheets esoteric. 02:08:35 see monqy, that was what i call a topic-dropping.. the unnecessary use of "lego blocks" to mean "components" or "elements" 02:08:53 what's a good non-esoteric dataflow language 02:08:59 itidus20: now im dead inside :( 02:09:08 why am i trying to talk like monqy 02:09:15 what 02:09:30 with the whole no capitalization thing 02:09:30 learning to type logically also teaches how to think logically 02:09:38 You admire his intellect? 02:09:40 cool, so I discovered something that they came up with in 1966 according to wikipedia :) 02:09:42 sometimes I do caps; I'm rather inconsistent about it. 02:09:46 Sgeo_: because it's col 02:09:53 ^cool 02:09:57 calamari: Well, topological sorting spreadsheets are a *bit* newer. 02:10:12 once you type i as i you're basically a no-caps'er 02:10:19 spreadsheets of functions 02:10:24 Still, not exactly new. 02:10:34 CakeProphet: Yes... 02:10:41 spreadsheet of spreadsheets 02:10:44 What not new new thing did calamari do? 02:10:55 Sgeo: said something :) 02:11:01 lol\ 02:11:02 Sgeo_: you can type faster without caps.. 02:11:07 its just a fact 02:11:12 But I don't like to type without caps. 02:11:16 you can type faster still without punctuation 02:11:28 Typing with caps and punctuation doesn't slow me down very much at all. 02:11:37 but in either case i like punctuation 02:11:43 what slows me down is bothering to correct ytpeoes 02:11:44 itidus20, not if your finger memory always reaches for the Shift and as such, you have to think about not doing it. 02:11:47 I'm too busy busting caps in niggas and hoes to type caps. 02:11:53 Sgeo_: yeah i just noticed that 02:12:19 Shoiudl I stop bothering to correct my types? What will ahpepn? 02:12:22 Off to read some Discworld and eat 02:12:27 punctuation probably doesn't help much 02:12:34 i mean.. the removal of it 02:12:39 monqy, ugh, I hvae done that sort of thing before, really speeds things up att the expesne of typoes. 02:12:44 w.r.t speed 02:12:47 I'm thinking about it, and I'm not sure a spreadsheet is exactly the same 02:12:54 sometimes I bother, sometimes I don't!!! 02:13:01 sometimes I also make more typoes than others. 02:13:04 0_0 02:13:05 sometimes. 02:13:18 higher order spreadsheets are spreadsheets of functions that take a spreadsheet input and a spreadsheet output 02:13:54 they are the best spreadsheets of all. 02:14:21 elliott: i hate you 02:14:22 I think you could make an esolang out of higher dimensional spreadsheets 02:14:32 And higher order, of course 02:17:52 thanks for letting me know the name of what I discovered... now I won't have to implement it :) 02:19:50 I bet if someone here implemented an esolang based on spreadsheets, their endeavour to make it turing complete will make it superior to other real spreadsheets 02:20:20 most spreadsheets have some kind of language you can embed behind it 02:21:00 I don't believe that was new information for anyone. 02:21:36 I once tried to write a brainfuck interpreter in Excel 02:21:38 didn't work. 02:21:53 -!- augur has joined. 02:22:07 ::= | ; ::= "\" | "->" | ; ... is this faulty? 02:22:19 it's unecessary. 02:22:40 its a nice way to express ideas without using english 02:22:42 yes faulty 02:22:48 what's x -> x 02:23:02 \ and -> are part of same rule 02:23:12 hmm 02:23:16 heheheh ok 02:23:41 ::= | ; ::= "\" "->" | ; ... is this better? 02:25:29 i am wondering to myself and now typing it if the last one can be vars 02:26:24 well function application would be ignoring insignificant whitespace. 02:26:28 trying to avoid \x->xxyzx not sure if i need to though 02:26:52 bugger 02:27:09 well, in Haskell it's a bit more complicated than that. 02:27:11 for function application 02:27:17 because you can have f x or f(x) 02:27:29 itidus20: your expr has no application 02:27:32 CakeProphet: no 02:27:44 f(x) is just f (x) 02:27:50 just like (((x))) = x 02:28:25 hmm.. so is "\x->" the same as "λx." 02:28:41 elliott: ...yes I understand they are the same 02:28:45 but to describe the syntax 02:28:49 you would include both forms. 02:29:00 or is -> used in both application and lambdaing 02:29:08 > reverse "hello" 02:29:10 "olleh" 02:29:10 is application 02:29:14 > ( 02:29:15 : parse error (possibly incorrect indentation) 02:29:20 > (\x -> x + x) 2 02:29:20 itidus20: just lambdaing 02:29:21 4 02:29:26 CakeProphet: not helpiiiing 02:29:29 is a lambda that is bein applied. 02:29:32 CakeProphet: not helping 02:29:42 you used arithmetic 02:29:46 again 02:29:52 uhmm ok so function application in haskell is just (x y) ? 02:29:58 x y 02:30:03 ah 02:30:10 can it be x x? 02:30:13 sure 02:30:18 :t id id 02:30:19 forall a. a -> a 02:30:22 how about 02:30:26 instead of concrete syntax 02:30:26 sigh 02:30:28 we focus on 02:30:30 abstract syntax 02:30:52 CakeProphet: you are _really_ not helping iti. please stop. 02:30:59 if i just keep stareing at syntaxes enough it is sure to just make sense 02:31:00 -!- sebbu2 has joined. 02:31:00 -!- sebbu2 has quit (Changing host). 02:31:00 -!- sebbu2 has joined. 02:31:01 I'm actually surprised how much fuss you guys are making over concrete syntax 02:31:23 monqy: /me has not been making any sort of fuss about concrete syntax. 02:31:27 yes you have 02:31:45 i am going on the theory that if you know the grammar of a language you should be able to use it at least in a trivial manner 02:31:54 you're wrong 02:31:54 lol 02:32:02 jesus christ 02:32:08 its not like it has many rules 02:32:15 it's not latin 02:32:30 Hey, it works for python. 02:32:37 -!- sebbu has quit (Ping timeout: 260 seconds). 02:32:41 And any other language that is C in disguise 02:33:00 Python: C in disguise 02:33:21 itidus20: you are acting like you are on the same level as the people trying to teach you - forming your own different path and disagreeing. until you accept that you must first be a _learner_, you will never learn. 02:33:33 C with reference counting. 02:33:42 hmm now heres how wirth would say it 02:34:13 ok, ignore me 02:34:19 im not 02:34:53 curry f x; body begin x end; 02:34:56 what 02:35:08 wow. 02:35:14 you're going like 02:35:17 in the wrong direction 02:35:36 remember itidus20 what i said about trying to form your own path? 02:35:58 lao tse once say, the sage follows the well worn path 02:36:30 heheheheehehehehehee 02:37:32 well he might have said that 02:43:02 uhmm 02:43:38 hm? 02:46:00 about lao tse could be a false memory 02:46:22 about how wirth would do a functional language, i think it would be beyond my imagination 02:46:30 what is wirth. 02:46:38 nikolaus wirth 02:46:40 is it the end of win? 02:46:49 or the end of wear? 02:47:00 algol-w, pascal, modula, oberon 02:47:12 i only know the names of his works really 02:48:08 if I beat you with this stick will learn more stuff? 02:48:36 cut and paste from some googling "I also remember bursting out laughing when the Modula-2 compiler warned correctly that I had written an infinite loop! Ooops." 02:50:44 > let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in fibs 02:50:45 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 02:51:09 http://web.archive.org/web/20100331222736/http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf 02:52:51 "To postulate a state-less model of computation on top of a machinery whose most eminent characteristic is state, seems to be an odd idea, to say the least." :P 02:54:51 and yet so good. 02:55:00 yeah youve disproved the lambda calculus with a quote and a smiley good thing you never had to learn it 02:55:19 elliott: alright relax. im not giving up on it 02:55:31 > let fibs = 1 : 2 : zipWith (*) fibs (tail fibs) in fibs 02:55:31 [1,2,2,4,8,32,256,8192,2097152,17179869184,36028797018963968,61897001964269... 02:55:44 its just i was looking for wirth's take on it.. its natural he is biased towards his imperative languages 02:56:06 im perfectly relaxed. 02:56:21 you have shown me that it can be used for building OS's 02:56:52 i am used to the quotes of old men being bitter 02:57:30 There's a pretty obvious issue with that quote. 02:57:55 the link was from lambda the ultimate anyway ironically 02:57:56 Our machines are designed for ease of dealing with physical reality. 02:58:05 Our code has no such concerns. 02:58:14 http://lambda-the-ultimate.org/node/1773 02:58:14 (modulo obvious limits) 02:58:38 I'm not entirely sure that's how modulo works pikhq_ :P 02:59:06 CakeProphet: Sadly, our code is guaranteed to halt. 02:59:47 At a minimum, it will go with the rest of the universe. 03:00:02 if only lived in a magical world of mathematical thought. 03:00:09 I could be a theorem! 03:01:39 elliott: well i will never be able to learn it(LC) through the method of acquiring prerequisite knowledges.. so i am analyzing it's component's 03:02:02 itidus20: what are its components 03:02:13 itidus20: you may have a bad idea of what they are 03:02:59 it has just occured to me that i still don't have a good idea of what a variable is 03:03:38 in lambda calculus variables function parameters. 03:03:41 +are 03:03:47 such as with... \x-> .. 03:03:51 they are also all functions 03:03:51 yes 03:03:53 everything is a function 03:03:55 and yes. 03:04:07 is "λx." a complete lambda expression? 03:04:11 no 03:04:11 no 03:04:22 The function has to map to *something*. 03:05:38 and.. "λx." is basically equally incomplete as: "λa.", "λb.", "λc.", "λd.", ... etc.. and they each express the same thing in isolation right? 03:05:48 what 03:06:00 they don't express anything. they're nonsense. 03:06:17 i mean like if i wrote "λp." on a piece of paper and showed it to someone it would mean just as much as "λr." 03:06:25 no more or less 03:06:34 at what are you getting 03:06:46 itidus20: Yes, but it would also mean just as much as ASDGJIFujyh0-qwe4itgo0xcfnvjbhklsdau5689234iq8ibvgo0sdujt89ioweausjfgioxzfhyuiqejhiopfgjhsar89pitpjq; 03:06:50 and yet this is a component of LC .. and i am analyzing it 03:06:54 It's a fucking syntax error. 03:07:05 it isnot a component of the lambda calculus; it's a syntax error. 03:07:05 itidus20: yes the name of the variable doesn't matter as long as it's unique 03:07:10 its 1 character short of being a complete LC expression 03:07:22 itidus20: things do not work like that 03:07:27 itidus20: you are doing it wrong 03:07:36 i am being cruel perhaps 03:07:36 "λp." means "take p and... 404 file not found" 03:07:48 itidus20: cruel? 03:07:58 yup... 03:08:05 -!- calamari has quit (Quit: Leaving). 03:08:16 itidus20: When you write such "expressions" you are granting permission to launch demons from your nose, now stop it. ;) 03:08:21 `fetch http://sprunge.us/OViK 03:08:22 2011-09-14 03:08:22 URL:http://sprunge.us/OViK [7576] -> "OViK" [1] 03:08:28 `run sh OViK ; rm OViK 03:08:32 x - created lock directory _sh21266. \ x - extracting bin/unlearn (text) \ x - extracting bin/forget (text) \ x - extracting bin/learnt (text) \ x - extracting bin/learn (text) \ x - removed lock directory _sh21266. 03:08:38 i am showing you a piece of the space with which i am exploring LC syntax.. and its nasty! 03:08:40 `learn elliott Ignore this loser. 03:08:42 Learned! 03:08:45 `elliott 03:08:47 elliott = Ignore this loser. 03:08:57 ooh I love learn 03:09:09 `learn Lymee *hugs* 03:09:14 :( 03:09:17 Learned! 03:09:21 :) 03:10:04 Does GNU shar *actually test* for *GNU* md5sum? 03:10:10 Not a functioning one, but *GNU*. 03:10:15 Fucking fuck. 03:10:31 a test: 03:10:32 `learn cat cat 03:10:34 Learned! 03:10:36 `cat 03:10:37 shar: Easily the best. 03:10:38 cat = cat 03:10:49 monqy: That ... could be a problem ... 03:11:04 `run echo a | cat 03:11:07 cat = cat 03:11:09 cat 03:11:12 Gregor: Kinda an elegant archive format, but jebus GNU stuff is feces. 03:11:15 `rm bin/cat 03:11:16 `run echo $PATH 03:11:17 No output. 03:11:17 Gregor: this is a bad learndb i shall improve 03:11:18 ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin 03:11:31 elliott: THEN DOOOOOOOOOOOOOOOOOOOOOOOOO SO 03:11:49 lambda seems to be a modification of a symbol.. just as 'A' is a capitalization of 'a', and 'ga' in japanese is a change to 'ka', so "λx." is related directly to "x" 03:11:51 `export PATH=/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin:/hackenv/bin 03:11:52 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: export: not found 03:11:58 `run export PATH=/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin:/hackenv/bin 03:11:59 No output. 03:12:01 itidus20: what 03:12:09 `learn cat cat 03:12:11 Learned! 03:12:14 itidus20: you're not thinking right 03:12:16 "λx." introduces the symbol "x" 03:12:16 `run echo a | cat 03:12:18 cat = cat 03:12:20 `rm bin/cat 03:12:21 No output. 03:14:02 "λx." says something like.. in the following expression, "x" is a bound variable. 03:14:32 "λx." isn't a complete thought 03:15:36 -!- pikhq_ has quit (Ping timeout: 240 seconds). 03:15:42 maybe you should try learning the lambda calculus before you do this nonsense with it 03:16:01 or have you given up on that 03:16:07 perhaps i should say "(λx.())" 03:16:15 you're making it worse 03:16:30 i can go a little further 03:16:33 `wiki lambda calculus 03:16:35 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 03:16:38 :< 03:16:51 "((()())(λx.(())())())" 03:16:56 ;_; 03:16:59 that's not a thing 03:17:07 indeed 03:17:14 it is missing parts 03:17:15 -!- pikhq has joined. 03:17:22 Can we... 03:17:23 Get rid of itidus20 03:17:39 no 03:17:42 ok i should leave until i can play reasonably though 03:17:55 bye 03:17:59 -!- itidus20 has left ("Leaving"). 03:18:17 bye 03:18:47 what are your guys' minesweeper records 03:19:08 I made a script to reroll until I could get it on the first click 03:19:15 haha 03:20:06 I just opened it up and got 227 seconds on expert. was wondering if that was decent 03:21:17 Microsoft has made a few different versions... the recent ones play in the background and prevent you from losing if the position is ambiguous 03:22:18 yeah, I'm using a verson that prevents you from needing luck 03:27:11 `elliott 03:27:13 elliott = Ignore this loser. 03:27:40 oh i misread something up there 03:29:28 what a stupid command 03:29:57 well 03:30:01 it will come in handy later. 03:32:01 back 03:32:12 hi 03:32:44 -!- itidus20 has joined. 03:32:54 hi 03:33:00 hi monqy 03:33:02 coool simonrc knows edwin brady 03:33:03 everyone 03:33:08 (i am logread) 03:34:07 -!- zzo38 has joined. 03:36:38 -!- copumpkin has joined. 03:37:10 Do you have idea if I could make up some doppelganger's prestige class for Dungeons & Dragons game? I should also probably write a fix for the Metamind class. But I think I did fix the Illithid Savant class now. 03:37:57 I don't remember very well. Was copumpkin wrote the which/left/right class for me or someone else? 03:38:36 -!- augur has quit (Remote host closed the connection). 03:40:58 ok, is λx.y a valid lambda calculus expression? 03:41:07 Not by itself. 03:41:47 depends on what you mean by valid 03:42:16 itidus20: you're still thinking about lc in terms of its concrete syntax, i see 03:42:53 hmmm 03:44:08 hmmm. now if λx.y is applied to something, would it become "y"? 03:44:13 Gregor: How much convincing do you need to add new regexp-ish handlers to egobot 03:44:21 itidus20: yes. 03:44:28 specifically, the _application_ would become y. 03:44:43 perhaps i should instantiate a something 03:44:47 -!- quintopia has quit (Quit: Lost terminal). 03:44:55 -!- quintopia has joined. 03:44:55 -!- quintopia has quit (Changing host). 03:44:55 -!- quintopia has joined. 03:44:58 elliott: ??? 03:45:06 (λx.y) z becomes (y) 03:45:25 Gregor: For a nicer learndb system :P 03:45:51 Hmm,w ait 03:45:53 `? test 03:45:55 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?: not found 03:45:57 Great 03:46:01 Gregor: Never mind 03:46:25 and (λx.x) z becomes (x) 03:46:33 oops 03:46:35 oops 03:46:39 Gregor: How can one view a certain file on hackego served as text/html :P 03:46:39 and (λx.x) z becomes (z) 03:46:56 `url 03:46:58 http://codu.org/projects/hackbot/fshg/ 03:47:04 Gregor: That's as text/plain 03:47:22 Oh ... I see what you ... want ... but not why :P 03:47:27 "You can't" is the simple answer :P 03:47:30 Gregor: Hyperlinked learndb wiki :D 03:47:36 I just have to generate it after every learndb mutation. 03:48:47 Gregor: C'moooooooooon 03:48:54 (λx.y) z becomes y and (λx.x) z becomes z, is this so far so good? 03:50:11 itidus20: Yes. 03:50:28 elliott: Seems to me like this is when hackiki and hackbot should be merged :P 03:50:51 Gregor: Well, no, it'd not be like hackiki. But I could write it as a hackiki page. 03:50:58 Can any hackiki read from HackEgo? 03:52:22 Not at present >: ) 03:52:38 Aaaaaaaaaand ... not tonight :P 03:53:55 Gregor: How can I make HackEgo send multiple lines X-D 03:54:11 I need to send each definition of a word on a separate line or it won't fit multiple definitions at all >__> 03:54:44 Not - gonna - happen. 03:54:59 One-in-one-out is a pretty strict rule. 03:55:12 Is it ever going to fix that QUIT messages should be copied into the channel logs? 03:55:14 Maaaan, HackEgo is SO unsuitable for a learndb. 03:55:43 Clearly we need another bot. 03:55:47 Yes. 03:56:00 zzo38: Probably. Months/years from now when I grab a moment to do it. 03:56:05 fungot, EgoBot, glogbot HackEgo? Definitely not enough. 03:56:06 pikhq: it saves valuable internet bandwidth even if i'd get an " indefinite" number of arguments ( 1 for 0) i need to 03:56:11 Oh, and clog. 03:56:34 I wrote an IRC bot program once. 03:58:12 It is currently connected to Freenode. 03:58:37 What's it called 03:58:38 * CakeProphet finishes his Data Structures project and turned it in with exactly 2 minutes to spare. 03:58:40 Is it that pokemon one 03:58:51 elliott: Yes, well, sort of. 03:59:13 It is named "PocketMonsterIRC" you can command it to join channels 03:59:14 -!- augur has joined. 03:59:36 -!- Jafet has quit (Quit: Leaving.). 04:00:51 -!- PocketMonsterIRC has joined. 04:01:38 See? That is how it works. 04:02:36 OK 04:02:52 cool! 04:02:55 So if I put x y that is an application, but it cannot be applied until something like (λx.(x y)) λa.b which would become (λa.b) y and then finally b 04:03:04 no 04:03:19 x y is an application 04:03:20 that is a correct reduction 04:03:25 it applies things. 04:03:30 but yes the reduction is correct. 04:03:59 CakeProphet: ah so you mean the terminology is a bit wonky 04:04:01 oh... I see what you mean, nevermind. 04:04:18 anyway.. hmm 04:04:23 the expression that a function returns is not evaluated until the function itself is applied. 04:04:36 if that's what you mean. 04:04:39 Gregor: I have the perfect learndb ;___; 04:04:39 What if 04:04:42 I could make it 04:04:44 Send notices 04:04:45 ???????????????????????? 04:04:47 Those are better 04:04:48 maybe 04:04:49 help 04:04:54 friendship learndb 04:04:55 I set up a macro to send command to PocketMonsterIRC, in my IRC client. It is possible to do that 04:05:04 now.. if i was to (λx.(x y)) a then that would become a y right? 04:05:07 -!- Jafet has joined. 04:05:16 So you can set up a macro too if you want to send commands, including your own program if you want to make IRC bot, to do that 04:05:23 zzo38:ro 2d6 = 5 04:05:30 zzo38:ro 2d6 = 7 04:05:30 itidus20: yes, but y should be defined somewhere. 04:05:32 zzo38:ro 2d6 = 4 04:05:33 zzo38:ro 2d6 = 12 04:05:38 Gregor: See. 04:05:42 So non-obtrusive. 04:05:43 stop that 04:05:44 My nick column is only like 04:05:48 At the edge of my screen now 04:05:57 itidus20: the thing to remember is that a, x, and y are all functions. 04:06:18 hmm... 04:06:31 there is /no/ other kind of value 04:07:15 and... that's pretty much it, in essense. 04:07:24 -!- elliott has changed nick to shfkhsdlsjdflsah. 04:07:27 CakeProphet: well would i just define y by nesting it in something else? 04:07:34 -!- shfkhsdlsjdflsah has changed nick to XXXXXXXXXXXXXXXX. 04:07:34 I'm not sure what you mean. 04:07:38 MWAHAHA 04:07:41 -!- XXXXXXXXXXXXXXXX has changed nick to elliott. 04:07:56 you define y through as a lambda parameter, yes. 04:08:09 ahh i see 04:08:39 so i would just say a y becomes λa.(a y) b and then it would become a b 04:08:53 " I just opened it up and got 227 seconds on expert. was wondering if that was decent" <<< my record is about 180 on this computer, haven't played a lot yet. i usually play normal since you can only win every 8th or so expert, which is frustrating 04:08:55 a y doesn't become that expression, no 04:08:59 but you could change it to that yourself. 04:09:01 oklopol: teach itidus20 lambda calculus 04:09:13 sorry cake sorry 04:09:17 i got distratced rushing 04:09:23 so i would just say a y becomes λy.(a y) b and then it would become a b 04:09:24 my leftie record is something like 227 04:09:31 oklopol: download Mines-Perfect and set it to 'Hint' mode. whenever you have to be lucky hint gives you hints until you don't have to be anymore 04:09:50 itidus20: but then a is not defined in any of that. 04:10:01 oklopol: im waiting 04:10:12 oh also i don't use flags usually, it's more fun that way, but way slower 04:10:25 itidus20: also do you understand how multiparameter functions work? 04:10:30 there 04:10:32 is no such thing 04:10:34 in the lambda calculus 04:10:35 ....... 04:10:38 yes I know 04:10:39 jesus christ are you trying to complicate it for itidus20 04:10:47 no I am showing him how you would do such a thing. 04:10:47 he doesn't even know the basics stop bringing up things for no reason 04:11:08 yes "now that you have failed to learn the basics of the lambda calculus let me tutor you in its more advanced usage" 04:11:13 why are we teaching itidus20 lambda calculus? 04:11:19 ...he just demonstrated that he has an idea of the basics. 04:11:21 itidus20: first things first, here's how to simulate oop in lc 04:12:00 so guys.. whats another way i can write λx.(a y)? is there any? 04:12:09 a is not defined 04:12:11 y is not defined 04:12:22 you can have. 04:12:22 yes its an ironic function 04:12:29 ironic function 04:12:32 i just realized it when i hit enter 04:12:49 oklopol: im waiting for you to teach itidus20 lc 04:12:51 humm i guess what i mean is 04:13:01 λa.(λy.(λx.a y)) 04:13:31 elliott: okay, but only because i'm a professional teacher now 04:13:46 cake. ok i get what you mean there i think.. however.. 04:13:47 itidus20: see, functions are like these creatures that eat stuff and poop other stuff out 04:13:58 but the poop is edi 04:14:01 ble! 04:14:13 is there a way to reduce λa.b c 04:14:21 not as a standalone expression 04:14:23 it's yummy poop really 04:15:38 but λa.b c d is either (λa.b c) d or λa.((b c) d) right? 04:16:20 hmm or λa.(b (c d)) also 04:16:24 I wonder what's the minimum number of identifiers you need for lambda calculus to be turing complete 04:16:29 Enough to define S and K, I guess 04:16:46 That makes three or so 04:16:56 " oklopol: download Mines-Perfect and set it to 'Hint' mode. whenever you have to be lucky hint gives you hints until you don't have to be anymore" <<< does it crash if you construct a convoluted case where it's hard to tell 04:17:19 S=\xyz.xz(yz);K=\xy.x says "3 at most". 04:17:27 oklopol: I've never seen it mischaracterize or crash 04:17:28 I presume the software doesn't let you tell it which position to use 04:17:36 itidus20: It's always \a.((b c) d), by definition. 04:17:47 Patashu: i've never seen a hard problem in ms 04:17:51 oklopol: please teach itidus20 lambda calculus thanks 04:17:57 which was not manually constructed 04:18:12 its best just to let me ask the questions ^_^; 04:18:20 elliott: oh okay but only because it's my profession 04:18:51 Can you make a turing complete set of combinators with two variables? I suspect it's impossible with one 04:19:08 Jafet: it's provably impossible with one 04:19:14 oklopol: yeah, the randomly genreated patterns are easy because you get so many clues 04:19:24 elliott: prove it. 04:19:27 itidus20: so you know how functions have an arg and then they have a body, well, the thing is when you apply a function, or "usabilize" it, it means you like put stuff to the arg and then like substitute things (let's not get into details) and that's it then 04:19:28 k 04:19:35 its proved in that paper uhh 04:19:36 CakeProphet: There is one definable function:\x.x 04:19:40 but basically 04:19:42 pikhq: so λa.b c d is unambiguously λa.((b c) d) then? 04:19:45 repeat the combinator N times 04:19:47 pikhq: \x.x x 04:19:49 Jafet: oh uh 04:19:51 Jafet: Fuck you. 04:19:53 Jafet: :P 04:19:53 Jafet: there is a one-combinator complete base 04:19:56 but you need parentheses 04:19:58 or at least 04:20:00 some tree structure 04:20:03 you cannot just have it be "unary" 04:20:09 i.e. repeated applications without parens of one combinator 04:20:10 itidus20: Yes. 04:20:11 Patashu: maybe that's the reason, yes, dunno. 04:20:15 elliott: but the combinator can't be defined with just one variable name 04:20:20 Jafet: oh 04:20:21 right 04:20:23 So you can't bootstrap it into one-variable lambda calculus 04:20:25 i see what you mean 04:20:41 in any case, there's a very small amount of patterns you have to learn 04:21:04 Jafet: yeah i suspect you always need three variables 04:21:08 except hmm 04:21:16 can S be expressed as some composition of two-arg combinators... 04:21:35 I have had idea, make a program it can do compression, decompression, encryption, using its own programming language with these blocks: Top block, Pipe block, Control block, I/O block, Pure block, and Data block. 04:22:03 Breaking news: zzo invents cobol 04:22:07 so i know that λf.λx.x or λfx.x or \fx.x or \fx->x is church zero :D 04:22:15 Jafet: teach itidus20 lambda calculus 04:22:36 ^alonzo-church zero 04:22:43 " elliott: prove it." --- it basically means you can only have functions that take an argument and apply it to itself n times 04:22:48 itidus20: The Church numerals are nothing inherent, they're just an encoding of numerals in the calculus. 04:22:49 so isn't it kind of obvious 04:22:58 oklopol: well you can also apply them to self-applications :P 04:23:08 as in \x.x(xx) 04:23:12 CLEARLY 04:23:13 THAT MAKES 04:23:14 ALL 04:23:14 THE 04:23:15 DIFFERENCE 04:23:15 itidus20: This would be a bit like learning C by staring at struct {void*car,*cadr;} for a bit. 04:23:16 oklopol: prove that it's obvious. :D 04:23:21 Each one has its own commands, restrictions, etc. Such as, Top block is only one and it has no flow control. All operations in I/O block are reversible, including I/O. Each block has its own memory and there are restrictions how to access the memory from other blocks and from within the same block. 04:23:32 hmmmm 04:23:44 Erm, s/cadr/cdr/ 04:23:44 ok back on track lets see 04:23:46 oklopol: jigsaw puzzles are turing complete 04:24:05 is that like the wang tiling turing completeness proof? 04:24:28 Yes, just assign colours to pieces 04:24:46 " oklopol: well you can also apply them to self-applications :P" --- well yes, sure, and i don't actually have any idea what that implies 04:24:48 Can you explain how jigsaw puzzles are turing complete? 04:25:01 a human with a pencil and paper is turing complete. 04:25:02 zzo38, look up wang tiling 04:25:03 \x.x(xx) looks suspiciously like the body of fix 04:25:07 erm 04:25:07 of Y 04:25:15 but that has two variables :P 04:25:41 basically, it's set up to never repeat itself. so with certain initial conditions you can come up with an infinite number of different end results 04:25:52 " oklopol: prove that it's obvious. :D" --- i never said it's obvious, i asked whether it was obvious. i have revolutionized the socratic method, really. 04:26:14 I think it halts if you have to make a hole? don't recall exactly 04:26:34 I will now use the socratic method to teach itidus20 04:26:39 itidus20: what is the lambda calculus? 04:26:50 halts? 04:27:25 if a tiling never repeats itself, you have uncountably many ways to tile the plane 04:27:26 -!- cheater has quit (Ping timeout: 260 seconds). 04:27:35 oklopol: also that was a rhetorical question DOESN'T COUNT. 04:27:47 i mean if there is no periodic tiling, then you have uncountably many tilings 04:28:05 oklopol: incorrect 04:28:10 OK, I did read about it. "It is possible to translate any Turing machine into a set of Wang tiles, such that the Wang tiles can tile the plane if and only if the Turing machine will never halt. This problem is undecidable; therefore, the Wang tiling problem is also uncomputable. In a sense, Wang tiles have computational power equivalent to that of a Turing machine." 04:28:12 See Penrose tilings 04:28:40 i'm talking about wang tiles, but i'm pretty sure this holds for other shapes too 04:28:41 And even DNA as well, apparently. 04:29:09 back hmm 04:29:20 Therefore, a finite patch cannot differentiate between the uncountably many Penrose tilings, nor even determine which position within the tiling is being shown.[43] 04:29:23 on wp 04:29:39 where's your reference for only countably many tilings? 04:29:46 what are some examples of languages that can be proved to be Turing complete, but where it is very difficult to prove through isomorphism to another language. 04:29:59 Hmm, whoops 04:30:07 Maybe it was the pinwheel tiling 04:30:09 zzo38: Fixed (but not in raw yet) 04:30:22 you do realize i get paid thousands of euros a month to think about tilings 04:30:37 No, I did not realize that 04:30:54 i talk about it all the time 04:31:05 i'm like hey guys you know how i do ca and shit 04:31:19 and you guys like wow oklo u so cool 04:31:23 and i'm like, well, yes 04:31:53 copumpkin: so if ghc is getting type-level nats, constraint kinds... what about pattern synonyms? I figure someone must be working on everything I've ever wanted :P 04:31:57 cellular automata are just deterministic tilings 04:32:12 you use the same constructions 04:32:35 elliott: pattern tail x = (_:x) ??? 04:32:55 CakeProphet: that's not the right name for that pattern 04:32:58 you can do that already anyway 04:33:00 f (tail -> xs) = ... 04:33:09 what's more relevant is something like 04:33:18 .....you can? is that an extension or something? 04:33:26 pattern VarBind name value = SetVar (Var name) (Eval (Exp value)) 04:33:27 or w/e 04:33:29 CakeProphet: view patterns 04:34:06 I am not finding your example easy to discern. 04:34:13 anyway there are multiple ways to show tiling is undecidable, the usual way is to use robinson's tileset which draws an infinite quadtree of squares on the plane (Squares on a Plane!), you then just run a tm in each of these squares, avoiding hitting any of the smaller squares inside the big one 04:34:17 which example 04:34:20 this is easy to do as tilings are nondeterministic 04:34:21 But I wanted more-notation in GHC, too. As well as, the ability to transform categories at compile time using TH, other than only the Hask category. 04:34:26 CakeProphet: / 04:34:27 ? 04:34:49 * Sgeo_ irritates Gregor 04:35:00 determinizing this is slightly harder, but possible, and proves nilpotency of 1-d ca is undecidable as well 04:35:18 this is a result of my supervisor from some 20 years ago 04:35:38 CakeProphet: ? 04:35:41 also proves entropy of ca is uncomputable 04:36:43 CakeProphet: hello? 04:37:12 Patashu: i can easily prove the uncountability thing to you if you know what compactness is, otherwise i'll go to work 04:37:45 elliott: back. 04:37:51 (i hope you don't, because i really have to go to work) 04:37:53 which example 04:37:56 go to work 04:37:59 your VarBind thing. 04:38:00 what does it do. 04:38:08 declares a pattern synonym. 04:38:12 then 04:38:17 f (VarBind name value) = ... 04:38:18 === 04:38:21 f (SetVar (Var name) (Eval (Exp value))) = ... 04:38:38 oh okay 04:38:42 right that's what I was saying basically. 04:38:45 the lack of ability to abstract patterns is one of haskell's major flaws imo. it means that you have to deliberately design your datatypes to avoid nesting (and therefore be weaker, structurally) to make matching convenient. 04:38:58 it also makes using things like Mu to do recursive types prohibitive 04:39:08 which makes e.g. seamless annotation of datatypes a pain 04:39:15 (like annotating an AST with source location information at every node) 04:39:20 Well, I would like to have macros. 04:39:26 thanks. also because it's not at all easy to prove 04:39:32 elliott: also how was tail not the right name for that pattern. 04:39:37 when that's exactly what it is.. 04:39:41 it is not. 04:39:55 it's consSomething 04:40:00 an ugly name for an ugly patter 04:40:00 n 04:40:04 you have to describe the _inverse_ 04:40:32 ...no? pattern tail x = (_:x) 04:40:38 no. 04:40:41 that is the wrong name. 04:40:44 f (tail z) === f (_:x) 04:40:46 elliott: they're in SHE, quit bitchin' 04:40:47 er 04:40:49 s/x/z/ 04:40:53 f (tail xs) = xs 04:40:55 if we say 04:40:58 f (tail [99,9]) 04:41:02 we should get [99,9] 04:41:05 because that's how patterns work 04:41:11 f (tail [99,9]) == [] 04:41:15 oops! 04:41:18 your name is incorrect. 04:41:21 copumpkin: oh come on 04:41:36 ....erm 04:42:07 so what is tail? 04:42:10 in pattern land? 04:42:11 sigh 04:42:16 it's not anythning 04:42:19 because tail is not reversible 04:42:27 you can't go from (tail [99,9,9]) to [99,9,9] 04:42:33 because you get [9,9] which drops the head information 04:42:35 there is no tail pattern 04:42:44 ...? 04:42:49 patterns need to be reversible? 04:43:01 i am done bashing my head against this particular brick wall, sorry. figure it out for yourself 04:43:06 I will try to make a better macro system for Haskell, if I can. 04:43:47 functions are already pretty good at being macros... 04:44:46 CakeProphet: I don't think so. That is, if you want complicated macros doing stuff that is not how functions do. 04:44:57 Huzzah, I just fixed an extremely minor bug nobody knew about while thinking I was fixing a less-minor bug somebody did know about :P 04:45:35 Gregor: i'm a bit disappointed, i thought you were omnipotent 04:45:38 zzo38: OK, now the ACTUAL bug has been fixed :P 04:45:56 Sgeo_: Maybe once per /book/ :P 04:46:00 but 41 seconds to fix that second bug... 04:46:01 Gregor: OK thanks 04:46:42 Another feature I would like to have, is a function whatType :: Q Type in Template Haskell which when bind to function, that function will receive the parameter telling what types are expected for an expression belonging in place of the TH splice. 04:46:59 -!- PocketMonsterIRC has quit (Read error: Connection reset by peer). 04:46:59 elliott: I think the problem is that [99,9] is not a pattern you'd want to use with tail anyways. 04:47:13 because it's a literal. 04:47:31 `run wc -l quotes 04:47:42 662 quotes 04:47:54 Note how "wc -l quotes" happens to give a perfectly-formatted English reply :P 04:48:01 CakeProphet: you are wrong 04:48:03 OK 04:48:52 okay, but I don't think I am. 04:48:56 noted? 04:49:07 CakeProphet: 04:49:11 f (tail [99,9]) = "hello world" 04:49:14 f _ = "oh no" 04:49:19 f (tail [99,9]) --> "oh no" 04:49:29 right, I'm saying it doesn't make sense to use [99,9] with tail 04:49:29 if you think that a pattern should not match _itself_ as code, you are insane. 04:49:36 copumpkin: please tell CakeProphet he's wrong thx 04:49:40 you would want to use a variable. 04:49:44 to bind 04:49:46 with 04:49:52 CakeProphet: you are wrong. 04:49:59 hey Gregor tell CakeProphet he's wrong. 04:50:27 whats hapening 04:50:31 i haven't been attentioen 04:50:36 is CakeProphet wrong 04:50:36 CakeProphet thinks that 04:50:39 pattern tail x = _:x 04:50:42 is a correct pattern synonym 04:50:42 despite 04:50:45 f (tail [99,9]) = "hello world" 04:50:45 f _ = "oh no" 04:50:46 f (tail [99,9]) --> "oh no" 04:50:49 and the fact that tail is not reversible anyway 04:50:55 and me telling him that pattern should actually be called consAnythingTo 04:51:04 im confsued?????? 04:51:07 yes 04:51:15 I didn't say it matched the code, but that tail was a correct name for it because it matches the tail of the input. 04:51:22 CakeProphet: that is not how patterns work. 04:51:56 the pattern (tail xs) should match the result of a function application (tail xs) and bind xs to the argument given to tail. 04:52:02 this is impossible, as tail is not reversible. 04:52:15 ...is there any functions that could be turned into pattern synonyms like that? 04:52:15 if you think otherwise, you are wrong, and I have explicitly shown you why your pattern is incorrect 04:52:31 varBind name value = SetVar (Var name) (Eval (Exp value)) 04:52:34 pattern varBind name value = SetVar (Var name) (Eval (Exp value)) 04:52:43 O;H MY GOD SO HARD 04:52:51 the correct definition of a tail pattern is 04:52:55 pattern tail (_:xs) = xs 04:52:57 which would be used like 04:53:07 f (tail (x:xs)) = x 04:53:10 which is clearly impossible 04:53:18 What I mean, is, to be able to make up macros that make up do notation and list notation and that stuff. 04:54:40 elliott: okay I understand. 04:54:48 I was just thinking of the pattern synonyms as pattern functions, which they are. 04:58:37 -!- jix has quit (Ping timeout: 260 seconds). 04:58:37 -!- Wamanuz has quit (Ping timeout: 252 seconds). 04:58:37 -!- Deewiant has quit (Ping timeout: 252 seconds). 04:59:21 -!- CakeProphet has quit (Ping timeout: 252 seconds). 04:59:21 -!- yiyus has quit (Ping timeout: 260 seconds). 05:01:05 -!- monqy has quit (Ping timeout: 252 seconds). 05:04:09 -!- tiffany has quit (Ping timeout: 260 seconds). 05:04:10 -!- zzo38 has quit (*.net *.split). 05:04:10 -!- yorick has quit (*.net *.split). 05:04:10 -!- aloril has quit (*.net *.split). 05:04:11 -!- augur has quit (*.net *.split). 05:04:11 -!- copumpkin has quit (*.net *.split). 05:04:11 -!- itidus20 has quit (*.net *.split). 05:04:11 -!- fizzie has quit (*.net *.split). 05:04:11 -!- Zetro has quit (*.net *.split). 05:04:11 -!- chickenzilla has quit (*.net *.split). 05:04:12 -!- Jafet has quit (*.net *.split). 05:04:12 -!- quintopia has quit (*.net *.split). 05:04:12 -!- Patashu has quit (*.net *.split). 05:04:12 -!- lambdabot has quit (*.net *.split). 05:04:12 -!- aspect has quit (*.net *.split). 05:04:13 -!- twice11 has quit (*.net *.split). 05:04:13 -!- sebbu2 has quit (*.net *.split). 05:04:13 -!- Sgeo_ has quit (*.net *.split). 05:04:13 -!- DH____ has quit (*.net *.split). 05:04:13 -!- kmc has quit (*.net *.split). 05:04:13 -!- iamcal has quit (*.net *.split). 05:04:13 -!- rodgort has quit (*.net *.split). 05:04:13 -!- ineiros has quit (*.net *.split). 05:04:13 -!- Lymee has quit (*.net *.split). 05:04:13 -!- Nisstyre has quit (*.net *.split). 05:04:13 -!- jcp has quit (*.net *.split). 05:04:14 -!- elliott has quit (*.net *.split). 05:04:14 -!- myndzi has quit (*.net *.split). 05:04:14 -!- MDude has quit (*.net *.split). 05:05:20 -!- elliott has joined. 05:05:20 -!- Deewiant has joined. 05:05:20 -!- glogbackup has joined. 05:05:20 -!- tiffnya has joined. 05:05:20 -!- monqy_ has joined. 05:05:20 -!- CakeProp1et has joined. 05:05:20 -!- jix_ has joined. 05:05:20 -!- Wamanuz2 has joined. 05:05:20 -!- Jafet has joined. 05:05:20 -!- augur has joined. 05:05:20 -!- quintopia has joined. 05:05:20 -!- copumpkin has joined. 05:05:20 -!- zzo38 has joined. 05:05:20 -!- itidus20 has joined. 05:05:20 -!- sebbu2 has joined. 05:05:20 -!- Sgeo_ has joined. 05:05:20 -!- kmc has joined. 05:05:20 -!- iamcal has joined. 05:05:20 -!- lambdabot has joined. 05:05:20 -!- rodgort has joined. 05:05:20 -!- yorick has joined. 05:05:20 -!- myndzi has joined. 05:05:20 -!- aloril has joined. 05:05:20 -!- MDude has joined. 05:05:20 -!- fizzie has joined. 05:05:20 -!- ineiros has joined. 05:05:20 -!- Zetro has joined. 05:05:20 -!- aspect has joined. 05:05:20 -!- chickenzilla has joined. 05:05:20 -!- Lymee has joined. 05:05:20 -!- Nisstyre has joined. 05:05:20 -!- jcp has joined. 05:05:20 -!- twice11 has joined. 05:05:37 -!- elliott has quit (Client Quit). 05:05:37 -!- glogbackup has left. 05:05:37 lol 05:05:37 -!- monqy_ has changed nick to monqy. 05:06:04 that was a tumultuous netsplit. 05:06:20 -!- CakeProp1et has changed nick to CakeProphet. 05:08:22 -!- elliott_ has joined. 05:08:30 CakeProphet: hyo 05:08:31 yorick: 05:08:31 elliott_: I don't really see why you didn't just ait. :P 05:08:31 yo 05:08:36 ait? 05:08:37 *wait 05:08:40 because 05:08:40 f 05:09:02 do I repulse you? :P 05:09:17 yes 05:09:58 you just don't understand my ways. 05:10:22 -!- MDude has changed nick to MSleep. 05:10:42 ok time to pay attention again 05:10:49 -!- zzo38 has quit (Remote host closed the connection). 05:11:11 monqy: help in mercury how do i define a typeclass which takes a type function 05:11:12 not a type 05:12:30 i dont know that much meurgcury :_--; how to learn type clases 05:12:34 * Sgeo_ wonder if any Ruby nuts would consider it sinful to use hg for a Ruby project 05:12:58 "dont use ruby" -monqy 05:13:06 "dont use hg" -elliott 05:13:30 hey monqy its 05:13:30 six am 05:13:31 do i 05:13:32 Hmm? What's wrong with hg, is git any better, and if no to the last question, what should I use? 05:13:33 sleep 05:13:38 Sgeo_: darcs 05:13:47 or git if you care about other people but really you don't 05:13:51 !perl print (("yes", "no")[int(rand(2))]) 05:13:53 no 05:14:07 -- monqy 05:14:08 can you selpp? recently i have been unable to sleep properly so i do not sleep properly, then i take naps when i am ready 05:14:31 -!- lifthrasiir has quit (Ping timeout: 260 seconds). 05:15:22 -!- yiyus has joined. 05:15:29 -!- Jafet has quit (Quit: Leaving.). 05:17:35 ok so, λa.(((((b c)d)e)f)g) i figure this is equivalent of λa.bcdefg but does (λa.bcdefg) h reduce to h ? 05:17:55 oops.. no i thought that out wrong 05:18:00 oops 05:18:28 does (λa.bcdefg) h reduce to bcdefg ? 05:18:51 yes 05:20:03 do applications only get applied in the presence of bound variables? 05:20:19 what 05:20:25 well 05:20:34 bcdefgh cannot be reduced right? 05:20:58 uhm no.. i'm still asking the wrong question 05:21:23 (bcdefg) h cannot be reduced right? 05:21:34 sure 05:22:28 but if it was λb.(bcdefg) h it would become hcdefg 05:22:54 if you meant different parentheses 05:23:08 parentheses are fairly confuing to me 05:23:49 (\b.bcdefg)h 05:23:57 ahhh 05:23:59 => hcdefg 05:27:17 hmm.. so the order of bcdefg only matters when one of them has an abstraction applied to it 05:27:30 what 05:29:38 well.. you only need to think about implicit parentheses in (\b.bcdefg) if there is something like (\d.bcdefg) \x.y 05:29:53 what 05:30:45 well i guess i am wondering what (\d.bcdefg) \x.y becomes 05:31:00 substitute d with \x.y 05:31:02 in the lambda 05:31:06 and return the expression 05:31:41 hmmm bc \x.y efg 05:31:50 needs parens 05:32:09 thats what i am a bit confused about 05:32:13 you do know how functions work right? 05:32:36 also how is it confusing. 05:32:36 hmmm (((((bc)\x.y)e)f)g) ? 05:33:04 you can reduce it further 05:33:10 you can also just write it as bc(\x.y)efg 05:33:17 wait no oops 05:33:23 im cfoneuse 05:33:35 ahhh 05:34:03 ok so needs parens means bc \x.y efg needs to be at least bc(\x.y)efg ? 05:34:08 it might be wise to work with a few less free variables and do bigger reductions etc........... 05:34:19 "Have a question for the Republican candidates? Ask it now" ask it now links to youtube fox news help... "fox news google debate" oh god stop collaborating with them nO google 05:34:23 YUORE EVIL BUT NOT TATHT EVIL 05:34:29 itidus20: something you might enjoy: (\x.xx)(\x.xx) 05:35:05 monqy: i set that situation up specifically to confuse myself and have it resolved now 05:35:17 itidus20: oh? 05:37:26 so what i have learned is if i get (\d.bcdefg) \x.y then it is best reduced to bc(\x.y)efg 05:37:51 have you learned anything else 05:38:21 i have what is known as a slow mind 05:38:29 oh 05:38:32 i don't multitask very well.. 05:38:43 what was your conclusion on (\x.xx)(\x.xx) 05:38:48 i tend to like to finish one thought before jumping to another though 05:39:04 i havent actually begun looking at it yet.. which i will start now 05:39:52 oh I thought you said you had resolved it but I guess you were referring to something else oops 05:41:34 step 1) (\x.xx)(\x.xx) intermediate step 1.5) (\x.(\x.xx)(\x.xx)) step 2) (\x.xx)(\x.xx) ... this i can now recall as something which i saw in some sidenote i saw somewhere about how not everything can be reduced (i forget exactly.. nevermind that) 05:42:18 your intermediate step does not make sense to me 05:42:26 is it in a different notation 05:42:32 hahaha 05:42:42 (\x.xx)(\x.xx) reduces to (\x.xx)(\x.xx) 05:42:48 yes 05:43:01 sounds like itidus20 is starting to get it :P 05:44:07 is (\x.xx) fix? it seems similar. 05:44:18 no 05:44:35 can you do Y in LC? 05:44:45 sorry i just sputtered 05:44:57 (\x.xx) a would be a a 05:45:15 CakeProphet: it's mock. and duh, of course. 05:45:17 erm 05:45:18 mockingbird 05:45:39 I figured it was possible I'm just not sure how to write it 05:48:47 I used to remember, but then I forgot. ;_; 05:49:53 sent in /msg 05:49:59 NOPE I AM GOING TO FIGURE IT OUT. 05:50:03 too late 05:50:06 not looking 05:50:12 k 05:50:16 its trivial 05:50:44 so is... trivia 05:50:49 hi 05:51:44 \f. (\x. f (x x))(\x f (x x)) 05:51:58 I think. 05:52:00 * CakeProphet checks. 05:52:09 BAM... 05:52:13 awwww yeah. 05:52:26 victory dance 05:52:41 like mockingbird with that extra f... 05:56:29 recursion is weird in lambda calculus 05:56:32 well, I mean, not weird. 05:56:40 ok 05:56:46 you just can't refer to the function by a name so you have to do the above. 05:57:17 there are other ways too 05:58:15 I'd imagine they're all more or less equivalent. 06:00:10 LC is really in need of primitive fix, because a proper fix introduces sharing. 06:00:32 is sharing a thing that even makes sense to talk about in the context of LC? 06:00:38 yes. 06:00:39 and (\xy.xx)(\xy.xx) reduces into y.(y.(y.(y.((\xy.xx)(\xy.xx))))) and so on reducing forever right? 06:01:21 oops what i mean is 06:01:22 (\xy.xx)(\xy.xx) -> (\y.(\xy.xx)(\xy.xx)) 06:01:23 then it stops 06:01:27 because it's a lambda without any application 06:01:38 ahhh 06:01:45 you can still reduce cant you?? 06:01:56 depending on your 06:01:59 evaluation strategy 06:02:15 monqy: not helpful 06:02:22 ?? 06:02:24 elliott is using the evaluate-by-impatient-programer strategy. 06:02:47 oh wait 06:02:49 uhh 06:02:56 i think something bad happened 06:03:01 heygenie wise 06:03:11 it got dirted 06:03:17 genie: hey 06:03:30 or not 06:03:37 how did i confuse myself like that 06:03:38 how 06:03:39 did that happen 06:03:44 maybe i am tired 06:03:55 maybe I am going to sleep. 06:04:01 morning 06:04:12 I see elliott_ is still up 06:04:26 NO IVE BEEN 06:04:27 IN BED FOR HOURS 06:04:28 AND 06:04:29 AM GOING TO BED 06:04:30 NOW 06:04:37 elliott_: surely you will fall asleep during school? 06:05:12 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz; 06:05:15 z 06:08:43 (λy'2'.(λy'6'.(λy'10'.(λy'14'.(λy'18'.(λy'22'.(λy'26'.(λy'30'.(λy'34'.(λy'38'.(λy'42'.(λy'46'.(λy'50'.(λy'54'.(λy'58'.(λy'62'.(λy'66'.(λy'70'.(λy'74'.(λy'78'.(λy'82'.(λy'86'.(λy'90'.(λy'94'.(λy'98'.(λy'102'.(λy'106'.(λy'110'.(λy'114'.(λy'118'.(λy'122'.(λy'126'.(λy'130'.(λy'134'.(λy'138'.((λx'141'.(λy'142'.(x'141' x'141'))) (λx'143'.(λy'144'.(x'143' x'143')))))))) 06:08:43 ))))))))))))))))))))))))))))))) 06:08:50 heh phew 06:09:37 -!- elliott_ has quit (Ping timeout: 240 seconds). 06:09:40 itidus20: hi 06:09:43 are those 'numbers' for hygiene? 06:10:03 this thing http://codu.org/lambda/lambda.html 06:10:07 because if so, you might be interested to look up deBruijn-index notation 06:10:23 aspect: i'm a newbie really. 06:10:39 that doesn't make it any less fun :) 06:10:55 it was auto generated numbers 06:18:05 itidus20: http://en.wikipedia.org/wiki/Church_encoding#Church_booleans 06:18:12 now read through this article, starting there. 06:18:25 and then go back to the top once you've read that. 06:19:36 notice how the Church encodings for true and false act like an if expression. 06:20:05 true x y = x; false x y = y 06:21:21 i don't like" true = ^ift.^iff.ift " 06:21:33 ...okay. 06:21:43 does he mean something else? :P 06:21:54 who is he. 06:22:13 also what is ^if 06:22:16 well its the codu page i assume its gregor 06:22:27 sounds like a screenshot in order 06:22:55 CakeProphet: ^ is lambda 06:22:57 dunno but just look at that wikipedia page. 06:23:00 it uses a nicer syntax 06:23:08 no I saw it. 06:23:10 itidus20: no screenshot 06:24:31 http://oi55.tinypic.com/25pq0bc.jpg wahahaha 06:24:34 .. 06:24:41 dude I can scroll up in the conversation and click on a link. 06:24:52 ok ok nevermind 06:24:55 hmm 06:25:32 so yeah you write conditionals like: predicate then-value else-value 06:25:35 so what gregor is doing then is saying "x" = "ift", "y" = "iff" 06:25:43 no. 06:25:56 just ignore that it's bad. 06:25:59 :P 06:26:18 true = \a.\b. a 06:26:49 you can think of this as a kind of two-argument function. 06:26:53 true x y 06:27:18 which is actually ((true x) y), see how that works? 06:27:40 hmm \ab.a and \ab.b 06:27:53 yes those the typical representations for true and false. 06:28:23 \ab.expr just being a shorthand for \a.(\b. expr) 06:28:35 (\ab.a) c reduces to \b.c ? 06:28:41 yes. 06:28:52 see how it's like a conditional? 06:28:57 hmm 06:29:07 once you have and, or, and not defined 06:29:09 you can say things like 06:29:15 (and a b) x y 06:29:23 if a and b are both true then x is returns, otherwise y 06:29:38 (\ab.b) c reduces to (b.b) ? 06:29:47 \b.b yes 06:29:52 oops 06:29:59 haha those silly \'s 06:30:10 always trying to catch me out 06:30:11 ...am I making any sense? 06:30:25 yes except im thinking about 5 times slower 06:32:25 are you familiar with ?: in other languages? church booleans work like that except automatically... you don't need ?: 06:32:47 so if true = \ab.a then true x == \b.x and if false = \ab.b then false x == \b.b 06:32:56 yes. 06:33:03 true x y = ??? 06:33:05 false x y = ?? 06:33:11 humm 06:33:12 homework. go. 06:33:55 -!- Jafet has joined. 06:35:53 ....have you figured it out yet. 06:36:32 (\a.(\b.a)) x y (\b.x) y x ; (\a.(\b.b)) x y (\b.b) y y; 06:36:46 so thats about my processing speed 06:37:01 you already had half of it worked out you didn't need to start over. 06:37:16 either of us expecting my brain to go any faster will result in just anguish 06:37:27 i suggest enjoy the peace 06:37:28 okay so... uh 06:37:33 do you see how that's a conditional? 06:38:00 if you pass a Church boolean two arguments, true will give you the first one, and false will give you the second one. 06:40:16 true x y == x 06:40:19 false x y == y 06:40:31 .......right? 06:40:50 that's like.... a conditition, where you want one thing to happen when something is true and another thing to happen when something is false. 06:40:56 >_> <_< hello? 06:44:08 you're not paying attention are you. 06:44:12 itidus20, ping 06:44:40 Night all 06:49:20 -!- Sgeo_ has changed nick to Sgeo. 06:50:04 -!- GreaseMonkey has joined. 06:50:04 -!- GreaseMonkey has quit (Changing host). 06:50:04 -!- GreaseMonkey has joined. 07:01:46 i was afk 07:02:21 go forth and learn. 07:06:06 :t let true x y = x; false x y = y; not b = b false true in not true 07:06:06 forall t t1. t -> t1 -> t1 07:06:11 :t let true x y = x; false x y = y; not b = b false true in not false 07:06:12 forall t t1. t -> t1 -> t 07:09:02 > let true x y = x; false x y = y; not b = b; and x y = x y false; or x y = x true y in false true in or (not true) (and true false) "launch nukes" "pet kitten" 07:09:03 : parse error on input `in' 07:09:18 > let true x y = x; false x y = y; not b = b; and x y = x y false; or x y = x true y in or (not true) (and true false) "launch nukes" "pet kitten" 07:09:19 "launch nukes" 07:09:25 -!- Patashu has joined. 07:09:39 first minesweeper 'speedrun' video http://www.youtube.com/watch?v=k​tLAPx_v8AE 07:09:44 > let true x y = x; false x y = y; not b = b; and x y = x y false; or x y = x true y in or (not false) (and true false) "launch nukes" "pet kitten" 07:09:45 "pet kitten" 07:10:08 er... 07:10:21 not should be not b = b false true... I accidentally cut that out. 07:12:10 heh, I just noticed that if' in Haskell is a function that converts a Bool to a Church boolean. :P 07:15:31 http://www.youtube.com/watch?v=ktLAPx_v8AE fixed link 07:32:32 -!- rodgort has quit (Ping timeout: 260 seconds). 07:32:49 -!- lifthrasiir has joined. 07:42:12 -!- rodgort has joined. 07:50:17 -!- sllide has joined. 08:01:54 -!- sllide has quit (Ping timeout: 260 seconds). 08:12:51 -!- GreaseMonkey has quit (Quit: The Other Game). 08:21:31 let true x = const x; false x = id; cons x y = \z -> z x y; car = true; cdr = false in (car (cdr (cons 1 (cons 2 3)))) 08:21:34 > let true x = const x; false x = id; cons x y = \z -> z x y; car = true; cdr = false in (car (cdr (cons 1 (cons 2 3)))) 08:21:35 Overlapping instances for GHC.Show.Show (b -> a -> a) 08:21:35 arising from a use... 08:21:58 hm, really? 08:23:07 I think that happens if it tries to show a function 08:23:08 > let true x = const x; false x = id; cons x y = \z -> z x y; car = true; cdr = false in (cons 1 (cons 2 3)) cdr car 08:23:09 2 08:23:25 duh 08:23:44 should have used car x = x true etc 08:27:07 -!- nooga has joined. 09:27:01 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 09:41:00 -!- Patashu has joined. 09:42:02 I have a question about holding ctrl and hitting space. 09:42:06 On pidgin and notepad++, it does nothing. 09:42:12 On chrome and mIRC, it creates a space. 09:42:23 Why does it differ across programs? Is it a linux vs non linux thing? 09:59:03 -!- jix_ has quit (Ping timeout: 260 seconds). 09:59:34 -!- jix has joined. 10:10:01 -!- cheater has joined. 10:10:33 -!- cheater has quit (Client Quit). 10:10:48 -!- cheater has joined. 10:33:21 -!- sebbu2 has quit (Read error: Connection reset by peer). 10:33:51 -!- sebbu2 has joined. 10:54:07 -!- FireFly has joined. 10:57:34 -!- Patashu has quit (Read error: Connection reset by peer). 10:57:49 -!- Patashu has joined. 11:18:41 -!- oerjan has joined. 11:48:33 -!- oerjan has quit (Quit: Reboot). 11:55:03 -!- sebbu2 has changed nick to sebbu. 12:06:07 -!- boily has joined. 12:21:00 -!- oerjan has joined. 12:36:09 -!- oerjan has quit (Quit: Something saw my reboot as an opportunity to ask for another one). 12:37:02 -!- Sgeo has quit (Ping timeout: 260 seconds). 12:43:50 -!- pikhq_ has joined. 12:44:10 -!- pikhq has quit (Ping timeout: 258 seconds). 13:08:30 -!- pikhq has joined. 13:09:30 -!- pikhq_ has quit (Ping timeout: 276 seconds). 13:55:39 -!- Sgeo has joined. 14:00:04 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:04:09 -!- augur has quit (Remote host closed the connection). 14:11:06 * Sgeo gets an evil gleam in his eye 14:14:48 * CakeProphet gets a gleam in his evil eye 14:14:54 and by evil i mean boring 14:19:39 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:23:02 -!- Phantom_Hoover has joined. 14:24:57 -!- sllide has joined. 14:26:42 -!- jcp has quit (Ping timeout: 260 seconds). 14:28:49 -!- Sgeo has quit (Ping timeout: 258 seconds). 14:46:51 -!- copumpkin has joined. 15:42:37 -!- DH____ has joined. 15:49:28 Idea: wine for win32s. 15:49:38 I expect this to be implemented by the time I reappear in ~1hr. 15:49:39 Thx 15:56:27 how's the baltic sea doing? 15:57:10 * CakeProphet has been studying for a quiz on the world map, and now knows where things are located. 15:57:21 I feel like, at least for now, my dumb American syndrome has been cured. 15:58:46 not frozen over yet 15:59:01 oh good. 15:59:29 although judging by the last winter it might well happen this year 16:00:01 i think they hadn't had that for at least 50 years 16:00:56 I think lakes in northern Canada freeze often (...?) and they're on the same latitude roughly. 16:01:03 but climate is weird and doesn't really work like that. 16:01:11 no it doesn't 16:01:29 no it is not the same latitude really, the baltic sea is further south 16:01:31 also it is a sea. 16:01:35 and very salty. 16:01:48 is everything named sea in Europe a sea? 16:01:52 because there's a lot of inland seas as well. 16:02:11 *Eurasia 16:02:13 yes 16:02:16 those are seas too. 16:02:45 although some seas are called lakes by some cultures 16:02:52 yeah we don't have those. Unless you count Salt Lake. 16:02:53 for example the baltic sea is called Ostsee in german 16:02:56 the eastern lake 16:03:00 which I think is a... salt lake? I'm not sure what the difference is. 16:03:06 probably an influence from dutch 16:03:36 the difference is the drifts 16:03:39 ebb and flow and so on 16:03:56 I thought it was perhaps naming conventions or size related. 16:04:02 and whether it is at the top or at the bottom of the reservoir 16:04:03 no 16:04:10 a sea is the place all water goes into 16:04:18 a lake is a source or an intermediate 16:04:24 ah okay. 16:04:43 can you have a freshwater sea then? 16:04:52 -!- augur has joined. 16:05:01 no 16:05:15 in the end water ends up penetrating the sediment and reaching minerals 16:05:20 that's the "salt" 16:05:31 ah. 16:05:34 it's not really salt as is, it's a much more complex selection of minerals 16:05:43 right. 16:06:04 that's why sea salt is a billion times better than industry table salt 16:06:07 * CakeProphet would like to sail on the great lakes. 16:06:22 i can get salt which is gathered from the sea by hand in the adriatic 16:06:23 I've only seen the coast (I guess that's what you would call it...) 16:06:47 I assume when you say "by hand" you mean "by hand using some tools" right? :D 16:06:51 apparently if it's very windy the salt grains crystallize on the surface of the adriatic and they are then gathered by the fishermen or something 16:06:58 oh. 16:07:07 usually by hand means as opposed to using machines 16:07:18 NEVER KNOW SEEMED UNLIKELY. 16:07:49 thank you for clearing up my dumb american syndrome with some of your geology. 16:08:02 unfortunately that will not help me on my map quiz, which I'm still probably fucked for. 16:10:05 it's strange, I would think that things like the Arabian and Adriatic seas as being gulfs 16:10:08 and not seas. 16:10:25 s/that/of/ 16:10:56 well, red sea is a better example than arabian. 16:13:05 I guess they are gulfs but not by name, perhaps. 16:15:16 The Red Sea (alternatively Arabian Gulf[1] or Gulf of Arabia[2][3]) i 16:15:17 ah 16:15:45 but the Adriatic sea doesn't have an alternative gulf name. :P 16:15:45 a gulf is like a sea which is more connected to the ocean 16:19:42 what's the climate in Germany comparable to? 16:19:52 on the western hemisphere. 16:20:18 south or north germany? 16:20:26 both I guess. 16:20:43 i don't think there is a direct match like that 16:20:48 I imagine it's cooler than it is here in the south US. 16:20:54 yes 16:21:01 south usa is like italy i am told 16:21:05 currently 81 F here. which is... 16:21:13 i was talking about how the weather is in bari just today 16:21:14 28 C 16:21:22 apparently it never goes below 10 celsius 16:21:33 huh. 16:21:34 which would be similar to what i was told about houston 16:21:44 it actually does reach freezing here in the winter, at least for a few weeks. 16:21:45 depends on the winter. 16:21:59 climate in Georgia = wonderful 16:22:16 you get really hot summers and still get below freezing temps in the winter sometimes. :P 16:22:26 i don't like winters 16:22:28 they're pointless 16:22:46 this summer was ridiculous. pretty much upper 90s F for over a month. 16:23:03 very good 16:23:05 that is what i like 16:23:15 and, unlike places like Arizona which frequently hit above 100, it's very humid here. 16:23:47 !interp 16:23:51 !userinterp 16:23:56 !userinterps 16:23:56 ​Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo ehird elmer fudd google graph hello id insanetemp jethro kraut lperl lsh map num numberwang ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish valspeak wacro warez wc yodawg 16:24:26 I'm pretty sure we have a temperature converter somewhere here... 16:24:40 maybe it was removed. 16:25:05 !insanetemp 90 16:25:07 194.0 16:25:13 -!- MSleep has changed nick to MDude. 16:25:14 that's the opposite one. 16:25:23 !sanetemp 90 16:25:24 32.2 16:25:26 !sanetemp 100 16:25:26 37.7 16:25:46 yea 37 is nice 16:25:52 ...not here. 16:26:04 humidity + heat = miserable 16:26:18 ~90 isn't bad though. 16:26:36 -!- zzo38 has joined. 16:26:50 still someone from the north US would be completely baffled as to how anyone would enjoy 90 degree temperatures. 16:26:52 -!- iamcal has quit (Ping timeout: 260 seconds). 16:27:12 !sanetemp 0 16:27:12 ​-17.7 16:27:28 ...but I can't imagine who would enjoy 0 degree weather. :P 16:27:47 well 0 is a bit extreme 16:27:49 but not far off. 16:28:23 in any case Italy is much nicer than GA 16:28:27 go there, not here. :P 16:28:31 -17 is normal winter weather 16:28:35 i don't really like that 16:28:50 yeah i am learning italian 16:28:59 so maybe one day i'll move there or spain 16:29:06 catalonian is like halfway italian anyways 16:29:12 so learning italian helps with that too 16:29:13 though I guess GA is nice if you like deciduous forests.... everywhere. 16:29:30 and really old not-very-pointy mountains. 16:29:34 I'm sure there's a word for that. 16:29:38 i had a lot of forests in poland 16:29:42 didn't do much there 16:29:53 eroded 16:30:10 north GA = mountains and forests south and central GA = boring slightly hilly plains 16:30:24 * CakeProphet lives in north GA. 16:30:34 boring plains are boring 16:30:50 yeah. the great plains are kind of neat 16:30:55 but, you really only need to see them once to get the idea. 16:31:02 that it drags on for miles looking exactly the same. 16:31:13 but it is cool to see the... vastness, with no obstructions. 16:32:24 there are definitely many places in Europe I would enjoy. 16:32:35 Italy or Poland would be nice. 16:32:49 but I can't speak anything but English. Which isn't a huge problem, but still makes things more difficult. 16:33:04 * CakeProphet can read some Spanish somewhat proficiently, but is terrible at speaking or listening. 16:33:15 -!- pikhq_ has joined. 16:33:22 you learn once you're there 16:33:36 -!- pikhq has quit (Ping timeout: 276 seconds). 16:33:41 after years I guess. 16:34:25 how often do you run into people that don't speak English, though? 16:37:19 people at the local italian were surprised when i told them they called the seafood in the menu "sea fruit" 16:37:34 haha 16:37:50 awesome 16:38:02 Europe would be a hilarious place to live for a while. 16:38:04 which is what you call it in german and italian 16:38:12 yeah it's a hilarious place always 16:38:22 i heard america was sort of boring in that regard 16:38:31 ...yes. 16:38:33 I think 16:38:38 I'm not really sure what makes a place hilarious 16:38:51 that's the problem with you americans 16:38:57 the whole melting pot thing is kind of inaccurate. 16:38:58 you don't know what makes a place hilarious 16:39:07 yeah it's not really melting 16:39:15 just kind of stuck together in one culture. 16:39:16 munich is a melting pot 16:39:21 london even more so 16:39:48 in london you can really get culture shock 16:40:06 percentage wise we have more non-English speakers than the UK. 16:40:22 america is pretty much jews and mexicans vs the rest 16:40:30 lol 16:40:38 not really, but yeah there's a lot of hispanics. 16:40:53 those are the major groups though aren't they 16:40:57 don't forget black people. 16:41:01 oh yeah 16:41:08 i totally forgot the black guy 16:41:09 well Jewish isn't really so big. 16:41:13 in europe it's not like that that really 16:41:13 we kind of just have this color-code system 16:41:19 because everyone has their like 16:41:22 identity 16:41:23 and don't really pay attention to actual ethnicity. 16:41:36 where their family lived for 1000s of years since it evolved from a fern 16:42:20 it depends on where you go really. 16:42:32 nah it's like that everywhere 16:42:34 in the south for instance most immigrants are hispanic 16:42:39 oh 16:42:42 that is what you mean 16:42:44 yeah ok 16:42:50 because, well, uh, the spanish speaking countries are south of us. 16:43:00 nice 16:43:15 i have just had two copies of the same partition on my computer 16:43:30 I imagine in the north you get more europeans and people of Jewish decent. 16:43:38 and one was updated, recovered, fixed, and had a newer kernel 16:43:43 grub loaded the kernel from that 16:43:45 ...that's odd. 16:43:48 but mounted the other one 16:43:54 and it couldn't find the modules :D 16:43:57 hilarity ensued. 16:44:00 a lot of native Georgians actually come from colonial German immigrants. 16:44:21 I imagine I am a descendent from one of these immigrants. 16:44:28 but I don't really know. 16:45:24 and then in New York for example you have a lot of people who descend from colonial Irish people 16:45:31 so it really just depends on the location as to the ethnic make-up. 16:45:48 but "general American white mutt" permeates everywhere. :P 16:46:45 i liked the movie 'gangs of new york' 16:46:57 haven't seen that one. 16:47:08 it was a historical reconstruction of the every day life of the irish minority in the early days of new york 16:47:24 ah 16:47:32 (not really) 16:47:44 a Hollywood bastardization of such? 16:47:50 yeah we're good at that. 16:47:56 no it is a movie about gangs in new york 16:48:01 oh... 16:48:04 beating and killing eachother up 16:48:10 oh fun. 16:48:16 "killing eachother up" 16:48:32 Gregor: be quiet roger or I'll kill you up. 16:48:34 yeah funny how it came out innit? 16:48:37 yeah 16:48:44 you know daniel day lewis? of "my left foot" fame? 16:48:48 sure you've seen that movie 16:48:51 noepep 16:48:58 I CANNOT TALK ANYMORE I MUST BE AT SCHOOL. 16:49:06 * CakeProphet is a terrible procrastinator. 16:49:06 well he also played a character in gangs of new york 16:49:12 he was good in both movies 16:49:17 both roles were also very similar 16:49:30 (not really, they were amazingly different) 16:49:39 * CakeProphet will return in.... about 2 and a half hours. 16:49:57 actually 1 and a half 16:50:13 er wait, what... 16:50:29 2 hours. there we go... 16:50:35 I CAN DO MATHZ 16:52:30 also it is really strange to me that non-Americans talk about American movies. 16:52:37 and watch them. 16:52:39 a lot. 16:52:53 -!- iamcal has joined. 16:53:34 GET YOUR OWN MOVIES. 16:54:03 no u 16:54:04 I notice a distinct lack of wine for win32s. 16:54:19 win32s? 16:54:33 ok 16:54:37 never mind. 16:54:47 forget i ever asked. 16:55:06 Gregor: get vodka instead. 16:55:10 it will help you 16:55:15 bahahaha 16:55:19 ..okay I'm gone now. 16:58:20 Is it possible to represent anything masthematically correct in category theory in Haskell? 16:58:44 it might be but i'd call that masthurbation 16:59:00 maybe if you're a masthodon 17:01:05 What does that mean? 17:02:24 What are the classes in Haskell called in category theory? 17:13:38 well there are only a few that I know of. 17:13:48 Monoids are... monoids. Categories are categories. Monads are monads. 17:15:21 I don't think you'll get anything too amazing by trying to apply category theory to programming in Haskell. 17:15:34 but it does help to understand some of the concepts. 17:16:26 No, I mean classes in general. 17:17:14 well a typeclass is a set of polymorphic functions 17:17:27 which would make it something like a... set of sets of morphisms? 17:18:05 * CakeProphet is teh category theory exphurt 17:19:13 because you have to account for Haskell's polymorphic functions being represented by multiple monomorphic morphisms in category theory. 17:20:06 I know about that 17:20:12 I bet copumpkin or oerjan know more about this... 17:22:36 yeah I believe a set of morphism sets would be accurate. 17:22:40 each instance is an additional subset. 17:27:37 -!- CakeProphet has quit (Ping timeout: 240 seconds). 17:30:58 -!- boily has quit (Ping timeout: 260 seconds). 17:31:55 -!- elliott_ has joined. 17:36:13 hi 17:38:40 06:32:25: are you familiar with ?: in other languages? church booleans work like that except automatically... you don't need ?: 17:38:57 i am very sceptical of cakeprophet's approach to teaching iti. 17:39:23 especially bringing haskell into it. 17:40:13 You know how monads work in Haskell? Church numerals are like that, only better. 17:41:08 Gregor: Wow, you just set off seething hatred in me :P 17:41:38 hey oklopol did you see patashu totally own at minesweeper (apart from the bit where he lost) i dunno whether it'll make you feel superior or inferior 17:42:07 * Gregor takes a bow. 17:42:29 ... and shoots elliott_ with it. 17:42:32 Also an arrow. 17:42:39 :'( 17:42:52 Good thing this is Minecraft and so I've sustained approximately one minor bruise 17:43:15 You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? 17:43:19 Monads are like that, only worse. 17:43:40 `addquote You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? Monads are like that, only worse. 17:43:43 663) You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? Monads are like that, only worse. 17:44:00 `log monad 17:44:09 -!- zzo38 has quit (Remote host closed the connection). 17:44:19 2008-06-01.txt:20:27:37: Slereah: the IO monad is what we refer to as a "clever trick", though 17:46:13 `log monad 17:46:20 2010-02-20.txt:21:16:03: It's a full-blooded language, define what you want as long as it halts. If it might not or doesn't halt, put it in the partiality monad and you can still define it. 17:46:34 -!- boily has joined. 17:46:45 Gregor: can you make it filter out everything i say so it's less predictable 17:47:34 No, but you can :P 17:47:59 i have the power 17:48:04 `log monad 17:48:08 2011-02-09.txt:17:28:52: elliott, well hm. So you don't use that monad for IO at all? 17:48:11 `log monad 17:48:15 2010-05-08.txt:23:14:28: A monad is a pair of functions. 17:48:22 tswett: and a type 17:48:23 `log monad 17:48:28 2010-05-08.txt:23:13:22: stop even trying. learn haskell first, then monads 17:48:30 `log monad 17:48:34 2009-12-26.txt:13:19:26: soupdragon, are monads all Functors? they are right? 17:48:35 thsi si SOoooOOOOOoooOOOooOOOooOOooooooooooo boring 17:48:41 zzzzzzz 17:49:28 elliott_: I may have been talking about category theory, where the functions determine the type. I think. 17:50:06 tswett: Maybe you were talking about LAAAAAAAAAAAAAME 17:50:10 It's possible. 17:50:52 this is the best minesweeper video i've ever watched 17:50:54 also the only 17:52:46 I don't think LAME has monads. 17:53:40 No, but LAAAAAAAAAAAAAME does. 17:54:49 It stands for LAME-Aided Axiom-Added Ableising Americanisms Astutely Analysing An Antediluvian Astrophysicist Also A Monadic Exoskeleton. 17:55:49 -!- DH____ has quit (Read error: Connection reset by peer). 17:58:48 Gregor: I just realised that I already know what the hot new thing in parsing it, but had been mentally blocking it out for some reason :P 17:58:52 NO THANKS TO YOU ASSHOLES 18:02:27 And it is? 18:02:45 GLR? 18:03:32 bison? :P 18:03:44 RR(k)? 18:03:50 Gregor: The parsing with derivatives stuff 18:04:12 (Most people ignored it after Russ Cox thought it went exponential for a certain left-recursive grammar but then it turns out that it actually doesn't at all) 18:04:17 It works with any CFG, so woo :P 18:06:18 And it also uses laziness in its core algorithm, so TOTALLY GONNA BE THE BEST HASKELL PARSER COMBINATOR LIBRARY EVERRRRRRRRRRR 18:19:07 elliott_: you're boring 18:19:21 augur: th 18:19:22 x 18:19:50 th 18:19:52 x is the best word. 18:20:21 x 18:20:22 or th 18:20:22 x 18:20:24 ? 18:20:41 th 18:20:42 x. 18:21:16 words with newline chars are indeed pretty cool 18:21:45 THX 18:22:35 (\t.h) x = h 18:24:26 -!- Taneb has joined. 18:24:29 hmm.. now if i made that into (\t->h) x would it be haskell? 18:24:34 Hello! 18:24:40 "Parser-generators 18:24:40 are WYSIWYGIYULR(k)—“what you see is what you get if you understand 18:24:40 LR(k).”" 18:24:42 Gregor: Best acronym? 18:27:35 wysi wygi yurlk 18:27:38 What is happening in the WORLD OF ESOTERIC PROGRAMMING 18:27:59 Aside from Gecho 18:28:06 Nothing 18:28:32 if i have (\t.h) x and i made that into (\t->h) x would it be haskell? 18:29:02 or is this opening a can of worms? 18:29:16 flip (const h) x 18:29:22 itidus20: Not unless you define h. 18:29:24 > (\t->h) x 18:29:25 Ambiguous type variable `a' in the constraints: 18:29:25 `SimpleReflect.FromExpr ... 18:29:27 Erm. 18:29:29 Fuck off, lambdabot. 18:29:39 itidus20: 18:29:40 *Main> (\t -> h) x 18:29:40 :1:8: Not in scope: `h' 18:29:40 :1:11: Not in scope: `x' 18:29:46 Given definitions of h and x, yes, that works. 18:29:50 But really, concentrate on just LC. 18:30:03 How's itidus20 going with his education? 18:30:05 ahh... i see.. i havent defined h and x 18:30:08 Haskell is not the LC, it isn't even a superset of the lambda calculus; it's a superset of a different, related system. 18:30:09 makes sense 18:30:17 ok 18:31:15 one fascinating element of LC is that an expression can't reduce itself out of existence 18:31:41 ie.. there is no empty set as it were 18:35:54 perhaps i am missing the point a bit.. arithmetic can never get beyond zero 18:36:17 You mean, arithmetic can never be a negative number? 18:36:40 i mean, no matter what you do to an arithmetic expression it will never cease to be an arithmetic expression 18:36:53 it will default to zero though 18:37:34 that's because the LC is closed under reduction 18:37:45 i.e., the reduction of any lambda-calculus term is a lambda-calculus term 18:38:25 ahh 18:38:51 so, reducing a lambda-calculus term any number of times cannot produce something that isn't a lambda-calculus term 18:51:00 Youth Theatre started today 18:51:12 Also, I am lamenting the loss of my luscious locks 18:51:58 and (\abcdefg.a) mnopqrs will reduce to m 18:54:12 and (\abcdefg.h) mnopqrs will reduce to h 18:54:32 Yes 18:54:39 Assuming h is defined 18:54:52 -!- augur has quit (Remote host closed the connection). 18:55:05 oh .. does that matter in pure LC? 18:55:19 ...I think so? 18:55:22 Ask elliott_ 18:56:06 ok 18:58:00 -!- elliott has joined. 18:58:00 -!- elliott_ has quit (Read error: Connection reset by peer). 18:58:05 and (\abcdefg.a) mnopqrs will reduce to m 18:58:07 and (\abcdefg.h) mnopqrs will reduce to h 18:58:09 Yes 18:58:11 Assuming h is defined 18:58:13 * augur has quit (Remote host closed the connection) 18:58:15 oh .. does that matter in pure LC? 18:58:28 you can say "for all h,m,n,o,p,q,r,s, (\abcdefg.h) mnopqrs reduces to h" 18:58:41 so basically it doesn't matter 18:59:00 -!- augur has joined. 18:59:03 ahh that is the answer 18:59:12 i see 19:10:49 -!- KingOfKarlsruhe has joined. 19:22:06 is it possible to treat I = (\x.x) as meaning x does not exist outside of I? 19:22:32 if name clashes are caused by notation for example 19:22:32 Sure, x is lexically scoped. 19:22:38 It is completely opaque outside of I. 19:24:35 so anyway, this alternative paper i found is a bit better, by some guy Raul Rojas 19:24:56 A retired Mexican-American featherweight boxer, apparently 19:24:59 Perhaps not the same Raul Rojas 19:25:41 Ral Rojas Gonzlez (born 1955, in Mexico City) is a professor of Computer Science and Mathematics at the Free University of Berlin and a renowned specialist in artificial neural networks. 19:31:17 elliott: crazy torrent: 40158 seeders, 38480 leechers 19:31:24 never seen that much before 19:31:33 what is it 19:31:44 i suspect that's uh... not accurate 19:31:47 elliott: a game I'm trying out a bit before buying. Yogscast recently played it. 19:31:57 elliott: anyway that is what the tracker reports. 19:32:19 or trackers rather, there is about 20000 on each of the ones that don't time out. 19:32:29 Sounds like crap 19:32:40 elliott: what does? 19:32:45 The numbers 19:32:55 perhaps 19:33:08 elliott: but I seem to connect to several hundred peers just fine. 19:33:16 who knows 19:33:19 Ten thousand or so for a huge torrent, sure 19:33:24 Forty thousand /seeders/... no 19:33:33 elliott: yes I'm wtf at it too 19:34:02 elliott: maybe some are dual counted on different trackers somehow? 19:34:16 dunno 19:34:28 elliott: anyway it is massive, even if not as massive as that 19:34:39 i think there is some fanciful seeder counts that get around 19:34:57 you can easily see a torrent with 3000 seeders and then wait for any action sometimes 19:36:43 itidus20: well there are no issues with seeders or leechers here, whatever the real numbers are 19:37:09 Wow, I had no idea SQLite's testing was /that/ hardcore. 19:38:43 elliott: hm? 19:38:57 Vorpal: http://www.sqlite.org/testing.html 19:39:01 Read and weep. 19:39:12 elliott: iirc they have fairly extensive automated testing tools? *waiting for page to load* 19:39:24 ah yes, I read that page before 19:39:28 "As of version 3.7.5 (all statistics in the report are against that release of SQLite), the SQLite library consists of approximately 73.0 KSLOC of C code. (KSLOC means thousands of "Source Lines Of Code" or, in other words, lines of code excluding blank lines and comments.) By comparison, the project has 1251 times as much test code and test scripts - 91378.6 KSLOC." 19:39:31 " The TCL Tests are the oldest set of tests for SQLite. They are contained in the same source tree as the SQLite core and like the SQLite core are in the public domain. The TCL tests are the primary tests used during development. The TCL tests are written using the TCL scripting language. The TCL test harness itself consists of 18.9 KSLOC of C code used to create the TCL interface. The test scripts are contained in 617 files totaling 9.3MB in siz 19:39:32 e. There are 27664 distinct test cases, but many of the test cases are parameterized and run multiple times (with different parameters) so that on a full test run, about 1.4 million separate tests are performed." 19:40:02 yeah 19:40:17 Jesus christ, 48.7 MB of C code making up one of the test suites? 19:40:24 Has anyone written a Brainfuck self-compiler? 19:40:26 I can't even comprehend what that much C can do. 19:40:28 Taneb: awib 19:40:50 elliott: well you can trust sqlite3 to be correct pretty much. Sure, not proven, but correct for most purposes 19:51:41 -!- oerjan has joined. 19:52:09 for all y, (\x.yx) y reduces to y y , right? 19:52:59 Yes. 19:53:01 itidus20: if y does not contain x free 19:53:42 oerjan: You might want to clarify that a bit :P 19:53:58 i sort of understand 19:54:03 if x is a free variable of y, then it might fail 19:54:51 such as (\y.(\x.yx) y) x 19:55:45 which i guess could be rewritten as (\yx.yx)yx 19:55:56 yes. although that particular case happens not to be a counterexample, i think 19:56:38 -!- coppro has quit (Quit: Reconnecting). 19:56:40 hm i should switch servers 19:56:43 -!- coppro has joined. 19:57:09 -!- oerjan has quit (Quit: leaving). 19:57:10 oerjan: just reconnect when it goes down 19:57:12 or that 19:57:21 -!- oerjan has joined. 19:57:25 oerjan: just reconnect when it goes down 19:57:25 or that 19:57:44 gotta disconnect before you get disconnected! 19:58:08 hrmm 19:58:35 elliott: it could take my client a long time to discover the disconnection 19:58:40 wat 19:58:48 i'm not exactly sure 19:59:30 but it certainly takes a while for freenode to notice the other way 20:00:15 oerjan: what about (\y.(\x.yx)yx) a b is that a broken example? 20:00:50 which i guess could be rewritten as (\yx.yx)yx <-- no that's not the same, the last y isn't in both scopes 20:01:10 hmm 20:01:28 -!- boily has quit (Ping timeout: 260 seconds). 20:01:42 humm 20:02:00 itidus20: you cannot get a broken example from \y.(\x.yx)yx 20:02:15 -!- variable has quit (*.net *.split). 20:02:15 -!- pikhq_ has quit (*.net *.split). 20:02:16 -!- rodgort has quit (*.net *.split). 20:02:16 -!- tswett has quit (*.net *.split). 20:02:16 -!- mtve has quit (*.net *.split). 20:02:16 -!- SimonRC has quit (*.net *.split). 20:02:16 -!- coppro has quit (*.net *.split). 20:02:16 -!- augur has quit (*.net *.split). 20:02:17 -!- Zwaarddijk has quit (*.net *.split). 20:02:17 -!- olsner has quit (*.net *.split). 20:02:17 -!- copumpkin has quit (*.net *.split). 20:02:18 -!- sebbu has quit (*.net *.split). 20:02:18 -!- oklopol has quit (*.net *.split). 20:02:18 -!- clog has quit (*.net *.split). 20:02:18 -!- HackEgo has quit (*.net *.split). 20:02:32 because that automatically renames things 20:02:43 humm 20:03:10 HACKEGO, NOOOOOOOOO 20:03:16 -!- iamcal has quit (Remote host closed the connection). 20:03:18 oerjan: I wish alpha-conversion wasn't the traditional way to present the lc :( 20:03:18 -!- coppro has joined. 20:03:18 -!- augur has joined. 20:03:18 -!- pikhq_ has joined. 20:03:18 -!- copumpkin has joined. 20:03:18 -!- sebbu has joined. 20:03:18 -!- rodgort has joined. 20:03:18 -!- tswett has joined. 20:03:18 -!- variable has joined. 20:03:18 -!- Zwaarddijk has joined. 20:03:18 -!- oklopol has joined. 20:03:18 -!- clog has joined. 20:03:18 -!- HackEgo has joined. 20:03:18 -!- olsner has joined. 20:03:18 -!- mtve has joined. 20:03:18 -!- SimonRC has joined. 20:03:22 oerjan: I wish alpha-conversion wasn't the traditional way to present the lc :( 20:03:23 for all y, (\x.yx) y reduces to y y , right? 20:03:41 for that to break you have to replace y with something which _literally_ contains x 20:04:08 (and y = x doesn't actually work, but that's a coincidence) 20:04:47 (\y(\x.yx) y) (\z.xx) 20:05:04 does that break? 20:05:24 oerjan: mutters something about de bruijn 20:05:28 yeah at this point i am just guessing :P 20:05:31 Yep 20:05:32 ill let it go.. 20:05:51 i can study more when i am ready 20:06:00 itidus20: that one doesn't work because of alpha renaming. once you put it inside \y ... alpha renaming protects you against name collisions 20:06:42 it's only when you substitute something for y _literally_ in (\x.yx) y without doing alpha renaming for x that it can break 20:06:52 POSITIONING SQUAF 20:07:17 ahh 20:07:19 hm it might be that your book consider renaming x to happen automatically with substitution too, in which case it's always y y 20:07:46 like if you change (\x.yx) y (\x.yx) x 20:07:54 well this isnt from a book.. just thinking 20:08:03 ^ change to 20:08:08 itidus20: well i was assuming you substituted _both_ y's 20:08:14 with the same thing 20:08:32 and also, y = x doesn't work as a counterexample 20:08:44 can you give an example of anything that could go wrong with (\x.yx) y ? 20:09:00 y = x x should get pretty hairy :P 20:09:12 (\x.(xx)x)(xx) 20:09:33 ahh.. i think i get it 20:10:45 i think that what has happened is that i havent explored substitutions at all.. 20:10:58 and so didn't realize it was possible 20:11:46 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 6.0.2/20110902133214]). 20:14:43 -!- fungot has quit (*.net *.split). 20:14:43 -!- Vorpal has quit (*.net *.split). 20:14:43 -!- Zuu has quit (*.net *.split). 20:14:44 -!- atehwa has quit (*.net *.split). 20:14:59 -!- Zuu has joined. 20:15:04 -!- Zuu has quit (Changing host). 20:15:04 -!- Zuu has joined. 20:15:09 -!- Vorpal has joined. 20:15:13 basically the rules for when you must do alpha conversion when substituting are, in modern terms, about preserving lexical scoping 20:15:38 although it is possible that the idea of lexical scoping actually evolved _from_ lambda calculus 20:15:41 so i know you can add (\.) around expression1 and thus it becomes that.. 20:16:08 and you can add ( but i didn't consider that you can take and replace it with 20:17:05 -!- boily has joined. 20:17:29 itidus20: erm you haven't learned beta reduction yet? that's the _essence_ of lambda calculus 20:18:19 -!- esowiki has joined. 20:18:19 -!- glogbot has joined. 20:18:19 -!- glogbackup has left. 20:18:19 -!- Gregor has joined. 20:18:21 -!- shachaf has joined. 20:18:29 -!- atehwa has joined. 20:18:29 -!- mycroftiv has joined. 20:18:43 -!- EgoBot has joined. 20:18:46 -!- Gregor has changed nick to Guest82930. 20:19:03 oerjan: i don't think he's learning it as a formal set of rules, he's just replacing it intuitively :P 20:19:17 -!- yorick has quit (Quit: Poef!). 20:19:46 basically, (\x.)() reduces to with substituted for x, while renaming bound variables to avoid collisions 20:19:58 *name collisions 20:20:46 and repeating beta reduction is how lambda calculus computes things 20:20:58 well (\x.yx) y to (\x.(xx)x)(xx) isn't really reduction right? 20:21:15 well i mean it may be some form of reduction 20:21:21 but what would you call that? 20:21:29 substitution? 20:21:30 no, that's substituting xx for y, but ignoring the renaming rules 20:22:14 you could call it substitution, but it's not a correct one for beta reduction 20:22:26 is it because (\x.(xx)x)(xx) is broken that it requires substitution to arrive at it? 20:22:34 fromApple News_Europe@insideapple.apple.com 20:22:34 subject20 Sept. is your last chance to get a 65 pound University Gift Card. 20:22:34 Wow, that's a pretty heavy University Gift Card. 20:22:39 What the hell is it made out of? 20:23:26 itidus20: yes. because if you started with (\y.(\x.yx)y)(xx) instead, then the beta reduction rule would demand the bound x be renamed. 20:23:56 HELLO I AM GUEST 20:23:59 so, in practice do you ever need to do something likel (\x.yx) y to (\x.(xx)x)(xx) ? 20:24:28 I HEARD THAT MELNU THE OVERSEER IS GOING TO RETURN IN 2012. COMMENTS? 20:24:29 Guest82930: hi 20:24:32 -!- iamcal has joined. 20:24:33 -> (\y.(\z.yz)y)(xx) -> (\z.(xx)z)(xx) -> (xx)(xx) 20:24:34 yes 20:24:35 true 20:24:46 that doesn't break when renaming properly 20:24:48 SHOULD WE FEAR THE GREAT OVERSEER? 20:25:34 Guest82930: THE GREAT OVERSEER SMELLS PRETTY BAD, SO SHOULD BE EASY TO HIDE FROM FOR MOST PEOPLE 20:25:36 WHY THE CAPS LOCK 20:25:48 CAPS LOCK IS CRUISE CONTROL FOR COOL. 20:25:57 *actually, that's the sustain pedal 20:26:00 -!- Guest82930 has changed nick to Gregor. 20:26:42 oerjan: i am not sure how to ask the right question. is it wrong to just say y = (xx)? 20:27:30 itidus20: no, but in some cases (when it is ambiguous what x is) yes 20:28:00 itidus20: that's ok. but you should always avoid name collisions by renaming. 20:28:33 so basically if you say (\x.yx)y where y = xx, you normally will automatically rename the bound x'es 20:28:33 SHOULD WE FEAR THE GREAT OVERSEER? 20:28:42 Only if you are a noble. 20:29:32 does y = (xx) imply ( \y.) (xx) ? 20:29:39 itidus20: it is even common when representing lambda calculus in computers to use a representation where bound variables aren't named, that's the deBruijn indexes elliott mentioned 20:30:03 because that avoids a lot of this trouble 20:30:23 Or even just to pretend everything is combinator calculus because it's so much easier. 20:30:45 Combinator calculus is harder to write but easier to read 20:30:50 itidus20: no. the y to the right is bound, so not the same variable really 20:31:06 itidus20: er or wait 20:31:27 hmm .. i will restate 20:31:45 itidus20: actually, yes, you can always incorporate equations in that way, which is why pure lambda calculus doesn't really need them 20:32:16 when going from (\x.yx) y to (\x.(xx)x)(xx) is ( \y.) (xx) implied? 20:32:48 itidus20: not if you want it to break. 20:33:04 but you never want it to break right? 20:33:59 itidus20: wikipedia suggests the term "capture-avoiding substitutions" for the ones involving renaming 20:34:02 uhmmm ok in other words 20:34:18 (\x.yx) y is safe as long as you use proper renaming methods 20:34:19 and you should always use them to avoid breakage 20:34:22 yep 20:35:17 ok so its basically that i said "for all y, " can include a y which is not following proper renaming methods 20:36:12 yeah 20:36:23 oh god I'm running out of disk how 20:36:30 FAREWELL RED DWARF 20:36:41 can you compress it any more? 20:37:20 use more zippes 20:37:38 my guess is that the compressability of a video is not much though 20:38:53 if anything "video format" is all about the set of compression routines optimized for videos 20:39:08 Oh BtW I have to go to Ireland tomorrow for grandfather hauling, don't miss me too much. 20:39:26 have a craic 20:39:30 or whatever 20:40:29 That is not what 'craic' means iti. 20:41:04 FAREWELL RED DWARF <-- are you sure your priorities are sound? 20:41:13 -!- Taneb has quit (Ping timeout: 260 seconds). 20:43:21 oerjan, I've watched it all twice, I need fresh DS9 to stave off the boredom. 20:45:43 -!- Taneb has joined. 20:46:51 Phantom_Hoover: i revised my knowledge 20:47:40 but i still don't think sad events should mean you can't have craic 20:48:28 the only thing i think i got wrong about the meaning was using an article 'a' 20:49:50 itidus20, no, I mean you don't have craic. 20:49:58 It's just a thing. 20:50:38 ok it makes sense that i don't know what it means 20:51:32 itidus20, it doesn't mean 'a good time', it doesn't really have a direct equivalent. 20:51:42 yeah. it is fair enouhg 20:51:45 There is simply craic, and it is sometimes good. 20:51:49 ^fair enough 20:51:50 In BytePusher, is the register thingy containing the current instruction automatically updated? 20:51:52 :) 20:58:21 `addquote Mayor says we need to make aluminum items Taneb, PH says you need to make lava items. 20:58:23 664) Mayor says we need to make aluminum items Taneb, PH says you need to make lava items. 21:02:25 can you feel the lava tonight 21:08:24 (\x.yx) y = (\bound1.free1 bound1) free1 ; (\y.(\z.yz)y)(xx) = (\bound1.(\bound2.bound1 bound2)bound1)(free1 free1) 21:08:47 oerjan, deeply in lava. 21:09:01 -!- Taneb has quit (Read error: Connection reset by peer). 21:09:14 is this making sense? 21:10:11 itidus20: it is not usually allowed to rename _free_ variables, only bound ones 21:10:25 humm 21:11:25 yeah i am implying some unstated mechanism for converting variables named free to variables named bound 21:12:15 no no tats not the problem. nevermind hm. ok 21:12:22 thanks for comment 21:15:02 sorry oerjan my brain goes off in 10 directions before just taking a proper literal interpretation 21:17:18 with math, it's important to understand the literal interpretation first 21:18:03 hm 21:19:04 ironically with narrative text the literal interpretation can be a problem 21:19:25 narrative might be wrong word here 21:19:52 things like philosophy, religion, novels, poetry 21:20:50 maybe it is formal vs informal 21:28:14 -!- nooga has quit (Ping timeout: 252 seconds). 21:32:19 -!- augur has quit (Remote host closed the connection). 21:34:02 -!- augur has joined. 21:46:08 -!- BeholdMyGlory has joined. 21:47:35 -!- pikhq has joined. 21:49:05 -!- pikhq_ has quit (Ping timeout: 260 seconds). 22:03:32 -!- MDude has quit (Ping timeout: 260 seconds). 22:08:42 `addquote Dear god stop staring at me. no never monqy is always staring at everyone. it takes many eyes to do this but I manage He is an inspiration to us all. 22:08:44 665) Dear god stop staring at me. no never monqy is always staring at everyone. it takes many eyes to do this but I manage He is an inspiration to us all. 22:09:17 My quotes collection seems that bit more empty when I remember that elliott added like all of them. 22:09:34 Whose quotes collection. 22:09:49 That was a monqy quote not a Phantom_Hoover quote you egoistic fuck. 22:10:05 elliott, it is a collaboration. 22:10:14 It is a monqy quote feat. Phantom_Hoover. 22:10:19 monqy ft. Phantom_Hoover -- always staring at everyone 22:10:25 An instant hit. 22:10:36 monqy ft. Phantom_Hoover remixed by elliott, a HackEgo production. 22:11:17 `pastequotes Phantom_Hoover 22:11:19 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7911 22:11:24 Just monqy staring at you, also I sometimes stare at you too. 22:11:29 Holy shit that's a lot. 22:12:36 433) Hmm. I guess it's nearby GRBs that would be problematic? Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'. 22:12:40 Phantom_Hoover: WHAT IS THE CONTEXT 22:12:42 Phantom_Hoover's quote collection seems really small when he realizes they're all somebody else's. 22:13:18 421) Lymia, I don't know what that is but I want to hit you for it on principle. 22:13:18 Interestingly, glogbot didn't log this. 22:13:30 `log is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:13:33 2011-09-14.txt:22:13:30: `log is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:13:37 `log is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:13:40 2011-09-14.txt:22:13:33: 2011-09-14.txt:22:13:30: `log is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:13:43 ... 22:13:45 oh no 22:13:45 `log is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:13:46 -!- DH____ has joined. 22:13:49 2011-09-14.txt:22:13:40: 2011-09-14.txt:22:13:33: 2011-09-14.txt:22:13:30: `log is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:13:49 I am a man of wit. 22:13:53 oh noooo 22:13:58 `pastelogs is pursuing the line of reasoning that eating raw foods can improve cognitive function 22:14:02 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1860 22:14:03 -!- kmc has quit (Quit: Leaving). 22:14:10 -!- kmc_ has joined. 22:14:10 Hmm. 22:14:15 Where was that from, then? 22:14:18 I doubt it was -minecraft. 22:14:28 -!- kmc_ has changed nick to kmc. 22:14:28 -!- Patashu has joined. 22:14:52 Phantom_Hoover: WHAT IS THE CONTEXT 22:14:52 GRBs, funnily enough. 22:14:52 I love all the quotes the context of which is lost to history because you added them from an msg. 22:15:10 563) Oh god. I've become a metallurgy hipster. 22:15:16 Phantom_Hoover: Was that really after we started playing DF? 22:15:26 elliott, I already told you why that was. 22:15:38 I removed the "Iridium is too mainstream." for comedic effect. 22:15:45 Oh, right. 22:15:48 You're meant to use sed to do that. 22:16:14 Phantom_Hoover: WHAT IS THE CONTEXT <-- all necessary context was included afaiac 22:16:21 Afaiac? 22:16:28 Oh, right. 22:16:58 `pastequotes oerjan 22:17:00 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.15374 22:19:08 `log understand it perfectly\. it's complete 22:19:11 No output. 22:19:21 `log not even going to try and understand 22:19:24 2011-09-14.txt:22:19:21: `log not even going to try and understand 22:19:31 `pastelogs not even going to try and understand 22:19:35 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23435 22:19:39 `log perfectly 22:19:42 2010-11-13.txt:22:18:45: Vorpal: With a GFCI it's perfectly safe. 22:19:46 Gregor: What is UP with these incomplete logs. 22:19:49 `log @ 22:19:54 2011-02-03.txt:23:09:13: @undo do x <- pSimpleUL; xs <- pUL; return (x :< xs) 22:20:02 `log @ 22:20:07 2007-02-11.txt:23:43:53: -!- sebbu2 has quit ("@+"). 22:20:09 `log \b@\b 22:20:13 2011-03-09.txt:03:03:48: Gregor: nearbyint@libc.so 22:20:15 `log \bDMM\b 22:20:19 2005-06-09.txt:10:12:12: I read about Homespring for the first time today. Wow... that just blew me away :-) 22:20:23 elliott: :'( 22:20:28 What, is that the real DMM? 22:20:28 elliott: That reference makes me cry 22:20:35 Gregor: What reference 22:20:40 `logurl 2005-06-09.txt:10:12:12: 22:20:41 http://codu.org/logs/log/_esoteric/2005-06-09 22:20:46 elliott: 2011-03-09.txt:03:03:48: Gregor: nearbyint@libc.so 22:20:57 wow, it's real DMM :DDDDDDDDddddddddddddddddddddddd 22:21:00 i think 22:21:00 ? 22:21:04 sebbu: ? 22:21:06 oh 22:21:08 blame `log 22:21:12 dmm 22:21:14 was here 22:21:14 oerjan: dude dude. 22:21:16 oh my god 22:21:16 oerjan: dmm. 22:21:17 was here. 22:21:26 come back dmm ;_; 22:21:29 dmm come 22:21:33 back we will 22:21:34 be friends ;__; 22:21:56 11:14:47: I got some TV to watch... later guys 22:21:56 AND HE LEFT... 22:22:03 `patselogs 22:22:05 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: patselogs: not found 22:22:10 Phantom_Hoover: oh my god wiki drama 22:22:10 23:27:51: graue: your vision of the wiki is a bit narrower than I'd hoped for 22:22:11 23:28:28: I'm halfway wondering if you'll be pulling up those in-progress pages at any moment 22:22:11 23:30:29: now I realize it's your wiki, you're running it, and all that.. which I appreciate.. but perhaps if you're going to stifle the expressive purposes of the wiki we need to abandon your stranglehold and start a new wiki elsewhere 22:22:19 THIS FASCIST GRAUE REGIME 22:22:22 `pastelogs @pl 22:22:23 `pastelogs 22:22:27 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18293 22:22:27 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2363 22:22:32 elliott, dude, graue was a bit extreme. 22:22:44 No new categories without his approval? 22:22:46 Seriously? 22:22:49 THREE MONTHS OF SPORADIC DMM 22:22:57 Phantom_Hoover: Erm, it's never been "his approval". 22:23:04 It's always been "consensus". 22:23:34 Phantom_Hoover: Also calamari said that just because of 22:23:34 23:26:11: graue: I'd really like to integrate EsoShell into the wiki. Would you like to work on it with me? 22:23:34 23:26:49: i'd rather not have executable code running out of the wiki 22:23:34 23:26:56: it's for information, not running programs 22:23:36 which is hilarious ok. 22:23:49 It is hilarious. I have a policy that this is hilarious. 22:25:54 I love the idea of going to a page for an esolang and at the bottom is a console. "Try writing XXX language now!" 22:26:08 hm did anything happen to the learn db 22:26:09 `cat 22:26:15 it would be a good way to find esolangs that are far too easy to be should exist 22:26:21 monqy: i wrote a better one but gregor woudln't ;__; 22:26:23 because it needed 22:26:25 multiple line sends 22:26:31 why did it need this 22:26:39 because 22:26:41 No output. 22:26:43 multipe definitions 22:26:46 but ok i will write one that is 22:26:48 slightly better than that 22:29:24 for multiple definitions you could stuff them into a listy thing and on requesting entry without being explicit as to which one it would display the first one. on displaying entry it says the entry number and the number of entries?? perhaps an special entry identifier for random entry, too?? perhapS??? 22:29:43 Multiple entries is just a terrible idea :P 22:30:04 `which learn 22:30:05 how is it a bad idea 22:30:05 ​/hackenv/bin/learn 22:30:12 `paste /hackenv/bin/learn 22:30:13 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30666 22:30:16 monqy: Complexity cost huge, benefit tiny. 22:30:23 how is the benefit tiny 22:30:29 `rm bin/learn 22:30:31 No output. 22:30:35 `rm bin/forget 22:30:37 No output. 22:30:38 Who the hell needs multiple definitions? Think wiki, not ... whatever the hell you're thinking. 22:30:44 Gregor: Complexity cost huge? Dude, my scripts were like ten lines. 22:30:48 `paste learnt 22:30:50 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31091 \ cat: learnt: No such file or directory 22:30:52 You have clearly never used a proper learndb :P 22:30:53 elliott: Use, not code. 22:30:54 `run ls bin 22:30:56 Lymee \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ elliott \ esolang \ etymology \ fuck \ google \ imdb \ json \ k \ karma \ learnt \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ penis \ ping \ prefixes \ quine \ quote \ quotes \ rec 22:31:03 Gregor: No... it was three commands. 22:31:04 learning multiple things is very important!!! 22:31:06 And trivial to use. 22:31:07 >_< 22:31:17 elliott: Yes, because it would presumably barf out every definition every time. 22:31:20 @list what 22:31:20 where provides: where url what where+ 22:31:21 `run rm bin/Lymee bin/learnt 22:31:23 No output. 22:31:27 `cat bin/Lymee 22:31:27 @what me worry 22:31:27 I know nothing about me. 22:31:28 cat: bin/Lymee: No such file or directory 22:31:29 Gregor: Yes, which if you actually bothered to rate-limit properly would be fine :P 22:31:33 Lymee: Stop. 22:31:34 `paste bin/lymee 22:31:35 Oy vey. 22:31:36 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19221 \ cat: bin/lymee: No such file or directory 22:31:38 I'm trying to add new scripts. 22:31:48 elliott: Having a bot that runs FUCKING ARBITRARY commands be able to output more than one per one is the 22:31:49 WORST 22:31:52 POSSIBLE 22:31:54 `paste bin/elliott 22:31:56 Okey. 22:31:56 IDEA 22:31:56 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28307 22:32:07 "What is rate limiting, also what is maximum lines of output" --Gregor 22:32:16 you dont have to make it barf them all out....would that make it too complicated to use.....(hint: no) 22:32:16 I have a rate limit, and a maximum. 22:32:19 The rate limit is one per one. 22:32:21 The maximum is one. 22:32:33 Your ideas. They are fucking terrible. 22:32:41 w/e 22:32:43 `fetch http://sprunge.us/QFPP 22:32:45 2011-09-14 22:32:45 URL:http://sprunge.us/QFPP [97] -> "QFPP" [1] 22:32:51 `run mv QFPP bin/'?'; chmod +x bin/'?' 22:32:53 No output. 22:33:02 `? 22:33:03 ​? ¯\(°_o)/¯ 22:33:06 monqy: Not done. 22:33:17 `fetch http://sprunge.us/OIib 22:33:18 2011-09-14 22:33:18 URL:http://sprunge.us/OIib [173] -> "OIib" [1] 22:33:18 lol, greatest output ever 22:33:25 `run mv OIib bin/learn; chmod +x bin/learn 22:33:27 No output. 22:33:36 `fetch #!/bin/sh 22:33:36 rm "learn/$1" 22:33:37 http://#!/bin/sh: Invalid host name. 22:33:37 ... 22:33:43 `fetch http://sprunge.us/fgdX 22:33:44 2011-09-14 22:33:44 URL:http://sprunge.us/fgdX [25] -> "fgdX" [1] 22:33:48 -!- sllide has quit (Ping timeout: 260 seconds). 22:33:48 `run mv fgdX bin/forget; chmod +x bin/forget 22:33:50 No output. 22:33:51 `run mkdir learn 22:33:53 No output. 22:34:02 `learn Gregor is the stupidest stupid. 22:34:04 ​/hackenv/bin/learn: line 7: learn/Gregor: No such file or directory 22:34:13 rip gregor 22:34:13 Uhh 22:34:15 `ls learn 22:34:16 ls: cannot access learn: No such file or directory 22:34:17 "the stupidest stupid" 22:34:20 >_< 22:34:21 `run mkdir learn 22:34:23 No output. 22:34:26 `learn Gregor is the stupidest stupid. 22:34:28 ​/hackenv/bin/learn: line 7: learn/Gregor: No such file or directory 22:34:31 Gregor: what 22:34:38 `run mkdir learn 22:34:40 No output. 22:34:51 `learn Gregor is the stupidest stupid. 22:34:53 ​/hackenv/bin/learn: line 7: learn/Gregor: No such file or directory 22:34:56 Gregor: ?????????????? 22:35:15 `ls learn 22:35:17 ls: cannot access learn: No such file or directory 22:35:22 what is learn doimg.... 22:35:34 `help 22:35:35 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 22:35:46 elliott: It doesn't remember empty directories. 22:35:52 Gregor: lol@hg 22:36:03 elliott: lol@virtually every VCS in existence? 22:36:07 Nope. 22:36:11 darcs gets it right, for one. 22:36:15 1. 22:36:16 -!- FireFly has quit (Quit: FireFly). 22:36:19 I think SVN did too. 22:36:21 2. 22:36:32 Gregor: Dude, the only VCSes taht don't are git and hg :P 22:36:35 I think bzr gets it right as well. 22:36:48 git and hg are virtually every vcs in existence 22:36:54 `run sed -i 's/learn/wisdom/g' bin/learn; sed -i 's/learn/wisdom/g' bin/'?'; sed -i 's/learn/wisdom/g' bin/forget 22:36:55 No output. 22:36:57 It's been too long since I've used bzr to corroborate *shrugs* 22:37:08 `run mkdir wisdom; echo "is a big stupid stupid." >wisdom/Gregor 22:37:11 No output. 22:37:12 `? Gregor 22:37:13 Gregor? ¯\(°_o)/¯ 22:37:18 `ls wisdom 22:37:20 Gregor 22:37:23 uh 22:37:24 Oh good, so now you can't just say the name ... 22:37:33 Gregor: Yes, because that was terrible :P 22:37:38 `url bin/? 22:37:39 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/? 22:37:45 >_< 22:37:45 Well, I'll admit that having it get in the way of cat was kinda bad. 22:37:48 `paste bin/? 22:37:50 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25292 22:37:50 And that URL ain't gonna work at all X-D 22:37:57 Hmm 22:38:05 `run ls wisdom/Gregor 22:38:07 wisdom/Gregor 22:38:10 ??? 22:38:19 Am I misunderstanding what -e does? :P 22:38:50 halp 22:38:55 `cat wisdom/Gregor 22:38:57 is a big stupid stupid. 22:39:18 `run [ -e wisdom/Gregor ] && echo hewoo 22:39:19 hewoo 22:39:22 `log wisdom 22:39:25 2011-09-14.txt:22:39:22: `log wisdom 22:39:40 `? . 22:39:42 cat: wisdom/.: Is a directory \ . 22:39:47 Nice X-D 22:40:03 `? ../bin/? 22:40:04 ​../bin/? #!/bin/sh \ [ -e "wisdom/$1" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ echo "$1 $(cat "wisdom/$1")" 22:40:10 Feature. 22:40:12 `? Gregor 22:40:13 Agreed 22:40:14 Gregor is a big stupid stupid. 22:40:17 Huh 22:40:19 It suddenly works 22:40:25 `? echo 22:40:26 echo? ¯\(°_o)/¯ 22:40:29 `pastequotes monqy 22:40:31 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1494 22:40:32 Time to start documenting the masses 22:40:44 `learn Gregor Wrote the bot. Better than you. For most values of "you". 22:40:46 No output. 22:40:48 >_> 22:40:50 Gregor: Wrong style :P 22:40:52 `? Gregor 22:40:54 Oh foo 22:40:54 Gregor "you". 22:40:55 Following `learn is a full sentence. 22:40:57 ... 22:40:58 what 22:40:58 lol 22:41:04 I'll go with that. 22:41:06 Gregor "you". 22:41:06 Works for me. 22:41:14 topic=$(echo "$1" | sed 's/ .*//') 22:41:14 info=$(echo "$1" | sed 's/.* //') 22:41:17 OK sed-experts, help me out here :P 22:41:27 I didn't use /g 22:41:28 info removes everything before the last space there. 22:41:28 So?? 22:41:35 Oh hmm 22:41:37 .* is greedy 22:41:42 How can I make it be tighter >_> 22:41:44 You want [^ ]* 22:41:45 .*? is perlism 22:41:48 Thx :P 22:41:57 Yeah, as far as I know there's no non-greedy modifier for sed. 22:42:03 `fetch http://sprunge.us/ECNd 22:42:04 2011-09-14 22:42:04 URL:http://sprunge.us/ECNd [178] -> "ECNd" [1] 22:42:08 `run mv ECNd bin/learn; chmod +x bin/learn 22:42:10 No output. 22:42:15 `learn Gregor wrote the bot, which is why he's terrible. 22:42:16 No output. 22:42:18 `? Gregor 22:42:20 Gregor wrote the bot, which is why he's terrible. 22:42:25 "No output" isn't the ideal output :P 22:42:34 OK FINE TIME FOR SOME MEGA OUTPUT 22:42:50 How about "Filling me with your knowledge gives me a sexual kind of pleasure." 22:43:01 * Phantom_Hoover wonders how Transmission concludes, from a rate of consistently between 50 and 100 KiB/s, that it will take twelve hours to torrent 3GB. 22:43:33 `fetch http://sprunge.us/aJVh 22:43:33 2011-09-14 22:43:33 URL:http://sprunge.us/aJVh [198] -> "aJVh" [1] 22:43:39 `run mv aJVh bin/learn; chmod +x bin/learn 22:43:41 No output. 22:43:48 `run echo 'echo "Forget what?"' >>bin/forget 22:43:50 No output. 22:43:58 `learn Gregor Wrote the bot. Better than you. For most values of "you". 22:44:01 I knew that. 22:44:03 Gregor: NOT A SENTENCE 22:44:08 `forget Gregor 22:44:10 Forget what? 22:44:15 `learn Gregor Wrote the bot. Better than you. For most values of "you". 22:44:17 ​/hackenv/bin/learn: line 7: wisdom/Gregor: No such file or directory \ I knew that. 22:44:21 Sweet. 22:44:25 > 3000000 / (75*60) 22:44:25 666.6666666666666 22:44:34 > 3000000 / (75*60*60) 22:44:35 11.11111111111111 22:44:38 `? Gregor 22:44:39 Oh. 22:44:40 Gregor? ¯\(°_o)/¯ 22:44:48 `run mkdir wisdom; echo "You do not have the clearance necessary to view this entry." >wisdom/.doorstop 22:44:50 No output. 22:44:53 `? .doorstop 22:44:55 ​.doorstop You do not have the clearance necessary to view this entry. 22:44:58 You yeah :P 22:45:00 `learn Gregor Wrote the bot. Better than you. For most values of "you". 22:45:02 I knew that. 22:45:04 `run mkdir wisdom; echo "is -- You do not have the clearance necessary to view this entry." >wisdom/.doorstop 22:45:05 mkdir: cannot create directory `wisdom': File exists 22:45:05 Errr ... "Oh yeah" 22:45:11 Dammit, computers, stop being better than me at arithmetic. 22:45:11 `? .doorstop 22:45:13 ​.doorstop is -- You do not have the clearance necessary to view this entry. 22:45:14 * Phantom_Hoover → sleep 22:45:16 -!- Phantom_Hoover has quit (Quit: Leaving). 22:45:19 `? Gregor 22:45:20 Gregor Wrote the bot. Better than you. For most values of "you". 22:45:25 You need to de-capitalise that w >_> 22:45:27 `learn Gregor wrote the bot. Better than you. For most values of "you". 22:45:29 I knew that. 22:45:31 `? Gregor 22:45:32 Gregor wrote the bot. Better than you. For most values of "you". 22:45:42 Hmm 22:45:49 Now just to configure the bot to make that file unwritable :P 22:45:50 I'm going to make it de-capitalise the queries 22:45:56 So that 22:45:57 `? gregor 22:45:58 DTRT :P 22:45:58 gregor? ¯\(°_o)/¯ 22:47:56 I AM AN INSULIN NINJA 22:47:59 `fetch http://sprunge.us/IWUd 22:48:00 2011-09-14 22:48:00 URL:http://sprunge.us/IWUd [126] -> "IWUd" [1] 22:48:14 `run mv IWUd bin/'?'; chmod +x bin/'?' 22:48:16 No output. 22:48:21 `fetch http://sprunge.us/HggH 22:48:22 2011-09-14 22:48:22 URL:http://sprunge.us/HggH [250] -> "HggH" [1] 22:48:27 `run mv HggH bin/learn; chmod +x bin/learn 22:48:29 No output. 22:48:42 `fetch http://sprunge.us/LYaH 22:48:43 2011-09-14 22:48:43 URL:http://sprunge.us/LYaH [69] -> "LYaH" [1] 22:48:44 (learn you a haskell :DDddd) 22:48:50 `run mv LYaH bin/forget; chmod +x bin/forget 22:48:51 No output. 22:48:55 `run rm -r wisdom 22:48:57 No output. 22:49:09 `run mkdir wisdom; echo "You do not have the clearance necessary to view this entry." >wisdom/.doorstop 22:49:11 No output. 22:49:12 `? DoorStop 22:49:14 DoorStop? ¯\(°_o)/¯ 22:49:19 ;__; 22:49:20 `? DoorStop 22:49:22 DoorStop? ¯\(°_o)/¯ 22:49:31 oh duh 22:49:32 `? elliott 22:49:34 elliott? ¯\(°_o)/¯ 22:49:34 `? .DoorStop 22:49:36 You do not have the clearance necessary to view this entry. 22:49:45 Gregor: OK gogogo :P 22:49:48 `? gREGOR 22:49:50 gREGOR? ¯\(°_o)/¯ 22:50:00 `run ls -a wisdom 22:50:02 ​. \ .. \ .doorstop 22:50:05 Oh 22:50:07 `which ? 22:50:08 `learn Gregor wrote the bot. Better than you. For most values of "you". 22:50:09 ​/hackenv/bin/? 22:50:11 I knew that. 22:50:16 `? gREGOR 22:50:18 Gregor wrote the bot. Better than you. For most values of "you". 22:50:20 `paste /hackenv/bin/? 22:50:22 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6482 22:50:53 `run echo '#!/bin/sh' >bin/pastewisdom; echo 'cat wisdom/* | paste' >>bin/pastewisdom; chmod +x bin/pastewisdom 22:50:55 No output. 22:50:59 Hmmhmm 22:51:00 `learn Wiki , the, is at http://esoteric.voxelperfect.net/wiki/Main_Page 22:51:03 I knew that. 22:51:20 `fetch http://sprunge.us/XAGK 22:51:21 2011-09-14 22:51:21 URL:http://sprunge.us/XAGK [143] -> "XAGK" [1] 22:51:26 `run mv XAGK bin/learn; chmod +X bin/learn 22:51:28 No output. 22:51:29 `run chmod +x bin/learn 22:51:31 No output. 22:51:34 `run chmod -X bin/learn 22:51:36 No output. 22:51:39 Don't really want topics with spaces. 22:51:40 `pastewisdom 22:51:43 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27806 22:51:56 Gregor: You can do that without the space after the comma btw. 22:52:07 "before" I assume you mean? 22:52:13 So it only accepts alpha(num)? 22:52:20 `run echo "The wiki is at http://esolangs.org/wiki" >wisdom/wiki 22:52:22 No output. 22:52:23 Secret haxx 22:52:25 `? wiki 22:52:26 Heh 22:52:26 The wiki is at http://esolangs.org/wiki 22:53:09 `which forget 22:53:11 ​/hackenv/bin/forget 22:53:12 OK, now to fill this thing with correct opinions :P 22:53:20 `mv /hackenv/bin/forget /hackenv/bin/forget_ 22:53:21 mv: missing destination file operand after `/hackenv/bin/forget /hackenv/bin/forget_' \ Try `mv --help' for more information. 22:53:29 Lymee: Being annoying =/= being funny/amusing/etc. 22:53:33 `run mv /hackenv/bin/forget /hackenv/bin/forget_ 22:53:35 No output. 22:53:39 `run mv /hackenv/bin/learn /hackenv/bin/forget 22:53:41 No output. 22:53:43 `help 22:53:44 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 22:53:46 Lymee: whjat 22:53:47 `run mv /hackenv/bin/forget_ /hackenv/bin/learn 22:53:48 No output. 22:53:49 Gregor: Can you please make the bots ignore Lymee? 22:53:56 She hasn't run a productive command in the last... uh, ever. 22:53:59 Lymee: wahy are you dOING that 22:54:04 `revert 229 22:54:06 Done. 22:54:09 :( 22:54:25 http://esolangs.org/wiki/User:WLaquitaCuevasa 22:54:26 Oh my god. 22:54:46 lolwut 22:54:49 However, some builders of Python and other languages disrespect PHP developers and deal with us like children of a lesser God. I have previously witnessed some Python developers particularly engaging in dislike speech towards PHP builders, in all probability because they do not have an understanding of why PHP received so well-known. 22:54:54 THIS IS AMAZING 22:55:37 `log international hub 22:55:41 2008-06-30.txt:20:50:03: I like the international hub topic 22:55:45 `log international hub 22:55:49 2007-07-16.txt:22:36:21: The international hub for esoteric programming language design and deployment | FORUM AND WIKI: http://esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | PASTEBIN: http://pastebin.ca 22:55:49 ahahhaha 22:55:51 SO DO I, AIS OF THE PAST! SO DO I! 22:56:11 `learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page 22:56:13 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/learn: cannot execute: Success 22:56:19 ... uhh 22:56:20 sigh 22:56:23 `url 22:56:24 Lymee: You get to fix whatever you fucked up. 22:56:25 http://codu.org/projects/hackbot/fshg/ 22:56:38 `run chmod +x /usr/bin/learn 22:56:40 chmod: cannot access `/usr/bin/learn': No such file or directory 22:56:40 `run chmod +x /usr/bin/forget 22:56:41 Gregor: I bet `revert doesn't manage permissions somehow. 22:56:42 chmod: cannot access `/usr/bin/forget': No such file or directory 22:56:45 Lymee: idiot. 22:56:47 `run chmod +x /hackenv/bin/forget 22:56:49 No output. 22:56:49 `run chmod +x /hackenv/bin/learn 22:56:51 No output. 22:56:51 elliott, :< 22:56:56 `learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page 22:56:58 I knew that. 22:56:58 elliott: It ought to >_> 22:57:02 `? welcome 22:57:04 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page 22:57:07 Gregor: Behold 22:57:12 The newbie experience has been revolutionised 22:57:17 WOW 22:57:22 Mere characters are all that is necessary to induct them into the channel 22:57:31 Gone are the days of verbose explanation of the channel's purpose 22:57:37 Amazing! 22:57:40 HERE AGAIN ARE THE DAYS OF THE INTERNATIONAL HUB! 22:57:42 REJOICE!!!! 22:58:27 `learn friendship wisdom 22:58:29 I knew that. 22:58:32 monqy: ask HackEgo what friendship is 22:59:05 FINE I WILL 22:59:08 `? friendshi 22:59:09 `? friendshi 22:59:09 friendshi? ¯\(°_o)/¯ 22:59:09 `? friendship 22:59:10 `? friendship 22:59:11 friendshi? ¯\(°_o)/¯ 22:59:12 friendship wisdom 22:59:12 friendship wisdom 22:59:18 `? friendship 22:59:20 friendship wisdom 22:59:30 `? wisdom 22:59:32 wisdom? ¯\(°_o)/¯ 22:59:55 `? ../bin/? 22:59:57 ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z) \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic" \ 23:00:14 `url bin/pastenquotes 23:00:15 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastenquotes 23:00:23 pastenquotes? 23:00:26 oh 23:00:28 pastenquotes 23:00:38 `learn qdb is used like: `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also qdbformat 23:00:40 I knew that. 23:01:29 `learn qdbformat is: message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two 23:01:30 `learn Esoteric is an abbreviation for Esoteric Programming Languages as contrasted with Esoteric languages such as lojban and klingon and contrasted with the occult, however those topics may well be compatible with each other .. according to itidus20 23:01:31 I knew that. 23:01:32 I knew that. 23:01:35 itidus20: ... 23:01:50 `? qdb 23:01:52 qdb is used like: `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also qdbformat 23:01:54 `? qdbformat 23:01:56 qdbformat is: message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two 23:02:01 Gregor: DOCUMENTATION ;D 23:02:10 ok .. i won't do that 23:04:11 what have i done 23:04:34 `learn HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 23:04:36 I knew that. 23:04:39 `? HackEgo 23:04:41 HackEgo? ¯\(°_o)/¯ 23:04:45 `? HackEgo, 23:04:47 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 23:04:50 elliott: YOUR LIES 23:04:52 elliott: THEY ARE LIES 23:05:14 `run mv wisdom/HackEgo, wisdom/HackEgo 23:05:16 mv: cannot stat `wisdom/HackEgo,': No such file or directory 23:05:18 `mv wisdom/hackego, wisdom/hackego 23:05:20 mv: missing destination file operand after `wisdom/hackego, wisdom/hackego' \ Try `mv --help' for more information. 23:05:22 oops 23:05:28 Feh 23:05:39 `run mv wisdom/hackego',' wisdom/hackego 23:05:40 No output. 23:06:06 maybe `learn should handle comas.. 23:06:47 elliott SAID that it does :P 23:06:51 Because he LIES. 23:07:03 `? elliott 23:07:05 elliott? ¯\(°_o)/¯ 23:07:15 Gregor: i did not say that 23:07:29 `log `? elliott 23:07:32 2010-10-28.txt:20:41:05: elliott, -b and -m iirc 23:07:51 Gregor: You can do that without the space after the comma btw. "before" I assume you mean? So it only accepts alpha(num)? // I just assumed you meant "before" because "after" made no sense at all. 23:08:05 -!- augur has quit (Remote host closed the connection). 23:08:33 `learn elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things? 23:08:35 I knew that. 23:09:04 HackEgo: literally my only achievement. 23:09:12 05:31:08: i dislike the presence of chanserv btw 23:09:12 05:31:12: there's no point 23:09:12 05:31:28: and it just gives them means to peak at our conversation if they so choose 23:09:12 05:31:52: unless clog is a logger to a webpage 23:09:12 05:31:53: then uh 23:09:12 05:31:55: yeah.. 23:09:15 05:31:59: * Tefad stabs violently 23:09:17 05:32:31: -!- Tefad has parted #esoteric (?). 23:10:04 bye tefad 23:10:17 lol 23:11:08 i like how he thinks freenode couldn't peek at convos without chanserv 23:11:30 THE GUMMINT 23:11:40 the man 23:12:32 this log is insane 23:12:52 calamari rising up against the graue tyranny because his java applet will be ONE PAGE AWAY because graue doesn't want to embed java applets on the wiki 23:12:55 s/PAGE/CLICK/ 23:13:38 -!- Sgeo has joined. 23:15:41 `log applet 23:15:45 2007-07-06.txt:13:44:44: can applets be run without a browser? (:P) 23:15:46 `pastelogs Tefad 23:15:51 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32098 23:16:05 lmao never came back after discoevring clog 23:16:14 omg but is on freenode now must resist 23:16:15 temptation 23:16:52 @oklopol: yes they can there is some applet player program 23:17:36 "2007" 23:17:46 `log oklopol 23:17:50 2011-01-15.txt:00:14:10: oklopol: And then there was the water thing. 23:18:05 `log 23:18:09 2008-01-03.txt:21:34:47: oh holland, you crack me up! 23:19:22 `log holland 23:19:26 2010-09-22.txt:23:01:42: alise: holland is the official name of the netherlands in polish, for example. 23:19:33 `pastelogs finland 23:19:36 gotta get the finland theory for learndb 23:19:37 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3700 23:20:01 2003-09-08.txt:13:17:43: ~awaken The Russian Federation is by far the largest country of the world in area by spanning 11 time zones in both Europe and Asia. Russia shares borders with the following countries (starting in the north and in counter-clockwise order): Norway, Finland, Estonia, Latvia, Belarus, Lithuania (via Kaliningrad Oblast), Poland (idem), Ukraine, Georgia, Azerbaijan, Kazakhs 23:20:01 tan, China, Mongolia and North Korea. 23:20:01 2003-09-08.txt:13:17:45: The Resin Feathered is by for the largesse country of the world in are by spinning 11 tone zoans in but Erebia and As. Rise swoors brother what they flummoxed country (starting in to north and in contrescene order: Near, Finlandia, Extend, Latvia, Bowler's, Letdown (via Killmaimthem Obligation, Plenty (idem), Ukraine, Grace, Acorpolous, Kissykissy, Come, Monosyll 23:20:04 ables and Nerthe Krow. 23:20:06 wat 23:20:28 `log finland theory 23:20:31 2011-09-14.txt:23:20:28: `log finland theory 23:21:21 see 23:21:21 2008-08-31.txt:14:55:26: There's only like 2 people in finland right? 23:21:22 onwards 23:21:24 in that paste 23:23:20 `learn Finland is a European country. There are two people in Finland, and at least five of them are in this channel. Corun drives the bus. 23:23:22 I knew that. 23:23:37 * shachaf is a citizen of Finland! 23:23:55 shachaf: That's what they all say. 23:24:03 elliott: I've spent two weeks of my life there. 23:24:38 Also what they all say. 23:24:52 shachaf: Write your one-line biography. 23:24:56 The learndb demands it. 23:25:05 * shachaf refuses to be biographed. 23:25:13 `learn shachaf refuses to be biographed. 23:25:15 I knew that. 23:25:18 Biographed. 23:25:20 I was just about to do that exact same thing 23:25:21 `unlearn shachaf 23:25:21 biographed. 23:25:22 Was gonna do that 23:25:22 I don't even know that! 23:25:29 `rm bin/unlearn 23:25:30 No output. 23:25:31 unlearn is quite obsolete :P 23:25:38 :-( 23:25:39 `learn Vorpal går aldrig på biografen. 23:25:41 I knew that. 23:25:44 `help 23:25:45 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 23:25:51 There's a command to do it but you don't know what it is. 23:25:55 `ls 23:25:57 babies \ bin \ bluhbluh \ canary \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp \ wisdom 23:25:59 `ls bin 23:26:01 ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ elliott \ esolang \ etymology \ forget \ fuck \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ penis \ ping \ prefixes \ quine \ quote 23:26:02 `learn Vorpal is really boring. Seriously, you have no idea. 23:26:04 `forget shachaf 23:26:04 I knew that. 23:26:06 Forget what? 23:26:14 `forget --help 23:26:16 rm: cannot remove `wisdom/--help': No such file or directory \ Forget what? 23:26:23 `learn shachaf refuses to be biographed. 23:26:25 I knew that. 23:26:28 IT SHALL NEVER 23:26:29 FORGET 23:26:35 `cat bin/elliott 23:26:37 ​#!/usr/bin/env learnt \ elliott = Ignore this loser. 23:26:42 `elliott 23:26:43 ​/usr/bin/env: learnt: No such file or directory 23:26:43 `rm bin/elliott 23:26:45 No output. 23:26:47 Damn these old things hanging around :P 23:26:54 `url bin/minifind 23:26:56 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/minifind 23:27:02 Gregor: What 23:27:03 `elliott 23:27:05 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: elliott: not found 23:27:17 `ls bin 23:27:18 ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ fuck \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ penis \ ping \ prefixes \ quine \ quote \ quotes 23:27:42 what do these do 23:28:06 `marco 23:28:07 `run rm -rf bin 23:28:08 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: marco: not found 23:28:09 No output. 23:28:12 `help 23:28:13 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 23:28:22 `revert 254 23:28:24 Done. 23:28:25 `? HackEgo 23:28:28 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 23:28:30 elliott: Aw, I didn't really rm it. 23:28:31 shachaf: Observe last two sentences. 23:28:45 `learn Haskell is preferred by 9 out of 10 esoteric programmers. Ask your GP today! http://learnyouahaskell.com/ 23:28:47 I knew that. 23:28:51 `pastewisdom 23:28:53 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9171 23:28:56 elliott: I had previously mved bin .bin 23:29:14 shachaf: So http://codu.org/projects/hackbot/fshg/ shows. 23:29:20 Hmph. :-( 23:29:26 :D 23:29:37 `run killall -9 elliott 23:29:39 sh: killall: command not found 23:29:41 im dead 23:29:49 u dead? 23:30:01 i dead 23:30:04 u mad bro? 23:30:05 dead 23:30:07 :( 23:30:10 Gregor: thatsthejoke.jpg 23:30:14 `learn monqy dead :( 23:30:16 I knew that. 23:30:16 `run ls -al | grep bin 23:30:18 drwxr-xr-x 2 5000 0 4096 Sep 14 23:30 bin 23:30:28 `? monqy 23:30:30 monqy dead :( 23:30:32 :( 23:30:35 :( 23:30:37 i heard u mad, so i put all the things in your things so u can mad while u mad? 23:30:44 `learn shachaf heard u mad, so i put all the things in your things so u can mad while u mad? 23:30:46 I knew that. 23:30:56 no no no no no non on ononn ;_____________________; 23:31:01 -!- DH____ has quit (Read error: Connection reset by peer). 23:31:03 `cat /etc/shadow 23:31:04 now anyone who wants to know about shachaf 23:31:04 gets 23:31:05 cat: /etc/shadow: No such file or directory 23:31:05 the torture 23:31:07 `learn :( :-D 23:31:09 I knew that. 23:31:13 `forget :( 23:31:14 -!- DH____ has joined. 23:31:15 Forget what? 23:31:17 `forget shachaf 23:31:19 Forget what? 23:31:27 `learn shachaf heard u mad, so i put all the things in your things so u can mad while u mad? 23:31:29 I knew that. 23:31:30 `forget shachaf 23:31:32 Forget what? 23:31:35 shachaf: I have won botwars lasting whole days. 23:31:39 `learn shachaf heard u mad, so i put all the things in your things so u can mad while u mad? 23:31:41 I knew that. 23:31:49 shachaf: this is all your fault 23:32:08 `learn shachaf is the one whose fault this all is. 23:32:10 I knew that. 23:32:40 `learn oerjan is just zis guy, you know? 23:32:42 I knew that. 23:32:56 Hmph. 23:33:02 z'is true 23:33:04 Hmph. 23:33:10 hmph 23:33:13 Why can't you chmod +x things? 23:33:15 `cat bin/u 23:33:17 ​#!/bin/bash \ echo i mad 23:33:21 Stupid thing. 23:33:23 You can. You need `run. 23:33:26 `learn C is the language of choice for sexy, intelligent esolangers. 23:33:26 `run chmod +x bin/u 23:33:28 I knew that. 23:33:29 No output. 23:33:33 elliott: No, my echo got messed up. 23:33:47 `learn C is the language of��V�>WIד�.��Segmentation fault 23:33:49 I knew that. 23:33:51 `run rm -rf / 23:33:51 ^echo works fine 23:33:53 `? C 23:33:53 rm: cannot remove root directory `/' 23:33:55 C is the language of��V�>WIד�.��Segmentation fault 23:33:59 `run rm -rf `pwd` 23:34:01 rm: cannot remove directory `/hackenv': Permission denied 23:34:03 aaaaaaaaaaaaaaaaaaaaaaaaa fungot!!! 23:34:06 `help 23:34:06 `run rm -rf * .* 23:34:06 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 23:34:08 rm: cannot remove directory `.' \ rm: cannot remove directory `..' 23:34:15 This bot is useless. 23:34:17 `revert 274 23:34:18 lambdabot is way better. 23:34:19 Done. 23:34:22 @admin + elliott 23:34:24 @admin - elliott 23:34:27 @admin - shachaf 23:34:27 Not enough privileges 23:34:33 ........... 23:34:34 Fuck y'all. 23:35:04 @admin + elliott 23:35:06 @admin - elliott 23:35:08 @admin -sh 23:35:08 Not enough privileges 23:35:09 sodihfgfdgjdfg 23:35:09 gdfoji 23:35:25 @@ (@admin + elliott) (@admin - elliott) 23:35:25 Plugin `compose' failed with: Privledged commands cannot be composed 23:35:26 @admin - shachaf 23:35:26 Not enough privileges 23:35:30 Hah. 23:35:31 `learn INTERCAL has excellent features for modular program for the enterprise market. 23:35:31 btw, elliott: 23:35:33 I knew that. 23:35:34 `run rm -rf * 23:35:36 No output. 23:35:36 Doesn't work. 23:35:39 `ls 23:35:41 babies \ bin \ bluhbluh \ canary \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp \ wisdom 23:35:42 How come :P 23:35:45 @admin - elliott 23:35:49 @admin + elliott 23:35:50 @admin - elliott 23:35:50 elliott: Note the files in the root thar 23:35:52 @admin - shachaf 23:35:52 Not enough privileges 23:35:57 Gregor: idgi 23:36:01 elliott: You're not very good at this. 23:36:07 elliott: Note a particular, unusually-named file. 23:36:07 shachaf: Oh I will be. 23:36:08 You'll se.e 23:36:10 I'll be the best. 23:36:11 @admin - elliott 23:36:12 Ill be the utter best 23:36:13 @admin - shachaf 23:36:13 Not enough privileges 23:36:16 Gregor: Ah :P 23:36:23 shachaf: Butseriously, 23:36:23 @admin - elliott 23:36:24 elliott: Simplest way to avoid the stupidest offenders. 23:36:25 The best I'll 23:36:25 @admin - shachaf 23:36:25 Not enough privileges 23:36:26 @admin + elliott 23:36:27 @admin - elliott 23:36:28 be 23:36:28 @admin - shachaf 23:36:28 Not enough privileges 23:36:30 uiasdjnkalcmsdv]\ 23:36:31 \ 23:36:34 The best I'll be 23:36:35 is basically 23:36:36 you know the best? 23:36:37 Well 23:36:38 shachaf 23:36:39 the best I'll be 23:36:42 is basically 23:36:44 ten times that 23:36:45 @admin - elliott 23:36:46 because 23:36:48 I am 23:36:49 the best 23:36:50 @admin + elliott 23:36:51 @admin - elliott 23:36:52 at reaction times 23:36:54 and to prove it 23:36:56 @admin - shachaf 23:36:56 Not enough privileges 23:37:00 Fuck the police. 23:37:01 fuck 23:37:04 HA 23:37:06 ................... 23:37:07 Oh oh oh 23:37:08 Can we stop now. 23:37:09 Admin me instead 23:37:23 So is dons an admin of lambdabot these days 23:37:27 @admin + elliott 23:37:30 @admin - shacha 23:37:30 @admin - shachaf 23:37:32 YESSS 23:37:33 YESSS 23:37:34 EYESSSSSS 23:37:37 YESSSSSSSSSSSSSSSSSSSSSSSSSSSSS 23:37:49 elliott, @kill 23:37:59 @vixen-on 23:37:59 Unknown command, try @list 23:38:02 @list 23:38:02 http://code.haskell.org/lambdabot/COMMANDS 23:38:05 Vixen got taken out of lambdabot. 23:38:12 @vixen 23:38:12 Government enterprise is the most inefficient and costly way of producing jobs. 23:38:14 elliott: You're not *actually* an admin, by the way. 23:38:14 @vixen 23:38:14 I reject the cynical view that politics is a dirty business. 23:38:17 im cry 23:38:19 shachaf: Why not. 23:38:29 Also why vixen ded 23:38:35 Gregor: butsrs what's minifin 23:38:35 d 23:38:44 elliott: olde :P 23:38:46 `minifind 23:38:48 ​./babies/babies.db \ ./bin/? \ ./bin/addquote \ ./bin/allquotes \ ./bin/botsnack \ ./bin/calc \ ./bin/commands \ ./bin/creatures \ ./bin/define \ ./bin/delquote \ ./bin/esolang \ ./bin/etymology \ ./bin/forget \ ./bin/fuck \ ./bin/google \ ./bin/imdb \ ./bin/json \ ./bin/k \ ./bin/karma \ ./bin/learn \ ./bin/log \ ./bin/logurl 23:38:50 What's it fooooor. 23:38:51 @admin + elliott 23:38:52 Not enough privileges 23:38:56 What? 23:38:59 elliott: It's find. Only stupid. 23:39:04 @admin + elliott 23:39:05 Not enough privileges 23:39:09 I guess neither of us is an admin. 23:39:14 @admin + shachaf 23:39:16 @admin - shachaf 23:39:18 I guess I am. 23:39:31 But seriously, why vixen rip. 23:39:33 Gregor: why 23:39:39 elliott has dethroned shachaf 23:39:42 elliott: I don't rightly recall. 23:39:45 Lymee: Not really. 23:39:48 @admin - elliott 23:39:49 Grats. 23:39:49 Not enough privileges 23:39:57 @admin - elliott 23:40:02 shachaf: But srsly, how am I not an admi- feck 23:40:02 :( 23:40:06 -!- elliott has changed nick to dons. 23:40:08 @admin + elliott 23:40:10 @admin - dons 23:40:11 -!- dons has changed nick to elliott. 23:40:11 @admin - elliott 23:40:14 fuck 23:41:15 shachaf: u r the worst 23:41:21 u r the maddest 23:41:33 The maddest ... 23:41:34 Of all bros. 23:41:48 yes 23:41:50 im maximum mad 23:41:56 elliott: HALP I'm out of Danger Mouse D-8 23:42:03 Gregor: did you 23:42:06 consume lal the dangermouse 23:42:24 Only "lal" the available. 23:42:42 PLUS all the Danger Mouse rule 34 fanfic on the web. 23:42:50 Well that's a given 23:43:08 @admin + elliott 23:43:12 @admin - elliott 23:43:37 i dont need your admin 23:43:45 `learn shachaf mad 23:43:47 I knew that. 23:43:49 I need to add some sort of randomized positive reinforcement. 23:43:55 i aint even mad 23:44:11 `cat bin/learn 23:44:13 ​#!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." \ 23:44:23 `ls wisdom 23:44:25 c \ elliott \ esoteric \ finland \ friendship \ gregor \ hackego \ haskell \ intercal \ monqy \ oerjan \ qdb \ qdbformat \ shachaf \ vorpal \ welcome \ wiki 23:44:38 `run grep wisdom bin/* 23:44:40 bin/?:[ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ bin/?:cat "wisdom/$topic" \ bin/forget:rm "wisdom/$(echo "$1" | tr A-Z a-z)" \ bin/learn:echo "$1" >"wisdom/$topic" \ bin/pastewisdom:cat wisdom/* | paste 23:44:48 `run grep -l wisdom bin/* 23:44:49 bin/? \ bin/forget \ bin/learn \ bin/pastewisdom 23:44:50 protip | paste 23:45:03 also `url 23:45:11 `? elliott 23:45:13 elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things? 23:45:18 ? elliott 23:45:28 #nethack's learndb is better. 23:45:49 shachaf: Gregor wouldn't add new message hooks. 23:45:53 Or multi-line output. 23:45:55 He is noob. 23:46:00 I didn't say I wouldn't add new message hooks. 23:46:05 I said I wouldn't add multi-line output. 23:46:06 `learn elliott mad 23:46:08 I knew that. 23:46:11 I could be persuaded to add new message hooks. 23:46:16 `learn elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things? 23:46:18 I knew that. 23:46:39 `learn u mad? 23:46:41 I knew that. 23:46:47 `run cat bin/\? 23:46:48 ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z) \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic" \ 23:47:27 -!- Jafet has quit (Quit: Leaving.). 23:47:32 `url bin/? 23:47:34 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/? 23:47:42 Hyuk 23:48:11 `run ls -a 23:48:12 ​. \ .. \ babies \ bin \ bluhbluh \ canary \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp \ wisdom 23:48:25 `cat env 23:48:27 PLASH_FAKE_GID=0 \ CONSOLE=/dev/console \ TERM=linux \ SHELL=/bin/sh \ IRC_SOCK=/tmp/multibot.HackEgo \ rootmnt=/root \ IRC_NICK=Lymia \ PLASH_CAPS=conn_maker;fs_op \ PLASH_FAKE_EUID=5000 \ http_proxy=http://127.0.0.1:3128 \ LD_LIBRARY_PATH=/usr/lib/plash/lib \ INIT_VERSION=sysvinit-2.88 \ init=/sbin/init \ HACKENV=/tmp/hackenv.10379 23:48:36 Gregor: Still got plash stuff set? 23:48:37 `run ./quine.pl 23:48:38 sh: ./quine.pl: Permission denied 23:48:40 `ls -F 23:48:41 babies/ \ bin/ \ bluhbluh \ canary \ env \ foo \ paste/ \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ test.c \ test2.c \ test3.c \ tmp.tmp* \ wisdom/ 23:48:44 `perl ./quine.pl 23:48:45 open 0; print <0> 23:48:50 elliott: That's just a file that's been sitting there, probably for months :P 23:48:50 Such a cheat. 23:48:56 Gregor: Oh :P 23:49:04 `run rm *.pl env 23:49:06 No output. 23:49:10 `run rm *.c 23:49:12 No output. 23:49:16 `run rm quotese tekst 23:49:18 No output. 23:49:19 `run rm foo 23:49:21 No output. 23:49:22 `ls 23:49:23 babies \ bin \ bluhbluh \ canary \ foo \ paste \ ps \ quotes \ tmp.tmp \ wisdom 23:49:28 `run rm tmp.tmp babies 23:49:30 rm: cannot remove `babies': Is a directory 23:49:30 (babies is broken anyway) 23:49:38 I'll break YOUR babies. 23:49:43 `run rm -r babies bin/fuck bluhbluh foo paste ps tmp.tmp 23:49:45 rm: cannot remove `foo': No such file or directory \ rm: cannot remove `tmp.tmp': No such file or directory 23:49:47 `ls 23:49:48 bin \ canary \ quotes \ wisdom 23:49:51 Good 23:49:52 `ls bin 23:49:54 ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ penis \ ping \ prefixes \ quine \ quote \ quotes \ rec 23:49:57 `k 23:49:57 elliott: wats the best monad 23:49:58 ​!"#$%^&* 0123456789 23:50:06 shachaf: IOT 23:50:07 `quote monad 23:50:09 293) Deewiant: ha, you were wrong, I have stacks, fungespace and MULTIPLE functions! and a monad! nothing can stop me now! \ 478) oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life. \ 649) Phantom_Hoover: Sort of 23:50:16 `help creatures 23:50:16 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 23:50:17 478 is still one of the best quotes ever. 23:50:18 `pastequotes monad 23:50:20 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3585 23:50:23 8`quote 478 23:50:26 `quote 478 23:50:26 `creatures 23:50:27 478) oerjan, little do you realise that everything you say and do is part of that great monad tutorial we call life. 23:50:28 Look up what? 23:50:33 `quote 663 23:50:35 663) You know how the arrow pierces your skin, rearranging and randomizing vital internal structure? Monads are like that, only worse. 23:50:47 `cat bin/penis 23:50:48 ​#!/bin/sh \ echo "I'm a program. I don't /have/ genitals." 23:50:51 `cat bin/rec 23:50:52 ​#!/bin/bash \ rec 23:50:59 `run rm bin/{penis,vagina} 23:51:01 No output. 23:51:01 stupid 23:51:03 `rm bin/rec 23:51:04 No output. 23:51:06 `ls rec 23:51:07 ls: cannot access rec: No such file or directory 23:51:08 `ls bin 23:51:10 ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runasperl 23:51:11 #haskell-blah informs me that jQuery is the best monad. 23:51:15 shachaf: It's true. 23:51:17 `esolang 23:51:18 lol 23:51:19 Use: `esolang 23:51:21 jQuery is such a monad. 23:51:22 Gregor: Does etymology work btw? :p 23:51:24 `esolang brainfuck 23:51:26 ​\ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://esolangs.org/wiki/brainfuck' \ Alert!: Unable to access document. \ \ lynx: Can't access startfile 23:51:27 elliott: Idonno, I didn't make it. 23:51:31 Nice 23:51:33 `etymology etymology 23:51:36 etymology \ late 14c., ethimolegia "facts of the origin and development of a word," from O.Fr. et(h)imologie (14c., Mod.Fr. tymologie), from L. etymologia, from Gk. etymologia, properly "study of the true sense (of a word)," from etymon "true sense" (neut. of etymos "true, real, actual," related to eteos "true") + 23:51:39 Seems to. 23:51:41 You installed lynx I see 23:51:45 `rm bin/esolang 23:51:46 `ls bin 23:51:47 No output. 23:51:47 Yes :P 23:51:47 ​? \ addquote \ allquotes \ botsnack \ calc \ commands \ creatures \ define \ delquote \ esolang \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runasperl 23:51:52 Just doin' housecleaning :P 23:51:52 `etymology wales 23:51:54 No output. 23:51:57 `cat bin/botsnack 23:51:57 `cat bin/runasperl 23:51:58 ​#!/bin/sh \ echo 'OH BARF >XO' 23:51:58 perl -e twat.pl alise 23:52:01 `etymology whales 23:52:03 No output. 23:52:11 `run rm bin/botsnack bin/runasperl 23:52:12 No output. 23:52:14 TODO: Think of a better botsnack. 23:52:18 `roll 9d9 23:52:20 39 23:52:21 `etymology walnut 23:52:22 Good 23:52:23 walnut \ O.E. walhnutu "nut of the walnut tree," lit. "foreign nut," from wealh "foreign" (see Welsh) + hnutu (see nut). Cf. O.N. valhnot, M.L.G. walnut, M.Du. walnote, Du. walnoot, Ger. Walnu, So called because it was introduced from Gaul and Italy, distinguishing it from the native hazel nut. Cf. the L.L. name for it, 23:52:23 `ls bin 23:52:24 ​? \ addquote \ allquotes \ calc \ commands \ creatures \ define \ delquote \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runfor \ rungcc \ say \ sayhi 23:52:27 what is twat.pl 23:52:28 `run echo $HOME 23:52:29 ​/ 23:52:32 `cat bin/commands 23:52:33 ​#!/bin/sh \ cd `dirname "$0"` \ ls -m 23:52:35 -!- tiffnya has changed nick to tiffany. 23:52:36 `ls / 23:52:36 X_X 23:52:37 bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var 23:52:37 How stupid 23:52:40 `commands 23:52:41 ​?, addquote, allquotes, calc, commands, creatures, define, delquote, etymology, \ forget, google, imdb, json, k, karma, learn, log, logurl, marco, minifind, \ paste, pastelog, pastelogs, pastenquotes, pastequotes, pastewisdom, ping, \ prefixes, quine, quote, quotes, roll, runfor, rungcc, say, sayhi, strfile, \ swedish, toutf8, 23:52:42 `run ls -a / 23:52:43 ​. \ .. \ bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var 23:52:52 I just noticed someone's been using my nick :I 23:52:55 Hmm, how would you add things to bashrc? 23:52:59 `run sed -i s'/-m/-m | tr -d '\n'/' bin/commands 23:53:00 No output. 23:53:01 `commands 23:53:03 ​?, addquote, allquotes, calc, commads, creatures, defie, delquote, etymology, \ forget, google, imdb, jso, k, karma, lear, log, logurl, marco, miifid, \ paste, pastelog, pastelogs, pastequotes, pastequotes, pastewisdom, pig, \ prefixes, quie, quote, quotes, roll, rufor, rugcc, say, sayhi, strfile, \ swedish, toutf8, traslate, 23:53:04 shachaf: You wouldn't. 23:53:06 Eh? 23:53:07 Gregor: ? 23:53:10 `cat bin/commands 23:53:11 ​#!/bin/sh \ cd `dirname "$0"` \ ls -m | tr -d n 23:53:11 Gregor: Curses. 23:53:14 `run sed -i s'/-m/-m | tr -d '\\n'/' bin/commands 23:53:15 No output. 23:53:15 `cat bin/commands 23:53:17 ​#!/bin/sh \ cd `dirname "$0"` \ ls -m | tr -d n 23:53:19 `cat bin/commands 23:53:20 ​#!/bin/sh \ cd `dirname "$0"` \ ls -m | tr -d \ | tr -d n 23:53:24 ..fuck :P 23:53:27 `rm bin/commands 23:53:28 No output. 23:53:30 ls bin works juuust fine :P 23:53:31 `ls bin 23:53:32 ​? \ addquote \ allquotes \ calc \ creatures \ define \ delquote \ etymology \ forget \ google \ imdb \ json \ k \ karma \ learn \ log \ logurl \ marco \ minifind \ paste \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ runfor \ rungcc \ say \ sayhi \ strfile 23:53:38 `cat bin/runfor 23:53:39 ​#!/bin/bash \ if [ ! "$2" ] \ then \ echo 'Use: runfor