< 1171152044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that is equivalent < 1171152050 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :essentially < 1171152055 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Tell me whether or not this Haskell program halts: main = print $ head $ filter perfect [1,3..] where perfect x = sum (divisors x) == x; divisors x = [ y | y <- [1..x-1], x `mod` y == 0 ] < 1171152067 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or the program I meant to write, if that isn't the right one :-P < 1171152099 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :well, we know it's impossible, so this is stupid < 1171152133 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1171152162 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :true, but this shows that the halting problem is somewhat connected to the existence of undecidable theorems < 1171152165 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what about programs that don't use halt < 1171152220 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the proof on wikipedia uses halt on a program that uses halt < 1171152252 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If Turing-machines can solve the halting problem, then "Turing machines that don't use halt" isn't Turing-complete. < 1171152266 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1171152299 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i rather suspect that "this program uses halt" is undecidable, or even undefinable < 1171152322 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1171152332 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because you cannot decide whether a program is equivalent to halt < 1171152344 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :But since Turing machines can't solve the halting problem, "Turing machines that don't use halt" is simply all Turing machines. :-) < 1171152346 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(even assuming it exists) < 1171152419 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :who proved that two lambda expressions couldn't be proven equivalent? < 1171152461 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't remember, let me see in wikipedia < 1171152550 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Church < 1171152558 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, it's Rice's theorem < 1171152575 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok maybe Church proved a special case < 1171153159 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Isn't that equivalent to the halting problem? < 1171153195 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Also, \x.x and \x.xx can't be proven equivalent. Q.E.D. < 1171153217 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's proven by reduction to the halting problem. < 1171153229 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :see the wikipedia page < 1171153273 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well in _that_ case it was the Church-Rosser theorem. < 1171153309 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which showed that _some_ expressions couldn't be proved equivalent < 1171153378 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1171153399 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought you meant who proved that it couldn't be decided whether two given expressions were equivalent < 1171153437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(as in being the same function) < 1171153636 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :...What? < 1171153648 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what what? < 1171153658 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :How many definitions of equivalence are there? < 1171153677 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :five < 1171153686 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bannana-grape < 1171153688 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is beta equivalence, beta/eta equivalence < 1171153716 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but the Church-Rosser theorem is needed to prove each of them consistent < 1171153745 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :without it, maybe \x.x and \x.xx _could_ be turned into each other < 1171153749 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: bananas and grapes are obsolete. Please upgrade to Cantor normal form. < 1171153755 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1171153762 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :cantor normal form? < 1171153787 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cantor normal form is essentially positional notation in base omega < 1171153817 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :omega^(omega+1) + omega^1*3 + omega*3 + 5, for example < 1171153841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eh, *omega^2*3 < 1171153851 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Like polynomials, sort of. < 1171153860 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :whoosh < 1171153880 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :omega^a*b + omega^c*d + omega^e*f... < 1171153894 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :omega = the ordinal of the natural numbers, the first infinite one < 1171153901 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Where a, c, e, etc. are ordinal numbers and b, d and f are natural numbers. < 1171153917 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Bananas and grapes form a subset of the ordinal numbers, I mean. < 1171153952 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :up to omega*2, isn't it? < 1171153966 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Something like that. I don't know. < 1171154030 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as in, the bananas are the first omega ordinals and the grapes the next omega ordinals < 1171154039 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or maybe it was the other way around < 1171154063 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :The other way around, I think. < 1171154108 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Also, ordinal numbers aren't cardinal numbers. :-) < 1171154134 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course. < 1171154195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(when you know it) < 1171154275 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Obvious iff you already know. < 1171154330 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, it doesn't take _that_ long to realize that omega+1 and omega have the same cardinality < 1171154335 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1171154343 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :none of this makes any sense to me. < 1171154344 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :at all. < 1171154348 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1171154370 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1171154378 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Essentially, an ordinal number is what I tried to get at with grapes and bananas. < 1171154406 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do you know what a total order is? < 1171154417 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Me? < 1171154419 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :grapes and bannanas? < 1171154423 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no the others < 1171154433 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ooooh < 1171154437 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: you're the one who said banana-grape. :-P < 1171154441 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ordinal - the contents of a set. < 1171154444 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i assume you know since you know what ordinals are < 1171154444 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :cardinal - the size of a set < 1171154459 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not quite < 1171154472 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: i was just talking about fruit < 1171154478 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ordinal = the order type of a (well-) ordered set < 1171154514 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Informally, an ordinal number is a set of ordinal numbers such that each of its elements' elements is an element. < 1171154530 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :... < 1171154531 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Examples: 0 is defined as the empty set, 1 as {0}, 2 as {0,1}, 3 as {0,1,2}, etc. < 1171154533 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's even more confusing < 1171154542 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the von Neumann ordinals < 1171154547 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Not if you have no idea what an order type is :-P < 1171154548 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :that's a recursive definition < 1171154553 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes, it is. < 1171154556 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :an ordinal number is a set of ordinal numbers... < 1171154562 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :{0,{0}}? < 1171154567 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: yep. < 1171154571 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :{0,{0,{0}}}? < 1171154577 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's the point? < 1171154587 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :{0,{0},{0,{0}}}. < 1171154589 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I just failed Algebra 2... to give you an idea of my current level of math skills. < 1171154595 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1171154598 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I haven't even touched set theory... besides what I've read of it. < 1171154602 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1171154611 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: what's that? < 1171154613 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :The point is that you have infinite ordinal numbers as well: omega, the first infinite ordinal number, is {0,1,2,3,4,5,6,7,8...} < 1171154614 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... that was from laziness. < 1171154678 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :kinda like church numerals < 1171154685 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Then the next ordinal number, omega+1, is {0,1,2,3...omega}, and omega+2 is {0,1,2,3...omega, omega+1}, omega+3 is {0,1,2,3...omega, omega+1, omega+2}. < 1171154711 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't make sense < 1171154715 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :omega+omega or omega*2, then, is {0,1,2,3...omega, omega+1, omega+2, omega+3...} < 1171154733 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah - they are used in set theory to get the natural numbers in the same way that church numerals are used to get them in lambda calculus < 1171154747 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: is there a certain part of it that doesn't make sense, or is it just generally confusing? < 1171154764 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the omega part < 1171154811 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Well, omega is what you get when you go past all the natural numbers. < 1171154824 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :omega is the set of all the finite ordinals, itself infinite < 1171154828 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's this called so i can look it up? < 1171154834 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :An ordinal number contains all the ordinal numbers you've gone past. < 1171154845 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: what's what called? < 1171154859 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this ordinal-omega stuff < 1171154865 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(transfinite) ordinal numbers < 1171154884 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok i have to go to dinner < 1171154918 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :btw there is a trick to remove the recursivity from the definition < 1171154961 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :An ordinal number is a set whose elements are subsets of it, and which is totally ordered under the "is an element of" operation. < 1171155029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think you may want well-ordered < 1171155069 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Totally ordered is sufficient, isn't it? < 1171155080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or maybe not - you get that from the axiom of foundation < 1171155154 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1171155194 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think it is sufficient but using well-ordered allows you not to bother with things like x = {x} < 1171155197 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :You mean the axiom of foundation has a use? < 1171155228 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, without it x = {x} would be an ordinal by your definition < 1171155291 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't x = {x} be well-ordered anyway? < 1171155304 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eh - good point < 1171155352 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so you actually need to assume explicitly that x is well-founded < 1171155374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you don't have the axiom of foundation < 1171155389 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in which case total probably suffices for the order < 1171155723 0 :nazgjunk!unknown@unknown.invalid QUIT :"Bi-la Kaifa" < 1171157611 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads up < 1171157716 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides that if he had a mutant power, he would be a Turing Oracle. < 1171157728 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(able to predict if any give Turing Machine halts) < 1171157938 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, bananas and grapes.... http://www.catb.org/jargon/html/O/one-banana-problem.html < 1171157956 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :This, naturally, would permit you to find out whether any mathematical hypothesis is a theorem, and by binary search to find its proof. < 1171157997 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: I've seen that before... :-) < 1171158007 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :read that whole website!!!!!! < 1171158022 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I want to be a Turing Oracle... < 1171158057 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :failing that, you *really* must read appendix B: http://www.catb.org/jargon/html/appendixb.html < 1171158064 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :appendix A rocks too < 1171158081 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah, fun < 1171158149 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually... there might be some problems if the length of the proof is described with the Ackermann function :) < 1171158174 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which certainly must be true for some theorems < 1171158187 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1171158198 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :BTW, I can't see how to express that puzzle about whether "f n = if even n then f (n/2) else f (n*3+1)" always hits one for eveny starting Natural n as a halting problem < 1171158221 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Give me a series of theorems whose proofs are longer than the corresponding values of the Ackermann function. :-) < 1171158246 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed, it would seem to be in the next grape or banana < 1171158257 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, the busy-beaver numbers are uncomputable (in the genersal case) < 1171158258 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: n `div` 2, remember. < 1171158267 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is pseudocode < 1171158284 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It does a remarkably good job of being Haskell. < 1171158299 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1171158319 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the question of whether _one_ number halts on 3n+1 is a halting problem. < 1171158323 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Haskell is almost pseudocode < 1171158340 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :There are programming languages much better than Haskell. < 1171158342 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: indeed < 1171158346 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: e.g.? < 1171158347 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I just don't know of any. :-P < 1171158351 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-( < 1171158375 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Well, no decently fast implementations for any. < 1171158417 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :So what are the slow ones? < 1171158422 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I could take first-order logic, extend it to a programming language, and execute programs by brute force. < 1171158440 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Brute-forcing proofs isn't very fast. < 1171158514 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lessee, forall x exists n such that x_n = 1, the switch between forall and exists indicates that each loop may go up a level in the halting hierarchy < 1171158567 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, this suddenly sound familiar from my compuability theory lectures < 1171158575 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the "switch between forall and exists" part < 1171158584 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Foralls and existses are nice. < 1171158586 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it's the same as for the polynomial hierarchy < 1171158593 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that thing < 1171158594 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Also known as forsomes. :-) < 1171158598 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :fuck fuck fuck fuck fuck < 1171158608 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :excuse the language < 1171158787 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION suddenly wonders if there is an esoteric language named SOAP < 1171158827 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah, just an operating system < 1171158828 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :SOAP is going to be a platform for an esoteric operating system, if people ever start following my orders. < 1171158852 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: please throw dextrose tablets at bsmnt_bot. < 1171158852 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :when Malbolge freezes over, in other words < 1171158864 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Pff, I can do that. < 1171158871 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :...Wait... < 1171158884 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :dextrose? < 1171158898 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :The usable form of glucose. < 1171158911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.output("Give me sugar!") < 1171158922 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout("Give me sugar!") < 1171158922 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Give me sugar! < 1171158936 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at bsmnt_bot < 1171158955 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I have forgotten it _every_ time except once < 1171158965 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1171159120 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.dlete("/") < 1171159126 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*cough* < 1171159146 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.delete("/") < 1171159535 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I was deliberately not doing that < 1171159576 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :BTW, is doing (do + ing) supposed to be spelt the same as doing (onomatapoea)? < 1171159617 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you _do_ know that ihope is easily tempted with bsmnt_bot. < 1171159661 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, the latter must be spelt dhoeyng'x < 1171159869 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :D'oing. < 1171160029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Darn. I want to be able to combine infinite cyclic datastructures with mutable references in Haskell. < 1171160148 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at oerjan < 1171160168 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yummy < 1171160178 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :IORef! < 1171160181 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Or is it IOref? < 1171160207 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i know, but it doesn't quite work < 1171160266 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i cannot get an IO action to refer cleanly to an IORef which is defined later < 1171160296 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I see. < 1171160369 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unsafeInterleaveIO gives infinite datastructure of mutable references but not cyclic ones < 1171160424 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and unsafePerformIO has badly defined semantics < 1171161098 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what about bsmnt_bot ? < 1171161110 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: you fale < 1171161127 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec throw(dextrose_tablets, bsmntbombdood) < 1171161133 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Darn. < 1171161158 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec raise "Dextrose_tablets", "smntbombdood" < 1171161188 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec def self.dextrose(x): raw("PRIVMSG #esoteric :\001ACTION throws dextrose tablets at %s\001" % x) < 1171161195 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Pff. < 1171161209 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.dextrose = lambda x: bot.raw("PRIVMSG #esoteric :\001ACTION throws dextrose tablets at %s\001" % x) < 1171161222 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.dextrose("bsmntbombdood") < 1171161223 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at bsmntbombdood < 1171161232 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at bsmnt_bot < 1171161235 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Not bad. < 1171161254 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why the obbsesion with dextrose? < 1171161410 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now they tell me at #haskell there is a fixIO. < 1171161722 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :A what? < 1171161725 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :esr is crazy < 1171161728 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at bsmntbombdood < 1171161822 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fixIO :: (a -> IO a) -> IO a < 1171161840 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :to make cyclic IO actions depending on their result < 1171161888 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :cps is weird < 1171161900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also used with the mdo recursive monad notation < 1171161980 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION invents sinistrose < 1171162044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :being the opposite of dextrose. < 1171162093 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :mdo? < 1171162100 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Like do, except with monads? < 1171162131 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do is with monads < 1171162150 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mdo vs. do is like letrec vs. let in scheme < 1171162188 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I know nothing about Scheme. < 1171162203 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :scheme pwns haskell < 1171162247 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in do, variables introduced with <- can only be used in later statements. in mdo they can be used in the whole mdo statement < 1171162257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*variables = bindings < 1171162282 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I now know one thing about Scheme. < 1171162303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no you don't < 1171162308 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1171162328 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood is lying :) < 1171162339 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :code as data, man! < 1171162341 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Also, I take it this doesn't work: mdo {putStrLn x; x <- getLine} < 1171162358 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: :-P...wait, what? < 1171162364 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders < 1171162370 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1171162374 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :data as code dude! < 1171162380 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's why scheme is better than haskell < 1171162384 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides "data as code" was... darn, SevenInchBread beat me to it < 1171162392 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nope, that would hang < 1171162465 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Well... Lisp homoiconicity makes "data as code" as well. < 1171162468 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :it works both ways. < 1171162482 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1171162490 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sexp! < 1171162497 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :since Lisp code is just like... a parse tree. < 1171162578 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sexp < 1171162776 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzz < 1171162779 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1171162910 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: look at "mdo". It is sugar that works on any instance of MonadLoop (i.e. most Monads). < 1171162921 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait, you did < 1171162975 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(> scheme haskell) < 1171163013 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :LISPoids: code is data. Haskell: computations are data < 1171163020 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :notice the difference < 1171163024 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1171163026 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Scheme == Haskell < 1171163026 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzzz < 1171163041 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(> scheme) haskell < 1171163048 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1171163048 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1171163050 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzzz < 1171163062 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sex-pee < 1171163072 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh dear. < 1171163089 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Isn't that that... stuff? < 1171163105 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1171163116 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what stuff < 1171163131 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(> scheme haskell) <== sex-pee < 1171163146 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Eew. < 1171163161 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(> scheme) haskell <== sex-tion < 1171163223 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :'(...) <=== sex-pee < 1171163247 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :original LISP with mex-pees was ugly < 1171163276 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: s-expression < 1171163278 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :s-exp < 1171163280 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sexp < 1171163284 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sex-pee < 1171163619 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :mccarthy the urophiliac < 1171164324 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1171165329 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1171166623 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1171171121 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1171171469 0 :RodgerTheGreat!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171171796 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1171171853 0 :calamari!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1171171853 0 :oklopol!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1171171853 0 :GregorR!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1171171853 0 :SimonRC!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1171171853 0 :sekhmet!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1171171853 0 :tokigun!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1171171897 0 :RodgerTheGreat!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171171917 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1171171917 0 :oklopol!i=okokokok@194.251.102.88 JOIN :#esoteric < 1171171917 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.mn.comcast.net JOIN :#esoteric < 1171171917 0 :SimonRC!n=sc@bylands.dur.ac.uk JOIN :#esoteric < 1171171917 0 :tokigun!n=tokigun@haje8.kaist.ac.kr JOIN :#esoteric < 1171171917 0 :sekhmet!n=pez@ppp-70-226-146-235.dsl.mdsnwi.ameritech.net JOIN :#esoteric < 1171172018 0 :RodgerTheGreat_!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171172032 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1171172093 0 :RodgerTheGreat_!unknown@unknown.invalid QUIT :Client Quit < 1171172157 0 :RodgerTheGreat!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171172163 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Client Quit < 1171172239 0 :RodgerTheGreat!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171172422 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Client Quit < 1171172472 0 :RodgerTheGreat!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171172651 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Client Quit < 1171173756 0 :digital_me!unknown@unknown.invalid QUIT :Connection timed out < 1171174713 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1171175113 0 :ShadowHntr!unknown@unknown.invalid QUIT :Connection timed out < 1171176749 0 :SevenInchBread!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1171177519 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1171177525 0 :anonfunc!n=dholman@adsl-69-106-180-88.dsl.chi2ca.sbcglobal.net JOIN :#esoteric < 1171180799 0 :clog!unknown@unknown.invalid QUIT :ended < 1171180800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1171185147 0 :sebbu!n=sebbu@ADijon-152-1-52-71.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1171191361 0 :jix!n=jix@L61c8.l.strato-dslnet.de JOIN :#esoteric < 1171191498 0 :sebbu2!n=sebbu@ADijon-152-1-112-62.w86-218.abo.wanadoo.fr JOIN :#esoteric < 1171191999 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1171192214 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1171192282 0 :puzzlet!n=puzzlet@122.46.198.22 JOIN :#esoteric < 1171193018 0 :anonfunc!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1171193715 0 :anonfunc!n=dholman@adsl-69-106-180-88.dsl.chi2ca.sbcglobal.net JOIN :#esoteric < 1171194962 0 :helios24!i=helios@peach.n1.helzilla.de JOIN :#esoteric < 1171195398 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1171195694 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1171195704 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1171196208 0 :tgwizard!n=tgwizard@c-9b3ee155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1171196579 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1171196600 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1171197455 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1171197460 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1171197488 0 :UpTheDownstair!unknown@unknown.invalid NICK :nazgjunk < 1171197897 0 :sebbu!n=sebbu@ADijon-152-1-35-1.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1171198201 0 :sebbu2!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1171203342 0 :helios24!unknown@unknown.invalid QUIT :"Leaving" < 1171208310 0 :UpTheDownstair!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1171208327 0 :UpTheDownstair!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1171209345 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1171209468 0 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1171209871 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1171213409 0 :flagitious!n=darren@pool-141-156-14-147.res.east.verizon.net JOIN :#esoteric < 1171214313 0 :RodgerTheGreat!n=Rodger@wads-5-233-248.resnet.mtu.edu JOIN :#esoteric < 1171214343 0 :RodgerTheGreat_!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1171214850 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1171214874 0 :RodgerTheGreat_!unknown@unknown.invalid NICK :RodgerTheGreat < 1171218856 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1171221143 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1171221155 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1171221767 0 :SevenInchBread!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1171222168 0 :digital_me!n=digital@wikipedia/Digitalme JOIN :#esoteric < 1171224308 0 :GregorR!unknown@unknown.invalid NICK :_D6Gregor1RFeZi < 1171225058 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at _D6Gregor1RFeZi < 1171225108 0 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1171225857 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1171227690 0 :sebbu2!n=sebbu@ADijon-152-1-73-73.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1171228817 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1171228996 0 :Arrogant!i=Paragon@221.orlando-09-10rs.fl.dial-access.att.net JOIN :#esoteric < 1171229678 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1171230467 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION still wonders what the dextrose tablets are about. < 1171230494 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Same 'ere. < 1171230520 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Presumably they're placebos, but maybe I'm supposed to believe that they'll demangle me. < 1171230521 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.dextrose(" oerjan ") < 1171230522 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at oerjan  < 1171230537 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1171230584 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well dextrose is not a placebo when it comes to energy < 1171230621 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.dextrose(" _D6Gregor1RFeZi ") < 1171230621 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at _D6Gregor1RFeZi  < 1171230635 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Why the spaces? < 1171230641 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :tabe completion < 1171230642 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.dextrose("_D6Gregor1RFeZi") < 1171230642 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at _D6Gregor1RFeZi < 1171230653 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1171230722 0 :Arrogant!unknown@unknown.invalid QUIT :"Leaving" < 1171230803 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~ctcp oerjan VERSION < 1171230851 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... did anything happen? < 1171230868 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1171230882 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i didn't see any incoming ctcp < 1171230884 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::orwell.freenode.net 505 bsmnt_bot :Private messages from unregistered users are currently blocked due to spam problems, but you can always message a staffer. Please register! ( http://freenode.net/faq.shtml#privmsg ) < 1171230893 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1171230900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyhow i'm on irssi too < 1171230972 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what is the tab character in html? :P < 1171231007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(r"^ *(.*[^ ]) *$" % " testing ") < 1171231042 0 :Sukoshi!n=user@user-11fa61v.dsl.mindspring.com JOIN :#esoteric < 1171231053 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Hey y'all. < 1171231056 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :long time no see Sukoshi < 1171231061 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I know. < 1171231063 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1171231076 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Any Lex/Yacc wizards here? < 1171231081 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Or, just Lex/Yacc users? < 1171231089 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I've used em before < 1171231100 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i have tried it < 1171231104 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Can you use ( ) as grouping to group | ? < 1171231197 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :doesn't seem like it from "info bison" < 1171231308 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Is it BNF? < 1171231320 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Because I want to specify the exact repititions of something. < 1171231341 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess that doesn't work because there would be no uniform way to refer to the matched tokens < 1171231430 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you'll just have to define some helping tokens < 1171231465 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I'm writing a parser for the BT bencoding, by the way. < 1171231500 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't remember that one < 1171231512 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I'll link it, and my Yacc file. < 1171231531 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If you'd be so kind as to take a look at it and confirm if it would match correctly. < 1171231666 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If this doesen't work, I write it myself. It's faster/less headache. < 1171231677 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Woe to the not-pointer-arithmetic-endowed then. < 1171231696 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pointer arithmetic is fun < 1171231705 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I know, but not everyone can follow it. < 1171231724 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That's why I'm choosing to use yacc/lex. < 1171231805 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as far as i understand, | just defines a new rule with the same left side < 1171231826 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :It also works as or. < 1171231834 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :a | b != | a b < 1171231871 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's what i said < 1171231906 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a | b are two separate rules, not an expression < 1171231922 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I see. Yeah. < 1171231970 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically it has to be this way because otherwise $1 ... $n would not refer to well-defined tokens in the rule action < 1171231985 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Uggh. Now I have to decide how the C code works with the grammar. < 1171231991 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's my guess anyhow < 1171232031 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :where is that link you promised? < 1171232041 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, my grammar is written up. < 1171232048 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But, I have to add C code to it now. < 1171232123 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :http://www.anysize.org/~sukoshi/benc_parse.l http://www.anysize.org/~sukoshi/benc_parse.y < 1171232135 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Havas unun bonan tempon kun tiujun. < 1171232138 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*tiujn < 1171232170 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*Havos :P < 1171232210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Dankas vin. (Maybe.) < 1171232223 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Estas mian plezuron. < 1171232228 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1171232244 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's this a parser for < 1171232249 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :If I got that correct it was nearly pure luck < 1171232252 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Bencoding data. < 1171232258 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: The ``vin'' is superfluous. < 1171232312 0 :_D6Gregor1RFeZi!unknown@unknown.invalid NICK :_ZN6Gregor1REd < 1171232333 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :http://wiki.theory.org/BitTorrentSpecification <-- Read. < 1171232335 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :torrents? < 1171232339 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1171232409 0 :_ZN6Gregor1REd!unknown@unknown.invalid NICK :GregorR < 1171232430 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's no benc_int < 1171232444 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Guh. I knew I missed something. < 1171232485 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :benc_int: BEGINT NUMBER END ; < 1171232514 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :also you don't do anything with the values < 1171232534 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric : Well, my grammar is written up. But, I have to add C code to it now. < 1171232545 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1171232560 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yacc should build a parse tree implicitly to give to you after parsing < 1171232572 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that STRDATA rule is going to break I think. < 1171232595 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1171232605 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Then I need to delimit it. < 1171232613 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because it is confused with anything else < 1171232625 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't quite see why you need a lex stage < 1171232649 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I guess. < 1171232650 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... scratch that. < 1171232668 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yacc needs a lexer < 1171232670 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But I would like to make yytext a union later on. < 1171232678 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1171232773 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm interested to see how to use that parser < 1171232776 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the length-encoding of strings doesn't fit into a regular language definition, or context-free for that matter. < 1171232790 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :A custom parser then? < 1171232868 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i am sure there is some lex rule to gulp up a fixed number of characters < 1171232879 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*rule=method < 1171232911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but you need to take the number:string parsing entirely in lex < 1171232922 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1171232936 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I see. < 1171232949 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a string will eat up the rest of the input < 1171232950 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which shouldn't be too difficult < 1171232992 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Wait. How would you suggest I do this? < 1171233007 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If I don't return the NUMBER token, then the grammar can't use NUMBER. < 1171233033 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1171233076 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't need the yacc stage to know that number:string has a substructure < 1171233094 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh, durr. < 1171233101 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how would you do that? < 1171233122 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so just remove NUMBER and let STRING be the whole thing < 1171233133 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or STRDATA < 1171233136 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But true, how would you do it? < 1171233171 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :regexes can't match stuff like that < 1171233403 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you can use the input() directive. < 1171233483 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Can you give me an example? < 1171233500 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what, input() reads characters in? < 1171233534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, so you could use a for loop with input() to read the required number of characters into a buffer < 1171233549 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Exmpl plz :P < 1171233562 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :read() < 1171233602 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1171233609 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't see any read() in the flex info < 1171233620 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i was mistaken < 1171233633 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"input Reads a byte from yyin" < 1171233646 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Wait, are we still talking about parsing BT strings here? < 1171233656 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yea < 1171233657 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's the idea < 1171233662 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1171233668 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I would use a monadic parser for that < 1171233678 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but yacc doesn't do monadic parsers < 1171233695 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so you have [0-9]+: as the regex, then read in the correct number of bytes with input() < 1171233716 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1171233747 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Where does the call to input() go? Lexer? < 1171233751 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1171233764 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Now a better question: Why the hell did they invent their own data encoding rather than using a standard one? < 1171233776 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :like what? < 1171233778 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Their bencoding is brain-damaged. < 1171233792 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I can see they have there a subset of the functionality of ASN.1 < 1171233807 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :There are plenty of tools that will spit out very fast ASN.1 parsers < 1171233851 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It has such amazing features as being able to send the start of some data before knowing how long it is. < 1171233855 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :My theory is that it was a quick hack in Python. < 1171233885 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1171233911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be a quick hack with Parsec :) < 1171234011 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there might be another way to do it using yymore() and states < 1171234234 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*states=start conditions < 1171234254 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :parsing is screwed up < 1171234310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait. < 1171234326 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the i lex rule also needs to include the number < 1171234360 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no it doesn't < 1171234399 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes it does, otherwise there will be no way for lex to distinguish the number from the start of a string encoding < 1171234414 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't need to < 1171234437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes it must because it has to handle the string encoding specially < 1171234450 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait... < 1171234455 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yacc just needs the tokens < 1171234481 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it _could_ distinguish a number according to whether it is followed by : < 1171234488 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1171234511 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but lex does need to know the length of the string somehow < 1171234560 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1171234574 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :including it in the i rule would cause earlier error detection < 1171234604 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in the case of something like i100: < 1171234611 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :error detection is for pussies < 1171234668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in any case i end up with the feeling this grammar is far too simple for lex/yacc use, especially when it doesn't fit directly < 1171234702 0 :nazgjunk!unknown@unknown.invalid NICK :na[zZz]gjunk < 1171234716 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :recursive descent and a switch statement might even be shorter < 1171234747 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*would almost certainly be shorter < 1171234895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in fact it is practically designed to be trivial in that way < 1171234916 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's that? < 1171234957 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just a simple: read the next character, switch on it to decide what to do < 1171234971 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, yeah < 1171235000 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :would be pretty simple < 1171235291 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws dextrose tablets at bsmntbombdood < 1171235454 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one more thing - the lex parser doesn't handle negative numbers for i < 1171236144 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :methinks that a predictive parser would be what you wanted. < 1171236202 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I suspect that bittorent was built before the protocol was properly written down, so there is certainly a simple parsing algorithm: that which is used by the original client. < 1171236277 0 :pikhq!n=pikhq@c-75-70-69-187.hsd1.co.comcast.net JOIN :#esoteric < 1171236318 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1171236333 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you are just in time for a predictive parsing vs. yacc flamewar < 1171236372 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's a predictive parser? < 1171236569 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yacc is fine if your grammar is L(AL)R(1) but not LL(1) < 1171236596 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but this one is nearly LL(1) at the character level < 1171236639 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: a parser that always knows what token type will come next. < 1171236642 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1171236646 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :read the Dragon Book < 1171236681 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how is that possible < 1171236712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Correction: knows what token something is after reading the first subtoken < 1171236723 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hear ye, hear ye! Read the Wiki! < 1171236730 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You will sound more competent & wise. < 1171236734 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: maybe that, whatever < 1171236766 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i.e. LL(1) if it is context-free < 1171236768 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :anyway, it is a subset of most other serious parser types < 1171236788 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but Pascal can be parsed predictively IIRC < 1171236814 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, Niklaus Wirth is known for making his grammars simple LL(1)-like < 1171236881 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and in another note, these parsers/languages are usually the ones that one can create by hand without too much effort < 1171236895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :using recursive descent < 1171236981 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Ah, of course, pascal parsers were traditionally written in Pascal, weren't they? < 1171237022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1171237059 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think Wirth's idea was that the grammar _should_ be simple enough to write a parser manually < 1171237093 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but of course i am as usually using my vague memory to sound competent & wise :) < 1171237113 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*usual < 1171237183 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but then i have always enjoyed parser theory < 1171237192 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses an external memory enhancement at times < 1171237231 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how many years before Wikipedia plugs directly into the brain? < 1171237342 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With Ratpoison and Conkeror, it's close enough already. < 1171237433 0 :sebbu2!unknown@unknown.invalid QUIT :"@+" < 1171237554 0 :GregorR!unknown@unknown.invalid NICK :_D6Gregor1RFeZi < 1171237701 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Is that valid Malbolge, Gregor? < 1171237726 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Fe is iron and Zi is zirconium, IIRC < 1171237889 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm writing a bencode parser in python < 1171237932 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hexadeuterium monogregor monoR moniron monozirconide? < 1171237999 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1171238031 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i can't figure out how to do lists without backing up < 1171238032 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Seems like an unlikely chemical forumula. < 1171238045 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :map (`mod` 94) $ zipWith (+) [0::Int ..] $ map (fromEnum) "_D6Gregor1RFeZi" < 1171238058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :gives [1,69,56,74,24,12,15,24,28,58,92,81,19,9,25] < 1171238070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1171238071 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Fascinating. < 1171238082 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which means it is probably not legal Malbolge < 1171238084 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1171238100 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's *perfectly* valid Brainfuck, though. < 1171238108 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Although it's equivalent to a null program. . . < 1171238109 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't do much though :P < 1171238239 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Nobody can guess what it is? :( < 1171238264 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok, got lists, it's ugly though < 1171238265 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is it an esoteric language? < 1171238271 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Nope < 1171238324 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess with the Gregor in it it is not a chemical formula either < 1171238342 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Nope < 1171238348 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what is ugly? < 1171238357 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's Gregorium. < 1171238360 0 :_D6Gregor1RFeZi!unknown@unknown.invalid PRIVMSG #esoteric :Obviously none of you mess with name mangling much :P