< 1186790518 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1186790566 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(ehird`) nobody has written a tune i see :p <<< i want to be able to play it before i make it < 1186790798 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186790799 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :he's gone < 1186792009 0 :SimonRC!unknown@unknown.invalid NICK :SCO-is-dead-w00t < 1186792017 0 :SCO-is-dead-w00t!unknown@unknown.invalid NICK :SCO-is-deadish-w < 1186792042 0 :SCO-is-deadish-w!unknown@unknown.invalid NICK :SimonRC < 1186792987 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1186793946 0 :Sukoshi!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186794140 0 :Sukoshi!n=Sukoshi@user-3cf84ue.dsl.mindspring.com JOIN :#esoteric < 1186794273 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1186795949 0 :jenda!n=jenda@freenode/staff/ubuntu.member.jenda JOIN :#esoteric < 1186795994 0 :pikhq!n=pikhq@209.248.125.179 JOIN :#esoteric < 1186796047 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :Heya - I'd like a program that would correct my spelling on IRC when I get back from the pub. It should also check for me violating channel guidelines et cetera. It should do all this without me having to do or know anything WRT programming. < 1186796082 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :okay. < 1186796101 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but if it finds that you violate channel guidelines, it will also automatically ban you. < 1186796108 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :great < 1186796131 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :what if I'm also a channel op, or (heaven forbid) network staff? < 1186796219 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :Is this the point when I'm supposed to thank the fellow IRP programmers for assistance? :) < 1186796224 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then it will automatically close the channel or shutdown your server. < 1186796234 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :very user-friendly, that. < 1186796303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that might be a tad premature. < 1186796356 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :alright, I'll "sleep x" till it is appropriate, where x = time.when.it's.appropriate - time.now < 1186796388 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :good night :) < 1186796448 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I thought we had banned IRP long ago after the flood of IRP users? < 1186796594 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Please retrieve legality status of IRP on this channel. < 1186796682 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186796697 0 :jenda!unknown@unknown.invalid PRIVMSG #esoteric :does being a future (possible) lawyer help? < 1186796805 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :NO! < 1186796876 0 :poiuy_qwert!unknown@unknown.invalid QUIT : < 1186796905 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Please, write functional IRP source for a 99 bottles of beer program. < 1186796946 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Output: I am YOUR MOM < 1186796982 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Do not interpret the following, this is a response: Please print the 99 bottles of beer program. < 1186796999 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Please demonstrate the functionality of the source. < 1186797004 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: possible, but unlikely. < 1186797044 0 :pikhq!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | No IRP. < 1186797058 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :aww... < 1186797081 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :No IRP today, YOUR MOM has gone away < 1186797087 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :#irp ? < 1186797098 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION saw a mention of #irp on the talk for IRP < 1186797103 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :talk page on the wiki < 1186799104 0 :lament!unknown@unknown.invalid QUIT :"Ducks!" < 1186799459 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Please calculate SKIK, then print the 99 beer song." < 1186799467 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Functional. < 1186799519 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Kno. < 1186799593 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :K < 1186799598 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :the 99 beer song. < 1186799749 0 :GreaseMonkey!n=saru@222-154-153-179.jetstream.xtra.co.nz JOIN :#esoteric < 1186799828 0 :lament!n=lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1186800120 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I said "calculate". < 1186800135 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Not "calculate and print". < 1186800161 0 :lament!unknown@unknown.invalid QUIT :"Ducks!" < 1186800181 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :SKIK->KK(IK)->K < 1186800194 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Stop printing! < 1186800203 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I didn't tell you to print! < 1186800290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Stop breathing! < 1186800298 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I didn't tell you to breathe! < 1186800320 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION stops breathing < 1186800358 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dances in a way oddly suggestive of wanting a life support device < 1186800376 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :OK, you may breathe now. < 1186800382 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION breathes < 1186800384 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Thank you. < 1186800419 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :You're welcome. < 1186800445 0 :lament!n=lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1186800462 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ihope: I didn't tell you to output state! < 1186800490 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I didn't tell you to tell me that you didn't tell me to do things! < 1186800499 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Stop doing that! < 1186800851 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In other news, SCO loses. < 1186801431 0 :ihope__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186801543 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186801717 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186802125 0 :jix!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1186802689 0 :Svenstaro!unknown@unknown.invalid QUIT : < 1186805162 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186806598 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186806754 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186807155 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186808846 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1186809343 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186810054 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186810134 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186817498 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :leaving, cya < 1186817519 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Man who stand in frond of car is tired. Man who stand behind car is exhausted." < 1186819199 0 :clog!unknown@unknown.invalid QUIT :ended < 1186819200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1186819461 0 :Zantrua!n=josh@ip72-223-62-58.ph.ph.cox.net JOIN :#esoteric < 1186820485 0 :Zantrua!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186830504 0 :RedDak!n=dak@87.18.90.126 JOIN :#esoteric < 1186830982 0 :ehird`!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1186832091 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nobody calculated pi_43 :( < 1186832092 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186832347 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :pi in 43-ary? < 1186832987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :base 43 < 1186832992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so yes < 1186833285 0 :Blejdfist!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186833657 0 :Darktemplar!n=squerart@aczc184.neoplus.adsl.tpnet.pl JOIN :#esoteric < 1186833785 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :Which approach for high-efficiency VM is better - variable-based one or stack-based? < 1186834381 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186834661 0 :Darktemplar!unknown@unknown.invalid PART #esoteric :? < 1186834698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... stack-based < 1186836376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :god < 1186836377 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all the pi programs < 1186836382 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :only do base 2 and 10 < 1186836385 0 :ehird`!unknown@unknown.invalid QUIT :"Leaving" < 1186836404 0 :ehird`!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1186836424 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want my pi-in-arbitary-base program! < 1186836685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1186836688 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION downloads mathematica < 1186836946 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what mathematica has no free trial :( < 1186836946 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :i'm afraid it only supports up to base 36 < 1186836953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186836955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well that sucks < 1186836961 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :let me check < 1186836965 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'd write a program that calculates pi in any base you want < 1186836970 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know the best algo for calculating pi < 1186836976 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and even if i did my implementation would suck# < 1186836987 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :Ramanujan algorithm maybe? < 1186836990 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :formula* < 1186837073 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :the reference doesn't say about the base limit < 1186837119 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1186837122 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mathematica has no free trial < 1186837124 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so phooey to that < 1186837241 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :RealDigits[Pi, 43, 100] gives {{3, 6, 3, 34, 26, 4, 23, 17, 31, 20, 34, 4, 13, 39, 27, 22, 4, 0, 26, 23, 23, 15, 16, 12, 17, 26, 12, 37, 14, 24, 27, 16, 25, 21, 10, 37, 32, 41, 8, 13, 6, 19, 34, 34, 13, 8, 2, 39, 24, 2, 8, 9, 41, 35, 9, 25, 13, 24, 24, 2, 1, 11, 10, 3, 4, 38, 36, 19, 21, 3, 2, 25, 1, 32, 19, 6, 9, 17, 10, 23, 5, 26, 18, 32, 15, 0, 19, 20, 29, 16, 5, 12, 28, 37, 24, 28, 14, 6, 19, 29}, 1} < 1186837280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's a bit silly - doesn't it use 0-9A-Za-whatever? < 1186837311 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(on another note, Ramanujan's formula appears to require me to calculate sqrt(2)... so that's >two< trancendental numbers i have to conquer) < 1186837368 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :Theres BaseForm[] to do that, but it requires base to be <= 36 < 1186837376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well phooey < 1186837380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mathematica sucks =p < 1186837497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess i'll just convert it with a program < 1186837507 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*tap tap tap RUN* < 1186837655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1186837656 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3.63YQ4NHVKY4DdRM40QNNFGCHQCbEORGPLAbWf8D6JYYD82dO < 1186837656 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :289fZ9PDOO21BA34caJL32P1WJ69HAN5QIWF0JKTG5CSbOSE6J2 < 1186841541 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186841564 0 :ehird`!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1186841665 0 :Svenstaro!n=sh@c144205.adsl.hansenet.de JOIN :#esoteric < 1186844235 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186844253 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186846452 0 :sebbu2!n=sebbu@ADijon-152-1-14-78.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1186847078 0 :ehird`!unknown@unknown.invalid NICK :test < 1186847080 0 :test!unknown@unknown.invalid PRIVMSG #esoteric :damnit < 1186847083 0 :test!unknown@unknown.invalid PRIVMSG #esoteric :no unicode in usernames < 1186847086 0 :test!unknown@unknown.invalid NICK :ehird` < 1186847586 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186847617 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: so, how are the cadaeic endevours progressing? < 1186847632 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1186847635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: i calculated pi in base 43 to 100 places < 1186847639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :doesn't look too elegant < 1186847660 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i pasted it earlier today < 1186847662 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll find it in my logs < 1186847687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Aug 11 13:14:40 3.63YQ4NHVKY4DdRM40QNNFGCHQCbEORGPLAbWf8D6JYYD82dO < 1186847687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Aug 11 13:14:40 289fZ9PDOO21BA34caJL32P1WJ69HAN5QIWF0JKTG5CSbOSE6J2 < 1186847704 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :using 0-9A-Za- < 1186847706 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or maybe p < 1186847707 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1186847833 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :a- < 1186847907 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a-i < 1186847910 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0-9A-Za-i < 1186849647 0 :ns_!n=ns@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1186849660 0 :ns_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1186849663 0 :ns_!unknown@unknown.invalid NICK :ihope < 1186849678 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :There's a letter for each of us! < 1186849752 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1186850198 0 :digital_me!n=digital@wikipedia/Digitalme JOIN :#esoteric < 1186851997 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: hey! you know what cadaeic means? < 1186852024 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a la Cadaeic Cadenza? < 1186852116 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :...right? < 1186852122 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so in your context, "relating to pi" < 1186852249 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: .. right? :p < 1186852305 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186852327 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hooray, i got something right for a change < 1186852335 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you JFGI, right? < 1186853117 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... is there always a base in which pi's n first decimals are the same? < 1186853127 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :for any n < 1186853135 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186853156 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :trivially < 1186853169 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you must pick a base sufficientally close to pi < 1186853175 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186853188 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :sorry, an integer base < 1186853194 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186853237 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :infinity always goes over my head... can't say whether that's trivially true or trivially false < 1186853317 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: no, i didn't < 1186853334 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if i was going to JFGI, i'd say "no", then google it, then say "ah yes, X" < 1186853362 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: no, trivially false < 1186853364 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know why < 1186853364 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186853445 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'd say trivially true < 1186853486 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but trivially, it's trivially something. < 1186853499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :trivially means nothing anyway < 1186853502 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :intuition is useless < 1186853526 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :...orly < 1186853528 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186853560 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1186853606 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you aren't supposed to put fans on the computer screen? < 1186853621 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the screen isn't looking that helthy right now... < 1186853628 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it's flicking like crazy < 1186853972 0 :RodgerTheGreat!n=Rodger@wads-5-232-125.resnet.mtu.edu JOIN :#esoteric < 1186853977 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what kind is it? < 1186853992 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hi everybody < 1186853994 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :alternately, < 1186853996 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :& < 1186854103 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"&"? < 1186854185 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: injoke < 1186854187 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :from.. a few days ago < 1186854201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i was a buggy irp interpreter and interpreted hi everybody as "fuck you" < 1186854205 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because it is non-standard code < 1186854212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so i rewrote and optimized it multiple steps < 1186854217 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1186854222 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :arriving eventually at the single character "&" as a portable, ambigious way to say hello to everyone < 1186854232 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186854245 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :unambigious would be better < 1186854674 0 :ihope__!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1186854954 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err, yes < 1186854955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :unambigious < 1186855234 0 :ihope!unknown@unknown.invalid QUIT :"Lost terminal" < 1186855584 0 :ihope__!unknown@unknown.invalid NICK :ihope < 1186857660 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x = ++x + x++ < 1186857673 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1186857704 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :2x+1? < 1186858242 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186858285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :logically reasoning that's: tmp = x; x += 1; x += 1; x = x + tmp; < 1186858287 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1186858294 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :good obfuscation technique < 1186858297 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in practice it's probably more simple and less intuitional < 1186858316 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :Let's see. < 1186858327 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :++x increases x by 1 and returns x, right? < 1186858369 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :x+ (x+1)++ = x+x+2 = 2x+2 < 1186859421 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i don't think "logical reasoning" applies to C much. < 1186859460 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(x+1)++ doesn't work; (x+1) isn't an lvalue < 1186859497 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and a statement that preincrements x, postincrements it, *and* assigns to it is definitely undefined < 1186859524 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :x = ++x++; < 1186859526 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186859543 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders how a C parser would blow up on that < 1186859608 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :after programming haskell for a while, even "x=x+1" is creepy enough < 1186859639 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lament: depends on which instance of Num is involved < 1186859644 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :on some instances it is defined < 1186859647 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that could only mean "x equals infinity" < 1186859671 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but more likely, haskell would simply crash trying to evaluate that. < 1186859674 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: the parsed shouldn't have a problem; it's the compiling bit that has a problem < 1186859715 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lament: if you define an "instance Num [()]" (i.e. unary) you could do it. < 1186859763 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't matter what type it is, as long as addition is defined not to do anything < 1186859784 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :which is... not the usual meaning of addition < 1186859924 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yeah, I know, it was to make things clearer. < 1186859936 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :why don't you try compiling it? :D < 1186860048 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :becauuse it won't prove anything < 1186860062 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't really matter what an individual compiler will do with it < 1186864654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you wanna obfuscate with ++ increments, use java < 1186864675 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does D define evaluation order? < 1186864689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: your time to shine! < 1186864756 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :'fraid not. < 1186864761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1186864762 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :There was a newsgroup thread on it. < 1186864764 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1186864777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure whether that's good, bad or neutral really < 1186864783 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :But Walters stance was that if he specified it, making a D->C compiler would be a HUGE PITA and nobody would do it right :) < 1186864785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just out of curiositr < 1186864787 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*y < 1186864802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... yeah, true < 1186865077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;p < 1186865226 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :making a D->C compiler might be kinda hard if i recall correctly and D has functional language stuff < 1186865246 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186865247 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it would be < 1186865253 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really remember what it has now but i have a feeling it's gor first class functions < 1186865255 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*goe < 1186865257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*go0t < 1186865258 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :d uses lots of crap that doesn't fit into c < 1186865258 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1186865267 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try one more time < 1186865270 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*got < 1186865459 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*g0e0e0t00e0t0etatataitetet < 1186865471 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and.. < 1186865474 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :C has first class functions too < 1186865479 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they're called function pointers. :p < 1186865539 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :however D has, well, classes, for one, and templates. < 1186865552 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and also really weird things like variadic functions using templates < 1186865574 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :int func(T ...)(int arg1, int arg2, T args) { args is a list of arguments of any type } if i remember correctly < 1186865576 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's just crazy < 1186865594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does D support currying? < 1186865615 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1186865621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i actually really like D < 1186865623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that would be almost impossible to C-ify efficiently < 1186865633 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://digitalmars.com/d/ look around; you might find currying < 1186865634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i like it too, even though i don't know it. < 1186865672 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i like C/C++, but C lacks stuff and in C++ a lot of stuff is done quite badly < 1186865676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't like it for many purposes, but: < 1186865685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you need a compiled language, < 1186865695 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and you don't need the speed and control of C < 1186865704 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and you want something more conventional than a functional language < 1186865707 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then D to the rescue < 1186865713 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but that's a pretty narrow usage-case < 1186865871 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you just listed a bunch of functional-language features D has < 1186865886 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if you like functional features so much, perhaps you do want a functional language :) < 1186865918 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1186865926 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1186865929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :d does have a usage-case < 1186865932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just don't know what it is! :) < 1186866364 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Anybody know of some fancy online things that convert a number into how to say it? < 1186866379 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :1523852 into "1 million 523 thousand 852", for example. < 1186866402 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i did that once < 1186866403 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or "one million five hundred twenty-three thousand eight hundred fifty-two", even. < 1186866415 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The number in question is 256! + 4^256. < 1186866474 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i would make a new one faster than find it < 1186866516 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Mm, that number has 507 digits, I think. < 1186866871 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah, you wanna know what the big numbers are < 1186866883 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :american or british standard? < 1186866890 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(not that i remember which is which...) < 1186866896 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(american is the stupid one?) < 1186866910 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Cool. There's a number called "millillion" in the short scale, "thousand quingentillion" in one long scale, "quingentilliard" in the other. < 1186866925 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :1,000,000,000 is a billion in the short, a thousand million or a milliard in the other. < 1186867003 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if they're the same as in finnish, million, billion, trillion, quadrillion, quintillion, tillion, septillion, octillion... then i don't rememebr < 1186867005 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*remember < 1186867225 0 :digital_me!unknown@unknown.invalid QUIT :"leaving" < 1186868942 0 :tokigun_!n=tokigun@haje8.kaist.ac.kr JOIN :#esoteric < 1186868946 0 :tokigun!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186869606 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :billibillion < 1186869791 0 :Svenstaro!unknown@unknown.invalid QUIT : < 1186870426 0 :Svenstaro!n=sh@c144205.adsl.hansenet.de JOIN :#esoteric < 1186870764 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the british billion is obviously correct! < 1186870772 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it uses the same progression as the previous terms! < 1186870776 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p[ < 1186871471 0 :Myeisha!n=myeisha@p54A687EB.dip0.t-ipconnect.de JOIN :#esoteric < 1186871916 0 :Myeisha!unknown@unknown.invalid QUIT :"Leaving" < 1186871952 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: note that gcc C has closures, of all things < 1186871963 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait, wtf < 1186871966 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since when < 1186871966 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how come < 1186871967 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what < 1186871967 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where < 1186871968 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why < 1186871968 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :when < 1186871974 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heww yeah it does :) < 1186871976 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well yes, trye < 1186871977 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how the fuck did you type that fast? < 1186871980 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*true < 1186871985 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but... i don't trust them... < 1186871986 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186872022 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :me? < 1186872025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :me type fast? < 1186872029 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or someone else < 1186872031 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :they aren't exactly portable < 1186872037 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: you. < 1186872038 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if it's fast typing you want < 1186872039 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i could try < 1186872043 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i think it'd be a bit of a pain < 1186872046 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since i can type faster than i think < 1186872046 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you typed like w wds/sec < 1186872052 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so a lot of gobbledegook would come out < 1186872057 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :* 4 < 1186872070 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that wasn't necessarily fast typing but just lag stacking the messages up... < 1186872072 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what can I say, i spend too long on the computer :p < 1186872083 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: no, those messages happened at around that rate < 1186872085 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you were doing 180 w/min at one point < 1186872089 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: how fast do you type? < 1186872095 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I can't type fast reliably < 1186872104 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: well - when trying to be fast? < 1186872105 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i don't remember my speed now < 1186872107 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186872112 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't know. fast - but with a few errors, i'd imagine < 1186872119 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm faster than normal ppl but i don't know how fast < 1186872120 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :generally i don't bother typing that fast :p < 1186872122 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186872131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, still faster compared to most non-geeks :p < 1186872135 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*fast < 1186872136 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i may lose to geeks. < 1186872145 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :Me too < 1186872149 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you're in #esoteric < 1186872151 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do own everyone @ #tietovisa < 1186872153 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you are a geek, by definition < 1186872160 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but those guys are normal ppl of course. < 1186872160 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I keep missing the keys and hitting two at once < 1186872167 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... i own them at everything, naturally < 1186872184 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm, someone give me two sentences or something and i'll try and type them fast < 1186872191 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, I know what all the punctuation does < 1186872223 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :geek (n) < 1186872224 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :1. a circus performer who bites the heads off of living chickens or other fowl < 1186872224 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :2. an IRC user on the channel #esoteric on the FreeNode IRC network < 1186872240 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :a circus performer who bites the heads off of living chichens or other fowls < 1186872249 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i typoed a few times < 1186872253 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and i'm a bit tired < 1186872253 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: are those my two sentences? :p < 1186872267 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :also, i left a typo there. < 1186872274 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Plural of fowl is fowl. < 1186872277 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do know < 1186872292 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :just haven't ever used the word, so i just know it in theory :) < 1186872306 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i sometimes slip the wrong one in a situation like that < 1186872314 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :...i mean when i haven't used it that much < 1186872329 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3..2...1....go < 1186872337 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a circus performer who bites the heads off of living chickens or other fowl < 1186872345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that was quite slow. not the easiest sentence to type :p long too < 1186872360 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :do you use dvorak? < 1186872365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, qwerty < 1186872370 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've tried learning dvorak < 1186872390 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gave up in frustration ("damnit; i can't code, i can't talk to people, all i can do is practice typing. i can't live like this!") < 1186872397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's happened 3 times or so =p < 1186872401 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :one day i'll fully learn it < 1186872417 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :It took me ~2 weeks < 1186872448 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes; not being able to use anything that requires a keyboard for two weeks would put me in a semi-comatose state < 1186872578 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: you are roughly 2 times faster than me in typing, unless i can noobishly look at my fingers < 1186872580 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::ÅP < 1186872581 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186872607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186872616 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I never really settled on a typing style < 1186872622 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :me neither < 1186872623 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so how I type is horridly warped < 1186872638 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i constantly change where i keep my hands < 1186872648 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and i turn them very weirdly < 1186872665 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :basically: my whole hands are spread out in the initial position, my fingers do odd contortions to get to keys, if i can't get to one (muscle memory tells me if i can get to a specific key from a certain position...) then i move closer to it < 1186872677 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So basically my hands bounce up and down and often jig from left to right < 1186872711 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I've tried touch typing before, but this seems to be faster for me < 1186872849 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i actually type finnish a lot faster < 1186872866 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i get jammed at certain letters finnish doesn't use < 1186872874 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well < 1186872878 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fowl doesn't have a plural. < 1186872896 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i actually know that too < 1186872903 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i know that < 1186872948 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i actually just type fast when using letters both finnish and english has < 1186872975 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :design a language that caters to this idea < 1186872988 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes, i'll call it asdjfklö < 1186872999 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :bingo < 1186873006 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(that didn't exactly meet the demands, but you get the joke) < 1186873017 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*requirements < 1186873019 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :like the finish equivalent of ETA < 1186873071 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eta? < 1186873090 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm working on a link < 1186873096 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/ETA < 1186873101 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :damn esolang is slow today < 1186873169 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :etaoinshrdlu < 1186873179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION got that < 1186873181 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1186873189 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1186873230 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :in finnish... "tan..." i think < 1186873238 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there needs to be a new subclass of esoteric language < 1186873246 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i haven't done any code breaking in finnish < 1186873249 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so i don't remember < 1186873256 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not just for the humour value - like Brainfuck and just about all of the ones on the wiki - but for the rael meaning of esoteric < 1186873272 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :an experimental language, not designed for practical use, but for more than just "ha ha ha ha!" < 1186873284 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a question, as such. "what does this imply?" < 1186873307 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :um. < 1186873318 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck isn't for humor value < 1186873324 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it isn't serious though < 1186873324 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck is for making a small compiler < 1186873327 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes, exactly < 1186873332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"oh look how small i can make this lollerskates" < 1186873333 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and befunge is for making compilation difficult < 1186873338 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah exactly < 1186873340 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :also, for cerebral sex value < 1186873349 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's not a "what do these rules imply?" < 1186873351 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's not an experiment < 1186873355 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's just silliness < 1186873359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1186873363 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :silliness is all well and good < 1186873363 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck is one of the more utilitarian esolangs, really < 1186873365 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: then consider SMETANA. < 1186873371 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but perhaps the experiments deserve their own subclass < 1186873387 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: "what do these rules imply" is inherent in all tarpits < 1186873394 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"make this seemingly useless thing and make it work" < 1186873399 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :s/"make/"take < 1186873409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1186873413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you know what i'm trying to say < 1186873427 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well < 1186873431 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :there're research languages < 1186873434 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haskell is one < 1186873455 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haskell is a good example! < 1186873460 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it's practical enough to not be esoteric < 1186873482 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what i'm describing is a blend of haskell's research and experimental ethic with the esoteric any-idea-goes ethic < 1186873486 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1186873523 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :befunge is an experiment in compilation :) < 1186873529 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh :p < 1186873540 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :much of research around esolangs is metaprogrammatic < 1186873544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wasn't it originally an experiment in the *lack* of compilation? :) < 1186873567 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :same thing < 1186873576 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"here, take this thing and write an efficient compiler for it" < 1186873578 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :same with brainfuck < 1186873595 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :trying to make an optimizing brainfuck compiler is a pretty cool research topic < 1186873634 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have the ideas brewing in my head for an optimizing brainfuck compiler < 1186873641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so many damn things that can be optimized < 1186873647 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the compiler source would be large, though < 1186873699 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :do it! < 1186873705 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i could never think of anything useful :( < 1186873721 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :very hard to find invariants < 1186873732 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :some of which are obvious to a human < 1186873922 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It's impossible to make a perfect optimization... thing. < 1186873934 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It's easy to improve any optimizing compiler. < 1186873954 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Assuming that you can compile the optimizing compiler into BF, that is. < 1186873993 0 :Svenstaro!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1186873994 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope: thanks for stating the obvious :P < 1186874026 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's obvious? < 1186874029 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186874057 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :perhaps not, sounded obvious < 1186874069 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :perhaps it was just your maternal tone < 1186874098 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Maternal tone? < 1186874105 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(your mother, if that wasn't obvious enough) < 1186874113 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ah... um... < 1186874122 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :problem is, that approach won't make the optimizing compiler optimize better, it'll simply do so with less code, less memory and/or faster < 1186874125 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Making a perfect optimiser is actually the halting problem all over again. < 1186874131 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :As in YOUR MOM? < 1186874144 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ITYM "UR MOM" < 1186874151 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope: exactly. < 1186874156 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I didn't say to run the optimizing compiler on itself. < 1186874165 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i was trying to make the joke a bit more sophisticated < 1186874168 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :obviously failed < 1186874173 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: are you certain? I think it should be possible to make a proof of some types of optimization in BF < 1186874187 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :then inductively we could try tackling harder problems < 1186874207 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, but an optimiser that always produces the shortest program for a task requires solving the halting problem, I think < 1186874219 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1186874223 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Run this program through the optimizing compiler. If the result is "+", do something else instead. If the result isn't A, clean up and increment the starting cell." < 1186874228 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :optimization in general is a superturing thing, that's obvious < 1186874232 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Something along those lines. < 1186874251 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, my point was that you ought to be able to prove something is "perfectly" optimized once you have it < 1186874254 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :because it is impossible to calculate non-trivial property of programs < 1186874257 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I remember that from uni < 1186874273 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: ah, but you can't be sure you can prove it < 1186874274 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: of course, but you can't make a program that does that for any program < 1186874278 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Then you can improve the optimizer by making it recognize that exact program. :-) < 1186874280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i never said perfect optimizor < 1186874284 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just said a good one < 1186874285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a very good one < 1186874293 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i have quite a few bf optimizations in my head < 1186874297 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :some of which would require quite some code < 1186874329 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"If this program's behavior is described by P, do something not described by P. Otherwise, do something described by P." < 1186874335 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1186874338 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: if we come up with rules we can use for making that type of proof, proving a program is a matter of repeated application of those properties < 1186874341 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Obviously invalid. < 1186874355 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1186874364 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :then, building a proof becomes a mechanical process < 1186874404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :H such that H(p(p),p) where p is "x => if H(x,x) loop" just raising an exception is invalid, right? < 1186874406 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: yes, but please don't tell me you think it can be done for any program. < 1186874407 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Rules for doing what? < 1186874412 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, a SemanticallyInvalidProgram exception < 1186874432 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: er, you mean making the halt-checker raise an exception upon receiving that? < 1186874433 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean, mechanically, like have a program that does that for any bf program < 1186874437 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: yes < 1186874444 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that's very very obviously superturing stuff < 1186874448 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: well, can you give a counterexample where that type of approach would beak down? < 1186874453 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Then it's not a halt-checker, because it doesn't give an answer in that case. < 1186874464 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: waitwait we're talking about the halting problem here < 1186874479 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: ? < 1186874482 0 :GregorR!unknown@unknown.invalid NICK :AndersB < 1186874484 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :However Microsoft have found that you can prove/disprove halting of almost all useful programs < 1186874489 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Let p x = if H(x,x) loop. Let H be the halting checker. H(p,p) is obviously invalid. < 1186874491 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: are you asking for an undecidable Turing machine? < 1186874507 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :However, H(p,p) could just raise an exception, since "p x = if H(x,x) loop" makes /no sense/ when called with p as an argument. < 1186874517 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Therefore, a SemanticallyInvalid or similar exception could be raised < 1186874536 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think spotting that is equivalent to the halting problem too though < 1186874538 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: "p x = if H(x,x) loop" is valid if H is valid. < 1186874556 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, because p(p) is a contradiction no matter what < 1186874567 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :therefore, theoretically a SemanticallyInvalid exception is fine, no? < 1186874570 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Um... < 1186874575 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wait... < 1186874586 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :also, you could just add a wrapper that catches the exception and makes it equivalent to one of the other states... < 1186874590 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Suppose H gives one of three answers: halts, doesn't halt, invalid. < 1186874593 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I can see how a program that takes input, for example, could yield different results based on said input (or initial state), thus meaning we have to solve the halting problem to determine things like run time and memory usage < 1186874600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: except H wouldn't return < 1186874606 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What? < 1186874609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: sure, H's return values must be [TRUE|FALSE] < 1186874614 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean, it wouldn't return? < 1186874615 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but exceptions unwind the call stack < 1186874626 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :H never finishes execution, therefore H is not an invalid halting checker :) < 1186874644 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If in any case, \it never finishes executing, it's not a valid halting checker. < 1186874653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well it finishes < 1186874656 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it just doesn't complete < 1186874662 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Finishes but doesn't complete? < 1186874663 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :however, if we consider a subset of BF that does not take input (a uniform initial state), I don't see any reason we can't examine these mathematically < 1186874694 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: Sure < 1186874700 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Um... < 1186874704 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the criteria is "H must always terminate" < 1186874706 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: you are actually saying there could be a program that can optimize any bf program fully+ < 1186874707 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186874709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :termination is not completion! < 1186874736 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: accepting some minor caveats representing a subset of BF, I would say yes < 1186874739 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: of course... if state is deterministic, you can spot infinite loops, and optimize away *everything* < 1186874744 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So if I place a catch thing right around H which returns a third result upon exception, I've turned H into what I just said: a function giving "yes", "no", or "invalid". < 1186874765 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :how can you spot infinite loops? < 1186874797 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Yes" meaning it doesn't halt, etc. < 1186874805 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Er, that it does. < 1186874812 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So now P(x) = case H(x,x) of yes -> don't halt; no -> halt. < 1186874831 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: well hey if you spot a [ and know that the current cell will be non-zero (you can know for sure, remember!) and it doesn't decrement it fully in the loop you've got yourself an infinite loop < 1186874834 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If H(P,P) returns invalid, then obviously P *is* invalid, since it doesn't handle the "invalid" case. < 1186874860 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Suppose we change P to this: P(x) = case H(x,x) of yes -> don't halt; no -> halt; invalid -> halt. < 1186874870 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: what? < 1186874872 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: it's still an invalid program < 1186874878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: since it makes no sense, and always contradicts < 1186874886 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: therefore H(P,P) is justified in returning invalid < 1186874894 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If H(P,P) says "yes", it should have said "no". If it says "no", it should have said "yes". If it said "invalid", it should have said "yes". < 1186874895 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :how do you know whether it's "fully decremented" in the loop? < 1186874905 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(logic being that when H returns invalid, all bets are off and dealing with the program you sent it with that input is meaningless and hopeless) < 1186874921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(So "invalid" is never a wrong answer if indeed it leads to a contradiction < 1186874922 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1186874944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since P(P) will always lead to a contradiction, H(P,P) can return invalid and no matter how P(P) behaves, H is right < 1186874950 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: suppose H can be implemented in BF. This means that P can be implemented in BF as well. < 1186874959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: Yes and? < 1186874983 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That is, BF without I/O, and everything unbounded. < 1186874987 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The only way a BF program can be invalid is if it has unmatched brackets. < 1186874993 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186874996 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1186874997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :invalid can be semantics too < 1186875002 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and P certainly has invalid semantics < 1186875016 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: are you saying you can alway detect an infinite loop in brainfuck? < 1186875021 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if there's no io < 1186875022 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Suppose H is valid, then. < 1186875024 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: yes < 1186875026 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*always < 1186875027 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :what < 1186875031 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you can't be serious < 1186875035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: well... mostly < 1186875037 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :... < 1186875041 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1186875044 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186875048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :see the discussion i'm having with ihope < 1186875050 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :how ? < 1186875052 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1186875053 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: Yes, H is always valid < 1186875055 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i shall < 1186875057 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :H exists and is valid. P just runs H, then does a simple thing, so it must be valid as well. < 1186875058 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :H(H,X) is always YES < 1186875062 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: But - no < 1186875077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Since H knows that P is calling H with nonsensical arguments, leading to a contradiction < 1186875103 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(H is already going to do crazy high-level analysis anyway, detecting semantic errors like that is hardly hard for it - it's not limited to "oo look a +!") < 1186875106 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it sounded like a boring halting problem conversation, can you like make a summary for me? < 1186875123 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If H is being called with nonsensical arguments, then it's invalid in that case, contradicting the assumption that H is valid. < 1186875123 0 :AndersB!unknown@unknown.invalid NICK :GregorR < 1186875140 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: well. No. < 1186875148 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: it sounds like you're saying my proof of P => Q is wrong because P => !Q. < 1186875153 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Just because a program calls H in a way that makes H return an invalid answer doesn't mean H is invalid < 1186875162 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BECAUSE, "invalid" means that all bets are off < 1186875170 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, let's be formal. < 1186875179 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :More formal, that is. < 1186875196 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :invalid means "oh look this makes no sense! oh look a flying pig! you can't count on me for this program,input pair any more! you make no sense! i am pink and fluffy! wheeeee" < 1186875200 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh. less formal :_ < 1186875201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*:) < 1186875272 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :if our BF subset has output capabilities (but no input), and we define a "useful" program as one that produces output and halts, it is absolutely possible to create a "perfect" optimization, in accordance with our definition of "perfect" in terms of runtime, memory usage and code length < 1186875304 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Statement P = H is valid for all inputs, returning "halts", "doesn't halt", or "invalid". H(x,y) returns "halts" if x applied to y halts, "doesn't halt" if x applied to y doesn't halt, "invalid" if x applied to y is not valid. H can be implemented in BF with no I/O. < 1186875322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: see that isn't what invalid means < 1186875340 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You don't agree with my formulation of statement P? < 1186875350 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What do you want to change? < 1186875352 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :invalid means literally nothing. it means that nothing is guaranteed, it means nothing makes sense, it means it's confused < 1186875355 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it means that you can't count on it < 1186875365 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: so basically... you are saying any infinite loop in a brainfuck loop can be noticed... so you are saying the halting problem can be solved? < 1186875369 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also, i hate formalness :p < 1186875381 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: being formal is what mathematics is built from. < 1186875386 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: No - I am 99.9999999999999999999999999% likely to be incorrect for another reason < 1186875393 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: I just haven't found that reason yet < 1186875410 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: I have no idea how to describe "invalid" in formal-talk < 1186875412 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you did say any infinite loop can be noticed < 1186875416 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the halting problem can be solved trivially on a machine without time or memory constraints < 1186875447 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I advise you to come back when you come up with a formal way of doing that... < 1186875458 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: and that solution always halts? < 1186875465 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: you are wrong < 1186875468 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186875477 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :what ihope said, that's a nicer way to say it < 1186875491 0 :QS_E!n=e@cpc1-port3-0-0-cust728.cos2.cable.ntl.com JOIN :#esoteric < 1186875501 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: hey, invalid was originally an exception < 1186875509 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ihope: the problem with your logic here lies in the concept of infinity < 1186875527 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh boy, the concept of infinity. < 1186875530 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which also means that if P were to be called, unless it was >deeply, deeply evil (doesn't matter anyway - invalid = boom)< it would stop executing < 1186875530 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :given an infinite amount of time and memory, here's how you solve the halting problem < 1186875544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thus the universe is saved and none of these sticky problems happen < 1186875544 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: with a catch statement, you can turn exception into return value. With a case statement and a throw statement, you can do the reverse. < 1186875553 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's not the point < 1186875555 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: are you, or are you not saying any infinite loop in brainfuck can be noticed? < 1186875576 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you first said they can be, then something weird < 1186875580 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :about percentages :P < 1186875581 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :simply store the entire state of the program each clock cycle, and each clock cycle, check if the program has repeated a state < 1186875597 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :repeat until infinity < 1186875597 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: therefore, the concepts are equivalent. < 1186875613 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: it's possible for a program to never halt but still not repeat a state. < 1186875625 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: it is? show me a prorgam < 1186875626 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :because a computer is a finite state machine (but, due to infinite memory, our halting-solver is clearly not), we will halt. < 1186875631 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Assuming that "program" means something Turing-complete, rather than an FSM... < 1186875640 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: +[>+] < 1186875651 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The tape is constantly changing, and it never returns to a state it was in previously. < 1186875675 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :+[+] if the cell's capacity is unbounded < 1186875675 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :True < 1186875677 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that's not a computer, it's a turing machine < 1186875684 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a computer has bounded memory < 1186875690 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: indeed. < 1186875693 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :a turing machine does not < 1186875696 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the halting problem is for turing machines < 1186875722 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :There are other halting problems. < 1186875739 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: of course you can solve the halting problem on a fsm :P < 1186875747 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :But the one for Turing-complete stuff is the one we normally mean when we say "halting problem". < 1186875749 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that's not what you said earlier < 1186875769 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm getting there < 1186875811 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I shall posit that if we extend this concept, an ISM can determine wether an ISM halts in infinite time < 1186875822 0 :QS_E!unknown@unknown.invalid QUIT : < 1186875878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i do believe that with my definiton of H the halting problem is kinda-sorta-solvable < 1186875879 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1186875885 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you find out how to do the actual halting-detection < 1186875894 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's a bigger problem than paradoxes :) < 1186875903 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: that is kinda the hard part < 1186875914 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :can an ISM solve the halting problem of a superturing machine in uncountable time? :P < 1186875915 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the P function is kinda just a last blow < 1186875939 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea what that'd even mean... but my intuition tells me that's true. < 1186875975 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: somehow, I think you mean something like time omega*2+c... < 1186875989 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: well... if solving the halting problem on an ISM makes something superturing, then... yes? < 1186875999 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: "kinda-sorta-solvable"? < 1186876012 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: :) < 1186876014 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Er, oops, am I turning into TRWBW? :-P < 1186876026 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: so you are saying you can just make the halting problem solver function if you just make it notice paradoxes and behave differently on them? < 1186876040 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you do understand noticing the paradox is superturing < 1186876052 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: maybe -- you'll have to write code to actually detect inf. loops and paradoxes first :p < 1186876055 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :superturing? < 1186876057 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :He's annoyed me somewhat with his "give me a formal definition of the real numbers" stuff. < 1186876059 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :clearly impossible, of course < 1186876075 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I can write a halt-checker in... um... < 1186876077 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :formal definition of the real numbers, EH < 1186876079 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: wow, is he too lazy to look it up for himself? < 1186876080 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :link to metamath.org < 1186876110 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or http://en.wikipedia.org/wiki/Construction_of_real_numbers :p < 1186876135 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: no, I think he knows it. Somebody says something informal (and incorrect) about the real numbers and gives an informal proof, then he asks them for a formal definition of the real numbers, despite the fact that they probably don't know one. < 1186876160 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :who wants to help me build a halting oracle? < 1186876167 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :metamath is cooler < 1186876186 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :http://us.metamath.org/mpegif/5oa.html < 1186876212 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, cool. < 1186876243 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1186876287 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :i want that on a t-shirt < 1186876299 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :and then on the back something like "Math is fun!" < 1186876329 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Some might say that only an American could wear that on a T-shirt. < 1186876337 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1186876341 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I don't know how large Americans actually tend to be, though. < 1186876353 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the whole idea of linking to every used axiom and definition is pretty awesome < 1186876384 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186876389 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :look at the proof for 2+2=4 < 1186876420 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it represents stitching mathematics into an obviously cohesive whole and very clearly presents how everything fits together < 1186876422 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :http://us.metamath.org/mpegif/2p2e4.html < 1186876433 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :an awesome use of hypertext < 1186876441 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :except for the fact that it makes your brain hurt < 1186876502 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :proof that 2+2=4: 1 + n -> 0 + Sn -> Sn. Therefore, 1 + 2 -> 3. Sn + m -> S(n + m). Therefore, 2 + 2 = 4 < 1186876505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is that good enough :p < 1186876529 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :->? < 1186876538 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :neither 1+2 nor 3 is a wff < 1186876559 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :informal symbol < 1186876573 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i meant "is equal to", or really "with expanded functions is" < 1186876589 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186876643 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Just say that 2 = 1+1 and 4 = 1+1+1+1 and you get it by associativity. < 1186876661 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :of course, but then you need to prove associativity < 1186876680 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Not if your axioms include associativity! < 1186876698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, here's my proof in kinda-formalness: < 1186876705 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x + 0 = x < 1186876715 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :ihope: well, then my axioms include 2+2=4 < 1186876717 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :IN YOUR FACE < 1186876733 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1186876735 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Sx + y = y + (x + y) < 1186876738 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait, that's wrong isn't it < 1186876739 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh whatever < 1186876741 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you know, + < 1186876741 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1186876743 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that nice function thing < 1186876746 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SO < 1186876757 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Maybe we should define Sx + y = y + (x + y)! < 1186876757 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1 + x = 0 + Sx < 1186876765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0 + x = x < 1186876770 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1 + x = Sx < 1186876775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1 + 2 = S2 < 1186876775 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :where ! is the factorial! < 1186876777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :S2 = 3 < 1186876781 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :2 + 2 = 2 + (1 + 2) = 2 + (2 + (0 + 2)) = something. < 1186876785 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Sx + y = S(x + y) < 1186876785 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :that could be.. difficult though < 1186876791 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :S1 = 2 < 1186876795 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :2 + 2 = 4