< 1180052126 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1180052131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't even have to implement scoping < 1180052147 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no nested "operator functions" (non-[lambda]-pushed-to-stack functions that is) < 1180052151 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just a hash table < 1180052204 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I smell evil. < 1180052229 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no - just a stack-based, functional language < 1180052233 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so - evil < 1180052274 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Egad... actually, yes, that is evil. < 1180052343 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :factorial = dup 1 > [dup 1 - factorial *] [pop 1] if ;; < 1180052343 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1180052362 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: no < 1180052369 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: no what < 1180052375 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wait, no monads? < 1180052376 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Evil. < 1180052379 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think this wuold look better: < 1180052392 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :[dup 1 > [dup 1 - factorial *] [pop 1] if] "factorial" define < 1180052392 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: monads? pah! real functional programmers MANUALLY APPLY IO < 1180052406 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually, monads would be handy in Factor < 1180052409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :OK, so they get their runtime system to do it for them, but... < 1180052421 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :they reduce the amount of crap that you need to shuffle around on the stack < 1180052421 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: well - [lambda] forms aren't implicitly called < 1180052423 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Manually as in... like, how? < 1180052432 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: yes, that's my point < 1180052437 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :2 [dup] --> 2 [dup], instead of 2 [dup] -> 2 2 < 1180052442 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"call" evaluates them < 1180052445 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :2 [dup] call --> 2 2 < 1180052450 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes, i konw < 1180052461 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :my example depends on that < 1180052465 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1180052469 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :looks boring < 1180052470 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :OK.. but I like the ;; < 1180052482 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's ocamlish :P < 1180052485 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :doesn't Joy do that? < 1180052492 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: joy uses . < 1180052492 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Real functional programmers do impureness? < 1180052493 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :plus it's less ugly with multiple lines: < 1180052497 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I push a block that is the definition of factorial, then a string that is the name of factorial, then I call "define" < 1180052501 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pasted http://pastie.textmate.org/64416 < 1180052563 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1180052574 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I find my way more elegant < 1180052615 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :because then "define" becomes equal to: get-current-scope's-hashtable set < 1180052634 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :scopes? this is a stack-based language ;) < 1180052643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the only scope i need is the global scope to store self-evaluating functions < 1180052651 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :so you can start defining your own definition operators, like ones that do overloading < 1180052684 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :they would just add a method the list of methods for a certain generic function < 1180052719 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :argh! bed-time. < 1180052743 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1180052760 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if i'll be able to handle reverse-polishness to actually write some programs in the language < 1180052777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... probably. i can do some forth. < 1180053886 0 :Aoshi!n=frikisad@89.6.244.34 JOIN :#esoteric < 1180053895 0 :Aoshi!unknown@unknown.invalid PART #esoteric :? < 1180053976 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well that parser wasn't hard < 1180053983 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just have to make it convert X = Y ;; to a hashtable {X => Y} < 1180054601 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.... which is the hardest part < 1180054854 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it works < 1180054856 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yippee < 1180056605 0 :ehird`!unknown@unknown.invalid QUIT : < 1180061648 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1180063096 0 :ihope!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1180063543 0 :SuperAussieEvil!n=AussieEv@h-68-167-206-243.snfccasy.dynamic.covad.net JOIN :#esoteric < 1180063558 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :Hi < 1180063609 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hello, above Australian self-serving-at-the-expense-of-others! < 1180063645 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :? < 1180063686 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Super" = "above", "Aussie" = "Australian" and "Evil" = < 1180063689 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"self-serving-at-the-expense-of-others", correct? < 1180064665 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :...uh < 1180065054 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1180065066 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :Synonyms do not flatter < 1180065127 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I suppose that's true. < 1180065131 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :NOSES ARE A WASTE OF BANDWIDTH! < 1180065155 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Is the horizontal line going through the nostrils called the band? < 1180065157 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1180065329 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :AAH! < 1180065337 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :ACTION head bleeds < 1180065341 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :^ム^ < 1180065371 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't understand unicode < 1180065417 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a smilie. < 1180065488 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ン is also a smilie. < 1180065493 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It's just not a very good one. < 1180065551 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :そっ。 < 1180065570 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I really need to learn what そ is. < 1180065577 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And っ too, for that matter. < 1180065579 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm agreeing, that's all. < 1180065593 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :日本語で話せるか。 < 1180065607 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :つ < 1180065615 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1180065622 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. That's like っ, only bigger. < 1180065642 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1180065647 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And it's tsu. < 1180065649 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"tu" versus "xtu". < 1180065663 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ah! そ is so. < 1180065672 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/%E3%81%A3 < 1180065674 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1180065685 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So, uh, so and a little tsu. < 1180065704 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Would that be tso, by any chance? < 1180065723 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that page details it. < 1180065744 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :In katakana, it's a smile! ツ < 1180065799 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :へムへ < 1180065814 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So is that sort of a "so--"? < 1180065844 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just using "so" as an interjection. < 1180065900 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Looks like glottal stop to me. < 1180065948 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's also used at the end of interjections. < 1180066655 0 :SuperAussieEvil!unknown@unknown.invalid PRIVMSG #esoteric :NOSES ARE A WASTE OF BANDWIDTH! < 1180067899 0 :SuperAussieEvil!unknown@unknown.invalid QUIT :"Leaving" < 1180069389 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's an algorithm that takes more memory to compute than it takes to verify? < 1180069530 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :NP for memory < 1180070039 0 :ihope!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1180079999 0 :clog!unknown@unknown.invalid QUIT :ended < 1180080000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1180080272 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1180081245 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: An algorithm cannot take much more memory to compute than to verify, because any verification can be turned into a search algorithm < 1180081262 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah, figured that out < 1180081321 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :space complexity is strange that way. are you aware of the NSPACE <= squared SPACE result? < 1180081359 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but you can make the codomain large enough to make brute force impractical < 1180081452 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Savitch's theorem was the name < 1180081467 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm looking for something with polynomial space verification, exponential space computation and exponential time brute forcing < 1180081574 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and how does savitch's theorem not prove that impossible? < 1180081595 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1180081599 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Savitch%27s_theorem < 1180081628 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :squared space computation would be better than nothing < 1180081690 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, graph reachability (STCON in the article) contains essentially the whole difference < 1180081777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course like with P=NP there is no known proof that there really is a square difference. < 1180082278 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to bed < 1180082374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :good night < 1180083266 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1180085868 0 :GregorR!unknown@unknown.invalid QUIT :Remote closed the connection < 1180086756 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :そっ。 little girl defecating while committing fellatio? < 1180090887 0 :ptitz!i=ptitz@el8.ru JOIN :#esoteric < 1180090978 0 :ptitz!unknown@unknown.invalid PART #esoteric :? < 1180095016 0 :venkatesh!n=user@210.211.183.231 JOIN :#esoteric < 1180095984 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ?! < 1180098444 0 :jix__!n=jix@dyndsl-085-016-236-087.ewe-ip-backbone.de JOIN :#esoteric < 1180099567 0 :venkatesh!unknown@unknown.invalid PART #esoteric :? < 1180101248 0 :jix__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1180101279 0 :jix__!n=jix@dyndsl-091-096-047-146.ewe-ip-backbone.de JOIN :#esoteric < 1180103276 0 :helios24_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1180104331 0 :helios24!n=helios@195.37.106.60 JOIN :#esoteric < 1180106406 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i asked if it was an emoticon for that < 1180106461 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1180106465 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a *word*. < 1180107799 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, right. < 1180107847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hope you ppl are all here for esoteric _programming_ < 1180110932 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :でもエステリック語はたのしすぎる、よ。 < 1180110949 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(but esoteric spoken languages are too much fun.) < 1180111045 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :guess so :\ < 1180111047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :japanese? < 1180111077 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my friends are anime freaks, would be cool to own them in japanese < 1180111114 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, otaku. What fun it is to mess with them. . . < 1180111159 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes, you don't even need to know more Japanese than what it takes to tell the difference between hiragana, katakana, and kanji to be effective. < 1180111220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mmm why? < 1180111234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i never remember even those < 1180111242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heard them a million times < 1180111246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :one or two though < 1180111262 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because sometimes otaku will have a shirt saying, say, "オタク" instead of "おたく". < 1180111295 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(katakana should be used for onomatopeia, foreign words, and occasionally for emphasis. Hiragana and kanji are normal for native words) < 1180111385 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1180111913 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm? < 1180112199 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't see the point in that but good for otaku i guess < 1180112217 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean i don't know what you meant < 1180112250 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :slepation ------> < 1180112251 0 :ihope!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1180112779 0 :sebbu!n=sebbu@ADijon-152-1-59-96.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1180114315 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The point being that that's basic knowledge that otaku lack. < 1180114753 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :japanese is an esoteric language now? < 1180114786 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i thought it was one of the major lanugages of the world... < 1180114800 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Is there any context to lament's question that I need to read the logs to see? < 1180114838 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I guess so. < 1180115007 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And I better get learning some actual Japanese. < 1180115047 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I can still say 猫はパンです just fine. < 1180115083 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :パン is katakana, which is a little weird. < 1180115140 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And ノテンゴイデア, even though that's not actually Japanese. < 1180115432 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You can say that you are bread? < 1180115471 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And, BTW, パン is a loan word from Portuguese. < 1180115622 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :all those characters show up as squares :) < 1180115639 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if they really were squares, it would certainly be a very esoteric language. < 1180115867 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So it's no coincidence that the roumaji for that is "pan", which is the same as the Spanish word for "bread". < 1180115885 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :lament: you're not Japanese enough, then. < 1180115892 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Isn't 猫 cat? < 1180115915 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Are you looking for Unicode character U+732B: cat?" < 1180115963 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1180115965 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, kJapaneseKun. < 1180115970 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, you're saying that your *cat* is bread. < 1180115991 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Is it necessarily my cat? < 1180116009 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's "neko wa pan desu", isn't it? < 1180116011 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . No. < 1180116022 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :No it isn't necessarily mine? < 1180116122 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not necessarily. < 1180116145 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :僕は日本語をわすれていると思う。 < 1180116233 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, more kanji. < 1180116404 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1180116530 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :<<*(&>*(<>&(*<>&<>)(*<> < 1180116535 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :*(<&{#($*<>({({&<>P *(& < 1180116538 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :thank you. < 1180116540 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Convenient roumaji thingy tells me that's "boku ha nihongo o wasure te iru to omou." < 1180116554 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Of course, that "ha" is probably actually "wa". < 1180116572 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And of those, I only know what "wa" means. < 1180116595 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"I think I'm forgetting my Japanese". < 1180116750 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1180116757 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws it at a nearby bd_ < 1180117808 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has dinner < 1180119709 0 :GregorR!n=gregor@c-76-27-232-8.hsd1.or.comcast.net JOIN :#esoteric < 1180119802 0 :GregorR!unknown@unknown.invalid QUIT :Client Quit < 1180119876 0 :GregorR!n=gregor@c-76-27-232-8.hsd1.or.comcast.net JOIN :#esoteric < 1180119884 0 :GregorR!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1180121838 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1180123085 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Indeed, GregorR's being transient again. < 1180123092 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Stop being so transient, GregorR! < 1180123127 0 :jix__!unknown@unknown.invalid NICK :jix < 1180123321 0 :mtve!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1180124275 0 :GregorR!n=gregor@c-76-27-232-8.hsd1.or.comcast.net JOIN :#esoteric < 1180125077 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: why the transience? < 1180126037 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :From our birthday, until we die, // Is but the winking of an eye.... < 1180127000 0 :sebbu2!n=sebbu@ADijon-152-1-47-48.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1180128133 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1180128210 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, why the Plof errors on stdout instead of stderr? < 1180129266 0 :sebbu!n=sebbu@ADijon-152-1-47-48.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1180129574 0 :sebbu2!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1180131499 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1180133073 0 :ehird`!n=ehird@user-54457988.lns6-c11.dsl.pol.co.uk JOIN :#esoteric < 1180134656 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why 99bob is doing 99->-98 < 1180134934 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=> = dup dup > == or ;; < 1180135128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1180135131 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how come? < 1180135160 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if that was an equation over = < 1180135406 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pasted http://pastie.textmate.org/64693 < 1180135408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's the 99bob program < 1180135414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pasted http://pastie.textmate.org/64694 < 1180135429 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this is what => etc are defined as < 1180135432 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the rest is pretty obvious < 1180135434 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it currently tries to pop from an empty stack in swap < 1180135437 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :L/ < 1180135438 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*:/ < 1180135594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dup dup > == or ;; ==== dup 0 == or ;; ==== (lambda a,b : a or not b), or? < 1180135609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err < 1180135614 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it works like this: < 1180135617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1180135620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :true false < 1180135623 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :false true (swapped) < 1180135624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mine was wrong < 1180135633 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(false is...false, so run pop) true < 1180135637 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or:::: < 1180135639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :false true < 1180135642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :true false (swapped) < 1180135647 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(true is true, so swap) false true < 1180135649 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(and pop) true < 1180135655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[] is a lambda < 1180135676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : dup dup > == or ;; works like that? < 1180135677 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if pops off IFFALSE, IFTRUE, and COND... you can guess the rest < 1180135690 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: > pops twice and replaces it with true or false < 1180135694 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :== does the same < 1180135706 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so you might have true false (>, not ==) or false true (==, not >) < 1180135718 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=>, of course, is eq-or-gt < 1180135761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1180135769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why does the swap coma along? < 1180135773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*come < 1180135802 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, visualize what or does with the stacks [true, false], [false, true], [false, false] and [true, true] in your head, using these stack signatures: < 1180135809 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :swap = a b -> b a < 1180135814 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pop = a b -> a < 1180135830 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if = c t f = result of calling t if c, else result of calling f < 1180135834 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay... now where is there a swap or a pop? < 1180135836 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or if? < 1180135845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well - in the core implementation < 1180135849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its not hard to figure out what they do < 1180135851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't see it in "dup dup > == or ;;" < 1180135853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1180135859 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or = swap [swap pop] [pop] if ;; < 1180135862 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i pasted that < 1180135865 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you mean the source? < 1180135867 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1180135875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it isn't self-hosting ;;) < 1180136005 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1180136049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah i guessed if wrong < 1180136053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :'if' < 1180136065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :got it now < 1180136069 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :C T F if => is C true? if so, call T, otherwise call F < 1180136072 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but you know that now :) < 1180136124 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :look how about i just put the impl online :) < 1180136128 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's ruby though and very ugly < 1180136149 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and plenty of the examples i wrote when tired and are hopelessly wrong or just speculation like writing a daemon in it < 1180136171 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : => = dup dup > == or ;; i mean this one < 1180136174 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*meant < 1180136177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right, what about it < 1180136186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is that true? < 1180136194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's a definition < 1180136197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :FUNC = CODE ;; < 1180136199 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that defines => < 1180136234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah i think it should be < 1180136235 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=> = dup dup > swap swap == or ;; < 1180136241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a b dup dup > == or ;; ===> a b b > == or ;; ===> a 0 == or ;; < 1180136246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as i said earlier < 1180136251 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1 1 -> 1 1 1 1 -> 1 1 false -> 1 false 1 -> false 1 1 -> false true -> true < 1180136263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :swap swap == nop < 1180136279 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oops. < 1180136284 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and < 1180136292 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm trying to get a b c d -> a b d c -> a d b c :) < 1180136294 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :still, a a > equals false < 1180136306 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: which is why i do ==, then or < 1180136316 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so if == is true and > is false, true is returned < 1180136327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dup > equals false < 1180136330 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think always < 1180136345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm that dup is wrong yes < 1180136351 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm meaning 1 2 -> 1 2 1 2 < 1180136353 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not 1 2 -> 1 2 2 < 1180136357 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fixes < 1180136364 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :* 1 2 2 2 < 1180136381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dup rot dup rot rot < 1180136393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where a b c rot = b c a < 1180136423 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a b -> a b b -> b b a -> b b a a -> b a a b -> b a b a < 1180136423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hrm... i don't think a b c rot = b c a is selfhostedable...better ruby it < 1180136426 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1180136434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :swap dup rot dup rot rot < 1180136446 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :selfhostedable? :) < 1180136513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :programmable in the language itself, not its implementation :) < 1180136524 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :<= = swap dup rot dup rot rot < rot swap == or ;; < 1180136542 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1180136559 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ugly :) < 1180136564 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i guess you need a way to reach a depth n specified at runtime to make it tc < 1180136566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or not < 1180136580 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway, what i mean about selfhostedable is - can i define rot using only pop/swap/etc < 1180136585 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or is it a "core" thing < 1180136598 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :never heard, but i got it, yes < 1180136701 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :== bottles of beer on the wall, < 1180136701 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :== bottles of beer. < 1180136702 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Take one down, pass it around, < 1180136702 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :./core.rb:61:in `-': String can't be coerced into Fixnum (TypeError) < 1180136707 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think i need to debug < 1180136754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1180136762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that's a better 99bob < 1180136797 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :me too actually < 1180136800 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's catchier < 1180136808 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah :P < 1180136815 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the original is so verbose.... < 1180136833 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"Equals equals bottles of beer on the wall, equals equals bottles of beer. Take one down, pass it around, core dot rb 61 in minus string can't be coerced into fixnum typeerror." < 1180136887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :== essentially is equals though < 1180136906 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i guess you can have multiple variants < 1180136914 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :equals is assign :P < 1180136935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1180136953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :'==' can be said 'equals' and '=' 'assign' < 1180136973 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :while you can just as well say '==' is 'equals equals' and '=' 'equals' < 1180136980 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1180137387 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :stack = ["swap", "dup", "rot", "dup", "rot", "rot", ">", "rot", "swap", "==", "==", "=="] < 1180137387 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wtf. < 1180137393 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's all the function calls < 1180137396 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why isn't it...blarh