< 1272067205 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: dear diary < 1272067232 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and i really cannot quite decide whether it was an illusion or not < 1272067275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well this was mostly to oklopod, we were talking about northern lights a day before < 1272067320 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the nights are swiftly getting lighter up here, so the northern lights are supposed to become invisible around this time or so < 1272067385 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :back to the logs -> < 1272067588 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :my raindrops feel a bit boring compared to northern lightning :< < 1272067675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rain is boring. that's what it _does_. < 1272067687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :its purpose of existing, almost. < 1272067706 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with the occasional flood exception < 1272067723 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, and rainbows < 1272067871 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :drizzle < 1272067890 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1272068193 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : what's a good prime? <-- http://en.wikipedia.org/wiki/Good_prime < 1272068218 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cackles maniacally < 1272068228 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :strange name < 1272068289 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well with perfect, abundant, friend etc. around, it was only a matter of time < 1272068291 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no more strange than "perfect number" < 1272068299 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I should define, say, an "awesome real" < 1272068305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :go for it < 1272068314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so long as all instances of it are over 9000 < 1272068339 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1272068363 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION regretfully concludes that is probably not a known term < 1272068607 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm trying to make it something computers can actually find instances for < 1272068614 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so that we can maintain, say, a list of known awesome reals < 1272068620 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272068630 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : actually the current interp can barely handle operations on numbers of size 7, but you could easily go to 20 with simple optimizations < 1272068633 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :either that, or something that's undecidable in general but decidable in specific cases < 1272068638 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which would have a similar effect < 1272068667 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :trying to do something with the riemann zeta function cuz I HEAR IT'S MYSTICAL < 1272068670 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think with hash consing done properly, the basic operations of toi should be at most O(n log n) or thereabouts... < 1272068689 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh hm < 1272068696 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272068710 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :n would be the number of elements of elements of S, or something < 1272068717 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/private/5esc4wqvtk2uzrkqfvpkw series expansion of zeta(1/x)^-x at x=oo < 1272068740 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :More fun in image form, where it's 7465x37 pixels. < 1272068742 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway the point would be that no primitive operation looks very deep at the set < 1272068749 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It has rather large tops of fractions. < 1272068755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And it's all in a fucking exponent! < 1272068760 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The wonders of computers. < 1272068859 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it might also be an idea to optimize ([r], i think < 1272069066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :* alise wonders if "madame" is correct for this nick's customised gender structure.. <-- mademoiselle, surely? < 1272069074 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272069090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unless you're customizing as an old married woman < 1272069182 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i mostly just meant simple optimizations to what i had < 1272069200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : "Stuck"; a nice word to describe Britain. < 1272069212 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well; being in Britain. < 1272069242 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :currently emptying with ([r] takes O(n^2) time or something, i think < 1272069257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the media here (well at least the largest paper) have for recent obvious reasons invented the word "askefast", which means "ash-stuck" and which they use all the f*ing time < 1272069326 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: well it repeats r depth(S) times... < 1272069349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Oh, I didn't mean it in that way. < 1272069358 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I don't care about Iceland's volcanoes, much. I just don't like this island. < 1272069360 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: oh, you haven't implemented hash consing yet? < 1272069360 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :currently i have numbers stored as python numbers which are converted to sets and back to numbers at every step < 1272069366 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Particularly its government. < 1272069366 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: i just found it apropos < 1272069370 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Yes. < 1272069371 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i have, but that didn't help, maybe i did it wrong somehow. < 1272069372 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: It is that. < 1272069378 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :so now i special case numbers < 1272069386 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :currently in a pretty stupid way < 1272069395 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i've had a headache all day < 1272069437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: as i implied, the thing is that no basic operations should recurse. so comparing two already cached sets should be constant time < 1272069458 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pointer comparison, presumably < 1272069459 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :comparing was constant time < 1272069467 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :but building numbers was not < 1272069476 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yes it was pointer comparison < 1272069483 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :sort of < 1272069486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :including for ordering? < 1272069497 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean? < 1272069517 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ordering is nice for building sets quickly, since you can sort the list of subsets < 1272069534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*elements < 1272069554 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't matter _what_ ordering, it's just so you have a unique sorting < 1272069563 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oh hmm actually i did have that < 1272069575 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1272069575 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :but i'm not sure i used it?!? < 1272069581 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272069584 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :anyway the point is it was still exponential to build a numbre. < 1272069588 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :*nombre < 1272069595 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah that would be bad < 1272069604 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :building a number shouldn't be exponential < 1272069612 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :now it's constant time < 1272069624 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, even without special casing on numbers < 1272069647 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :why don't you implement this thing if it's so fucking easy :D < 1272069653 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i guess it could still end up O(n^4) or something like that < 1272069659 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because i'm lazy, of course < 1272069671 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :or i could once i get a good night sleep < 1272069712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :especially r and a would benefit from using ordering, i guess < 1272069734 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :hmm why? < 1272069740 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272069751 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :since you combine a lot of elements at the end < 1272069775 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :combine? < 1272069786 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :union < 1272069799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :r is taking the union of all subsets < 1272069814 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and a does that + one more element < 1272069824 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*of all elements < 1272069824 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :so you'd have like a merge < 1272069832 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :of all subsets < 1272069840 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm having a hard time defining an awesome real :( < 1272069858 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :all the awesome reals have been invented already < 1272069886 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :go for it, alise < 1272069895 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :are the awesome reals dense on R < 1272069900 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :*in < 1272069903 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying! But all the instances must be above 9000. < 1272069907 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272069908 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Preferably there should be infinitely many of them. < 1272069909 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :then i guess not < 1272069915 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: ais dictated. < 1272069920 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also the equation must be suitably long and ridiculous. < 1272069925 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :or otherwise you have one crazy ass topology < 1272069934 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I do have one crazy ass-topology < 1272069992 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :only one? < 1272070012 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :well. many < 1272070013 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :to be crazy, an ass-topology must have at least two holes < 1272070029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just so you know < 1272070035 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :alise: there's a note to you in the logs from this week, btw < 1272070037 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i guess none could also work < 1272070059 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pineapple: Do you know what day? < 1272070067 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: oh and we were supposed to remind you about the link you put in the topic just before you left < 1272070069 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :monday i think, although grep by your name < 1272070078 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah i found that < 1272070078 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whatever it was ;D < 1272070079 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pineapple: no downloaded logs < 1272070098 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :umm... < 1272070114 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :i _think_ it was monday < 1272070124 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :but i don't remmeber < 1272070125 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:52:12 alise for the logs: the iPhone developer contract is getting even crazier, see http://www.wired.com/epicenter/2010/04/with-new-developer-agreement-apple-unlevels-the-iad-playing-field/ < 1272070126 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :was that it? < 1272070129 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272070153 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :alise: did you find that interesting < 1272070155 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok, thanks < 1272070156 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: no < 1272070173 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :alise: did i tell you about toi yet ?!? < 1272070178 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: OMG# < 1272070191 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :HI PINEAPPLE WANNA HEAR SOMETHING INTERESTING < 1272070198 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i should really stop this < 1272070228 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :did you know that (Z, .-., Pos) where Pos(x) = x > 0 expresses the relation greater-than?? < 1272070232 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AMAZING AMIRITE < 1272070249 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i did not < 1272070275 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :because i don't know what that means < 1272070320 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :well unless it means "use the things in this tuple in a sensible way" < 1272070334 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we say (S,F,T) expresses a binary relation R on A where F : A -> A -> S and T is an unary relation on S, if < 1272070346 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :T (Fxy) <=> xRy < 1272070351 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we say this for no particular reason < 1272070394 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :parti cular < 1272070502 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :a partyious cular < 1272070545 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i wanna make another esolang < 1272070574 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately i'm out of awesome ideas < 1272070584 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :maybe i could base a language on awesome reals < 1272070604 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i'm gonna go away now < 1272070638 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: make an esolang based on type theory < 1272070641 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or, you know, awesome reals < 1272070646 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :make a real computation language < 1272070651 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :uncomputable, so just approximate! < 1272070716 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yes a bit of topology and ergodic theory < 1272070776 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :maybe i'll do real computation < 1272070812 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: how can you /not/ implement somethingcalled the blum-shub-smale machine < 1272070839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*something called < 1272070859 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Blum-Shub-Smale_machine ;; only three operations so clearly the perfect tarpit < 1272071020 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :16:18:15 Gregor: Well, yeah. I think if the President gave a blowjob, the entire right wing would just have a heart attack and die. < 1272071023 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Please make this happen quickly. < 1272071042 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Hah. < 1272071063 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :What if the President performed autofellatio? < 1272071084 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :He'd be giving /and/ receiving a blowjob; he'd be Lewinsky and Clinton simultaneously, in a sort of quantum construction. < 1272071087 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I do believe their heads would asplode. < 1272071126 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I should note, though: the key to this is the President not being a Republican. < 1272071146 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If he's a Republican, they will gladly back him banning heterosexuality. < 1272071156 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(there's a funny thought) < 1272071375 0 :Rugxulo!~rugxulo@adsl-065-013-115-246.sip.mob.bellsouth.net JOIN :#esoteric < 1272071392 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : alise: Vi vejnas unan Interneton. < 1272071397 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :uh oh < 1272071398 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :s/Interneton/Interreton/ < 1272071403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :phew < 1272071408 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : arch/x86/kernel/head_32.S:64: Warning: shift count out of range (32 is not between 0 and 31) < 1272071422 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :you can't shift by 32 (anymore), that would be a effectively a NOP < 1272071441 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :8086 allowed it, but 386+ masks to lower five bits (e.g. 32 or less value) < 1272071444 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which is why he quoted it. < 1272071489 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :BinUtils' GAS does allow ".arch" nowadays, presumably to tighten up such sub-architectural differences < 1272071708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo, that was from the kernel < 1272071712 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which was pretty strange < 1272071722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :night → < 1272072258 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, awib don't work for me < 1272072293 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :o < 1272072382 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :" alise: Vi vejnas unan Interneton." " uh oh" " s/Interneton/Interreton/" " phew" < 1272072388 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :classic alise < 1272072416 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :am i having a dream? < 1272072429 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1272072441 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Nope, you're not. < 1272072449 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :But don't take my word for it. < 1272072456 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1272072472 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Because you don't know whether you're dreaming or not, meaning I'm not a reliable source. < 1272072493 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Try cutting the mushroom; if anything around is orange, that will heal the tortilla wounds. < 1272072505 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :If that made any sense, you're dreaming. < 1272072527 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :but my brain doesn't lie to me < 1272072541 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Uh oh, we've lost him. < 1272072545 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION mourns. < 1272072560 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :well it dunnot! < 1272072570 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :good brain mine one < 1272072624 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Mourning the lost is more difficult when they're still standing around and saying stuff. < 1272072632 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :The walking dead. < 1272072653 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yes that's the worst kind of death < 1272072685 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION builds a wall in front of oklopod. < 1272072694 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION builds a wall to the left of oklopod. < 1272072702 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION builds a wall to the right of oklopod. < 1272072709 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION builds a wall behind oklopod. < 1272072717 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :There, now we can't see you, so we can mourn properly. < 1272072719 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1272072726 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :\o/ < 1272072726 0 :myndzi\!unknown@unknown.invalid PRIVMSG #esoteric : | < 1272072726 0 :myndzi\!unknown@unknown.invalid PRIVMSG #esoteric : >\ < 1272072728 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sneaks oklopod out through an underground tunnel < 1272072733 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :stuff -> < 1272072734 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1272072736 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1272072755 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Darn, I knew I should have built a wall below oklopod and above oklopod. < 1272072762 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Now I have to start all over. < 1272072765 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses the wand of digging to go through the wall ... an orc wizard appears! < 1272072812 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION builds a wall in front of oklopod and builds a wall to the left of oklopod and builds a wall to the right of oklopod and builds a wall behind oklopod and builds a wall under oklopod and builds a wall above oklopod. < 1272072832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses zzo38's Zwischenzug on the orc wizard < 1272072844 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: oklopod already left, pay attention < 1272072857 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I'm building a wall around his new position. < 1272072863 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gives oerjan a scroll of recharging but needs scroll of identify to understand "Zwischenzug" < 1272072905 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses a wand of teleportation to secretly follow from far away ... < 1272072910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: i think you'll have to ask zzo38 for that, at your own risk < 1272072931 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sacrifices zzo38 to Trog ... Trog is greatly pleased < 1272072986 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :would you like fries with that < 1272073005 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION eats a snozzcumber < 1272073015 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thought it was bland < 1272073063 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws a critical failure on his Recognize Reference skill < 1272073177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses one google point to reroll < 1272073415 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :http://crawl.develz.org ;-) < 1272074152 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"Real" is such a bad name for the real numbers. < 1272074168 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Considering how many of them are quite thoroughly not real, and in fact their whole existence can be questioned. < 1272074346 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :In what sense can any mathematical construct be said to exist? < 1272074353 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They're certainly no *more* real than, say, the natural numbers. < 1272074374 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or even the natural numbers mod a convenient power of 2. < 1272074379 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :a hamster is something that hams < 1272074399 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ah but the reals are much, much more questionable than the naturals. < 1272074412 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Even if you accept reals as a whole, some things are as unreal as you can get -- in fact, bordering on the impossible. < 1272074425 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The reals are a fairly non-obvious construction, yes. < 1272074431 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :For instance, http://en.wikipedia.org/wiki/Chaitin%27s_constant, the probability that a random program will halt in a given language. < 1272074442 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The non-computable reals in particular make you go "WTF". < 1272074446 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Totally uncomputable; lets you solve the halting problem; and yet still, a bona-fide real. < 1272074449 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And then consider this. < 1272074451 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :*hamsts < 1272074460 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Almost all reals -- mathematically -- are uncomputable. < 1272074470 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :o rly? (couldn't resist) < 1272074473 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So really there are not many reals that are real, and many reals that are not real at all! < 1272074491 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Almost all"? Hmm. ... Actually, yeah. < 1272074499 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: is http://www.vjn.fi/oklopol/toi.py your current implementation? < 1272074505 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :almost all with the lebesque measure < 1272074507 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes < 1272074508 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Any non-computable real plus a computable real is itself non-computable... < 1272074527 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it's been proved yeah < 1272074527 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reviews an app on the Market < 1272074529 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i think i uploaded the most recentest of changes < 1272074531 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which I *think* makes the set of non-computable reals larger than the set of computable reals. < 1272074538 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1272074542 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the computable reals are countable < 1272074544 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmkay then. < 1272074547 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :computable = computable by a turing machine < 1272074552 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Oh, *duh*. < 1272074556 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :consider a brainfuck algorithm as a list of naturals mod 8 < 1272074559 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Didn't show up on AppBrain < 1272074560 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sum up appropriately < 1272074561 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Q.E.D. < 1272074562 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The computable reals have a Godel numbering. < 1272074564 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272074584 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the computable reals are harder to prove results about though :( < 1272074593 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like the cauchy-sequence definition doesn't even let you prove the trichotomy of the reals < 1272074597 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :a zero real times a nonzero real is a zero real, this makes the zero reals a larger set than the nonzero reals < 1272074598 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but they most *certainly* exist. < 1272074604 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :definitely < 1272074606 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :as real as the naturals < 1272074619 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You can point at the programs that produce them. "See, there it is." < 1272074623 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and i'm pretty strong on my faith in naturals < 1272074628 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :though it /has/ wavered once or twice < 1272074658 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :also constructivism has greener grass < 1272074662 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's more satisfying < 1272074663 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Whereas the non-computable reals are pretty much an arbitrary, abstract construct, which exists pretty much because the definition was easy (near as I can tell). < 1272074672 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :classical bozos, they define a bunch of constraints that their reals have to satisfy < 1272074676 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and say "there's only one. that's ours" < 1272074678 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you don't see it, feel it < 1272074683 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's all symbol manipulation < 1272074692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :us constructivsts get actual concrete code and functions we can compute with < 1272074697 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :actual, well, constructions < 1272074727 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I just care about what lets me do interesting things, myself. :P < 1272074741 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: it looks like you are reimplementing the one thing which iirc python already does _extremely_ well built in, namely hash table dictionaries < 1272074768 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :constructivism is so goddamn boring < 1272074776 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: yeah well so's your mom < 1272074778 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i'm not using the hash thingie < 1272074788 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: btw if you disagree with the uncomputable reals then you're half-way to rejecting forall P, P \/ ~P anyway < 1272074806 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: I don't care if something's an abstract construct. < 1272074812 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm just noting that it is one. ;) < 1272074825 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :since the computer-age rejection of that is that, since propositions:types and proofs:values, < 1272074826 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :forall P, P \/ ~P < 1272074838 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :would have to be a decision procedure that can formulate a proof or disproof of any proposition you hand it! < 1272074869 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and indeed in some cases we can prove that some propositions cannot be proved or disproved... and then the law of the excluded middle conjurs up one anyway! (not that we know /which/, but if we know it cannot prove /either/...) < 1272074901 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i'm not a constructivist in that i reject abstract constructions... everything's abstract < 1272074921 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I just don't accept magical decision procedures :p < 1272074924 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i would've thunk p v ~p just says in any model of the system one is true, if we can't prove either then it depends on the model which one is true < 1272074939 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah but the curry-howard interpretation is < 1272074949 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(P:Prop) -> P \/ ~P < 1272074951 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :where ~P = P -> Void < 1272074957 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and \/ is just a disjoint union type < 1272074959 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e. Either < 1272074963 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :now if P:Prop < 1272074969 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then p:P means "p is a proof of P" < 1272074994 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: oh. < 1272074994 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so L.E.M. takes an arbitrary proposition -- even a statement independent of the axioms -- and conjurs up "either a proof or a disproof" < 1272075002 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we can't inspect which it is computationally; but that's the sematncis < 1272075003 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*semantics < 1272075021 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: and the code is not exactly my best work, i just wanted to quickly hack some half-working shit up < 1272075034 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure that p \/ ~p just implies that the veracity of p is a Bool, not True | False | FileNotFound or some shit. :P < 1272075035 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :...and then i've hacked optimizations in on top of each other all day < 1272075047 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yeah but this is a fundamental misunderstanding of the entirety of curry howard < 1272075051 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's got nothing to do with booleans at all < 1272075055 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :which isn't a very fruitful approach always < 1272075066 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :relating logic to booleans is presupposing the law of the excluded middle which is the whole thing i'm arguing against < 1272075078 0 :Rugxulo!unknown@unknown.invalid QUIT :Quit: gone back to Befunge ... < 1272075103 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: if i implement toi will you love me < 1272075107 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, well, fuck you and your system of logic that I can't reason about. < 1272075110 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :thought so; implementing < 1272075115 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: <3 < 1272075121 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :type theory is here when you want it < 1272075139 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Screw that, we're forcing all of math into C. < 1272075149 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :the problem with constructivism is it's not at all interesting < 1272075149 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it doesn't fit into the system memory it doesn't exist. < 1272075154 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :it's really boring and stupid < 1272075163 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i hate it < 1272075167 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :and i hate everyone around it < 1272075171 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And for the sake of pain, 8-bit system. < 1272075190 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :in fact i'm gonna convert to destructivism < 1272075203 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: You are become Shiva? < 1272075212 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :alise: yes, i will love you despite your constructivist doctrine < 1272075234 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: not just my mathlosophy < 1272075238 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :*no < 1272075254 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i didn't know you actually read code < 1272075262 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i figured mathematicians aren't allowed < 1272075301 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :alise: just kidding though, constructivism is kind of sexy too < 1272075316 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION realises that < 1272075319 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data Set = Empty -- ∅ < 1272075320 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : | Cons Set Set -- X ∪ {t | t ∈ s, s ∈ S} < 1272075322 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :needs a singleton :P < 1272075349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data Set = Empty -- ∅ < 1272075349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : | Singleton Set -- {A} < 1272075349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : | Cons Set Set -- A ∪ {t | t ∈ s, s ∈ B} < 1272075350 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's better < 1272075356 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hey it's worth a try :P < 1272075371 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :succS :: Set -> Set < 1272075371 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :succS n = Cons n (Singleton (Singleton n)) < 1272075379 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: why exactly do you use ordinals? < 1272075380 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :is it ready soon? < 1272075409 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :mostly because they're exponential in size i guess < 1272075414 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The Android browser feels jumpy < 1272075417 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :von neumanns < 1272075447 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: yeah but do you actually use any infiniteness? < 1272075454 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :no < 1272075522 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272075536 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hopes he doesn't fill up his SD card too soon < 1272075652 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :what's the trichotomy of the reals? < 1272075666 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :forall n, n<0 \/ n=0 \/ n>0 < 1272075668 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :exactly one is true < 1272075675 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :substitute 0 for arbitrary m, etc. < 1272075692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or at least fax says you can't prove it on the cauchy sequence computable reals < 1272075709 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: you will be pleased to know that my set representation works < 1272075719 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah because a sequence could -> 0 without there being a proof of it < 1272075721 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :any more lovely infrastructure before the boring lang? < 1272075734 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah < 1272075758 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :alise: now express omega_1 in your representation! < 1272075774 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :see oklopod promised me it was all finite :P < 1272075781 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1272075805 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :let s r = Cons r (s (succO r)) in s zeroO < 1272075806 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that works though < 1272075808 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :What's the smallest ordinal you can't express? < 1272075817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :enumeration doesn't yield anything though :P < 1272075817 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: i notice you are not using hash consing (somewhat tricky in haskell i should think) so you'll have the same exponential blowup problem < 1272075828 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well... foo to you < 1272075837 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should just do it as {elem:true, ...} in python < 1272075839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that would work :P < 1272075856 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :python has sets < 1272075858 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :too < 1272075866 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272075869 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :they're represented by that < 1272075887 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :well if that's so then i'll complain about you writing true as True < 1272075889 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :err < 1272075891 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :the other way around < 1272075910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm almost tempted to write my own version, but i would have to download python and relearn some things first... < 1272075913 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :and if you say both are okay in the new python then i'll complain about your mother < 1272075933 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yay competition < 1272075971 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :well okay oerjan can't really be competition since he either does nothing or owns me completely < 1272075978 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1272076018 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sdfjsdfsdf python's add method of sets is destructive < 1272076035 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yeah there's a separate immutable set < 1272076053 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm could mutability work < 1272076055 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I mean S is global < 1272076061 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i used it at first < 1272076076 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :but had to change it when i started sharing < 1272076090 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Do not manipulate this application while driving. Traffic data is not real-time, and directions may be wrong, dangerous, prohibited, or involve ferries." < 1272076103 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sharing, just like a polygamist < 1272076110 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: so what did you just use immutable sets < 1272076123 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :no < 1272076129 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :meh, you still have to union with a singleton with frozenset < 1272076131 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i used something really weird < 1272076141 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i think i now use lists < 1272076181 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272076186 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sets have to contain hashable things < 1272076188 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sets aren't hashable < 1272076191 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272076194 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :need frozenset < 1272076211 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i think that's why i didn't use sets, didn't want to use frozensets < 1272076216 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :because their name sounds scare < 1272076218 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :*y < 1272076346 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :def a(S): return S.union(frozenset(S)) < 1272076349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :can't be this easy can it < 1272076368 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :that's a, yes < 1272076369 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nope it isn't < 1272076379 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1272076388 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :cuz it returns wrong results. < 1272076408 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oh well umm < 1272076414 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yes i suppose it makes absolutely no sense < 1272076433 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :you need to go one deeper < 1272076451 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :but it is definitely that simple < 1272076466 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :it's 0 on simpleness scale < 1272076527 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :or is it hardness scale < 1272076693 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :the only nontrivial part of implementing the thing is implementing the sets and numbers < 1272076694 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :having to detect ordinals is way too boring < 1272076705 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[# 'E' does not add the error set to S. ]] i see < 1272076781 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1272076952 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: what does (A{B do < 1272076958 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :seeing as only brackets must be balanced < 1272076960 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(AB}? < 1272077333 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that should be (A{B} < 1272077358 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :...oh < 1272077529 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :HA HA HA < 1272077536 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i should make my own wonderful language < 1272077542 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :based on the natural numbers < 1272077557 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like the whole thing is an induction over an infinite amount of natural variables < 1272077823 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :the problem is every language after this day will just be a bad copy of toi < 1272077854 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oh dear it's like 5 am < 1272077879 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :who cares < 1272077884 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you're too interesting to leave < 1272077886 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :<- this dude < 1272077904 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: what < 1272077920 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm how about a language where the computation is solving an infinite number of polynomials... < 1272077961 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :by hilbert's basis theorem any infinite set of diophantine equations is equivalent to its finite subset < 1272077979 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272077986 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :you're a constructivist, right < 1272077988 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :then nm < 1272078004 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :bastard :) < 1272078023 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :constructivism =/= finitism < 1272078036 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah but i meant < 1272078042 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1272078042 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :so constructivism allows for infinity? < 1272078049 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :what i meant is it requires aoc afaik < 1272078050 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :define infinity < 1272078053 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: sure < 1272078056 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :constructivists accept that < 1272078072 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i haven't actually read the proof, i've just bumped into the theorem when it's been used < 1272078072 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: it's probably a much less radical position than you imagine. < 1272078101 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: for every R : A -> B -> Prop, (forall a, exists b, R a b) -> (exists f : A ->B, forall a, R a (f a)) < 1272078114 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :since the exists is already a bundling of a value, it's basically just unwrapping the exists and returning the value < 1272078118 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*oklopod: for every R : A -> B -> Prop, (forall a, exists b, R a b) -> (exists f : A -> B, forall a, R a (f a)) < 1272078119 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :missed a space < 1272078123 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the AoC is provable in type theory. < 1272078152 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :so i hear < 1272078184 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so there. < 1272078202 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i guess you win this round, constructivist bear < 1272078318 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: implement http://en.wikipedia.org/wiki/Blum-Shub-Smale_machine < 1272078319 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nao! < 1272078571 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :nnno! < 1272078603 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1272078616 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you're made of upset. < 1272078658 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oklopod: write a toi selfinterp < 1272078662 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :actually shouldn't be so hard. < 1272080319 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :there is ~no documentation of plain tex without latex < 1272080500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sure there is. < 1272080578 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The TeXbook, by Donald Knuth. < 1272080607 0 :Alex3012!~chatzilla@ool-18b989d3.dyn.optonline.net JOIN :#esoteric < 1272080642 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah yeah < 1272080646 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if it's not online easily it doesn't exist < 1272080667 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ctan.org/tex-archive/systems/knuth/dist/tex/texbook.tex < 1272080712 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :heh it is so primitive you even have to do all sizings yorsuelf < 1272080725 0 :Alex3012!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272080771 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i kinda like it though < 1272080773 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :latex is so heavy < 1272080807 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, LaTeX is a pretty meaty set of macros. < 1272080823 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and if it's good enough for knuth.. < 1272080873 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :\loop\iftrue < 1272080874 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : \errmessage{This manual is copyrighted and should not be TeXed}\repeat < 1272080877 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's some amazing copyright protection < 1272080892 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Quite. < 1272080913 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :removed, but then < 1272080915 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :% Macros for The TeXbook=> < 1272080919 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it wants the what now < 1272080932 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Sorry. ftp://tug.ctan.org/pub/tex-archive/systems/knuth/dist/lib/manmac.tex < 1272080942 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It comes with its own macro set. XD < 1272081011 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :% Macros for The TeXbook=>manmac.tex < 1272081012 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :=> < 1272081012 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :\catcode`@=11 % borrow the private macros of PLAIN (with care)=> < 1272081013 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :WHAT DO I DO :P < 1272081023 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh god it's running thorugh every line with me < 1272081054 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :should i just cat the files together < 1272081061 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I dunno. < 1272081191 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Raise your hand if you knew that Android had built-in MIDI support < 1272081196 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION did not < 1272081242 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/texbook$ pdftex -interaction batchmode texbook.tex < 1272081243 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) < 1272081243 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : %&-line parsing enabled. < 1272081243 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :entering extended mode < 1272081243 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :% The log file now contains lines like these; I copied them=> < 1272081244 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :whattt < 1272081294 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Output written on texbook.dvi (90 pages, 300556 bytes). < 1272081296 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no idea what i did wrong < 1272081395 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :We all oughta rewrite typesetting from scratch. < 1272081459 0 :Alex3012_!~chatzilla@ool-18b989d3.dyn.optonline.net JOIN :#esoteric < 1272081513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Output written on texbook.pdf (408 pages, 1822989 bytes). < 1272081513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sounds about right < 1272081528 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1272081534 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh well < 1272081722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So, failing the TeXbook, I must unreliably google about. < 1272081919 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: What? It seems that you even have to set paragraph spacing yourself. < 1272082042 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :\def\\{\par\hangindent 20pt\noindent\ignorespaces} < 1272082044 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :--Knuth's CV < 1272082052 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Honestly. < 1272082123 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Mind, it is pretty: http://www-cs-faculty.stanford.edu/~knuth/vita.pdf < 1272082834 0 :augur!~augur@c-68-54-80-152.hsd1.md.comcast.net JOIN :#esoteric < 1272083777 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :4:35; start bugging me to embed myself soon. < 1272083991 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: go to bed! < 1272083996 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no! < 1272083999 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(keep going) < 1272084001 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but thou must! < 1272084019 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no wait, don't google that < 1272084048 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and _certainly_ don't click on the first google hit. go to bed instead. < 1272084069 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and so the google machine fires up < 1272084073 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :FUCK < 1272084078 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :MWAHAHA < 1272084103 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to cry now < 1272084145 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just close the tab. how hard can it be? < 1272084208 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah i did so < 1272084211 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i'm just hardcore like that < 1272084214 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1272084224 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :clicked one or two links, you know, got bored, closed all the tabs < 1272084230 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now i just need to follow my own advice. except the going to bed part. < 1272084231 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nothing special huh eh < 1272084264 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it just proves you're really an alien. < 1272084281 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The Brainfuck for Android app only allocates 300 bytes for the array < 1272084367 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272084373 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: so, your android verdict? < 1272084402 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :completely worthless for your enterprise brainfuck solutions < 1272084470 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Not the best out-of-the-box experience, especially keyboardwise. Pinch-to-zoom in the browser has a "feature" that I really don't like, that makes the browser seem jumpy. < 1272084500 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :With the N1, you have to be very careful that your palm doesn't end up resting on the touchscreen, but that's presumably due to multitouch issues < 1272084530 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It should be noted that my only basis for comparision is having typed on an iPhone keyboard yesterday. < 1272084545 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Apart from that? < 1272084574 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The Music app seems to have strange BACK semantics < 1272084589 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Apart from that? < 1272084598 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You want me to say good things/ < 1272084691 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm wondering if there are any good things. < 1272084729 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I can browse the web on it. I can make phone calls from it [if I had a SIM card in it]. Things like the calendar app don't waste screen space on a Menu button. < 1272084744 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Apart from that, I'd need to have tried another smartphone in order to be able to make any comparision < 1272084744 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So it's good, right? < 1272084747 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :On the whole? < 1272084768 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :alise, you'd need to try it < 1272084774 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :kay :P < 1272084789 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Either that, or I need to really try an iPhone < 1272084822 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I liked how the Reddit app integrates with, say, apps that let you share things. You can share through Reddit < 1272084837 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Not that the reddit app is that great [it's a bit crashy] < 1272084935 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can Last.fm scrobbers work on iPhone? Somehow, I doubt it < 1272084956 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[I'm assuming scrobber == app that reports to last.fm what music you're listening to] < 1272084997 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://github.com/talklittle/reddit-is-fun/issues#issue/43 bug report on Reddit app < 1272085264 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1272085457 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :5:03; now I've reached my threshold of snaity. < 1272085648 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`define snaity < 1272085650 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1272085672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :YOU BASTARD YOU ARE MAKING UP WORDS < 1272085678 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ALSO, GO TO BED < 1272085761 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :wow, snaity < 1272085766 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :my new <3ourite word < 1272085770 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :<3 pronounced fav < 1272085796 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :NOW YOU ARE MAKING UP PRONUNCIATIONS < 1272085846 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i'm hysterically accurate < 1272085900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :VADE IN FULCRUM < 1272085988 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Another bad point: The trackball FEELS as though a minute movement should equal one movement of the cursor, but it doesn't < 1272085996 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[mild point, really] < 1272086021 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :5:13 it is light outside < 1272086022 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Would probably be unusable < 1272086026 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :alise, go to sleep! < 1272086028 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :where is my motivation at < 1272086031 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok what do i need to do... many things < 1272086040 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok ok there are many steps involved in that process < 1272086043 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :firstly, i will close curtains < 1272086065 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :FAILURE < 1272086070 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :curtain turns out to actually be blanket < 1272086075 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hangs up blanket < 1272086096 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i'll do that last < 1272086136 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so i < 1272086138 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i < 1272086141 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i guess i should go < 1272086153 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but... you know, I'll stay logged in until I actually go to bed >_> < 1272086168 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but let this be bye until tomorrow! < 1272086206 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sweet dreams < 1272086385 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1272086651 0 :alise!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272086705 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :hi e veryone < 1272086715 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :i shouod sleep soon¨ < 1272086717 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :ö < 1272086905 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :slëëp < 1272086930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ïs rëgülärlÿ rëcömmëndëd < 1272086941 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :yrs < 1272086943 0 :oklopod!unknown@unknown.invalid PRIVMSG #esoteric :->> < 1272087460 0 :augur!~augur@c-68-54-80-152.hsd1.md.comcast.net JOIN :#esoteric < 1272088686 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Today, I wrote a PDF viewer :P < 1272089119 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION assumes there are some qualifications < 1272089130 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :besides genius, that is < 1272090473 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1272090581 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Oh? < 1272090650 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: http://www.mobileread.com/forums/attachment.php?attachmentid=50406&d=1272083550 < 1272090873 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not bad. I presume you linked against a PDF rendering library? < 1272090883 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Seems like writing a full PDF implementation would take a *bit* more than a day. < 1272090913 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272091345 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reappears. < 1272091349 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: poppler < 1272091380 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1272091383 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: It's just meant to pseudo-reflow by cutting up two-column documents such that you can read a page in two half-page views instead of four. < 1272091384 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figured. < 1272091390 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmmm. < 1272091402 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Which is important when you're on an eInk-based reader :P < 1272091996 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1272093010 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1272093233 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1272095999 0 :clog!unknown@unknown.invalid QUIT :ended < 1272096000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1272096206 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: if you were on a mac, you could write a million in a day < 1272096206 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1272096331 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :augur: Or he could just install GNUstep and write the same code. < 1272096346 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1272097041 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272097065 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1272097544 0 :jcp!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1272098204 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272102809 0 :Rugxulo!~user@adsl-065-013-115-246.sip.mob.bellsouth.net JOIN :#esoteric < 1272104138 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :new BEFI.COM, faster but still only 1014 bytes -> http://board.flatassembler.net/topic.php?t=10810 < 1272104231 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1272104344 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is trying in vain to write a Befunge93 interpreter in REXX < 1272104357 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :I'm too dumb, I guess, too inexperienced < 1272105533 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :weird quirk, fixed it, now for the rest of the bugs and lacks :-/ < 1272105603 0 :oklopod!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1272105826 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1272106721 0 :oklopod!~oklopol@a91-153-122-35.elisa-laajakaista.fi JOIN :#esoteric < 1272107021 0 :Rugxulo!unknown@unknown.invalid QUIT :Quit: ERC Version 5.3 (IRC client for Emacs) < 1272107742 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1272108841 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1272110864 0 :nooga!~nooga@188.74.72.61 JOIN :#esoteric < 1272112306 0 :Asztal!~asztal@host86-160-121-60.range86-160.btcentralplus.com JOIN :#esoteric < 1272112668 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1272117422 0 :Alex3012_!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272117600 0 :Alex3012_!~chatzilla@ool-18b989d3.dyn.optonline.net JOIN :#esoteric < 1272119071 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Kokous jatkuu, mutta älä välitä aikaa < 1272119418 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :En halua ihmisten elää, tiedän, Internet saippua! < 1272119472 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm having trouble untranslating the latter < 1272119577 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Joten, kaikki kanit melko emotionaalinen kidutus - kyllä! < 1272119835 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :something about internet soap? < 1272119895 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, a bad translation of "I don't want anybody in real life knowing I have soap from the Internet!". < 1272119899 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Using a special bad translator. < 1272119951 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Darn, I thought the soap was just something random < 1272119981 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Raskauteen liittyvät tulkinnat ultraääni raskaana presidentti Oklahoma. < 1272119984 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hence the trouble; I was trying to figure out what could cause it < 1272120003 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I would appreciate these more if I actually know Finnish. < 1272120008 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :s/know/knew/ < 1272120009 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What're you using, intertran or something? :-P < 1272120018 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Something like that, yes! < 1272120022 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :http://www.conveythis.com/translation.php < 1272120043 0 :aschueler!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272120111 0 :Alex3012_!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272120124 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't allow setting the source lang, meh < 1272120155 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :You can always enter something in Finnish and wait for it to get translated from Finnish, and then put the resulting English back in. < 1272120163 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :And see what the Finnish is. < 1272120165 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Except that it detected my Finnish as Afrikaans :-P < 1272120173 0 :aschueler!~alec@host86-131-211-147.range86-131.btcentralplus.com JOIN :#esoteric < 1272120188 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or does it always start from there < 1272120194 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it does. < 1272120205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, that uses Google's translator, which is fine < 1272120234 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Bad Translator!: "I am happy about this" -> "Olen erittäin onnellinen." < 1272120243 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :InterTran: "I am happy about this" -> "I-KIRJAIN olen iloinen jokseenkin nyt kuluva." < 1272120296 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Huh, apparently Google Translate thinks that the Portuguese word "Oklahoma" means Texas. < 1272120300 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :BT turned it into en:"I am very happy", InterTran came up with en:"THE LETTER I I am happy somewhat now ongoing" < 1272120339 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I love how InterTran turns "I" into "THE LETTER I" < 1272120369 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Since, you know, that's what I usually means. < 1272120390 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Sherman, Texas, 24 raskaana olevia työntekijöitä. < 1272120408 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Except that it usually doesn't mean that. < 1272120436 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And never when followed by "am". < 1272120476 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Devil ja slithy Zhimbl pehmeä ja mieto kylmä-kuin: Misebiles borogoves outgrabe nyt ja rotilla. < 1272121061 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :For what that particular translation sounds like, there are four possibly more reasonable ones at http://fi.wikipedia.org/wiki/Pekoraali < 1272121400 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :try using InterTran to translate a page from English to English. It's amusing. < 1272121906 0 :aschuele1!~alec@host86-131-220-188.range86-131.btcentralplus.com JOIN :#esoteric < 1272121995 0 :aschueler!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1272122427 0 :Alex3012_!~chatzilla@ool-18b989d3.dyn.optonline.net JOIN :#esoteric < 1272122757 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1272123116 0 :cheater2!~cheater@ip-80-226-241-190.vodafone-net.de JOIN :#esoteric < 1272125106 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1272125895 0 :nooga!~nooga@188.74.79.101 JOIN :#esoteric < 1272125984 0 :pikhq!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272126249 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :ooooo, that's the goddamn scottish hangover i suppose < 1272126287 0 :pikhq!~pikhq@75-106-123-198.cust.wildblue.net JOIN :#esoteric < 1272128039 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1272128804 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1272128805 0 :Sgeo_!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1272129193 0 :anil!~anil@122.168.223.97 JOIN :#esoteric < 1272129200 0 :anil!unknown@unknown.invalid QUIT :Client Quit < 1272129728 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1272129779 0 :Sgeo_!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1272130890 0 :alise!~alise@212.183.140.55 JOIN :#esoteric < 1272131178 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Amazing unamazing. < 1272131222 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I had a dream where I was playing with an iPad < 1272131226 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it was a lot smaller than I imagined < 1272131235 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and the aspect ratio made it either too tall to be useful or too wide < 1272131242 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nothing looked quite as impressive as it should < 1272131246 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :these are the kind of dreams i get < 1272131254 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ones about the mediocrity of hyped technology < 1272131313 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :I wish I could dream about the awesomeness of unhyped unpopular technology :-( < 1272131325 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hehe yeah < 1272131338 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523 log reading: now Apple are denying apps that don't have enough features; http://yourhead.tumblr.com/post/539227006/apple-wont-give-you-the-time-of-day < 1272131345 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this is the most hilarious slippery slope ever < 1272131361 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :soon you'll only be able to submit an app if Jobs himself can't tell it from one of Apple's own! < 1272131480 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :alise: Are you sure this was a dream, and not ... y'know, the actual iPad? < 1272131494 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I have a feeling the iPad is significantly larger in real life. < 1272131513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I mean, all my complaints were aesthetic concerns; my subconscious can't quite handle intellectual complaints. < 1272131516 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And the iPad certainly has the looks :P < 1272131541 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :www.mobileread.com/forums/attachment.php?attachmentid=50406&d=1272083550 < 1272131542 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1272131545 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :22:43:03 pikhq: It's just meant to pseudo-reflow by cutting up two-column documents such that you can read a page in two half-page views instead of four. < 1272131548 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Nice; port it to Android. :P < 1272131573 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Changing source language and all libraries hardly counts as a port :P < 1272131633 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hey, poppler works on Android. Probably. :P < 1272131653 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :08:24:09 ooooo, that's the goddamn scottish hangover i suppose < 1272131659 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Android = Java dev platform < 1272131661 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The only cure is not drinking ridiculous amounts of alcohol the night before. < 1272131667 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's such a sad illness. < 1272131671 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I know < 1272131677 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But you can use JNI < 1272131682 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Feh < 1272131685 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also, you /can/ use C, just only if you like interfacing with the APIs in a secret world of pain. < 1272131692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Not only a world of pain. A secret world of pain. < 1272131739 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :The IREX = X11 + GTK+ :) < 1272131742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"Microsoft stealth launches F#" --El Reg < 1272131744 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Er < 1272131761 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :iRex; isn't that the one ereader that costs several organs? < 1272131770 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And looks like shit? < 1272131770 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1272131797 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[What hope is there for F#, the new language that Microsoft has sneaked into Visual Studio 2010, launched this month?]] < 1272131799 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Port it to Maemo, that's X11 + still-GTK+-a-for-a-while-before-going-Qt, and poppler's pre-packaged in the repository. Except that I have no idea what that program of yours does. < 1272131803 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Man, I love the Register; they're so silly. < 1272131826 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What is silly is this: < 1272131827 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :$ dot -Tpng -otest.png test.dot < 1272131827 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :dot: height (51515 >= 32768) is too large. < 1272131827 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault < 1272131829 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: btw your link was an invalid attachment < 1272131832 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :bitch < 1272131837 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: That's modern, man. < 1272131852 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: his program reformats + views pdfs < 1272131876 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :alise: It is now, I uploaded a new screenshot :P < 1272131884 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Fucking forums. < 1272131891 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :http://www.mobileread.com/forums/attachment.php?attachmentid=50424&d=1272126494 < 1272131893 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Breaking links, often requiring you to log in, using shitty interfaces... < 1272131904 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Pieces of crap. < 1272131920 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I don't quite dig the Windows 2-style top UI controls < 1272131931 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Or does the eInk magically smooth them out perfectly? < 1272131939 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :If so, disabling antialiasing in poppler, too. < 1272131977 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Are you referring to the shape, or the placement? < 1272132000 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, the raggedness, mostly. < 1272132009 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But yes, the controls are too close together. < 1272132019 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"There’s an array of integers, of odd size N (N%2 == 1)." ;; thanks for defining what "odd" means < 1272132021 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that's smoothed out on the screen. < 1272132036 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"Same array, this time its size is even (N%2 == 0)." how is it the SAME array... < 1272132041 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hm, maybe I should disable antialiasing and see how the eInk fares ... < 1272132045 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1272132047 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :That'd be interesting. :P < 1272132053 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if the built-in book reader antialiases. < 1272132058 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Probably, for the levels-of-grey stuff. But who knows. < 1272132068 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hard to say, it's proprietary Adobe shit >_< < 1272132076 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's the only non-F/OSS part of the stack. < 1272132113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I wanted a Kindle but it doesn't have the nice free internet over in the UK. < 1272132131 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Writing a little minimalist Javascript IRC client was pretty much the main use I had in mind for it. < 1272132137 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hah < 1272132149 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wow, arcanesentiment is #2 on /r/programming. < 1272132152 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I almost forgot about that blog. < 1272132167 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The Kindle does have the nicest form factor & looks of all the readers, I think. < 1272132171 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The Sonys second. < 1272132184 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The Sony touch ones seem a gimmick, though; I don't think I'd like poking at eink for no particular reason. < 1272132194 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :You're referring to the DX? < 1272132208 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Or the Kindle 2? < 1272132211 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No, just the 2. Why; is the DX better? < 1272132215 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Just bigger. < 1272132216 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I thought the DX would be too big for regular booky books. < 1272132231 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :The IREX is about the same size as a Kindle 2, but has a (much) bigger screen. < 1272132252 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The black plastic looks so tacky, though. :P < 1272132257 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also, the IREX costs so, so much money. < 1272132261 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's ridiculous. < 1272132274 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :iRex iLiad 2nd Edition Digital Reader < 1272132274 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :£590.95 new - Purelygadgets.co.uk < 1272132274 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :IREX iLiad Book Edition Electronic Book < 1272132274 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :£491.00 new - Pixmania.com < 1272132274 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :IREX Digital Reader 800S E-book Reader + 4 GB Micro SDHC Memory Card + < 1272132275 0 :Tritonio_GR!~Tritonio@150.140.231.13 JOIN :#esoteric < 1272132276 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :£532.82 new - D2 LEISURE GROUP < 1272132281 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I am not paying 500 pounds for an ebook reader. < 1272132292 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :iLiad = dead, DR800 is cheap in the US. < 1272132295 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(= $768; you uncouth guy) < 1272132305 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Since when is the iLiad dead? < 1272132308 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wikipedia doesn't say so < 1272132310 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :But yeah, for some reason they're crazy-expensive in Europe ... where they're manufactured. < 1272132315 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also googling it gets stuff about bikes < 1272132322 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :alise: Well, the DR800 is roughly the same form factor but newer :p < 1272132331 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that is prettier. < 1272132334 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I like the look of that. < 1272132345 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Uh, why the pen though? < 1272132356 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, http://www.techwall.org/wp-content/uploads/2009/09/irex-dr-800.jpg must be the prettiest ebook reader now. < 1272132358 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Just for search and such, onscreen keyboard. < 1272132361 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Usually I don't use it. < 1272132361 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The Kindle loses :P < 1272132368 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Doesn't work with touch? < 1272132376 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Then how am I to IRC? :( < 1272132376 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :No, it's a wacom. < 1272132385 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Wait, WTF is with that enormous pen X-D < 1272132393 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :The image you have has a custom stylus, not the small one that comes with it. < 1272132443 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :All the other images I saw had it :P < 1272132449 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :*confused* < 1272132454 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, my enormous pen is entirely my own business, thank you very much. < 1272132469 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272132481 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Fungot, as seen by dot: http://zem.fi/~fis/test.png (resized to tiny 852x6439 from the original readable 5109x38636 pixels) < 1272132481 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also, the new iPhone is going to have a >300dpi, wtf apple stop it, please start sucking at /everything/ < 1272132484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then I can FORGET YOU < 1272132491 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Anywho, I actually wanted an ereader /primarily/ for reading. For anything else it wouldn't be worthwhile. < 1272132515 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I just don't read on the go... at all. < 1272132525 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Books I read almost exclusively before going to sleep, papers I almost always read on a computer... < 1272132534 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Does it allow free copying of your books around? < 1272132550 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What's that squashed onion thing over half way down? < 1272132567 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :alise: Yeah, they just download to the SD card. Idonno how all the DRM garbage applies to the different formats though ... < 1272132571 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Also, make it lay it out to heavily optimise for short lines; wideness is fine. That'd be interesting. < 1272132602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: What we /really/ need is a computer screen that can switch to eink-style mode on the fly. < 1272132609 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And is, say, OLED the rest of the time. < 1272132615 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :alise: I think it's the jump table for punctuation tokens. < 1272132618 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That would be SWEET. < 1272132618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Then you could have an iPad-ish thing that's actually usable for reading books on. < 1272132632 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Have an OLED over an eInk screen that can be set "transparent" < 1272132632 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Well, they are doing it! < 1272132637 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Pixel Qi. But I don't know how well they are doing with it. < 1272132639 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.google.co.uk/search?q=pixel+qi&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-GB:unofficial&client=firefox-a < 1272132660 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :From the part of the team that brought you the screen of the XO laptop -- not so impressive, I know. < 1272132670 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's not perfect right now though < 1272132689 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.pixelqi.com/products ;; some photos < 1272132709 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[While Pixel Qi has said that it believes a $75 laptop will be ready in 2010. However Pixel Qi isn't making a $75 laptop. We are making the screens.]] < 1272132710 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :How pointless < 1272132756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://zem.fi/~fis/test_neato.png -- neato's default don't-avoid-overlaps mode is always so useful for large graphs. < 1272132811 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Looks like an organism of sorts. < 1272132818 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Ooh, I have an amazing idea. < 1272132835 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Do an animated one, where something like: the center of the screen is where the IP is now; and cells change accordingly. < 1272132840 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So it'd be relayouting a bit like a flow. < 1272133008 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers writing a little ditty library for C for doing arbitrary-precision real computatio < 1272133010 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :n < 1272133044 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hrm, I don't think graphviz is very good for animation; but different sorts of real-time funge-code visualization would be nice to have. < 1272133071 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I just think the constant-relayouting would look like an organism flowing through the program, so to speak. < 1272133159 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That particular graph is actually from a static compiler of a non-self-modifying Funge-98 subset; it traces all code paths in advance, compiles to a register-based intermediate form, outputs a single LLVM function for the program. The graph is the basic block graph for the intermediate form. < 1272133178 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1272133183 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Can it actually run fungot? < 1272133184 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :alise: " expression" instead of with /foo... i know...... < 1272133187 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Like, at all? < 1272133248 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, I could do a real as simply taking an int for a precision argument... so that, e.g. it could be passed as the upper bound for infinite sums. < 1272133250 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'll do that. < 1272133278 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not yet, no. But fungot is the target I'm aiming at, since I can't ever run mycology with it. It does run that rule110.bf benchmark I made a while ago, and rot13.bf too. < 1272133279 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: very few schemes even come close < 1272133293 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This also means I need bignums, for numerators and denominators of rationals. Groan. < 1272133309 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I hate gmp. < 1272133365 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1272133489 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I guess if I want to write the ultimate CAS/dependently-typed programming language/theorem prover, I ought to write my own bignum library. After all, everybody else will get it Wrong. :P < 1272133746 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1272133760 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hi oerjan < 1272133768 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1272133774 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hello alise < 1272133815 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also ais523, who nearly caused an embarassing tab expansion error there < 1272133948 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1272133960 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you could have said hello in the other order, and nobody would have noticed or cared < 1272133973 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i aren't that clever, you know < 1272133995 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ais523: except alise had already said hi < 1272134002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272134007 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi alise, btw < 1272134363 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :You're not a LIFO greeter, I see. < 1272134381 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Hi, ais523. Hi, oerjan. < 1272134396 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hi uorygl < 1272134408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi uorygl < 1272134436 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs a tactic in Coq while forgetting it's turing-complete < 1272134442 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's proof hangs < 1272134461 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :proving "forall x, Y * = x * (Y * x)" will /not/ proceed by computation. < 1272134501 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :What is * here? < 1272134506 0 :HackEgo!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1272134537 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :application < 1272134547 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm carrying on from fax's http://muaddibspace.blogspot.com/2009/10/short-note-on-semantics.html < 1272134572 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/933123.txt?key=rsxttmof1dxsmaxf4iegg < 1272134580 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Is Y * an abbreviation of Y * x? < 1272134581 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we can reason about this forever but there's no actual model < 1272134593 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e. we can't actually give concrete values to the SK, app, S and K sets < 1272134597 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because coq always terminates < 1272134599 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but this is good enough < 1272134602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: no; just a typo. < 1272134611 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The Nexus One trackball is more useful than it appears < 1272134703 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Theorem Y_prop : Y * I = I * (Y * I). < 1272134704 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : unfold Y. < 1272134704 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite I_prop. < 1272134704 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : reflexivity. < 1272134704 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Qed. < 1272134709 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :easy, but not as general as I'd like :P < 1272134729 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :maybe some other fixed-point combinator would make this easier. < 1272134810 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if anyone manages to prove the polymorphic case of that, you get a cookie < 1272134814 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :also for < 1272134815 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Definition Y := < 1272134816 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S * (K * M) * (S * (S * (K * S) * K)) * (K * M). < 1272134817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or, you know < 1272134819 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :any fixed-point combinator < 1272134849 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :What is M? < 1272134862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Definition M := S * I * I. < 1272134862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Theorem M_prop : forall x, M * x = x * x. < 1272134862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : intro. < 1272134862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : unfold M; ski. < 1272134862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : reflexivity. < 1272134862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Qed. < 1272134864 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Ltac skim := repeat (ski || rewrite M_prop). < 1272134866 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :RTFpastie :P < 1272134868 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/933123.txt?key=rsxttmof1dxsmaxf4iegg < 1272134905 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :just using "sk(i(m)?)?" doesn't halt because of course Y diverges < 1272134912 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1272134914 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so we need to be more careful and come up iwth a more analytic proof < 1272134969 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1272134988 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Actually if we used setoid equality I think fax is saying that we could define an undecidable == to mean "computes to at some point". < 1272134991 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Which I think would be possible. < 1272134996 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But you couldn't use it for much, I don't think. < 1272135097 0 :pikhq!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272135362 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well "reduces to the same thing at some point" is what beta-equivalence boils down to, once you've proved church-rosser for it < 1272135362 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Here, you prove it. I hear you proved some thingymajic about turing-complete things, so this is clearly perfect for you to do. < 1272135369 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: of course. < 1272135380 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: what do you want me to prove? < 1272135381 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: point is that since coq terminates, we can never satisfy: < 1272135383 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Parameter SK : Set. < 1272135384 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Parameter app : SK -> SK -> SK. < 1272135384 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Infix "*" := app. < 1272135384 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Parameter S : SK. < 1272135384 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Parameter K : SK. < 1272135385 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Axiom S_prop : forall a b c, S * a * b * c = (a * c) * (b * c). < 1272135386 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Axiom K_prop : forall a b, K * a * b = a. < 1272135388 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Axiom SK_prop : S <> K. < 1272135404 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, this is combinatory logic, presumably < 1272135408 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: we can define stuff using it, and using S_prop and K_prop prove "equalities" (reductions) with it, and "compute" it by having a tactic that repeatedly applies these < 1272135415 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but we can never actually implement a model in Coq < 1272135424 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastie.org/933123.txt?key=rsxttmof1dxsmaxf4iegg < 1272135427 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :prove Y_prop < 1272135427 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1272135430 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :in Coq < 1272135431 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272135443 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you can't compute with skim to do it because (Y x) always diverges < 1272135451 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so skim never terminates (proof tactics can be turing-complete) < 1272135507 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"The Brain Editor and Fucker, or Brainfuck for TECO. (esolangs.org)" -- #13 on /r/programming < 1272135516 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :posted by the author, even < 1272135520 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Note that I wrote that using Tom Almy's excellent TECOC so I can't guarantee it'll work on just any old TECO version. In theory, it should work on anything that's compatible with TECO-11 v40. < 1272135520 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Edit: usage instructions! For the lazy: Start TECO up in the directory where you saved the .tec file, and when you get its prompt (a *), type eiBEFstarObf.tec$$ ($$ means , ie. press the ESC key 2 times) < 1272135523 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.esolangs.org/files/brainfuck/impl/BEFstar.txt < 1272135524 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so presumably you need to emulate step-by-step evaluation somehow < 1272135540 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: easy < 1272135546 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :rewrite S_prop will reduce a full S_application < 1272135551 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ditto for K, I, and M (M is SII) < 1272135565 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :skim just repeatedly does "rewrite [SKIM]_prop", basically < 1272135568 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :until it doesn't change < 1272135570 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :of course, with Y this diverges < 1272135571 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the problem is < 1272135573 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we can unfold everything < 1272135577 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but it still essentially boils down to < 1272135587 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :CRAP WITH X IN IT = x * CRAP WITH X IN IT < 1272135591 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so I'm not sure where to proceed from here < 1272135624 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: well my point is you _should't_ repeat, you should do the exact sequence of s,k,i and m reductions necessary, which i assume you can do by hand somehow... < 1272135631 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*shouldn't < 1272135636 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1272135643 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but I ran them for a while and nothing seemed to help < 1272135654 0 :EgoBot!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1272135665 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : try S_prop; try K_prop. < 1272135671 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :running this over and over again until you want to stop should work < 1272135676 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but will it ever actually get into the form of x = x? < 1272135691 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well do it on paper first < 1272135695 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm, try isn't working < 1272135698 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: that won't really help < 1272135708 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it will tell you the exact sequence you need < 1272135722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : try (rewrite S_prop || rewrite K_prop); try reflexivity. < 1272135724 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION repeatedly does this < 1272135727 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so will messing around in Coq < 1272135744 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272135745 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (x * < 1272135745 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * S * (S * (S * S * K)) * (K * x) * < 1272135745 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x))) = < 1272135745 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272135746 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (x * < 1272135747 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (x * < 1272135749 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * S * (S * (S * S * K)) * (K * x) * < 1272135751 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x)))) < 1272135755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think we need some sort of induction here < 1272135844 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it just keeps expanding < 1272135850 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I wonder if I can do some sort of fix-point proof here. < 1272135993 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: the thing is you want Y * x = x * (Y * x). once you have shown Y * x = x * _something_, show that _something_ reduces to Y * x < 1272136018 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :reduces to -> < 1272136022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :where you quite likely need to do equations backwards, btw < 1272136024 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :once you have shown Y * x = x * something < 1272136028 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :show that something = Y * x < 1272136032 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's just the original problem. < 1272136035 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :with an extra variable. < 1272136049 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I don't know if you can do equations backwards < 1272136050 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh, you can < 1272136052 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :using symmetry < 1272136058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"something" was a turn of phrase < 1272136106 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although since you _do_ have church-rosser backwards shouldn't really be necessary. assuming M doesn't ruin something. < 1272136108 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :there, after 9 rewrite S_prop ||| rewrite K_props, I have some sort of result < 1272136112 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x * x * < 1272136113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) * x)) = < 1272136113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (x * < 1272136113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x * x * < 1272136116 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) * x))) < 1272136118 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1272136120 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I really want to just rewrite on the LHS < 1272136122 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so I'll do it as an assertion < 1272136126 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no wait, I can't < 1272136128 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :how annoying! < 1272136158 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do all the K reductions. they are sure not to make things more complicated after all, so _will_ terminate. < 1272136166 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : assert (x * (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x * x * < 1272136167 0 :comex!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1272136167 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) * x)) = < 1272136168 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Y * x). < 1272136168 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :^ ouch < 1272136175 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: good point < 1272136190 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :done; but there are still Ks, just unevaluated ones ofc < 1272136216 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x : SK < 1272136217 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : ============================ < 1272136218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (K * (S * S * (S * (S * S * K)))) * K * x * < 1272136218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x)) = < 1272136218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Y * x < 1272136218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh, the pain < 1272136232 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how to do a reverse rewrite < 1272136254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(same with I, btw) < 1272136263 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no I in this combinator < 1272136266 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :assert (porp_WHATEVER : y = x). symmetry. apply WHATEVER_prop. < 1272136269 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :rewrite porp_WHATEVER. < 1272136271 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but that is gross... < 1272136279 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1272136287 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and I can't tactic it up, I think < 1272136316 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :# rewrite <- term < 1272136317 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Uses the equality term1=term2 from right to left < 1272136317 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :there < 1272136340 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: anyway those x * (x * ... up there tell me you've already done too much, you _should_ be able to get just one x * ... outside < 1272136371 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah good point < 1272136371 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1272136373 0 :comex!comex@c-98-210-192-54.hsd1.ca.comcast.net JOIN :#esoteric < 1272136376 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically, hm, whatever you do don't do more than _one_ M reduction, i think < 1272136391 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no M, dammit < 1272136395 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Definition Y := < 1272136395 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S * S * K * (S * (K * (S * S * (S * (S * S * K)))) * K). < 1272136397 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unless you really need it < 1272136400 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : K * x * (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) * < 1272136401 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (S * S * K) * (K * x) * < 1272136401 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x)) = < 1272136401 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136401 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * x * (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) * < 1272136402 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (S * S * K) * (K * x) * < 1272136403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x))) < 1272136406 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this is the first step where I can get x * < 1272136408 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh so it was just an abbreviation < 1272136411 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so I should stop there right? < 1272136419 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and not rewrite any more Ks? < 1272136423 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if I do, it turns into x * (x * ... < 1272136432 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whoops < 1272136442 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rewriting K's shouldn't hurt anything < 1272136442 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :why whoops < 1272136451 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so stop whining about my x * x *! :-) < 1272136464 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if that does something wrong, you have _already_ done something wrong < 1272136476 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1272136479 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'll keep trying this < 1272136480 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :suggestion: reduce K between everything else < 1272136485 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1272136508 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sorry, it does not work. < 1272136513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite S_prop; repeat (rewrite K_prop). < 1272136513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite S_prop; repeat (rewrite K_prop). < 1272136513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite S_prop; repeat (rewrite K_prop). < 1272136513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite S_prop; repeat (rewrite K_prop). < 1272136513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite S_prop; repeat (rewrite K_prop). < 1272136519 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this is simply due to the definition of Y -- it is unavoidable! < 1272136525 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it is rewriting on the right hand side of the equality < 1272136527 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I cannot help that < 1272136601 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x : SK < 1272136602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : H : S * (K * (S * S * (S * (S * S * K)))) * K * x * < 1272136602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) = < 1272136602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Y * x < 1272136602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : ============================ < 1272136602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136603 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (S * S * K) * (K * x) * (S * (K * (S * S * (S * (S * S * K)))) * K)) = < 1272136605 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136607 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (x * < 1272136609 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (S * S * K) * (K * x) * (S * (K * (S * S * (S * (S * S * K)))) * K))) < 1272136611 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I can do that, at least < 1272136661 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ssk(s(k(ss(s(ssk))))k) is a strange combinator < 1272136672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what does ssk do, hm < 1272136674 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes, and your advice with rewriting Ks broke that proof! < 1272136687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1272136706 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh well ignore me then < 1272136710 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1272136713 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I can get just x * < 1272136720 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S * (K * x) * (S * (S * S * K) * (K * x)) * < 1272136721 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x) = < 1272136722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x * < 1272136722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (K * x) * (S * (S * S * K) * (K * x)) * < 1272136722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (K * (S * (K * (S * S * (S * (S * S * K)))) * K) * x)) < 1272136722 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is that good? < 1272136758 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's something = x * something afaict < 1272136765 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait < 1272136775 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1272136781 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but proving < 1272136785 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : assert ((S * (K * (S * S * (S * (S * S * K)))) * K * x * < 1272136786 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (K * (S * S * (S * (S * S * K)))) * K)) = Y * x). < 1272136787 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is difficult < 1272136792 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : x : SK < 1272136792 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : ============================ < 1272136793 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S * (K * (S * S * (S * (S * S * K)))) * K * x * < 1272136793 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (S * (K * (S * S * (S * (S * S * K)))) * K) = < 1272136793 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S * (S * S) * (S * (K * (S * S * (S * (S * S * K))))) * K * x < 1272136800 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :x * ... * ... isn't useful < 1272136815 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :maybe i really should do some sort of induction hypothesis < 1272136816 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like < 1272136828 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :x should not be applied to two things _ever_. in fact that ought to be impossible to get i think < 1272136833 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Y * x = x * (Y * y) -> y = x < 1272136834 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1272136882 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i /think/ this computational approach can never work < 1272136890 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: shall I explain why? < 1272136895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is your Y combinator a well-known one? < 1272136897 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1272136905 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :John Tromp's; I can also substitute the direct translation of Y < 1272136908 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we can never do any computation of the form x * foo < 1272136911 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because we have no such axiom of proof < 1272136916 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so it will ALWAYS be < 1272136926 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(partial evaluation of (Y x)) = x * (partial evaluation of (Y x)) < 1272136932 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um leibnitz rule? < 1272136954 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what are you referring to? < 1272136987 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and the problem is < 1272136992 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I can rewrite just on the left hand side < 1272137000 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so it will always turn into x * x on the rhs at the same time < 1272137007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :x = y implies f(x) = f(y) for all functions f < 1272137014 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :duh yes < 1272137023 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but can I prove this? < 1272137030 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like, as far as this lc goes < 1272137033 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or even P(x) <=> P(y) for all predicates P < 1272137033 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'll try < 1272137049 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes, this is how Coq's equality is defined... but we don't have f(x) < 1272137050 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we have f*x < 1272137066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: if that's not put into your = automatically, you may get by with adding it for left and right application with a constant < 1272137073 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes, I can prove it < 1272137084 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Theorem SK_leibniz : forall f x y, x = y -> f * x = f * y. < 1272137085 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : intros. < 1272137085 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : subst. < 1272137085 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : reflexivity. < 1272137085 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Qed. < 1272137089 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but I'm not sure how this will help < 1272137109 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :in fact I am not even sure I can prove this < 1272137110 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_now_ you can do any reduction you want on the right side of an application < 1272137116 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hooray < 1272137135 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries Admitting Y_prop first (adding it as an axiom), just to check that it doesn't lead to horrible things if it's proven (which would imply it's impossible to prove) < 1272137167 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1272137185 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like I can prove < 1272137186 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Theorem YY_prop : Y * Y = Y * (Y * Y). < 1272137193 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so I wonder if I can use equality induction < 1272137197 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :to do infinite computation with this < 1272137272 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Theorem YY_prop : Y * Y = Y * (Y * (Y * Y)). < 1272137273 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite <- Y_prop. < 1272137273 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : rewrite <- Y_prop. < 1272137273 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : reflexivity. < 1272137273 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Qed. < 1272137289 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we can actually simplify expressions by using the evaluation rules backwards to introduce combinators < 1272137291 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :spooky... < 1272137315 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway, see you later < 1272137323 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1272137426 0 :Oranjer!~HP_Admini@adsl-34-17-217.cae.bellsouth.net JOIN :#esoteric < 1272137460 0 :alise_!~alise@212.183.140.51 JOIN :#esoteric < 1272137473 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the nice thing about my reduction rules < 1272137479 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :is that instead of combinator -> result < 1272137482 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :they're combinator <-> result < 1272137498 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272137501 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :so we can prove that the results of messy combinators like, say, plus that might return a lot of wrapping in their result < 1272137506 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :still equal simple things < 1272137509 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :like plus two two = four < 1272137548 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if I could prove eta-reduction < 1272137616 0 :alise!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1272137672 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I love how we can prove all these reasonable results about a theory that can absolutely have no possible model in Coq < 1272137685 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272137786 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, you can translate any recursive data type into the lambda calculus in the same manner as church numerals < 1272137791 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :with as many constructors as you want < 1272137796 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :although using them gets a bit unwieldy < 1272137803 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :basically you encode a type as its induction combinator < 1272137806 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :aka the recursion combinator < 1272137816 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :O | S nat's is X -> (X -> X) -> X < 1272137816 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1272137818 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :O | S nat's is X -> (X -> X) -> nat -> X < 1272137854 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :wow, succ is just S(S(KS)K) in SK < 1272137903 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Theorem succ_one_is_two : succ * one = two. < 1272137903 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : compute. < 1272137903 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : reflexivity. < 1272137903 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Qed. < 1272137906 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :hells yeah < 1272137943 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Theorem ss1_is_s2 : succ * (succ * one) = succ * two. < 1272137943 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : compute. < 1272137944 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : reflexivity. < 1272137944 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Qed. < 1272137945 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :so easy. < 1272138002 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Theorem exp2_2_is_ss2 : two * two = succ * (succ * two). < 1272138003 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :this is harder to prove! < 1272138025 0 :pikhq!~pikhq@75-106-123-198.cust.wildblue.net JOIN :#esoteric < 1272138039 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :in fact I can't do it :) < 1272138041 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :hi pikhq < 1272138045 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I'm proving things about SKI in Coq < 1272138048 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :INTERNET RETURNS < 1272138053 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Delicious. < 1272138154 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I can't prove that Y*x = x*(Y*x) though, so I just added it as an axiom for now < 1272138159 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I did prove that succ*one=two, though! < 1272138181 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1272138214 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I should physically coerce you into proving that Y*x=x*(Y*x) for me! < 1272138220 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :It has dependent types... < 1272138521 0 :lament_!~lament@S0106002312fa554a.vc.shawcable.net JOIN :#esoteric < 1272138553 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :COFFEE < 1272138565 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It is 2 in the afternoon and I have not caffeinated. Coffee taim < 1272138587 0 :lament_!unknown@unknown.invalid NICK :lament < 1272138695 0 :Gracenotes!unknown@unknown.invalid QUIT :Quit: Leaving < 1272139017 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Is coffee taim nao < 1272139146 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :alise_, nice things about N1 [although these are Android things]: The notification system. The ability to see a QR code to an app on a web page on your comp and just scan it in to the phone < 1272139178 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I usually just search for apps on the computer, and scan in the QR code to the N1 if I want it < 1272139234 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bad things about N1: explorer.exe crashed. Oh wait, that WinXP < 1272139265 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272139295 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bad thing: The included headphone things hurt your ears < 1272139301 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'm putting them in wrong < 1272139301 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Coq's "tauto" tactic shouldn't be called that. A tactic called "tauto" should prove any provable proposition. :-) < 1272139559 0 :zzo38!~zzo38@h24-207-48-53.dlt.dccnet.com JOIN :#esoteric < 1272139732 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :N1 seems to play MIDIs nicely < 1272139921 0 :lament!unknown@unknown.invalid QUIT :Quit: lament < 1272139939 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1272139946 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I played the wrong file < 1272139973 0 :lament!~lament@S0106002312fa554a.vc.shawcable.net JOIN :#esoteric < 1272140193 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Are earbuds supposed to hurt? < 1272140260 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1272140268 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They are supposed to remove your ears. < 1272140284 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is doing reals in haskell < 1272140287 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to implement http://en.wikipedia.org/wiki/Chudnovsky_algorithm < 1272140410 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :wtf, Haskell's Rational type doesn't have / < 1272140434 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :alise_, do iPhones have MIDI support? < 1272140443 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1272140538 0 :pikhq!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272141384 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1272141523 0 :pikhq!~pikhq@75-106-123-198.cust.wildblue.net JOIN :#esoteric < 1272141577 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272141908 0 :oklopod!unknown@unknown.invalid NICK :oklopol < 1272141921 0 :sebbu!~sebbu@ADijon-152-1-16-249.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1272142138 0 :nooga!~nooga@188.74.79.101 JOIN :#esoteric < 1272142738 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1272144077 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I've got a segfault from Egobfi. < 1272144091 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :AWESOME < 1272144126 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Program: awib.b. Cause: dereferencing mptr, mptr out of bounds. < 1272144156 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In bf_interpret, "if (*mptr) {", line 56... < 1272144259 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So. Memory somehow out of bounds. < 1272144328 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I know you don't exactly maintain that much any more, but... Yeah. That seems like a bit of a bug. ;) < 1272144615 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And then I tried building egobfc's output and remembered that egobfc is broken. XD < 1272144754 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm just going to blame awib's frontend-backend design. < 1272144908 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, that appears to segfault *every* written-in-Brainfuck compiler. < 1272144918 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :On pretty much every implementation I've got. < 1272144947 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1272144960 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LostKng is hard. :P < 1272145546 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I never got past the first few rooms of the cave < 1272145576 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: segfault probably implies going < off the start of the tape < 1272145585 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or possibly > off the end, if the tape's finitely long for some reason < 1272145602 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Shouldn't be > off the end in egobfi8. < 1272145636 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It *does* have a memory-limited tape there. < 1272145657 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As for < off the start of the tape? I'm not sure why it would do that, though that is the only way for that to *happen*. < 1272146313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, egobfi? < 1272146377 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor's Brainfuck interpreter. < 1272146384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :written in bf? < 1272146390 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, in C. < 1272146391 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272146400 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not the fastest, but it's fairly complete. < 1272146413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what was it that segfaulted pretty much everything? awib? < 1272146425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :link? < 1272146430 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :awib compiling LostKng *on* nearly everything. < 1272146434 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Esolang archive. < 1272146434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272146441 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, lostkng is huge. < 1272146450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could pretty easily run over the end of the tape < 1272146459 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Unbounded tape" < 1272146465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm okay < 1272146472 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it's running over the end of my memory, I'm scared. < 1272146478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, does awib on awib segfault on lostkng? < 1272146486 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272146489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272146519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway, does awib output as it go, or does it try to read the whole thing in first and do some optimisation? < 1272146545 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Read the whole thing in, optimise, pass it to the selected backend. < 1272146548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if the latter I wouldn't be surprised if it hit some bug easily. Heck you might even run into issues with counters overflowing < 1272146596 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Actually... Yeah, it probably *is* an overflowing counter. < 1272146609 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :To egobfi64! < 1272146612 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like current pointer position or even "number of > in a row" issue < 1272146618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, heh? < 1272146626 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :64-bit cells. < 1272146629 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well sure < 1272146651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but if awib tries to do multiple cells to track the number that is going to cause issues < 1272146665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like it does a 2 cell number < 1272146672 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like if it* < 1272146692 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :awib is designed to work on Brainfuck interpreters with 8-bit *or greater* cells. < 1272146708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl, switching monitor to other computer (need to do some BIOS stuff on a normally headless computer) < 1272146735 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm strongly suspecting this segfaulted when it was checking for loop balance, actually. < 1272147525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, quite plausible in lostkng < 1272147638 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :My not-quite-completed interpreter in Haskell doesn't check for loop balance < 1272147662 0 :jcp!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1272147667 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If there's an extra ], it truncates, if there are extra [, it assumes there are the needed ] at the end < 1272147671 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Segfaults on larger clles, though. < 1272147692 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Cells, even. < 1272147728 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My semi-functional Brainfuck interpreter inserts a QUIT command at the end of the program buffer. < 1272147750 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, if you happen to have not done loop balance right, you get an exit. < 1272147794 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, yeah, and it ends up setting the jump address for the loop to that QUIT command, as well. < 1272147802 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1272147841 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: all that matters is that it's consistent. < 1272147870 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :so consider extra ] to have needed [ at the beginning ;-) < 1272147924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what about two unclosed ones? < 1272147935 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Same behavior. < 1272147936 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272147963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, also, checking loop balance isn't very hard. You will get it for "free" when parsing it into < 1272147976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least if you do the parser the usual way < 1272147990 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(with that I mean a recursive parser) < 1272148023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It's getting parsed into a single array of pointers to goto addresses. < 1272148037 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you just love those... < 1272148038 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With arguments coming after the pointer if necessary. < 1272148052 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I've done it twice. Twice! < 1272148066 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And it's a very clean fit for Brainfuck. < 1272148069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I assume you fold >>> into >3 or such? < 1272148074 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1272148077 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even for an interpreter that is a good idea < 1272148096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(some of the more expensive optimisations might only be a good idea for compilers though) < 1272148102 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The +-><[] commands all take arguments. < 1272148113 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, why not ,? < 1272148121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err, . I mean < 1272148122 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Too lazy. :P < 1272148123 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1272148135 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which one was which in bf? < 1272148139 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I always mix them up < 1272148145 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. is output, , is input. < 1272148151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah then I meant . < 1272148152 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1272148154 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not a massive benefit to folding either, really. < 1272148162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :. could take "constant value found by optimising" < 1272148175 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :esotope and in-between did that kind of stuff < 1272148180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, does I guess < 1272148188 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But that requires non-peephole optimisations. :) < 1272148201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, true, they are both very slow on lostkng < 1272148212 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Produce good output though. < 1272148215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well yes < 1272148236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, but building dependency graphs for each section between unbalanced loops takes a while < 1272148260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :especially if you are re-running all optimisation passes until nothing changes any more < 1272148262 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1272148267 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yuh. < 1272148286 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure if esotope did that < 1272148332 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway, I think what is more interesting is in which ways you can optimise unbalanced loops < 1272148359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well obviously you can optimise them internally like merging ++ in [++>] but I mean into some higher level thingy < 1272148361 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, there really is a lot you can do with them if you bother. < 1272148372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly optimising common idioms with them and such < 1272148387 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Brainfuck really has a lot of optimisations you can do. < 1272148405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, consider turning [>] into something like strlen() plus moving the pointer < 1272148429 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not quite the same, but I'm still kinda proud of PEBBLE's C output. < 1272148448 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(cheats by having C macro implementations. >:D) < 1272148457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc libc strlen() tend to be crazily optimised "word at a time" thingies < 1272148461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so that could be a win < 1272148471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I thought PEBBLE compiled to C? < 1272148479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also: link to pebble, I forgot where it was < 1272148485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1272148489 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I no longer have a host. < 1272148490 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :compiled to bf not C* < 1272148493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272148495 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Remember that befunge "benchmark" we played with a moment ago that basically does -100 until the cell wraps around? < 1272148498 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :PEBBLE has a C backend. < 1272148506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, a moment ago? < 1272148507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1272148512 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks up in scrollback < 1272148515 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, where moment == few days. < 1272148521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1272148525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, heh < 1272148528 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think I was going to say "while" there, but typoed "moment". < 1272148529 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I'm sure it is faster? < 1272148546 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yeah, the C backend produces some fairly swift code. < 1272148550 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you mean like: ptr+=strlen(ptr); < 1272148554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and yes I remember it < 1272148555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what about it < 1272148565 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Anyhow, the static Funge-98 compiler I have here that I got sidetracked with compiles it to the following LLVM code: < 1272148568 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Code1.i: ; preds = %Code1.i, %0 < 1272148568 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : br label %Code1.i < 1272148570 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though it gets to do some nice stuff like "replacing a division with an actual division". < 1272148583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, possibly. It depends on how you implement it I guess < 1272148584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, wow < 1272148591 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Man. < 1272148592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, that is, like cheating or something < 1272148616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if I read it correctly < 1272148624 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It also fails to terminate. < 1272148628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272148632 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then I didn't read it correctly < 1272148637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I thought it constant folded the loop < 1272148640 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's just "foo: goto foo;" < 1272148651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh wait I know. it thinks signed integer can't wrap around < 1272148654 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LLVM is assuming that you won't overflow. :) < 1272148656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1272148671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, underflow in this case I think < 1272148682 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fair enough. < 1272148704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hopefully there is a way to tell it that is incorrect < 1272148775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, anyway it would be a win since strlen() these days check the memory one word at a time, for "does any byte in this word contain a zero" with some bitmask stuff < 1272148797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and when it found one, it checks which byte in said word was the zero < 1272148849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure it goes over the end of the array in theory, but that is safe since it is doing aligned reads, and that will never go over the end of a page < 1272148907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that is one of the reasons why valgrind prints "ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 7 from 7)". < 1272148926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it suppresses stuff in libc and such, like strlen() doing that < 1272148928 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1272148941 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless it provides it's own strlen() < 1272148942 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm not quite sure how to tell it to not assume that. But if I use just "-std-compile-opts" and not "-std-link-opts" too for 'opt', it compiles to what's basically in C "for (i = 0; x-i*100 < 0; i++);" where x comes from the stack. < 1272148955 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, mhm < 1272148984 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, surely llvm can't assume signed overflow/underflow is undefined. After all llvm is supposed to work for other languages than C < 1272148989 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Probably because it doesn't inline the generated code into main where the stack is initialized, and therefore can't know x = 0 at start. < 1272149032 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, http://llvm.org/docs/LangRef.html#i_add < 1272149046 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"nuw and nsw stand for "No Unsigned Wrap" and "No Signed Wrap", respectively. If the nuw and/or nsw keywords are present, the result value of the add is a trap value if unsigned and/or signed overflow, respectively, occurs." < 1272149048 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :relevant? < 1272149087 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure. I don't use either of those words, so I think it should do the two's-complement modulo arithmetic by default. < 1272149115 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, a bug maybe? < 1272149158 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I might not just be using it right. I'll try to make a minimal testcase of that loop. < 1272149186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you might want to find out what exact optimisation pass breaks it < 1272149207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc there is some way to list what -std-compile-opts and such actually do < 1272149521 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, adding -debug-pass=Arguments prints them out. < 1272149539 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is not a short list. < 1272149683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, diff the two lists < 1272149708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, that should give you some hint of what ones might be more probable causes < 1272149723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(of course, if you are unlucky, it is causing by two or more passes interacting) < 1272149744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, but yes, a test case and ask mailing list/submit bug might be best < 1272149747 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The -std-link-opts seems to add: -internalize -ipsccp -globalopt -constmerge -deadargelim -instcombine -basiccg -inline -prune-eh -globalopt -globaldce -basiccg -argpromotion -instcombine -jump-threading -domtree -domfrontier -scalarrepl -basiccg -functionattrs -globalsmodref-aa -domtree -loops -loopsimplify -domfrontier -loopsimplify -licm -memdep -gvn -memdep -memcpyopt -dse -instcombine -jump-threading -simplifycfg -globaldce -preverify -domtree -verify < 1272149763 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess I could just start removing passes one by one. < 1272149820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, -preverify/-verify should not be removed < 1272149828 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they are sanity checks < 1272149835 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on the current ast or whatever < 1272149849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so they don't remove anything < 1272149859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I'm pretty sure also that some of those are run more than once < 1272149873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272149878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you have memdep several times there < 1272149900 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure, there's a lot of duplication; that's not so surprising. < 1272149917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, remove -preverify/-verify if you remove all the passes between them < 1272149933 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Removing "-jump-threading -simplifycfg -globaldce" from near the end turns the loop into: < 1272149934 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Code1.i: ; preds = %Code1.i, %space_init.exit < 1272149934 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : br i1 false, label %funcot.exit, label %Code1.i < 1272149946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't look quite right? < 1272149954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, iirc llvm has some tool to automatically find these < 1272149960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bugpoint I think the name was < 1272149971 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's "foo: if (0) return; else goto foo;" now. < 1272149972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I might misremember < 1272149982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, that is still incorrect though < 1272149997 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1272150010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, anyway http://llvm.org/docs/Bugpoint.html might help < 1272150081 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, the miscompilation debugger sounds sensible, though I'm a bit uncertain how well it works with a non-terminating program, since it's based on comparing outputs. < 1272150093 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh good point < 1272150124 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'll see if I can manage a testcase myself. I still think it could be just my own misuse of llvm somewhere; that's usually the case. < 1272150143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly < 1272150209 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Removing that -instcombine just before the three others I removed makes for a sensible-looking loop. < 1272150229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1272150345 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hrm, well, the optimization is in fact legal, given what is before the loop. < 1272150353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, eh? < 1272150364 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It starts the loop with: %tmp1.i = add i32 undef, -100 < 1272150373 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, undef? < 1272150390 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right. It's legal to do a lot of stuff to computations involving undef values. < 1272150402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, sounds like it shouldn't be undef then? < 1272150427 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272150428 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right. Or, well, wait. < 1272150448 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1272150476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits < 1272150482 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Actually! While the runtime has a proper stack-pop macro, I think the codegen still has the version that does not check for stack underflow, and the benchmark indeed starts from the value that's below the start of the stack, which is undef. < 1272150495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272150758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you mean you stopped doing the sigsegv trick? < 1272150809 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This is not jitfunge, this is another thing. And in any case jitfunge's current LLVM backend doesn't do it either. I haven't yet quite figured out how to, since you can't really predict what sort of assembly LLVM decides to spew out for accessing the stack. < 1272150826 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure it's doable, it might just need some more twiddling with the LLVM side. < 1272150838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, wait? not jitfunge? < 1272150840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then what? < 1272150844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is doing befunge and llvm < 1272150847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Some sort of static compiler. < 1272150851 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I got sidetracked with a static compiler, yes. < 1272150852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1272150859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, static compiler for befunge?! < 1272150863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you are mad < 1272150873 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No support for "p" modifying actual code I presume? < 1272150876 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, the subset of it I use personally in fungot. :p < 1272150876 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: to the person executing the program makes sense ( a script, so i have a favorite sushi, but that seems much saner to me. < 1272150883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, really isane < 1272150884 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Ah*. < 1272150897 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, a boring non-self-modifying sort of befunge. < 1272150901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Might be fun to define a compilable subset of Befunge. < 1272150903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so fungot never uses p to self modify? < 1272150903 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: here is one that surrounds me", etc < 1272150907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that should be fixed then < 1272150918 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait, it does < 1272150922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it loads the file < 1272150923 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, there's the ^reload command, but I don't remember when I've used it last. < 1272150925 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bit of a boring language to implement, but could be handy for some programs that could be done quickly. < 1272150933 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1272150935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, the loader loads the main file < 1272150937 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Could do with running < 1272150949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And yes, the loader/program split is there, but that's just a matter of concatenating the two files. < 1272150967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I prefer the "no 93" subset of 98 then < 1272150970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is a crazy language < 1272150994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there was a bit of an argument if there should be a hole in the 98-funge space where the 93 funge space was < 1272150996 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you have to use abcdef just to push constants? and x and [] to change direction? < 1272151003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I think the conclusion was "only commands are removed" < 1272151006 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Hahahah. < 1272151012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :otherwise we would end up with stack stack but no stack < 1272151013 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The underload interp seems to work with this compiler; haven't tested full fungot yet, there's a lack of fingerprints and such. < 1272151014 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: sarahbot eval ( map display ' ( 2 1 0 < 1272151031 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well yes and you have no - and + for example < 1272151058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I did think we figured out a way to get constants with y < 1272151080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then comparing stuff, you have w but not ` _ or | < 1272151085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nor do you have # < 1272151092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and space is gone too < 1272151098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you need to z-fill < 1272151133 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I think we concluded that befunge-98s is *probably* TC but unefunge-98s probably isn't < 1272151148 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1272151164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you can grep the logs for this. I think me Deewiant and ehird were involved in the discussion < 1272151167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some months ago < 1272151179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :last half of 2009 or during 2010 < 1272151201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before cpressy reappeared < 1272151207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :he seems gone again though(?) < 1272151214 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, maybe < 1272151223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, to what? that he is gone? < 1272151229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272151237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272151282 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1272151322 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :he'll be busy with work. < 1272151342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272151358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fixes the ignore to include the underscore version as well < 1272151452 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :you know, calling me childish will stop working soon enough as you'll have definitively proved yourself to be even more childish than me. < 1272151463 0 :sebbu2!~sebbu@ADijon-152-1-21-210.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1272151478 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :"don't fucking mention your ignores every time you can" is, like, rule #3 of not being a huge, annoying asshole on IRC < 1272151499 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :"don't read logs to talk to someone you're ignoring while simultaneously reacting harshly when they evade your ignore to talk to you" is rule #4. < 1272151537 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272151538 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1272151883 0 :Oranjer!unknown@unknown.invalid QUIT :Quit: Leaving. < 1272151951 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :ignore? what's that? < 1272152033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: you can do, say, "/ignore ais523"; then you wouldn't be able to see anything I said < 1272152054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally used against people who annoy you, or who are spamming a channel < 1272152091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, actually I need to tell it what type of ignore to apply. Just /ignore gives me syntax help < 1272152107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :depends on client, then < 1272152119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I need to tell it something like "chan" or "priv" or "all" (there are a few more variants) < 1272152119 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :17:24 < alise_> "don't fucking mention your ignores every time you can" is, like, rule #3 of not being a huge, annoying asshole on IRC < 1272152122 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Quoted for truth. < 1272152158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there is also a "unignore" flag, to override other ignores for a more specific mask < 1272152162 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BY THE WAY HAVE I MENTIONED THAT I HAVE AN IGNORE LIST < 1272152179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, like I ignore DCC from *!*@*, and then allow it from egobot < 1272152195 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :HAVE I MENTIONED, I DISLIKE ALISE TO THE POINT THAT I WISH TO NOT SEE HIS MESSAGES TO THIS CHANNEL; ALTHOUGH I SHALL COMPLAIN ABOUT THE ADVERSE EFFECTS OF THIS, SUCH AS WHEN I ONLY SEE ONE HALF OF A CONVERSATION < 1272152201 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ARE YOU INTERESTED? < 1272152201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :by the way < 1272152204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :where *is* egobot? < 1272152209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes Gregor < 1272152214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :get egobot and hackego back < 1272152217 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Doomy doomy doom doom < 1272152229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ? < 1272152241 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's the location. < 1272152246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1272152388 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... what would /ignore Mathnerd314 do? < 1272152416 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1272152419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, depending on client, either filter out all the lines you said or give syntax help < 1272152423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hi < 1272152428 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hi AnMaster < 1272152444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw, http://llvm.org/pubs/ is quite an interesting list < 1272152475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there are some truly fascinating things there < 1272152486 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: how many channels are you on on freenode? < 1272152491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, why? < 1272152505 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :just want to see if I've found them all :p < 1272152507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_all_ of them, obviously < 1272152513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, some 70+ or so < 1272152517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't know exact number < 1272152524 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1272152531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, I doubt you found all < 1272152535 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272152567 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :#catlicking is hard to find, after all < 1272152572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, how many did you find? /whois on you show three channels. If you like me have that "hide channel list" mode set then that is the subset we are both in < 1272152579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, haha < 1272152588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, I wonder if you is there ;P < 1272152590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :are* < 1272152595 0 :alise_!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272152599 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :yeah, just the 3 so far < 1272152610 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alas, since it doesn't exist. at least on freenode. < 1272152642 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or maybe it's so secret even i cannot find it < 1272152661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a sure test to see if it is there is trying to join it < 1272152680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :another possibly less embarrassing way to check it is /mode #channelname < 1272152680 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's what they want you to think < 1272152693 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i just used /list < 1272152704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, that won't list +s channels < 1272152714 0 :Oranjer!~HP_Admini@adsl-34-17-217.cae.bellsouth.net JOIN :#esoteric < 1272152723 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :00:42 #catlicking: No such nick/channel < 1272152757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh? you mean the message would be fake? < 1272152777 0 :alise!~alise@212.183.140.21 JOIN :#esoteric < 1272152782 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, from /mode? then it doesn't exist < 1272152790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, from /list < 1272152802 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well as I said, /list doesn't include +s channels < 1272152811 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : /mode gives a similar answer < 1272152813 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless you are on those channel < 1272152818 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, /mode is trustable < 1272152823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it was /list #catlicking, of course < 1272152841 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, I think +s would be hidden from that too. At least on some IRCDs < 1272152867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok, not sure if it makes sense to hide it from only _some_ commands < 1272152871 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds #crossfire < 1272152884 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, sure it does. You can't hide it from /join for example < 1272152919 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well true, that would require a very fiendish deception < 1272152920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, oh and +s also hides the channel from /whois, unless that person doing the /whois is also in that channel < 1272152932 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not _impossible_, mind you < 1272152965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, basically it hides it from everywhere where you wouldn't have to know about the channel already < 1272152966 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's pretty obvious it has to hide that < 1272152987 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, and I guess special casing the "full match" variant of /list was too much work < 1272152996 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yeah, but that still leaves /list with exact name as a dubious case < 1272153007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1272153008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, see line above < 1272153234 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :This channel is mode +cn < 1272153254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, yes, what about it? < 1272153284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm what's +n again < 1272153294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, no message to channel without being in it < 1272153298 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272153318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't know why it is a mode < 1272153327 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it is the only sane variant < 1272153328 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Enter HELP CMODE for help < 1272153335 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :presumably so you can turn it off < 1272153344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, you mean /quote help cmode probably < 1272153353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :most clients do it that way < 1272153364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :most clients have their own /help < 1272153368 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :This client doesn't do it that way < 1272153372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1272153377 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that is a special case < 1272153394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, yes but I can't see why anyone would want to turn it off < 1272153410 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: like when you said (iirc) that we had changed the 332 TOPIC - almost no one else would see the 332 < 1272153412 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :This client has no /HELP or /QUOTE command, it just generates an error message "UNKNOWN SLASH COMMAND" < 1272153421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1272153432 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Why not? Does someone turn it off? < 1272153436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, so you need to type /msg or such for every line you write to irc? < 1272153454 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: the client formats topics in their own way < 1272153455 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, are you intentionally being silly? < 1272153457 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :No, I just prefix it with the spacebar and it automatically types PRIVMSG and the current channel name and a colon < 1272153459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and yes what oerjan said < 1272153475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1272153478 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :That's what happens in my client when I start a line with space, it will type in that command instead of a space. < 1272153493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, isn't almost every line you type one starting with space? < 1272153509 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :About half of them are < 1272153522 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: you are awesome < 1272153523 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :never forget that < 1272153523 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: like in irssi when i joined the channel, it said: 00:39 Topic for #esoteric: #esoteric, the international hub for esoteric programming language design and deployment - #esoteric is not associated with the joke language Perl, please visit www.perl.org - logs: http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1272153527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, really? You do so many other things except chatting on irc? < 1272153544 0 :Azstal!~asztal@host86-169-7-149.range86-169.btcentralplus.com JOIN :#esoteric < 1272153551 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes < 1272153552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :irssi prepends the time to most things < 1272153566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, wouldn't it make more sense to make message to the current channel the default? < 1272153570 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: which client is this? :p < 1272153577 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: his own < 1272153579 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :This client will also prepend the time to *all* things, but only if you type in /SET SHOWTIME + < 1272153580 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314, his own < 1272153583 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :rule of thumb; if zzo38 is using some software, he wrot it < 1272153584 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*wrote < 1272153589 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :*oh*