< 1168732808 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Well, showing that an inverse _exists_ for a point is precisely NP-complete. < 1168732825 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Finding _all_ inverses may be more than NP-complete. < 1168732855 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Can't it do it the math way? < 1168732896 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(All this assuming that the original function is polynomial-time, otherwise you would need N-something else. < 1168732973 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Sure, if the function is invertable. < 1168733020 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :aren't all pure functions invertable? < 1168733031 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :assuming you can return a set for non-one to one functions < 1168733042 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Of course not. There are _constant_ functions! < 1168733079 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :return the set of all possible inputs, then < 1168733094 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :OK then. That is the inverse as a relation. < 1168733094 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :use minimal executation or whatever haskell calls it < 1168733099 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The inverse would, obviously, not be a function. ;) < 1168733140 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Lazy. It won't help in the least. As I say, determining whether the inverse set is non-empty _is_ NP-complete if the original function is in P. < 1168733189 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I mean, for general P functions. Not every single one, of course. < 1168733252 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, there is a subtlety there. < 1168733286 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It could in fact be worse, if the inverses may be much larger than the function value. < 1168733296 0 :wooby!unknown@unknown.invalid QUIT : < 1168733431 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :What you are asking in essence boils down to whether purely functional languages can easily solve NP-complete problems (the answer being no). < 1168733510 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :On the other hand, a purely functional language will allow you to write easily down an expression for the inverse. It's just not going to execute very fast. < 1168733652 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :You might want to read the recent Good Math/Bad Math blog thread about P/NP. The issue of defining NP by checking answers is very relevant to your question. < 1168733710 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Enough spamming :) < 1168733844 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmph < 1168733885 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Shouldn't you be able to do it algebraicly? < 1168733928 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :But solving boolean equations is NP-complete. < 1168733985 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean boolean equations? < 1168734019 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Equations using True, False, and, or, not. < 1168734033 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1168734121 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Put it another way: When you "simplify" algebraic equations, in numbers or booleans, the expressions can blow up exponentially in size. < 1168734206 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Just try to write out (a+1)(b+1)(c+1)...(z+1) using the distributive law... < 1168734226 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1168734260 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :If they didn't, then you would have an easy proof of P=NP. < 1168734340 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Next I get asked to solve an equation in math class i'll say that it's NP and NP is too hard < 1168734343 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1168734359 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Heh :) < 1168734400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :In fact if you were to ask for _integer_ solutions to your equations then it would not be just NP, but Turing-complete. < 1168734429 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh, a language based on it < 1168734639 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I should write some kind of interpreter for my calculator < 1168735462 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION feels like learning haskell < 1168735485 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's a good tutorial? < 1168735493 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :all the useless things we do with our time < 1168735649 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Check out www.haskell.org < 1168735675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I see they have changed their main page style since last I was there... < 1168735722 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf < 1168735751 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :mercury caused many revamps last year < 1168735801 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mercury? on the haskell wiki? < 1168735820 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1168735828 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :mercury, in the skies < 1168735834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lazy evaluation sounds really neat < 1168735895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It is, although it has some bad effects such as it being very hard to reason about memory use. < 1168736011 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Are we talking astronomy or astrology? < 1168736064 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1168736097 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Now that clears it up. < 1168736125 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :astrology, of course, couldn't be any other way in #esoteric < 1168736147 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Well it could be mythology too. < 1168736161 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :man, it's not a /myth/ < 1168736172 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Religion then. < 1168736188 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :i have hard facts & proofs < 1168736226 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :("my guru said so") < 1168736231 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And, more importantly and what confused me initially, it could have been the programming language Mercury, a logic language with much inheritance from Haskell. < 1168736243 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :ah curious coincidence < 1168736254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Syncronicity! < 1168736259 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :btw has anyone managed to get goedel to work? or, at least, steal its gramar and re-implement it? < 1168736262 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :There are no coincidences :) < 1168736270 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :*grammar < 1168736315 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Haven't looked at that. < 1168736370 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1168736380 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no parentheses in haskell bugs me < 1168736393 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :You can add parentheses all you want :) < 1168736397 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I know < 1168736408 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sqrt 4*2 => 4.0 < 1168736411 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :But I tend to get rid of as many as possible, using $ < 1168736416 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that just doesn't make sense < 1168736426 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I don't know what $ is < 1168736437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Ah for functions. < 1168736451 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :You will note that math does the same for sin and cos. < 1168736486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Well, sqrt $ 4*2 => 2.8... < 1168736551 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :When you want to apply a function to something complicated, you can use $ instead of spaces. < 1168736565 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :does anything bind more tightly than function application? < 1168736586 0 :bsmntbombdood!unknown@unknown.invalid PART #esoteric :? < 1168736589 0 :bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood JOIN :#esoteric < 1168736597 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1168736599 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The @ pattern match operator, which is considered a bug by some. < 1168736647 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And of course brackets. < 1168736682 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://haskell.org/onlinereport/exps.html < 1168736724 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Actually the @ doesn't really occur in expressions, but patterns. So for expressions, no. < 1168736748 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"f1 f2 x" ends up as "f1(f2, x)" right? < 1168736780 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and "f1 $ f2 x" ends up as "f1(f2(x))" < 1168736799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :More or less. < 1168736831 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Although f1(f2, x) in Haskell is something different. < 1168736898 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :There are functions curry and uncurry to convert between f1 x y and f1 (x,y) < 1168737012 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Actually there are various things that bind more tightly than application but they all involve brackets somehow. < 1168737829 0 :andreou!unknown@unknown.invalid QUIT :"-" < 1168737852 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1168737945 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ooh pretty < 1168737952 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Pretty? < 1168737962 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :foldr max 0 list < 1168737966 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That reminds me of some electronics thing I wanted to do for some reason. < 1168738012 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :maxlist l = foldr max 0 l < 1168738030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :foldr max l ? < 1168738030 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Pretty, but a bit buggy if the list has only negative elements. < 1168738036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :foldr2 max l < 1168738050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :isn't there something like that? < 1168738069 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah < 1168738072 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :foldr1? < 1168738080 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1168738102 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It's foldr1 < 1168738135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :seems i don't remember everything anymore :\ < 1168738163 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, wouldn't be buggy that way < 1168738182 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Except for an empty list. Can't have everything :) < 1168738197 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :would it crash then? < 1168738218 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :maxlist [] => 0 < 1168738262 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :foldr1 would crash, yes. < 1168738265 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maxlist l = foldr1 max l < 1168738268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1168738289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know haskell syntax well enought to do an if :) < 1168738309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i think i remember all the functions there are < 1168738311 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in-built < 1168738340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not by name tho < 1168738346 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :foldr2 lol < 1168738404 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1168738436 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Of course, maximum is itself a builtin, using foldr1. < 1168738791 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :of course, I only know of like 5 builtins < 1168738795 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1168738889 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmph, emacs doesn't indent haskell very well < 1168739066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Haskell's indentation is very flexible, but it interacts with other tokens in such a way that emacs would need a complete parser to understand it. < 1168739250 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Someone write a complete parser in Elisp, then. < 1168739262 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The indentation system is flexible enough to handle it. < 1168739417 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so, should one use "f $ -1" or "f (-1)"? < 1168739440 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The latter I assume. < 1168739490 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168739568 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :$ is best for avoid many nested parentheses (although I use it a bit more than that). For example instead of f1 (f2 1 (f3 y z (f4 x))) you can have f1 $ f2 1 $ f3 y z $ f4 x < 1168739578 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*avoiding < 1168739631 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Is f $ -1 valid? < 1168739639 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :When you want to chain many functions. < 1168739651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I am pretty sure it is. < 1168739685 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Yes it is. < 1168739687 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Seems to be valid, yes. < 1168739803 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :While reading this tutorial, i'm crying at all the ineficientness < 1168739835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Like? < 1168739872 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :A recursive definition of filter < 1168739895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :What's inefficient about that? < 1168739960 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Note that if it is tail recursive the recursion may be optimized away. < 1168739997 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :tail recursion modulo cons? < 1168740064 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I believe the ghc compiler optimizes away certain kinds of immediately used conses. < 1168740076 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Then I guess it's not that bad < 1168740230 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :my_filter f [] = [] < 1168740235 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :my_filter f (x:xs) = if f x then x:my_filter f xs else my_filter f xs < 1168740408 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :filter_reverse f xs = filter_reverse' f xs rs; filter_reverse' _ [] rs = rs; filter_reverse' f (x:xs) rs | f x = filter_reverse' f xs (x:rs); filter_reverse' f (x:xs) rs | otherwise = filter_reverse' f xs rs < 1168740526 0 :digital_me!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1168740528 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :filter_reverse f xs = filter_reverse' f xs []; should be the beginning? < 1168740603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :someone please explain if not :\ < 1168740619 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :You don't need to repeat the function before a second guard. < 1168740629 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I think so too. < 1168740653 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes, it should be. < 1168740673 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or just say rs = [] :-) < 1168740812 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1168741632 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now, bsmntbombdood, I take it there's a reason you haven't cloaked your bot. < 1168741654 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.raw("JOIN #tapthru") < 1168741658 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1168741661 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :... < 1168741663 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("JOIN #tapthru") < 1168741992 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.disconnect() < 1168742003 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.disconnect < 1168742037 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PART #tapthru") < 1168742122 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Resetting") < 1168742123 0 :bsmnt_bot!unknown@unknown.invalid QUIT :"Resetting" < 1168742126 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168742266 0 :ShadowHntr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1168742287 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Resetting") < 1168742287 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168742290 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168742297 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wonderful. < 1168742350 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Except for some reason it gave a quit message different from what you wrote... < 1168742411 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Oooh! Oooh!") < 1168742412 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168742414 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168742431 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Someone pull up the RFC. < 1168742432 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Weird... < 1168742447 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Now what?") < 1168742447 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168742449 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168742468 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT") < 1168742469 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168742471 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168742483 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("JOIN #gnu") < 1168742488 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ihope used exactly the same command as I the first time, with different result. < 1168742499 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #gnu :Foo.") < 1168742501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And now no messages are passed on. < 1168742512 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PART #gnu") < 1168742522 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Can you say "bot abuse"? < 1168742528 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.do_exec = None < 1168742534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1168742547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Now what?") < 1168742548 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168742550 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168742552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Darn. < 1168742563 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.exec_execer = 3 < 1168742576 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec 3 < 1168742577 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Now what?") < 1168742591 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec This is my apple. < 1168742615 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~quit < 1168742619 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Meh. < 1168742629 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Um. < 1168742630 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :Goodbye.") < 1168742639 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Success! < 1168742651 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.exec_execer = self < 1168742654 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1168742658 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.exec_execer = self < 1168742659 0 :Plouj-!n=Plouj@dsl-207-112-48-244.tor.primus.ca JOIN :#esoteric < 1168742667 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wow, you made Plouj- join. < 1168742670 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :We have saved the bot from the evil villains :) < 1168742682 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1168742689 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You've also killed all legitimate uses. < 1168742719 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What's the command to make it quit, again? < 1168742721 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~raw QUIT < 1168742735 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~pexec self.raw("QUIT") < 1168742744 0 :Plouj-!unknown@unknown.invalid PRIVMSG #esoteric :you guys must be really old, eh < 1168742751 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~cat Foo. < 1168742756 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If 14 years old is really old... < 1168742762 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I fear you've *really* destroyed it. < 1168742762 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I believe ~exec is the only one that we could use. < 1168742774 0 :Plouj-!unknown@unknown.invalid PRIVMSG #esoteric :14?! < 1168742785 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: You might want to restart the bot. < 1168742795 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :That was the idea. Otherwise one of us would just have been tempted to do something evil again. < 1168742810 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :-_-' < 1168742819 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :We had to kill the bot to save it. < 1168742828 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :How ironic. < 1168742870 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~die < 1168742877 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~DIE < 1168743430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :DIE BOT DIE LIKE YER MOTHER!!! < 1168743470 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :all this... wrath... < 1168743484 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric should sponsor TV ads to keep kids away from programming < 1168743499 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ihope, you really 14? < 1168743500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You will become like us! < 1168743508 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :andreou: Just one issue: some *want* to be just like us. < 1168743523 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :they're wrong < 1168743531 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :they should listen to Us. < 1168743531 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was one of those kids < 1168743549 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :i think most of the lurkers here are < 1168743563 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :coding at night, psychotherapy at morning < 1168743832 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: wtf did you do < 1168743838 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168743840 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168743856 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I didn't! < 1168743863 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It was oerjan! < 1168743912 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1168743955 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Actually it was ihope, i just tempted him to it. < 1168744405 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(os.list_dir("/bot")) < 1168744415 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1168744428 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :os.listdir < 1168744437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(os.listdir("/bot")) < 1168744438 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['betterbot.py', 'test.pickle', 'start.sh', 'better.sh', 'ircbot.py'] < 1168744441 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1168744445 0 :andreou!unknown@unknown.invalid QUIT : < 1168744449 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168744455 0 :andreou!unknown@unknown.invalid QUIT :Remote closed the connection < 1168744487 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1168744657 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec open("/bot/ircbot.py", "w"); self.raw("QUIT") < 1168744678 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :why, how curious :) < 1168744685 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: obviously, you don't have write permission to the source < 1168744708 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's an easy root exploit right there < 1168744768 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec open("/foo", "w") < 1168744776 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But can you write anywhere? < 1168744784 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . Oh, right. It's chrooted, isn't it? < 1168744788 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1168744793 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT") < 1168744794 0 :bsmnt_bot!unknown@unknown.invalid QUIT : < 1168744796 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Smart of you. < 1168744799 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168744803 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1168744805 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1168744821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :You didn't know about that? < 1168744844 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :I win!") < 1168744845 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168744847 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168744858 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, I misread < 1168744925 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Yeah, like i'm going to give you access the whole filesystem ;) < 1168744972 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Well, there *is* an exploit for breaking out of chroots. < 1168744985 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :needs root, doesn't it? < 1168745008 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It needs cd. < 1168745040 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec os.list_dir("./") < 1168745047 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :os.listdir < 1168745056 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(os.listdir("./")) < 1168745056 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['bin', 'bot', 'etc', 'lib', 'usr'] < 1168745071 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec os.changedir("..") < 1168745080 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(os.listdir("./")) < 1168745081 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :['bin', 'bot', 'etc', 'lib', 'usr'] < 1168745091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Thought that was it. Damn it, must have forgotten. < 1168745108 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I've seen that exploit, and iirc it needs root < 1168745130 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1168745135 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(os.getuid()) < 1168745136 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :1343 < 1168745147 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1168745240 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :But whoever tells me the contents of /home/bsmntbombdood/proof.txt gets a prize < 1168745343 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec fid=open("/home/bsmntbombdood/proof.txt", "r") < 1168745356 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hah, yeah right < 1168745359 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: #bsmnt_bot_errors < 1168745371 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Hey, it was worth a try. < 1168745371 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : IOError: [Errno 2] No such file or directory: '/home/bsmntbombdood/proof.txt' < 1168745394 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I can tell you the contents of ~/proof.txt, then. < 1168745399 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :^d < 1168745420 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1168745426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :EOF. < 1168745434 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1168745490 0 :Plouj-!unknown@unknown.invalid PART #esoteric :? < 1168745562 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :BORING?! < 1168745745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :~exec OOOOSO < 1168745770 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sleepzors -> < 1168745859 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how can "let" in haskell be functional < 1168745877 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec (lambda f : f(f)) (lambda f : f(f)) < 1168745878 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168745881 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168745905 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1168745906 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :It defines a name for an expression. < 1168745942 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not executing has a different effect than executing it < 1168745966 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :How so? < 1168745998 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it has to be executed before what follows < 1168746033 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :In fact it doesn't. It only defines the names, their expressions are not used unless the names are. < 1168746139 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdin("This is just wrong.") < 1168746160 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wrong indeed < 1168746167 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :On the other hand the case statement fits your objection better. < 1168746187 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, I should provide an channel interface to sys.stdin < 1168746189 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if it's possible to write to stdin in any language. . . < 1168746269 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it could be in a language where there's only one IO stream < 1168746275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Well, in Kayak and Lazy K, stdin turns into stdout according to how the program changes it. < 1168746276 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :stdout and stdin are the same < 1168746289 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION also wonders if that language is called INTERCAL < 1168746319 0 :ihope!unknown@unknown.invalid QUIT :Connection timed out < 1168746319 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :read(stdout);write(stdin, "whoo"); See? Evil. < 1168746320 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Apart from the I/O commands being READ OUT and WRITE IN... < 1168746891 0 :zantrua!n=josh@ip68-108-209-113.ph.ph.cox.net JOIN :#esoteric < 1168746973 0 :zantrua!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1168747055 0 :zantrua!n=josh@ip68-108-209-113.ph.ph.cox.net JOIN :#esoteric < 1168747083 0 :zantrua!unknown@unknown.invalid PRIVMSG #esoteric :Hello all. < 1168747177 0 :zantrua!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1168747335 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168747338 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747447 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747450 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747573 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747580 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747609 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747614 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747810 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747815 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747833 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747839 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747846 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168747849 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747857 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747865 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747915 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout("QUIT :Excess Flood") < 1168747916 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :QUIT :Excess Flood < 1168747926 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . < 1168747940 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("QUIT :Excess Flood") < 1168747940 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168747941 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :... < 1168747942 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's what I meant. < 1168747944 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747950 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747959 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747970 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168747979 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168747985 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :~exec quit < 1168748020 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION leaves < 1168748023 0 :pikhq!unknown@unknown.invalid QUIT :"leaving" < 1168748233 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1168748912 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168748920 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168748988 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168748992 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749023 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168749029 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Good grief, "HNOP. Ashley Yakeley updated the status of HNOP, the Haskell library for doing nothing." < 1168749107 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1168749158 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"It has recently been split into two Cabal packages: 'nop', a library of no-op services, and 'hnop', a program that uses nop to do nothing." < 1168749163 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168749166 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And strangely enough it is _not_ merely a joke. < 1168749265 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749267 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749274 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749277 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749407 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168749421 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749439 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168749443 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749463 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168749471 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749507 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749512 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749518 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749524 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749563 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749569 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749620 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749625 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749646 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749651 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168749680 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1168749716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1168749725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i'll make a language for doing nothing < 1168749745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nopbol < 1168749746 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh guys sorry about the spam < 1168749754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :spam is nice < 1168749765 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168749768 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750013 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168750018 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750027 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~raw PART #esoteric < 1168750028 0 :bsmnt_bot!unknown@unknown.invalid PART #esoteric :? < 1168750087 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750181 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168750188 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750207 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168750210 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750464 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168750473 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750477 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168750484 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750487 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168750493 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750552 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168750558 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750573 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168750584 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750610 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Client Quit < 1168750613 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168750801 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168750805 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168751186 0 :bsmnt_bot!unknown@unknown.invalid QUIT : < 1168751190 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168751200 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Excess Flood < 1168751206 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168751285 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1168751515 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168751710 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168751913 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168751915 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168751974 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168751976 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752001 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168752053 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752086 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168752152 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752191 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168752193 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752399 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1168752402 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752450 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168752453 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752569 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168752571 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752628 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168752631 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168752700 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1168752703 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755342 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168755367 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755379 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168755410 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755471 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1168755474 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755482 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168755484 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755491 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168755500 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755552 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :mmm... I like writing interpreters. < 1168755568 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1168755583 0 :bsmnt_bot!i=bsmnt_bo@abacus.kwzs.be JOIN :#esoteric < 1168755584 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it's always fun to imagine the semantics reducing to the most fundamental parts of the language. < 1168755718 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :This is great, my language is the nicest language I've ever seen for writing recursive data structures, but all you can do is nop :) < 1168755770 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I guess the beautiful syntax and the nice way of structuring makes up for the fact you can't really do anything? < 1168755781 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1168755800 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is trying to find a clever languagge joke that won't offend anyone. < 1168755813 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Like "It worked for Ruby" or something... < 1168755827 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but nothing comes to mind. < 1168755868 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I'm not making a joke language. < 1168755917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :This might actually be a very good language for teaching structures for example :) < 1168755949 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :a weird variation of lambda calculus might work for that. < 1168755967 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :for abstraction and stuff. < 1168755969 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I still haven't understood that language < 1168755979 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :me neither. < 1168755982 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not the specifics. < 1168755984 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Might work for what? < 1168756022 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but in general.... it's a very clear demonstration of how invidual basic parts can be grouped together to form abstracted procedures. < 1168756064 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :if you assign certain strings of lambdas a given name... and substitute the name instead of the functions whenever they arise < 1168756117 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :and continue doing that... you can quickly amass a logical stucture. < 1168756152 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :quick always seems to be the most powerful way to demonstrate abstraction. < 1168756160 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :if you can write it out quickly. < 1168756296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... what is the most complex thing written in lambda calculus? < 1168756315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I've heard it's nothing. < 1168756316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1168757770 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1168759467 0 :ShadowHntr!unknown@unknown.invalid QUIT :"End of line." < 1168761599 0 :clog!unknown@unknown.invalid QUIT :ended < 1168761600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1168764805 0 :sebbu!n=sebbu@ADijon-152-1-3-36.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1168771786 0 :tgwizard!n=tgwizard@c-9b3ee155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1168773125 0 :jix!n=jix@L62c2.l.strato-dslnet.de JOIN :#esoteric < 1168773195 0 :jix!unknown@unknown.invalid QUIT :Client Quit < 1168778444 0 :jix!n=jix@L62c2.l.strato-dslnet.de JOIN :#esoteric < 1168779363 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1168779554 0 :jix!n=jix@L62c2.l.strato-dslnet.de JOIN :#esoteric < 1168779891 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168779902 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :greets < 1168782536 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1168782558 0 :ihope!unknown@unknown.invalid QUIT :Client Quit < 1168783802 0 :andreou!unknown@unknown.invalid QUIT :"BitchX: faster than a speeding bullet, more powerful than a locomotive" < 1168783826 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168789984 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1168790056 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :uelauelaue") < 1168790057 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :uelauelaue < 1168790059 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yay! < 1168790235 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1168791880 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmnt_bot: exec self.raw("PRIVMSG #esoteric laueluaeleualeu") < 1168793565 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :eh how do i find any ircops? /who -what? < 1168795317 0 :andreou!unknown@unknown.invalid QUIT :"recycle" < 1168796006 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168796500 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :/stats p < 1168796512 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or something else. Lemme see... < 1168796595 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I guess /who *@freenode/staff* < 1168796608 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...Or not. < 1168796642 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Then it's probably/who *freenode/staff* < 1168796704 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :the latter is true, i found a few, but they're all idle :) < 1168796748 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :notabot might not be. < 1168796765 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :27 hrs :) < 1168797819 0 :CakeProphet!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1168797948 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :~ < 1168798204 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~? < 1168798410 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :#! < 1168799317 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1168799392 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~?# < 1168799457 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :woot < 1168799459 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :cons x y = \f -> f x y < 1168799459 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :car c = c (\x y -> x) < 1168799459 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :cdr c = c (\x y -> y) < 1168799711 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is clever < 1168799931 0 :digital_me!n=digital@wikipedia/Digitalme JOIN :#esoteric < 1168800087 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: congrats, you just expressed the standard definition of an ordered pair in lambda calculus in Haskell notation. < 1168800169 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1168800343 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :(,), fst, snd... < 1168800568 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :How do we represent the empty list? < 1168800791 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and why doesn't my_map f list = cons (f (car list)) (my_map f (cdr list)) work? < 1168802054 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I can't figure out what's wrong < 1168802455 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Lists would be completely different. < 1168802502 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :A list would be represented as its own foldr function. < 1168802619 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :cons x xs = \c e -> c x (xs c e) < 1168802621 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...I think. < 1168802630 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :empty = \c e -> e < 1168802649 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :foldr c e xs = xs c e < 1168802671 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1168802680 0 :andreou!unknown@unknown.invalid QUIT :"-" < 1168802716 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I think that's how lists are generally represented in lambda calculus. < 1168802722 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's the typable way. < 1168802765 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And by typable way, I mean using Haskell's type system. < 1168802826 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Either the Hindley-Milner type system or the Damas-Milner type system. Both different names for the same thing, I think. < 1168802993 0 :CakeProphet!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1168803729 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION requests SICP from the library < 1168804897 0 :ihope!unknown@unknown.invalid QUIT :"http://tunes.org/~nef/logs/esoteric/06.08.09" < 1168805053 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I accidently discovered a simple way of turing algebraic datatypes into collections of lambda calculus functions. < 1168805077 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Each value of the type takes one function per constructor. < 1168805131 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :A constructor calls one of its arguments with the containted data and ignores the other arguments. < 1168805152 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e.g. a list datum takes two arguments. < 1168805206 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :The first is called for a cons, and is passed the car and cdr of the list. The second is called for a nil and takes no arguments. < 1168805238 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cons a b = (\x y -> x a b) < 1168805251 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nil = (\x y -> y) < 1168805253 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :tada! < 1168808114 0 :Sgeo!n=sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1168810451 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168810816 0 :jix__!n=jix@L62c2.l.strato-dslnet.de JOIN :#esoteric < 1168811001 0 :jix__!unknown@unknown.invalid NICK :jix < 1168811876 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1168812129 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1168813888 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :and that is in haskell ? < 1168813896 0 :ShadowHntr!unknown@unknown.invalid PRIVMSG #esoteric :i'd much rather do that in FORTRAN... ;) < 1168814026 0 :wooby!unknown@unknown.invalid QUIT : < 1168814166 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.. < 1168814190 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Is this the proper regex pattern for an ORK class definition? < 1168814192 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :re.compile(r"there is such a thing as an? (?P.*?)\.? *$(?P(.*?$)*)", re.MULTILINE|re.IGNORECASE) < 1168814206 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :oh wait... < 1168814264 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :re.compile(r"there is such an? (?P.*?) as an? (?P.*?)\:? *$(?P(.*?$)*)", re.MULTILINE|re.IGNORECASE) < 1168814278 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I forgot the first part ends with a colon... and that I'm including metaclasses :D < 1168815204 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1168815371 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... < 1168815377 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah it looks about right,. < 1168815545 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it does. < 1168815554 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Well, almost, anyway. < 1168815568 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It's just a little bit off < 1168815586 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now, care to tell me just what it is that looks about right? < 1168815593 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hrhr < 1168815617 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :"there is such an? (?P.*?) as an? (?P.*?)\:? *$(?P(.*?$)*)" with multiline and ignorecase turned on. < 1168815634 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... the colon isn't optional. < 1168815636 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or is it? < 1168815643 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I always see it. < 1168815646 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but it could be omitted. < 1168815762 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is written an ORK interpreter... and then adding some crap to it to create the Sophia dialect. < 1168815824 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You is written? < 1168815861 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...yes < 1168815872 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I meant "is writing"... but that sounds nifty. < 1168815890 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1168815908 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I mean also include inheritance... but maybe not directly. < 1168815948 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or it could just be "There is such a as a which is a " which doesn't quite sound as ORKY as I'd like it to. < 1168815966 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ORK is verbose in a terse way... that's getting a little superfluous. ;) < 1168816043 0 :andreou!unknown@unknown.invalid QUIT :"recycling" < 1168816139 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...What? < 1168816209 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...huh? < 1168816257 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Superfluously verbose terseness? < 1168816336 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1168816340 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :just verbose terseness. < 1168816351 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :each statement is nice and direct... but overly verbose too. < 1168816370 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :with the inheritance add-on I just proposed... it would sound less to the point < 1168816411 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168816466 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Can you put that in words less than four letters long? < 1168816521 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :nah... it's not length that's the problem. < 1168816529 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it's semantical baggage. :D < 1168816545 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :There is such a thing as a master of all beings which is an apple < 1168816555 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :does not sound as good as < 1168816564 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :there is such a thing as a master of all beings < 1168816781 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :There is such a thing as a master of all beings < 1168816790 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :a master of all beings is very much like an apple < 1168816794 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yay inheritance... < 1168817096 0 :andreou!unknown@unknown.invalid PRIVMSG #esoteric :can anyone get ftp://ftp.cs.bris.ac.uk/pub/goedel/latest/goedel-src.tar.Z or is the FTP boinked? < 1168817158 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :andreou: No go for me. < 1168817194 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm.. I always have a hard time understand how declarations slow down execution speed... they still need to be computed. < 1168817318 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1168817321 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :speed up execution speed. < 1168817418 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes < 1168817452 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dances. < 1168817509 0 :andreou!unknown@unknown.invalid QUIT :"new /netbsd, rejoice" < 1168817741 0 :pikhq!n=pikhq@c-75-70-69-187.hsd1.co.comcast.net JOIN :#esoteric < 1168817953 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1168818245 0 :tgwizard!unknown@unknown.invalid QUIT :Connection timed out