< 1199145685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh, happy 2008 < 1199145732 0 :Traveler2!n=traveler@belhuncnas03-3467426861.dial.bell.ca JOIN :#esoteric < 1199145747 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199145786 0 :Traveler2!unknown@unknown.invalid QUIT :Client Quit < 1199146592 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ΧΧΠΙΙΙ < 1199146607 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not for another 7 hours < 1199146619 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199146621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's 00:17 < 1199146621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199146625 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in gmtland < 1199146626 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199146629 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's 17:17 < 1199146640 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(getchar()+1 || 1) - 1 /* clever trick for a BF-getchar */ < 1199146967 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :二千八 < 1199147037 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hello calamari < 1199147045 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi ehird` < 1199147144 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199147183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hello pikhq < 1199147228 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :‫תשס״ח < 1199147242 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :damnit haskell < 1199147293 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :What does this mean? Happy jew year? < 1199147320 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1199147406 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :፳፻፰ < 1199147430 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hope you guys have all these fonts, otherwise sorry for the line noise :) < 1199147450 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Don't have the last one. < 1199147459 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all but last < 1199147488 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :random esoteric idea < 1199147496 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's probably irc-alikes with s-expressions < 1199147499 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Ge'ez or Ethiopic has been assigned Unicode 3.0 codepoints between U+1200 and U+137F < 1199147511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but what about irc alikes with stack-based text < 1199147511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like forth < 1199147511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or postscript < 1199147532 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Random esoteric idea. Transmit pieces of code to a million monkey with a million typewriter. < 1199147538 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Then, magic happens. < 1199147550 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :unicode is evil < 1199147576 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: no, unicode is wonderful < 1199147579 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i luff unicode < 1199147659 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Why is yunicode evil? < 1199147701 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Unicode is full of chars you will never use. < 1199147722 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :3 terabites of it are just asian characters. < 1199147724 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199147742 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :English is evil! < 1199147757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :English is full of words you will never use. < 1199147771 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: I think asian people may disagree. < 1199147791 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The phone book is evil! < 1199147803 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The phone book is full of people you will never speak with. < 1199147816 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood < 1199147821 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what < 1199147827 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :And let me not even _start_ on wikipedia. < 1199147827 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :you keep saying this but I don't understand why < 1199147830 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :My sister was once bitten by a mse < 1199147859 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :R6RS is evil, it's full of stuff you'd never want to use. < 1199147861 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is that like a moose, except with an Inspector Closeau accent? < 1199147862 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh wait, that's true < 1199147881 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199147881 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :who the hell wrote R6RS < 1199147887 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol r5rs < 1199147889 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :*6 < 1199147905 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: various people's arses < 1199147906 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Everytime I read this acronym, I can't help but think of a little robot < 1199147917 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199147919 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :R2D2's cousin or something < 1199147969 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :R2RS was pretty sucky < 1199147969 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199148006 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hebrew don't celebrate new year anyway < 1199148014 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :not today at least < 1199148042 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm a jew, and I don't care for the jew calender! < 1199148050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: are you jewish or are you a jew < 1199148057 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hey what a coincedence, i'm not a jew either! < 1199148058 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :big difference :-) < 1199148069 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Slereah *is* a jew < 1199148071 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or jewish < 1199148077 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Define both terms. < 1199148113 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh i misread < 1199148152 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: Jewish means you adhere to the Abrahamic, one-mega-psychotic God religion < 1199148165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Jew means your heritage is Jewish < 1199148177 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm an atheist. < 1199148227 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Quinary < 1199148233 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :someone figure out 2008 in that < 1199148238 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199148260 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I get lost between 100 and 125 < 1199148284 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :according to the calculator I need to encode 401 + 3 < 1199148295 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :31013 < 1199148305 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :err 5 * 401 + 3 < 1199148343 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :1013? < 1199148394 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hmph < 1199148397 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. Maybe not < 1199148417 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Fuck that, I'll just use Mathematica < 1199148418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'hello world' * 'main' channel say < 1199148421 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :dambumiriw dambumirri rulu vs dambumirri dambumirri rulu < 1199148426 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :* 'main' channel join < 1199148433 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm. < 1199148451 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :showIntAtBase 5 intToDigit 2008 "" < 1199148452 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :31013 < 1199148465 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Forgot the 3. < 1199148471 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :pslbnf { primary = /2+2/ => "4" print null }; < 1199148475 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(say (channel 'main') 'hello world') -> 'Hello, world!' 'main' channel say < 1199148720 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to write a self-applicable scheme->forth compiler < 1199148722 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is all < 1199148750 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :what does self-applicable mean\a < 1199149035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: it can compile itself < 1199149040 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the result can compile itself again < 1199149040 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1199149168 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has seen the term self-hosting for this < 1199149176 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes < 1199149187 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but self-applicable is a better term < 1199149201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :self-hosting implies that if you repeat the process multiple times, it'll 'stack up' on self-hosts < 1199149245 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Connection reset by peer < 1199149282 0 :bsmntbombdood!n=gavin@75-166-162-55.hlrn.qwest.net JOIN :#esoteric < 1199149436 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Why don't you finish ISWYM first :P < 1199149535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: 'cause it'll be a pain in the neck :P < 1199149931 0 :bsmntbombdood_!n=gavin@75-166-162-55.hlrn.qwest.net JOIN :#esoteric < 1199150235 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1199150255 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone should write a brainfuck->unlambda translator < 1199150267 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then, reduced-unlambda->ski < 1199150270 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then ski->iota < 1199150275 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :voila, bf->iota < 1199150293 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Connection timed out < 1199150298 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't feel very motivated right now. < 1199150300 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck->unlambda translator souynds hardest < 1199150341 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, bf->something-with-a-path-to-ski < 1199150348 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :How do you even make some sort of memory in Unlambda? Keep pairing elements? < 1199150395 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Presumably, consing, yeah < 1199150400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bf->lambda-calculus might be easier < 1199150412 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :input should be specified in the prog!input form pre-compilation < 1199150422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and output should be extractable, somehow < 1199150436 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so with a wrapper script, we could really have the slowest BF interp ever < 1199150447 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Even slower than mine? < 1199150469 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Don't be so sure, I'm working on a 1 tape version as we speak! < 1199150472 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Probably < 1199150773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :C question < 1199150784 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does a signal handler call unwind the s tack? < 1199151225 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck->unlambda isn't that hard < 1199151241 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :first just write a brainfuck->scheme < 1199151262 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Then a scheme->unlambda. :p < 1199151264 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :reduced scheme < 1199151403 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck->scheme should be simple, yeah < 1199151415 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you ensure no imperatives, you can ->unlambda < 1199151418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, you could do imperative IO < 1199151422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but that won't survive the translation < 1199151429 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thus output is not in R-unlambda < 1199151448 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :R-unlambda? < 1199151695 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: No, the signal is called in the current context - the program continues executing where it was when the signal handler ends. So, no unwinding is done. < 1199151713 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :excellent < 1199151727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, assuming i can get myself an invalid page in the right place, my signal handler just needs to realloc < 1199151733 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the invalid page bit is the hard part < 1199151743 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since even mmap makes no guarantees, unless you pass it the right flag, which can then make it fail < 1199152543 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: any bright ideas? < 1199154254 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: pingify < 1199157346 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :BF on a one tape Turing machine is quite annoying to do. < 1199157363 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't have a simple way to load a file on it. < 1199163038 0 :GreaseMonkey!n=saru@122-57-229-12.jetstream.xtra.co.nz JOIN :#esoteric < 1199168054 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :The program and the input both have to be in the tape to start with. Both are finite, and then you put the infinite brainfuck array after them. How are you setting tape state in the first place? < 1199168096 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :You'll need a marker to distinguish the program from its input. I suggest '!' of course :) < 1199168229 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :And then to separate the input from the array, hm. Maybe an EOF stored on tape. Then there are 257 tape symbols in total, which makes sense. < 1199168371 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, of *course* you suggest !. < 1199168714 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :dbc : No need for input in the program < 1199168723 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's not just any Turing machine! < 1199168727 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's a choice machine! < 1199168777 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think my version work right now. < 1199168900 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The tape looks something like this : http://farm3.static.flickr.com/2143/2153953116_145ff9967d_o.jpg < 1199168930 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :@ indicates the beginning of the code, $ the current position, LF the end of it. < 1199168952 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : for the beginning of the memory, or for the current position. < 1199168971 0 :faxathisia!unknown@unknown.invalid PART #esoteric :? < 1199168988 0 :faxathisia!n=more@amcant.demon.co.uk JOIN :#esoteric < 1199169029 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Since the machine has to travel most of the memory and code for each instruction, it will probably be a whole lot slower than the 3 tapes version. < 1199170041 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :So it only handles brainfuck programs that don't take any input? < 1199170053 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, it handles P'' programs? < 1199170081 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The Turing machine has an input function. < 1199170087 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ahhh. < 1199170113 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :choice machine being this : < 1199170115 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"For some purposes we might use machines (choice machines or c-machines) whose motion is only partially determined by the configuration (hence the use of the word possible in 1). When such a machine reaches one of these ambiguous configurations, it cannot go on until some arbitrary choice has been made by an external operator. " < 1199170208 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :That's right, I think you said the 3 tapes version was slow. Why was that? < 1199170224 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, because it is. < 1199170244 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I tried some programs, some never finished < 1199170269 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The mandelbrot.b ran for 10 hours, outputing two lines before I turned it off. < 1199170282 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Does it average more than ten Turing instructions per brainfuck instruction? < 1199170310 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Or did it take a long time to do each Turing machine instruction... < 1199170325 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :See for yourself! < 1199170327 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://paste-it.net/5500/ < 1199170330 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Okay. < 1199170363 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The number of instructions isn't fix. But there's less than 5 states per instructions read. < 1199170380 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think it's mostly the fault of the Love Machine 9000. < 1199170427 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, actually, there's exactly 5 states for the brackets. < 1199170437 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But other than that, it's usually 2. < 1199170470 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :One state to do the instruction, one to go back on the code and increment it. < 1199170628 0 :dbc!unknown@unknown.invalid PRIVMSG #esoteric :Ah. Increment it, meaning move the code head right? < 1199170638 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199170652 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's the state g in the code. < 1199171139 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should put the unicode-like version online, too. < 1199171146 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Errr, ASCII. < 1199172362 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199174399 0 :clog!unknown@unknown.invalid QUIT :ended < 1199174400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199177958 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Welcome to 2008. I will be your tour guide." < 1199182358 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/wiki/?title=Hydra // card game we invented at the New Years party < 1199184309 0 :slereah_!n=Test4@82.126.90.152 JOIN :#esoteric < 1199185073 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199189364 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199193853 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199193865 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassabi all :) < 1199193868 0 :RedDak!n=dak@host37-87-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199194181 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just chili'ng out... < 1199194198 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool, same here, after last night ;) < 1199194269 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, happy new year < 1199194277 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip, you too :) < 1199194306 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :PS: 8tt.org is back so Full 0 now sits back at http://www.full0.8tt.org < 1199194495 0 :Hiato!unknown@unknown.invalid QUIT :"Leaving." < 1199195429 0 :jix!n=jix@dyndsl-091-096-053-013.ewe-ip-backbone.de JOIN :#esoteric < 1199197265 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :"the new years party" < 1199197273 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :GregorR likes to pretend he's sociable < 1199197304 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: it's ok, we understand you here < 1199198886 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hey, he didn't say it was an offline party... < 1199198940 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm actually GregorR has to be sociable. he has to show off his hats after all... < 1199199039 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, he could send photos on the interwebs! < 1199200271 0 :jix!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1199200325 0 :jix!n=jix@dyndsl-091-096-047-216.ewe-ip-backbone.de JOIN :#esoteric < 1199201134 0 :biribau!n=Administ@74.Red-88-15-223.dynamicIP.rima-tde.net JOIN :#esoteric < 1199201178 0 :biribau!unknown@unknown.invalid PRIVMSG #esoteric :hi, prolog basics questions have site here? < 1199201619 0 :oerjan!unknown@unknown.invalid QUIT :"Dinner" < 1199201947 0 :biribau!unknown@unknown.invalid PART #esoteric :? < 1199202455 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199202539 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1199202735 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone awake? < 1199202753 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION threatens to not work on PSOX if no one talks < 1199203247 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Hi. < 1199203266 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199203325 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1199204892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : wow, er, that's impressive.. i didn't know you could patternmatch lambdas < 1199204892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : oklopol: you'd like that! < 1199204896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1199204909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why :\ < 1199205382 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :((?:[^\x00]|\x00{2}(?:.|\Z))*)(\x00.*)? is the most important regex in PSOX? < 1199205458 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can that regex be made more efficient? < 1199207222 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199207266 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi Hiato < 1199207278 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassup Sgeo :) < 1199207289 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :((?:[^\x00]|\x00{2}(?:.|\Z))*)(\x00.*)? < 1199207305 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :say what? < 1199207326 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's the most important regex in PSOX < 1199207352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, regexp's are not my strong point :P (especially in Ruby) < 1199207358 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Why, what does it do? < 1199207387 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :breaks a line apart into the outputted text with 0x00 0x00 etc. and the command part with 0x00 < 1199207395 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199207403 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah huh, ^\xoo < 1199207404 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199207426 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, anything news, perhaps a version I can start meesing with? < 1199207430 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*messing < 1199207481 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*new < 1199207498 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh, I hat tyops :P < 1199207543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :x:xs can be used as a pattern matcher because a list can be represented as just one cons. a+b cannot pattern match because there's an infinite amount of conses for addition, 6=6+0=5+1=... now, if one were to introduce the concept of virtual cons cells into a language, and make a cons be a set of rules of dependence, so that an addition cell knows it's (result - b, result - a). < 1199207545 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is working on the psox.types module < 1199207565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this way you could pattern match like the haskell n-1 pattern, but in a more sophisticated fashion. < 1199207591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, haskell prolly has a much more sophisticated reason for that to work, but i don't know it, and i prefer my own ideas. < 1199207641 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1199207662 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::), I generally prefer my own ideas too, over others that is. Some call it stubbornness ;) Oh, and I agree with Sgeo: ?? < 1199207726 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :these would be virtual cells of course, so when doing a pattern match for 5 on (n+3), 5 would be converted to an addition cell as (result-b, 3), where b=3 = (2,3), so n=2 < 1199207750 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :IF the conversion into an addition cons cell should fail, the pattern match simply would fail. < 1199207771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this would be correct at least in this case, since only numbers can be subtracted from < 1199207779 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm still not quite with you... but I guess it's not aimed at me :) (Otherwise ti would be allot longer) < 1199207785 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is this anything to do with PSOX? If so, please be warned that I don't have a drop of understanding of what you're talking about < 1199207811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, you could also have the possibility to specify domains for which the conversion always works < 1199207833 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is this part of the Graphica spec? < 1199207855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, in case in the final pattern, there were still cells that are defined in terms of other cells, the pattern itself would be incorrect, for example if you tried to pattern matchon (a+b) < 1199207857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*match on < 1199207873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199207888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although, that could just take a random cons cell that represents 5 as an addition. < 1199207921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sometimes, all that matters might be that you separate the object into *some* other objects that, when consed, result into the original object. < 1199207936 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not in the case of numbers and addition, prolly, but with lists, for example. < 1199207948 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: is he talking to us? < 1199207960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199207970 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is very esolang-related, and not that high-level < 1199207973 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... yes? < 1199207977 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, i'll continue < 1199207980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199207990 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, don't let me stop you < 1199207998 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If it's PSOX related, you are hereby REQUIRED to translate it into something that makes sense.. < 1199208001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just /ignore me for a while in case not interested, this is just may way to clear my thoughts, if okay. < 1199208022 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Sure, proceed < 1199208038 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, for instance quicksort's pivoting, pmatch the list into lpart++[pivot]++rpart < 1199208041 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I will interject when (rather if) I have something to say < 1199208047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because all we want is *some* pivot < 1199208075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(++ lpart (++ [pivot] rpart)) < 1199208096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if i didn't have this headache, i'd manually pattern match that < 1199208106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :might be an interesting concept < 1199208124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but once again it's so clever yet simple it must already be in use. < 1199208128 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :er.. yes .. amm.. no .. whichever is more appropraite :) < 1199208138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, not clever, but... fun? < 1199208187 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, was lost in my thoughts, so didn't read what you said between my messages < 1199208202 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you didn't *get* that? in that case i'll happily explain < 1199208206 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, no problem, and believe me, it wasn't important < 1199208208 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just assumed you don't care :-) < 1199208229 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, I care, but don't *concentrate* < 1199208233 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199208233 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199208241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you know what pattern matching is? < 1199208254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm, well yes (I think) < 1199208280 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in "The cat ate the mouse" pattern would be "at' twice? < 1199208287 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or not < 1199208288 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1199208291 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind < 1199208295 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm.. No < 1199208299 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't < 1199208371 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199208373 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sooooo < 1199208380 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like, if you have the list [1,2,3] < 1199208386 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199208393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's basically (cons 1 (cons 2 (cons 3 nil))) < 1199208398 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in lispy fashion < 1199208400 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you get that? < 1199208401 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cons? < 1199208409 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, other than the cons, yes < 1199208411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :construct, i guess < 1199208415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, ok < 1199208416 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199208428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it means (cons head-of-list tail-of-list) < 1199208434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where tail-of-list is usually the rest of the list < 1199208435 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199208439 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199208442 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :proceed < 1199208452 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(with caution ;) ) < 1199208465 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, let's define a function that takes the second element of a list and returns that *2 < 1199208483 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok sure < 1199208497 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you could do it with L -> (tail tail List) * 2 < 1199208506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where tail does (cons a b) -> b < 1199208509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :got it? < 1199208513 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :1 sec < 1199208519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sdfapojoaifjg < 1199208522 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry. < 1199208527 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, wait, thinking < 1199208530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L -> (tail head List) * 2 < 1199208539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :think about the correct one, though :) the latter < 1199208540 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? which one < 1199208542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :--- < 1199208544 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCK. < 1199208546 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, wait some more < 1199208548 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199208552 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :OKAY, that's incorrect too, sorry < 1199208554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :headache. < 1199208557 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199208560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L -> (head tail List) * 2 < 1199208576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :means, take L as param < 1199208582 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1199208582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then return what's after -> < 1199208583 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199208592 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199208599 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :tail list of head is 2,3 < 1199208602 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not just 2 < 1199208602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :could explain my code if i invent the notation on the fly... < 1199208618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L = 1,2,3 < 1199208621 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199208624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so tail L = 2,3 < 1199208628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199208630 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so head tail L = 2 < 1199208635 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199208639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for a more imperative version < 1199208640 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not tail of head < 1199208644 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but head of tail < 1199208645 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1199208647 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199208650 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :gotcha < 1199208653 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :im with you < 1199208687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L -> ListTail = tail List; SecondHead = tail ListTail; return SecondHead*2 < 1199208693 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although you already got it. < 1199208699 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just wanted to write that for some reason < 1199208705 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199208706 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199208742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, no the idea of pattern matching is, instead of explicitly taking the *head* of a list, we just take the list in as if it were already spliced into a head and a tail. < 1199208744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1199208791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(: 1 (: 2 (: 3 Nil))), ":" is cons here, it's just a shorter word so i don't have to type cons, although this explanation is longer than all the conses i've ever written, so it is pretty useless. < 1199208814 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199208817 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :go on < 1199208820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, we define the function as (: A (: B L)) -> 2*B < 1199208831 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, instead of just putting the param into a variable < 1199208839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we have a pattern we match for the parameter < 1199208850 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199208854 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and inside the pattern, there are variables, that hold the parts of the parameter. < 1199208860 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :L being significant of the rest of the list? < 1199208872 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this works because most data can be, and is often represented by a tree., < 1199208883 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which you prolly know? < 1199208889 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :trees < 1199208891 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199208900 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and somewhat Alpha Bet Pruning < 1199208908 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*Alphabeta < 1199208911 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and minimaxing < 1199208918 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BFStmt=+|-|>|<|[BFStmt]|,|. < 1199208926 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, sorry < 1199208927 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmm < 1199208931 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :alphabeta? < 1199208931 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what the hell is that < 1199208938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what is what? < 1199208938 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :never seen it like that < 1199208945 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :BFStmt=+|-|>|<|[BFStmt]|,|. < 1199208947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199208951 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you claim it to be alphabeta < 1199208952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just a random notation. < 1199208957 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, ok < 1199208965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :| was jsut my way to separate possibilites for a branch < 1199208978 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually a pretty standard way < 1199208983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know alphabeta... < 1199208985 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, ok < 1199208996 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, its pruning, like minimaxing < 1199208997 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, L was the rest of the rest of the list. < 1199209000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :except different < 1199209002 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199209009 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199209049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(: A (: B L)) -> 2*B can be written A:B:L->2*B if we notate : as infix and right grouping, right < 1199209051 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199209061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1:2:3:Nil is the list. < 1199209076 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199209079 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :get it < 1199209082 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... we pattern match as 1->A, 2->B, 3:Nil->L < 1199209110 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, the cons representation is much clearer when you pattern match, just felt it'd look bad if i wrote it on irc. < 1199209114 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, actually L = 1->A, 2->B, 3:Nil < 1199209117 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in other words < 1199209124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope! < 1199209142 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L would just be (: 3 Nil) < 1199209149 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wa? < 1199209153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because A and B take the first two elements < 1199209158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L only gets the last. < 1199209165 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199209177 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :just that the 3:NIL->L got me < 1199209179 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199209181 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :3:Nil < 1199209185 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is the last one < 1199209188 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1199209191 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :back with you < 1199209220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in (: A (: B L)) -> 2*B, (: 1[place of A] (: 2[Place of B] (: 3 Nil)[place of C])) < 1199209232 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :uhh that was ugly. < 1199209244 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199209246 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yueah < 1199209248 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I get it < 1199209264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric : (: 3 Nil)[place of C] surely place of L < 1199209272 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not C < 1199209273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyhow, do you see what the function (4+A) -> A*2 would do given 2 as a parameter? < 1199209278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, you are correct < 1199209295 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm very bad at keeping the details right < 1199209300 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, no prob < 1199209302 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lets see < 1199209315 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(4+A) -> A*2 < 1199209318 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :given 2 < 1199209337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it cannot actually be executed as straightforwardly as the list one, because a list IS (cons Head Tail), while a number is NOT (+ A B), but just a number. < 1199209338 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :surely 4 < 1199209349 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :-4. < 1199209353 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199209359 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :A-4 * 2 < 1199209369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1199209371 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :was my third guess < 1199209375 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199209385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(4+A) find such A that (4+A) = param, basically. < 1199209395 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, ok < 1199209413 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just as the pattern match (: A (: B L)) meant "find A, B and L so that (: A (: B L)) equals the parameter" < 1199209443 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh, ok, im starting to see the light now < 1199209448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good. < 1199209465 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is a trivial concept, but *very* interesting if you ask me < 1199209481 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm glad I learnt it :) < 1199209482 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not trivial as in "lol you should know it already", i meant like simple < 1199209489 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199209501 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fails to understand Lispy stuff < 1199209519 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no worries Sgeop, it took me this long to get it :) < 1199209524 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*Sgeo < 1199209526 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: (Function Argument1 Argument2 ... ArgumentN) < 1199209542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where arguments can be sexps too. < 1199209560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(sexp is (A B C ... N) that is.) < 1199209603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, in lisp you take the program, which is a list (A B C .. N), you evaluate B, C.. N first, then evaluate the function A with the evaluated arguments. < 1199209618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :B.. N are evaluated just like in A, in a recursive fashion < 1199209626 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, i suck at explaining right now, sorry. < 1199209658 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) No worries, teaching fools is a great gift (with reference to me, for the fools part) < 1199209667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, Hiato: do you see why pattern matching for *any* pattern would be impossible? < 1199209677 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, for operators you can define yourself. < 1199209701 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, infinte possibilties < 1199209705 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*infinite < 1199209711 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did not mean that. < 1199209721 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the list case, you can do A:B unambiguously < 1199209722 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then, no < 1199209727 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199209742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and with most operators, you can pattern match on some elements < 1199209748 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like 5 -> (A+3) < 1199209757 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a=2 < 1199209760 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199209766 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and [1,2,3,4,5] -> [1,2,3]++A < 1199209778 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199209789 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a=5 < 1199209791 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1199209802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in there, A++B could do any split for a list, BUT if you do [1,2,3]++A you only get one list. < 1199209821 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha, yes, I see < 1199209827 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ambiguity in pattern search < 1199209838 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :results in multiple possibilites < 1199209847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :often, that is true for binary operators, : just happens to be an example of an operator where you can do it with two vars < 1199209849 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or vagueness < 1199209853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, indeed < 1199209860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, that was not my point < 1199209868 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199209874 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a pattern should never have these ambiguities. < 1199209886 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1199209901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's the programmer's job to make them correct, and such that there is only one way to cut the object pmatched. < 1199209903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BUT < 1199209976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is another problem < 1199209991 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is what? < 1199209996 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we can make a function, whose converse makes us solve the halting problem or something. < 1199210027 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm.. ok < 1199210036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and, often functions are only easy to do one way, even though they actually have just one converse. < 1199210041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll show an example < 1199210053 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199210056 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :please do < 1199210058 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@ is a function that takes a list of primes, and multiplies them. < 1199210065 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199210065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :easy to implement < 1199210067 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :understand < 1199210074 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no need to go urther < 1199210077 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*further < 1199210078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :L -> reduce * L < 1199210082 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like modulus < 1199210094 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :modulus? < 1199210097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't mod :) < 1199210102 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it multiplies the elements < 1199210104 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, no < 1199210110 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I meant an easy one way thingy < 1199210113 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :remainder < 1199210117 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@ [2,3,3,7] -> 16 < 1199210119 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :5 mod 2 = 3 < 1199210119 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199210126 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol, actually not 16 xD < 1199210127 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but 3 * X =5 ? < 1199210134 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1199210140 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the other way areound < 1199210146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :modulus doesn't have an unambiguous converse :) < 1199210147 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but you get what I'm saying < 1199210153 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's the point < 1199210155 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199210156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no! < 1199210165 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :with the halting problem < 1199210174 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and stuff < 1199210176 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the primes < 1199210180 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :all the same < 1199210182 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's the programmer's job to ensure there always is an unambiguous converse for the function we are cutting. < 1199210187 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err < 1199210191 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pattern matching < 1199210193 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199210196 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :never mind < 1199210200 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :function we are pattern matching with < 1199210201 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, anyway proceed < 1199210204 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199210215 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :@ [2,3,3,7] -> 16 < 1199210220 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we where there < 1199210222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, no if you have *any number*, you can always do the pattern match @L < 1199210234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it's always unambiguous. < 1199210234 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199210237 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199210242 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :limited selection of primes < 1199210252 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :who's product is Number < 1199210254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :get it < 1199210261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, @ does multiplication, it's inverse does factorization. < 1199210268 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1199210294 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my idea was just to inject into an operator knowledge about it's reversibility < 1199210322 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, given @, you idea would be to say @(fatcorise) < 1199210323 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199210334 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or !(ambigous) < 1199210336 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199210341 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199210359 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :! being, say the modulus function < 1199210364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll show how it's used, not sure you got me fully here < 1199210366 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or did you... < 1199210367 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather !(irreducibnle) < 1199210368 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199210376 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, go ahead < 1199210381 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :provide an example < 1199210390 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then I''l be able to say whether I understood or not < 1199210456 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, basically, you could do a factorizing function as follows: first the multiplication of primes: L :: [Prime] -> Int = L -> Product L < 1199210472 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's say our language defines a number type Prime < 1199210476 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which represents any prime number. < 1199210486 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :go on < 1199210493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, the factorizing function would be "@ L -> L" < 1199210497 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whoooops < 1199210503 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199210505 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lost me < 1199210511 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@ :: [Prime] -> Int = L -> Product L < 1199210516 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see < 1199210522 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199210524 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199210531 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :@ L means multiply the primes in L to get the number they represent. < 1199210550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, @ L as a *pattern match* means find such L that @ L is the parameter. < 1199210560 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199210561 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199210566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, since the parameter is an integer, and @ multiplies a list of primes, it would factorize the number. < 1199210572 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so kind of linear equationns < 1199210585 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeas < 1199210593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :OOOHH OOOH < 1199210593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199210601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :were we to make @ also check that the list it's used on is sorted, @ L would automatically return a sorted list of prime divisors. < 1199210601 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get thwe whole plot < 1199210606 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good :) < 1199210628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, we can't make a universal patten mathcer < 1199210629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, this is all my own thinking, i don't know if others think about patterns that much. < 1199210630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because < 1199210638 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it has no way of knowing what the inverse is?? < 1199210652 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather < 1199210652 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is the basic problem, yes < 1199210656 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the inverse procedure < 1199210661 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hooray for me :) < 1199210668 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and congratulations to you :D < 1199210679 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is a way to find a problem whose inverse is the halting problem < 1199210694 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :go ahead < 1199210706 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just half the stuff i *taught* you i made up on the fly, i don't yet have that good an intuition on the general pattern matching. < 1199210712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea how to construct it. < 1199210716 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(PS: THis is actually interesting now that I understand it :) ) < 1199210724 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh, i think so too < 1199210730 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199210731 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199210732 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps i should add it into graphica........ < 1199210736 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1199210739 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be nice < 1199210748 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not sure how it would come into play < 1199210752 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, i was thinking, i'd make an esolang that provides automatical converses. < 1199210755 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :unlence referencing node trees < 1199210767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199210770 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and put it in the "super-turing" category < 1199210773 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be aweosme < 1199210776 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if possible < 1199210779 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah < 1199210788 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then simply give it a function garunteed to terminate < 1199210793 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and you solve the halting problem < 1199210798 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(Hopefully) < 1199210830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it could be made a *best-effort* compiler. < 1199210840 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, true < 1199210849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can actually do stuff like A+3=7 in prolog too. < 1199210850 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would be insanely hard though < 1199210856 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1199210857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that just hangs, but it's there. < 1199210863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199210864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah, it's just it doesn't find it :) < 1199210878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, the language allows you to ask it questions it cannot answer. < 1199210883 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I doubt you could go x^2 - 4 = 0 < 1199210887 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wicked < 1199210888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, mine isn't more superturing than prolog. < 1199210895 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it would be < 1199210905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can't, and you can't really go A+5=0 either, since it just hangs... < 1199210913 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if it could reduce things down to simpler elements < 1199210920 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which are by default reducabel < 1199210928 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and then solves for, or pmatches < 1199210933 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199210949 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed, i didn't even realize it'd automatically solve equations < 1199210950 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so take x^2 - 4 =0 < 1199210955 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199210957 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199210958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was thinking more list'y. < 1199210967 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199210970 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but even so < 1199210973 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i'm more interested in trees and graphs than numbers, usually < 1199210977 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it would still be hellkish powerful < 1199210982 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199210989 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but no worries < 1199210996 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you get it working in lists < 1199211000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and I gruntee < 1199211004 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, given that the language would *guarantee* that it find the inverse, yes, it would be powerful :) < 1199211009 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that it will be able to do anything < 1199211020 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199211028 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what you waiting for, get cracking :) < 1199211038 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199211040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, hey < 1199211043 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :every function < 1199211050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is Pattern match -> Variable < 1199211052 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199211057 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, I still say find things that are unambiguously reducable, and redice them, then pmatch, then build back up < 1199211058 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you cannot do *any* computation! < 1199211067 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199211069 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :very true < 1199211083 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, any computation in the result part. < 1199211097 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :simply proven by uncertainty principle ;) < 1199211106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, you could just have the pattern match, and have the result be a variable with # prepending it or something :) < 1199211110 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm? < 1199211117 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I like < 1199211125 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the yopu can do mathematics in it :) < 1199211139 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199211151 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but that would be more difficult to execute < 1199211151 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that would actually be *really* esoteric, and actually i'm starting to feel this is quite brilliant! AND then i realize i'm making prolog ;) < 1199211161 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :::::::::) < 1199211167 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, not entirely ;) < 1199211170 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199211173 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as you said < 1199211182 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :prolog dies when it sees a + 5 =1 < 1199211183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, prolog, but with a very different idea. < 1199211187 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1199211189 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :precisely < 1199211197 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see real purpose for this creation of yours < 1199211200 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION keeps working on psox.types < 1199211202 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :beyond esotericality < 1199211209 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :( :) ) < 1199211227 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :imagine that < 1199211246 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a language which could solve functions, or pmatch, as the case may be < 1199211255 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and then, naturally calculate inverses < 1199211264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be soo powerful < 1199211271 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmmm, actually, it would lessen it's prologity, if you could help the language with the inverse, like specify that A+B=C --> A=C-B, B=C-A < 1199211282 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199211288 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :call them, helper functions < 1199211289 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199211292 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199211296 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then we get towards AI < 1199211296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah! < 1199211307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :every function = helper annotations + pattern match < 1199211314 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(wonders if the labgauge could solve for : itself) < 1199211318 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wooho < 1199211321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like that < 1199211335 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :very cool < 1199211340 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*language < 1199211356 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll start right after i've looked at the other channels, i was highlighted at about the time i wrote the initial idea on the chan ;) < 1199211369 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, sure, go for < 1199211369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which was like an hour ago xD < 1199211370 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it < 1199211372 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199211382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :please please please, keep me updated on this one < 1199211408 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(Oh, and this will also provide the freedom of sytax choice, removing all the funcky prolog) < 1199211412 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*funky < 1199211416 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*syntax < 1199211486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1199211489 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, fuck. < 1199211489 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*** A language is born **** < 1199211492 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :> < 1199211495 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*? < 1199211496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a problem. < 1199211499 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so : ? < 1199211502 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199211517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a chick told me to go fuck her, bluntly put :-) < 1199211524 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1199211536 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you missed it :P < 1199211538 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199211555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd actually prefer doing the language, to be honest, but i'm too polite to say no < 1199211556 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :run run < 1199211562 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, lol, ok < 1199211565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and that was not a joke :\ < 1199211568 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :asdf < 1199211570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fdsafdsadf < 1199211572 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aksdjl < 1199211577 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ditto < 1199211583 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so < 1199211584 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :say yes < 1199211589 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and just take some paper with < 1199211591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199211601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, see ya, i'll keep ya updated -> < 1199211602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199211607 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, cool < 1199211609 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199211616 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199211618 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, waiait, on IRC? < 1199211624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: ? < 1199211626 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199211628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :classic < 1199212136 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, just grabbed Menuet OS 0.74b so gonna look around, be back late < 1199212137 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199212143 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199212242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: she asked that on irc, yes; the sex will prolly be the offline-type, though. < 1199212285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, cya, 'll keep ya up to date on the lang -> < 1199212338 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs his ass off < 1199212451 0 :lby!n=lol@cpc2-stkp3-0-0-cust554.manc.cable.ntl.com JOIN :#esoteric < 1199212465 0 :lby!unknown@unknown.invalid QUIT :Client Quit < 1199212792 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"This is a python program that can convert bianry number( binary is a language that computers use to comunicate with other) to a normal digital number and the other way around." < 1199212795 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496778 < 1199212801 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Excuse me while I hurt someone < 1199213140 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hey Sgeo, 010010101000101010111 < 1199214264 0 :ehird`!unknown@unknown.invalid QUIT :Success < 1199215701 0 :faxathisia!unknown@unknown.invalid QUIT :"Leaving" < 1199215746 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, that program is just awful. < 1199216099 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199216107 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Back < 1199216109 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199216376 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :wb Hiato < 1199216582 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :any notable progress Sgeo? < 1199216591 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Working on types.py < 1199216597 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199216608 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would you say Python is a good language to learn? < 1199216614 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :better than Perl or C, for example < 1199216618 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or Ruby < 1199216883 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1199216888 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Though I might be biased < 1199216913 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's impossible as I asked for your opinion ;) < 1199217014 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Any funky esolangs that you specifically enjoy? < 1199217026 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Just trying to get some ideas, I want to design another lang < 1199217047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because the unnamed one is way to hard to programme in < 1199217055 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and Full 0 is way to easy :) < 1199217289 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*too < 1199217306 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a man of few words :P < 1199217308 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199218025 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199218411 0 :RedDak!n=dak@host37-87-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199219853 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi calamari and oerjan and RedDak < 1199219864 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi Sgeo < 1199219867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1199219886 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and Happy New Year to anyone i haven't said it to yet < 1199221114 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199222296 0 :RedDak!n=dak@host37-87-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199222324 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :FNUMs are giving me a headache < 1199222359 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and so will LNUMs < 1199222361 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ARGH < 1199222930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Here we are: < 1199222930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"Hello, World!" in my (as of yet) unnamed esolang: < 1199222930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :{{>>~~~~{-<}~~~~~~~~~{-<-<}<<}:{>>{~~~~~~~~ < 1199222930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :{<}~{>}}<<}\~>{{~{v}}>>>v{~}^<<<}/(<<<){[<<]}:>:{>>{~~~~~ < 1199222930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :~~~{<<}~{>>}}<<}\~{>>{vvvvvvvv~~~~~~~~~~~~~~~}<<}~{>>{vvv < 1199222930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :v~~~~~~~~~~~~~}<<}~{>>{^^^^^^^^^^~}<<}~{>>{v~~~~~~~{{<<}~} < 1199222932 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :v{~}vvvvvvv{~{>>}}^^^^^^~~~{{<<}~}vvvv{~{>>}}v~~~}<<}~<{{^ < 1199222934 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :^^}}~{>>{vvvvvv~{{<<}~{>>}}^^^^^^^~~~~~~~~~~~{{<<}~{v>}}^^ < 1199222936 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :^^^^}}/{{()}}{[<<<<]}:>:{{~v}}\} < 1199223252 0 :RedDak!unknown@unknown.invalid QUIT :"I'm quitting... Bye all" < 1199223302 0 :RedDak!n=dak@host37-87-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199224120 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :re RedDak < 1199224235 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alrighty, well cheers all < 1199224258 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199225116 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, Overand oklopol anyone else who cares, is it ok if PSOX.py is 2.5? < 1199225125 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :relies on Python 2.5 I mean? < 1199225172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think I have Python 2.4 ATM. . . < 1199225388 0 :Dagide!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199225571 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, n/m maybe < 1199225690 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1199226933 0 :Sgeo!unknown@unknown.invalid QUIT :Connection timed out < 1199226974 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199226998 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Would anyone miss the extended function names "feature"? < 1199227353 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone? < 1199227684 0 :GreaseMonkey!n=saru@122-57-229-12.jetstream.xtra.co.nz JOIN :#esoteric < 1199227720 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi GreaseMonkey < 1199227732 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :oh hai < 1199227776 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :{{print($1);}("Hello ".concat($1,"!"));}("Sgeo"); < 1199227808 0 :Dagide!unknown@unknown.invalid QUIT :Remote closed the connection < 1199228220 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Removing extended functions to make my life easier.. yes, I'm being mean …" < 1199228312 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, all the implementations of the domains are going to go right in the same directory with everything else < 1199228560 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, you awake? < 1199228563 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone else awake? < 1199228587 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :NO. < 1199228690 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1199228701 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, I'm not awake. ;) < 1199229775 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/impl/psox/domain.py < 1199233041 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, Slereah Overand oklopol others < 1199233042 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/ex/example_domain.py < 1199234069 0 :jix!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1199234274 0 :jix!n=jix@dyndsl-091-096-047-216.ewe-ip-backbone.de JOIN :#esoteric < 1199235486 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bye all < 1199235557 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1199237508 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199237638 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199237936 0 :oklofok!n=chatzill@85-156-181-48.elisa-mobile.fi JOIN :#esoteric < 1199237945 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :mörning y'all < 1199237953 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's 2 AM here. < 1199237959 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :here too < 1199237962 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199237964 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :4, < 1199237966 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199237972 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :good mourning < 1199238004 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But mrning. < 1199238004 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i think it's coding time now. < 1199238023 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :lucky i found this computer < 1199238034 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :In your dreams? < 1199238046 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :...my dreams? < 1199238055 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it is 4 AM! < 1199238060 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1199238063 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh my god... < 1199238069 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :non ascii ...mileys < 1199238074 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*smileys... < 1199238076 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :: < 1199238103 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i instaneously hate any client that has the option for that. < 1199238114 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :who wants to see a yellow idiot. < 1199238138 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :8--D < 1199238152 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Even if it's this little fellow? < 1199238156 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.encyclopediadramatica.com/%E0%B2%A0_%E0%B2%A0 < 1199238335 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :07:12:01 i wish i were as cool as you all <<< i love reading random #esoteric logs <3 < 1199238407 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it's a bit scary i usually remember every conversation < 1199238475 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :11:31:22 i guess if your head explodes from laughing that would a lollipop. < 1199238477 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199238496 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :waking people up here lolling. < 1199238511 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :guess i'm tired or something < 1199238514 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :OK, i'll stop now < 1199238956 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :heh, can't find a text editor in vista :) < 1199238957 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric : ) < 1199238983 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What, no Notepad? < 1199238998 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :no, just idiot user. < 1199239008 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :does someone have vista experience? < 1199239016 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1199239020 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :windows\! < 1199239026 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I didn't hear many good things from Vista. < 1199239030 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :windows, yes. < 1199239036 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So I'm not buying it. < 1199239055 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i saw this great link, think it was in the IWC forum... < 1199239079 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :found notepad < 1199239176 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this was it: http://dotnet.org.za/codingsanity/archive/2007/12/14/review-windows-xp.aspx < 1199239265 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(+ a 0) {a} < 1199239267 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(+ a (S b)) {+ (S a) b} < 1199239268 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :[@-#2 @-#1] < 1199239293 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the syntax is mostly from graphica, which none of you know... but it's pretty intuitive ;-) < 1199239305 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the [...] is the part of interest < 1199239320 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it describes the mechanism to *reverse* addition < 1199239351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The unholy process of substraction? < 1199239365 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :with an equation that finds the original params given the result and part of the params. < 1199239391 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: yes, but reversing subtraction is a bit more complex < 1199239399 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :and real functions are *very* < 1199239464 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Very what? < 1199239510 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(- a 0) {a} < 1199239512 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(- (S a) (S b)) {- a b} < 1199239514 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :[@+#2 #1-@] < 1199239527 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :lol, was soooo hard to solve a-b=c for b xD < 1199239539 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :@ is the result. < 1199239550 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is this Oklotalk or something? < 1199239554 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199239564 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :this is something we discussed earlier with hiato < 1199239564 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Reminds me of recursive functions. < 1199239573 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :well, sure < 1199239581 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With the silly f(a,b) notation for operatos < 1199239583 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the interesting part is the pattern matching thingie. < 1199239610 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i'm not reinventing the whole way we think about computation when i make a language... < 1199239678 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :numbers can be described with anything that can be inc'd, dec'd and checked for null, tuples offer a trivial way < 1199239688 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, multiplication and division < 1199239700 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :or at least multiplication :-) < 1199239711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :go forth and multiply! < 1199239724 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Even adders? < 1199239732 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I heard they need logs to multiply. < 1199239734 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :use a log table, silly! < 1199239763 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: much easier with peano arithmetic! thanks, why didn't i think of that... < 1199239786 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... even divisors might be interesting when it comes to pattern matching... < 1199239802 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wlel, it is quite easy with Peano! < 1199239804 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/Calc9.txt < 1199239821 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the pattern n@(_%3) would only pmatch numbers divisible by 3 < 1199239824 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should finish that Peano calculator someday. < 1199239831 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :@ is what it is in haskell < 1199239854 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :if division is only defined when numbers actually are divisible, that is. < 1199239909 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it'd be nice if that actually arose naturally from what i'm currently doing here... but i don't think it's possible to get even trivial stuff like that to work... < 1199239912 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :we'll see i guess < 1199239965 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(- 0 b) :( < 1199239970 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :nice syntax for failing? :P < 1199240486 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(/ a 0) (/ a@(a < 1199240487 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(/ 0 b) {0} (/ (a+b) b@(S bt)) {S a*bt} < 1199240489 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :{- a/b=c <=> a=bc <=> b=a/c -} < 1199240491 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :[@*b @/a] < 1199240499 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :shall i explain? < 1199240511 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i shall. < 1199240545 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :a function consists basically of patterns < 1199240553 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(...) is a pattern < 1199240576 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :if a pattern matches the argument, the vars are set and the next {...} after that is evaluated < 1199240596 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :unless before that, a <> is found < 1199240603 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :in which case the whole function fails. < 1199240617 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :so, if it was used in a pattern match or something, that would fail. < 1199240632 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :now, division fails when a number is divided by another number bigger than it < 1199240640 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :and, if you divide by zero < 1199240654 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also, it's wrong... whoops < 1199240714 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :second line should be (/ 0 b) {0} (/ a (S 0)) {a} (/ (a+b) b@(S bt)) {S a/bt} < 1199240760 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :so, zero divided by something is 0, something divided by one is something, and the last is the general case < 1199240771 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :notice the (a+b) pattern there < 1199240823 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it would first find b, which gets the value of the second arg, while bt get's that-1, after that, the a pattern (a+b) gets the value of b < 1199240834 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :now, we defined the inverse of addition earlier < 1199240842 0 :jix!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1199240843 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :that will be used to find the value of a for a given b < 1199240849 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :anyone at all interested? < 1199240884 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(a (Cons 1 (Cons 2 (Cons 3 Nil))) < 1199241223 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :basically just a way to use tuples for lists. < 1199241248 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :although in list cons is lowercase, but i guess not important < 1199241404 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*lisp < 1199242181 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(Qsort list@(Scramble (++ (lpart@(PivotBy <=! list pivot) < 1199242183 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric : pivot:rpart@@(PivotBy >! list pivot)))) {(Qsort lpart)++pivot:(Qsort rpart)} < 1199242184 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(PivotBy Test (Scramble list)@(Reduce (Test pivot) list) pivot) {list} < 1199242197 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199242211 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i have to rethink a bit ;) < 1199242235 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :but, i think it's entirely possible to do quicksort by pattern matching, guess i should see how prolog does it < 1199242271 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the part to notice there is lpart++pivot:rpart, letting the interps choose how to cut it :D < 1199242289 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :could be random by default, when ambiguous match. < 1199242309 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also, @@->@ < 1199242369 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the function that scrambles a list in random order, Scramble, can be used to signify there is no information about the list's structure, and it can be bruteforced to fit the rest of the pattern < 1199242471 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :where the actual quicksort algo comes in, is that the brute force will instantly find the solution for a single step, since it knows the whole list needs to be cut in to rpart, pivot and lpart (defined in ++...) and the rules do not overlap < 1199242554 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :but, requires a lot of increase in sophistication of course. < 1199242668 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, i could call Scramble Perm like prolog... would sound a bit less hacky :) < 1199242673 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hacky as in hack'y < 1199243211 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :okay, some operations are used for their failure detection, like < and == sometimes < 1199243217 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :and others just for their result. < 1199243226 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :some operators, however, need both < 1199243246 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i was thinking n 3) < 1199243430 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :to get anything bigger than 3 in, and failing otherwise < 1199243824 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1199243891 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(Tobin 0) {0} (Tobin 1) {1} < 1199243893 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(ToBin n*!2) {0:(ToBin n)} < 1199243895 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(ToBin n*2) {1:(ToBin n)} < 1199243941 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :actually... < 1199243961 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea what it means for multiplication to be strict... :) < 1199244044 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh, right... < 1199244067 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :non strict multiplication can produce either 4 or 5 when 2 is multiplied by 2 :) < 1199244692 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's the difference between [a,b] and (a,b) on the snake? < 1199244708 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I suddenly get parenthesis when I was expecting some list brackets. < 1199244721 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :list, tuple < 1199244727 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :in that order < 1199244763 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why do I suddenly get tuples? < 1199244789 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea. < 1199244807 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :you obviously have () where you should have [] somewhere? < 1199244894 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't use use [] or (). < 1199244903 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just sequence functions. < 1199244910 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199244916 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But well, let's just cheat. < 1199244937 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199244940 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :let's < 1199245032 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Poifect. < 1199245303 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :[[['plus', ['n1', '0']], ['p', ['1', '1'], 'n1']], [['plus', ['n1', ['s', 'n2']]], ['s', [['p', ['3', '3'], ['n1', 'n2', ['plus', ['n1', 'n2']]]]]]]] < 1199245306 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Thar. < 1199245311 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That should do it. < 1199245320 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Now, to make stuff with that. < 1199245343 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :p [1 1] n1? < 1199245356 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's from this : < 1199245357 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :plus(n1,0()) = p(1,1)(n1) < 1199245357 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :plus(n1,s(n2)) = s(p(3,3)(n1,n2,plus(n1,n2))) < 1199245393 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, aren't those trivial recursive functinos? < 1199245396 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :functions < 1199245449 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Primitive, even. < 1199245455 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :errr, right < 1199245465 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sounded a bit weird < 1199245485 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :but all i could think was partial or trivial < 1199245949 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :okay, my second idea for the night < 1199245963 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :this is for Cise, my conciseness oriented lang < 1199245967 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Afl*2+ < 1199245969 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :1,0,0,1,1 -> 19 < 1199245970 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(((((1*2 + 1)*2 + 0)*2 + 0)*2 + 0)*2 + 1) < 1199245981 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Afl takes two functions, and a list < 1199246044 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it then makes the list's head "result", then continuously applies the first function to the list and combines it with the next element of the list with the second function < 1199246050 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :now, the beauty lies in parsing. < 1199246133 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :so... < 1199246170 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Afl needs two functions as params. if it should parse what follows it as (Afl * 2), it would only get one function < 1199246177 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :so it gathers 2 muct belong to * < 1199246191 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :so, this becomes (Afl (* 2) +) < 1199246194 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :which is correct. < 1199246211 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :currying + prefix - spaces == rox < 1199246221 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :rox as in cool, i guess < 1199246241 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :also type inference to determine parsing :) < 1199246264 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1199246301 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :you're not getting at al excited :-) < 1199246305 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*all < 1199246313 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :gonna do another invention -> < 1199246321 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :this time something totally awesome. < 1199247014 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hmm, think i got it < 1199248736 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :10:33:34 people put in in the url in programming-related channels because of flooding < 1199248737 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :10:33:38 i don't think we ever had that problem < 1199249558 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Man. That primitive function idea is harder than originally thougt! < 1199249676 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199249681 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i think i need to sleep a while. < 1199249684 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :cya -> < 1199249706 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Bye. < 1199249715 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Welcome to 2008. I will be your tour guide." < 1199250181 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199255966 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199256722 0 :slereah_!n=Test4@82.126.90.152 JOIN :#esoteric < 1199256733 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199256735 0 :Slereah!unknown@unknown.invalid NICK :slereah_ < 1199256756 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199257826 0 :slereah_!n=Test4@82.126.90.152 JOIN :#esoteric < 1199258397 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :"It is not immediate that the predecessor function can be reduced to an iteration, and hence is representable in the ?-Calculus. It was Kleene [1935] who saw how to do this, apparently during a visit to the dentist." < 1199258399 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199258892 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199260799 0 :clog!unknown@unknown.invalid QUIT :ended < 1199260800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199263477 0 :faxathisia!n=more@amcant.demon.co.uk JOIN :#esoteric < 1199267000 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199267411 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassabi < 1199267784 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oklopol, did you get time yesterday to start on the spec? Or were you too busy ;) (heh) < 1199268916 0 :Hiato!unknown@unknown.invalid QUIT :"Leaving." < 1199275905 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199275928 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think I dreamed about PSOX last night :/ < 1199276017 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199276159 0 :jix!n=jix@dyndsl-091-096-047-216.ewe-ip-backbone.de JOIN :#esoteric < 1199276242 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi [PSOX] jix [MUST.. WORK.. ON.. PSOX!!!] < 1199276502 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I considered taking a hiatus from PSOX, but can't help thinking that I shouldn't do that until PSOX 1.0 < 1199276515 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1199276517 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1199276518 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1199276546 0 :jix!n=jix@dyndsl-091-096-047-216.ewe-ip-backbone.de JOIN :#esoteric < 1199276621 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :wb < 1199276657 0 :helios_24c3!n=helios@p5489E956.dip.t-dialin.net JOIN :#esoteric < 1199276668 0 :helios_24c3!unknown@unknown.invalid QUIT :Connection reset by peer < 1199278463 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1199279795 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199279812 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if he can finish the core of PSOX.py today < 1199279822 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Then all that would be left is speccing and implementing the builtin domains < 1199280061 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199280492 0 :pikhq_!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199280539 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199280592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: kleene's dentist had this weird habit of removing all his teeth and then reinserting those that were healthy. < 1199283355 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1199283603 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199283948 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi RedDak < 1199283956 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes healthy progress on PSOX < 1199283968 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although I'm starting to think that PSOX may be bad for my health < 1199284048 0 :mwizard!n=mwizard@dfs.mksat.net JOIN :#esoteric < 1199284074 0 :mwizard!unknown@unknown.invalid PART #esoteric :? < 1199289065 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :PSOX.py is for Python 2.5 now < 1199289361 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199289368 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199289965 0 :puzzlet!unknown@unknown.invalid QUIT :"Lost terminal" < 1199289985 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199290892 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199291128 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1199291196 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199291203 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199292060 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just received this book : http://www.amazon.com/Undecidable-Propositions-Unsolvable-Computable-Functions/dp/0486432289/ref=pd_bbs_sr_1/002-0209491-2396801?ie=UTF8&s=books&qid=1191580925&sr=8-1 < 1199292122 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :oh that looks well good < 1199292125 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I want that < 1199292199 0 :faxathisia!unknown@unknown.invalid QUIT :"Leaving" < 1199292290 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The cover seems to be made of those m-functions of Turing < 1199292349 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199292604 0 :tesseracter!unknown@unknown.invalid QUIT :Remote closed the connection < 1199292624 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199292946 0 :oerjan!unknown@unknown.invalid QUIT :"Fnord, er Food" < 1199292985 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199293129 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi pikhq < 1199293140 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is it ok if PSOX.py requires Python 2.5? < 1199293218 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"No, start over!" < 1199293319 0 :pikhq_!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199293330 0 :pikhq!unknown@unknown.invalid QUIT :Nick collision from services. < 1199293335 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1199293575 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199293579 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199293608 0 :wooby!n=wooby@62.192.133.146 JOIN :#esoteric < 1199293852 0 :wooby!unknown@unknown.invalid QUIT :Client Quit < 1199293890 0 :tesseracter!n=tesserac@pool-72-70-237-75.spfdma.east.verizon.net JOIN :#esoteric < 1199294582 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199294910 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199294917 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199296553 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199296561 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199297273 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/impl/psox/psoxtypes.py < 1199297347 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone awake? < 1199297384 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm typing in my sleep. < 1199299220 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1199299257 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if LL actually have enough cash to handle everyone withdrawing their L$ at once... < 1199299345 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199299350 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199300980 0 :jix!n=jix@brmn-4d0ab08a.pool.mediaWays.net JOIN :#esoteric < 1199301904 0 :ihope!n=c748b94c@tapthru/resident/ihope JOIN :#esoteric < 1199301915 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ello. < 1199301925 0 :ihope!unknown@unknown.invalid QUIT :Client Quit < 1199302011 0 :ihope!n=ihope@199.72.185.76 JOIN :#esoteric < 1199302017 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Well, that was interesting. < 1199302042 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I guess freenode and ircatwork don't like each other right now. < 1199302062 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, is there any hope of me being able to make an esolang based on knot theory? < 1199302267 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I'm considering tossing out the knots and making it links of unknots. < 1199302564 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or have a tape of "strings" forming an infinite braid. < 1199302568 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :re ihope < 1199302577 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is working on PSOX < 1199302589 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I got psoxtypes.py down < 1199302599 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :First part of the implementation that's FINISHED < 1199302610 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/impl/psox/psoxtypes.py < 1199302611 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yay :-) < 1199302630 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, is http://trac2.assembla.com/psox/browser/trunk/impl/psox/fd.py sane? < 1199303276 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, if you orient each unknot and span them with surfaces, you can count the number of times each unknot goes through each other unknot's surface and in which direction, and say that opposite directions cancel each other out... < 1199303378 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There is a definate lack of ihope in Sine < 1199303438 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1199303503 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What was that CGI:IRC one? < 1199303857 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199303862 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199304266 0 :pikhq_!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199304279 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199304282 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199304348 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199304436 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1199304760 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199304764 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199305026 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199307508 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199307715 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199307931 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1199307941 0 :jix!n=jix@brmn-4d0a888b.pool.mediaWays.net JOIN :#esoteric < 1199308279 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199308284 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199309279 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1199309289 0 :jix!n=jix@brmn-4d0abf3e.pool.mediaWays.net JOIN :#esoteric < 1199310287 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199310397 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199310907 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1199310917 0 :jix!n=jix@brmn-4d0ab0ff.pool.mediaWays.net JOIN :#esoteric < 1199312660 0 :GreaseMonkey!n=saru@122-57-229-12.jetstream.xtra.co.nz JOIN :#esoteric < 1199312933 0 :oklofok!unknown@unknown.invalid PART #esoteric :? < 1199313212 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199313378 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199314038 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199314193 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199318112 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1199318311 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199318995 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199319388 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199319981 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, how would you react if I said that I was scrapping PSOX? < 1199320016 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That depends: why are you scrapping PSOX? < 1199320023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Something better, or just fed up? < 1199320040 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I'm not. I just want to know how you'd react >.> < 1199320045 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1199320059 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'd appreciate it if you're moving on to something better. < 1199320063 0 :jix!n=jix@host-091-096-146-094.ewe-ip-backbone.de JOIN :#esoteric < 1199320071 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Be a bit annoyed if it was just you being fed up. < 1199320080 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And pissed off if you were selling it to Microsoft. :p < 1199320084 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199320098 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is getting fed up with PSOX File Descriptors, tbh < 1199320160 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, I don't know what license to put it under, but that's not too relevent right now < 1199320188 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe MIT? < 1199320189 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GPL. < 1199320213 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :All this license stuff just goes over my head < 1199320236 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm a programmer, not a lawyer, dangit! < 1199320243 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1199320297 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just GPL it. < 1199320327 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, also, can you help make the file descriptor stuff sane? < 1199320383 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/spec/psox.txt < 1199320822 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :grr I don't know how to implement the input pseudodomain < 1199320837 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm, n/m maybe < 1199320974 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think I can do this < 1199321100 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"EOF status is 0x01 if there was no EOF encountered, 0x00 if there was an EOF" < 1199321104 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Should I reverse that? < 1199321109 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :n/m < 1199321665 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ok, I finished db_input.py < 1199321681 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Almost < 1199321794 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, look at this horribleness < 1199321794 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/impl/psox/db_input.py < 1199322527 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, you awake? Or at least capable of typing in your sleep? >.> lol < 1199322575 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199322636 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. < 1199322847 0 :UnrelatedToQaz!n=chatzill@host86-151-106-252.range86-151.btcentralplus.com JOIN :#esoteric < 1199322851 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :hey all < 1199322907 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi UnrelatedToQaz < 1199323130 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199323665 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders who Qaz is < 1199323876 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, not that guy. < 1199323933 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :I don't know who he is < 1199323942 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :I just know that I'm unrelated to him. < 1199323950 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Or her or it. < 1199323959 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1199323983 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What if he's your long lost twin? < 1199324015 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :He can't be, as that would mean s/he was related to me. And s/he isn't. < 1199324027 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's why I said "lost". < 1199324076 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :But it's the definition of Qazness that I am unrelated to Qaz. If a claimant to the title of Qaz was related to me, they couldn't be Qaz. < 1199324079 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Uc? < 1199324184 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199324244 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION found a Qaz computer virus or something when googling < 1199324267 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :good you're not related :) < 1199324381 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I think I've figured out my knot programming language, slightly. < 1199324399 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1199324403 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Knot" meaning "link of unknots", which really isn't a knot at all. < 1199324420 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Elucidate, if you would. < 1199324447 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Though I guess they wouldn't have to be unknots... anyway, I guess ponderings are required. < 1199324499 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ponder away thn! < 1199324599 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :First, the unknots-only version, I guess. < 1199324650 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Memory consists of a single link. The only operation I can really think of right now is destroying one knot. < 1199324734 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Every knot in the link is oriented. < 1199324785 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"Reading" a knot consists of grabbing a list of all knots which must "go through" the knot and which direction they go through. < 1199324820 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Going through a knot is defined as crossing a Seifert surface of the knot. I guess that means that "must go through" would be crossing all Seifert surfaces of the knot. < 1199324877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i hope i'm not the only one who doesn't know what seifert surface is and will not google. < 1199324883 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because you'll have to explain. < 1199324896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i need coke < 1199324899 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What, doesn't everybody automatically know what a Seifert surface is? :-P < 1199324905 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: he's not :D < 1199324912 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :A Seifert surface is just any surface whose boundary is the knot. < 1199324968 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Stick a knot in bubble solution and hopefully you'll end up with one of its Seifert surfaces. :-) < 1199324983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :are we talking about the same kind of knots? < 1199324987 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :So "crossing a Seifert surface" basically means "going through the knot". < 1199325009 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199325020 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Me or oklopol> < 1199325033 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :As in yes to Unrelated, possibly not to oklopol. < 1199325045 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well - anything must probably cross _some_ seifert surface < 1199325056 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :are knots the stuff that you do with rope :) < 1199325061 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Is this "knot" as in "thing tied in string, rope, flax or hemp"? < 1199325068 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Indeed, but it's harder to cross all Seifert surfaces. < 1199325083 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :This is a knot: http://en.wikipedia.org/wiki/Image:ThreeFoldKnot.jpg < 1199325125 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a knot is an embedding of a topological circle in R3, iirc < 1199325130 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Ah, that sort of knot. As in knot theory knots. < 1199325137 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes yes. < 1199325146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :graphica with the possibility to specify how the nodes are connected! < 1199325148 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :knottica < 1199325153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...or, a better name. < 1199325167 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Why would I be speaking of Seifert surfaces of actual knots? :-P < 1199325242 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Knot another knot language" < 1199325296 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :So, once you've read your knot...? < 1199325317 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Profits! < 1199325321 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that. < 1199325337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohh... the seifert surface is the 2d surface of the knot there? < 1199325376 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed you'd think of knots are a logical structure rather than a presentation of the rope's surface... < 1199325383 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless i'm wrong and that's true. < 1199325392 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in which case i'd also be right. < 1199325422 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :A Seifert surface isn't the surface of a torus that's tied in a knot. < 1199325445 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :This is a Seifert surface, though it's a Seifert surface of an entire link: http://en.wikipedia.org/wiki/Image:Moebiusband_wikipedia.png < 1199325496 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :WIKIPEDIAAAAA < 1199325502 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :This is just silly. < 1199325625 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :A trefoil knot's Seifert surface: http://www.josleys.com/show_gallery.php?galid=303 < 1199325708 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And that Seifert surface has a hole in it, so I guess you can pass another knot through that hole and it wouldn't really be going through the trefoil knot, kind of. < 1199325792 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :asdf, why can't i even get anything without inventing it myself :-) < 1199325829 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*ever < 1199325904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :seifert surface is a *surface* though? it's a 2d (or other) plane? < 1199325924 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :surface = 2d but may be curved < 1199325934 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :e.g. a sphere < 1199325952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199326960 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, I just got another idea. < 1199326978 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :a surface is like a manifold, right? < 1199326988 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199326990 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Instead of just a link, you have a bunch of oriented "strands" which can be open or closed. If they're closed, they < 1199327001 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although there's surfaces which aren't manifolds. < 1199327025 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If they're closed, they're just knots, but if they're open, they begin and end at surgery points. < 1199327033 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1199327048 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Surgery...that sounds familiar. < 1199327070 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :It's a topology thing, right? Cutting and stitching. < 1199327090 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :A surgery point has two "in" slots and two "out" slots, and each may or may not be filled. If all of them are filled, the surgery point can be replaced by a crossover in either direction or... um, lemme get a picture. < 1199327103 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Removing a section of something and replacing it with something that... fits. < 1199327154 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199327158 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Think of surgery points as the yellow things under this section: http://en.wikipedia.org/wiki/Knot_theory#Knot_polynomials < 1199327397 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So I guess you can create surgery points in random places, and you can create strands going between them, and you can delete the surgery points to connect the strands. < 1199327429 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I guess more pondering will definitely be required before I can turn this into a language, eh? < 1199327487 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, at least I don't have any clue of how to do it! < 1199327539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if you could make a borromean ring with any number of rings... < 1199327551 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i smell awesome kinetic experiment < 1199327576 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure you can. < 1199327590 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not sure whether you can make a chain reaction out of that < 1199327603 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Wikipedia is nice, isn't it? http://en.wikipedia.org/wiki/Brunnian_link < 1199327640 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199327651 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :i suppose the chain reaction thing depends on how tight they are < 1199327654 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :whoa, deja vu < 1199327689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm currently playing with continuations trying to make subtle cough tc, or at least more powerful, by creating new kinds of continuations < 1199327719 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm gonna call it supercough if i find something interesting, i'm just that lame :-) < 1199327759 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :http://www.google.com/search?q=supercough... >:-) < 1199327818 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Oh yips, continuations. Fancy basing a language on the only Unlambda primitive I don't understand... < 1199327865 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :UnrelatedToQaz: it's easy < 1199327880 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just never made that explicit... < 1199327979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my way to get it was to make a new notation for it and play with unlambda a bit < 1199327985 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Finally, my FTP works again. < 1199327986 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :as you do < 1199328005 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/BRAINFUCK%20INTERPRETER%20ON%20A%20ONE.htm < 1199328008 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although, like always, i had to guess how it might work before i understood it < 1199328037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :luckily, everything that is in any way meaningful seems to be inventable in a few hours of thinking < 1199328052 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, the simple kind of stuff :) < 1199328119 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :Hmm...let's see... < 1199328134 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :So a continuation is a way of storing the current state of a program? < 1199328138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199328194 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used a notation for a continuation, where i actually took the whole program and put it in braces with * where the value would be returned < 1199328223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :need to see the whole state at once, or it feels too magical to be understandable < 1199328252 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like ``cc`cc, the first `cc is evaluated first to make ``c{`*`cc}`cc < 1199328282 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the current continuation is the place where c was called, with the knowledge about where to return if the continuation is called. < 1199328308 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :It's like going back in time, then? < 1199328353 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kinda. but using my notation (or some other that turns it into simple combinatorics..) you can just think of it as string transformations < 1199328390 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thought it was his notation... < 1199328394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't understand the notation used on the unlambda page, it's prolly much better. < 1199328396 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe :P < 1199328406 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it's kinda trivial < 1199328420 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i added it to the Unlambda page after all < 1199328421 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and * was from the unlambda page notation, which i did not understand. < 1199328426 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1199328464 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in that case i read your notation's description, didn't understand it, and then invented it myself :P < 1199328500 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps i subconsciously got it or something, although i myself don't believe in that kinda magic. < 1199328534 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, I'm writing an interpreter for a language of my own < 1199328541 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :(a parser, more like) < 1199328547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well the * was the important part, at least as i used it in the Subtle Cough page < 1199328550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: the notation actually shows the whole continuation as a lambda inside the partially evaluated program? < 1199328578 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :in Perl. Could anyone advise me on how I'd later add - well, modules - to it? < 1199328602 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :There'd have to be some modification of the actual interpreter, as I see it. < 1199328611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: um, yes? < 1199328618 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well not in lambda notation < 1199328649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you show me how ``cc`cc evolves? < 1199328668 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in your notation... or is that an example on the page :P < 1199328694 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't find the notation on the page anymore... i kinda suck ;) < 1199328730 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, on the subtle cough page: < 1199328732 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``cc`cc = `(`*`cc)`cc = `(`*`cc)(`(`*`cc)*) = `(`(`*`cc)*)`cc = `(`*`cc)`cc (circular, because (`(`*`cc)*) = (`*`cc)). < 1199328766 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that is using some shortcuts from the others i think < 1199328773 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`cc = (*) < 1199328811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199328814 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't get that :) < 1199328816 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :``cc`cc -> ``c{`*`cc}`cc -> `{`*`cc}{`*`cc}`cc -> `{`*`cc}`cc -> ``cc`cc < 1199328818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my version < 1199328831 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll look more closely, it may be 100% identical < 1199328854 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199328856 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :your 4th step is my second < 1199328867 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1199328893 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"circular, because..." why don't you just evaluate until it becomes the original prog :\ < 1199328898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, ihope < 1199328910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um it never quite does i think... < 1199328921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is my evaluation wrong there? < 1199328950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :{...} is a function, that when called, forgets the current context and puts the arg where the * is < 1199328960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used that to represent a continuation < 1199328962 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you are missing the evaluation of the `cc at the end < 1199328987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199328995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :didn't think it's necessary to do that ;-) < 1199329005 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it has to be evaluated before applying the continuation < 1199329015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :righties. < 1199329021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try again -> < 1199329049 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :bye folks < 1199329053 0 :UnrelatedToQaz!unknown@unknown.invalid PRIVMSG #esoteric :3am :) < 1199329079 0 :UnrelatedToQaz!unknown@unknown.invalid PART #esoteric :? < 1199329285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, the only difference was the fact i used {} and you used () then :P < 1199329323 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's what i thought < 1199329405 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm i wonder if it _does_ return properly ever, or if i recall correctly that it somehow grows while staying equivalent < 1199329431 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll make an interp, and see < 1199329437 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's hell to do by hand. < 1199329456 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although, i think it grows infinitely... < 1199329462 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :had a *feeling* < 1199329486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure someone here could just *see* it. < 1199329492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION highlights everyone < 1199329518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :we were at `(`(`*`cc)*)`cc before i "cheated" < 1199329539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey, wait! < 1199329548 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199329552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric := `(`(`*`cc)*)(`(`(`*`cc)*)*) < 1199329582 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :=`(`*`cc)(`(`(`*`cc)*)*) < 1199329598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric := `(`(`(`*`cc)*)*)`cc < 1199329607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199329618 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it seems to grow one extra level per iteration < 1199329622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1199329654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but given ø-reduction, it stays the same. < 1199329660 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh :D < 1199329676 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ø-reduction? < 1199329693 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: oerjan < 1199329695 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"oe" < 1199329719 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199329732 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm assuming oerjan did the ``cc`cc proof here, even though subtle cough is ihope's, am i correct? < 1199329756 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"before i cheated" < 1199329760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm such a detective. < 1199329776 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://www.technologyreview.com/printer_friendly_article.aspx?id=19845 < 1199329793 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(yes, i read the unlambda page; if it was there, lol :)) < 1199329834 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1199329887 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually i think i started with the subtle cough proof and after i finished it i wrote the notation in the unlambda page so others might have a hope of understanding it < 1199329903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah. < 1199329927 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, ihope comes up with a language, and you ruin it by telling him it only has 3 progs? :) < 1199329928 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :plus some ideas of how to make the notation more powerful < 1199329935 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah :D < 1199329943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199329976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although, ihope was probably happier with that, than if it would just have been left without any research. < 1199329982 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :otoh i cannot prove noone else has made such a notation before in the context of lambda calculus with continuations or something < 1199330030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199330043 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :considering my notation, i'd say it's not *that* improbable < 1199330074 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i first used x < 1199330096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then realized there will always be just one thing arg, since further conts would be nested anyway < 1199330182 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :* is one of the chars i consider objokenish enough to be used as a value, not an operator. < 1199330206 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the other non-ascii chars that have this property are @, and ¤ < 1199330215 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd seen * on the page, so i used it. < 1199330230 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just trying to prove to myself i didn't steal your notation < 1199330238 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's the point? no idea. < 1199330242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll continue my prog -> < 1199330364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps the point is i represented it as *my* notation, which is kinda rude :P < 1199330468 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"Bad artists copy. Great artists steal." -- Pablo Picasso < 1199330512 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"I stand on the shoulders of giants." -- Isaac Newton (paraphrased) < 1199330531 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"Sometimes you need to ruin it with something completely random" -- oklopol < 1199330554 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"Argle bargle, glop glyf" -- Douglas Adams < 1199330578 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Adams' insight never ceases to astound. < 1199330661 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Dragons logically follow evolution, so they would be able to wield metal" -- Kenneth Eng < 1199330886 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, Zzo38 is also using continuations in his latest. < 1199331111 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the forum or what? < 1199331211 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :on the wiki < 1199331399 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, looks fun < 1199331754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :OK, i need to start reading the wiki, that language was actually a mindblowing experience :) < 1199331880 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :G'night all < 1199331900 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Bai. < 1199331915 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: did you mean continuousequation? < 1199331924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or what was "latest" < 1199331934 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not that one < 1199331938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1199331956 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since it doesn't use continuations, just the word continuation < 1199331958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Ctonia < 1199331960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199331962 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll look < 1199331984 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but Zzo38 is incredibly prolific... < 1199331988 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why is channel awake NOW, when I need to leave? < 1199332031 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's a secret conspiracy against you. < 1199332045 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Don't eat the muffin on your table. < 1199332073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ooh, muffin < 1199332079 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right, time for food < 1199332082 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199332103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199332109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :searching for zzo: View (previous 500) (next 500) (20 | 50 | 100 | 250 | 500). < 1199332118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, quite prolific < 1199332138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess... i didn't actually look what are listed there. < 1199332155 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for a second i thought they were just the wiki pages he had authored :P < 1199332166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and actually < 1199332169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :seems they are. < 1199332186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199332202 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just 30, i just fail to understand the ui on the search page. < 1199332213 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ooooh, he did the Twoducks. < 1199332222 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I liek it. < 1199332287 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to make some sort of unlambdaish interpreter on the Love Machine 9000 < 1199332456 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've thought about something twoduck'ish... i'm fairly sure all my ideas exist on the esolang wiki already < 1199332462 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :someday i'll read it. < 1199332464 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all of it < 1199332475 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199332587 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION passes his finger over some unlambda expression, thinking "What would Turing do?" < 1199332670 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if twodux has an interp < 1199332690 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :turing would own us all at esolangs :) < 1199332691 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Depends. Do you have a flux capacitator? < 1199332725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he did a lot of code on paper, even a program that played a board game or something, or do i remember totally wrong here? < 1199332739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if all that code actually works < 1199332767 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, back then, he couldn't just fire up his computer to try it! < 1199332785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. this is why i wonder < 1199332824 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't envy Turing and the like. Doing a Turing machine by hand is bothersome. < 1199332831 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i rarely get a program right the first time < 1199332891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doing or running? < 1199332900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you do them automatically? :-) < 1199332904 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Running. < 1199332939 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if he had some tape at home, and wrote symbols on it, while going "beep boop". < 1199332951 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... actually, i rarely get a program 100% correct in a normal language, but for some reason esolang programs usually work on the first attempt < 1199332958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :most likely because i give it more thought < 1199332971 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with python, i just write a few lines of random code every now and then < 1199332975 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lucky you. < 1199332981 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't have that luck! < 1199332994 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and my program is almost ready now even though i've been chatting this whole time :P < 1199333005 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What program? < 1199333036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :making a subtle cough interp to test my idea < 1199333063 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and also perhaps to be able to visualize continuations a bit better in general. < 1199333749 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is an Unlambda combinator always made up of x primitive combinators and x-1 `? < 1199333764 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1199334060 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. If I get `iC, can I just erase `i from the tape? < 1199334112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1199334249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, d never makes it matter? < 1199334257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know how d works really... < 1199334263 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I won't include d. < 1199334268 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :d matters < 1199334285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :d matters, or d makes i matter? < 1199334292 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It will probably be pretty much Lazy k with the .x combinator < 1199334321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yay, the interp worked on the first attempt < 1199334332 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh you mean that < 1199334360 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no i don't think d affects removing `i < 1199334382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not doing a deepcopy everywhere where i copy the whole program into a continuation... guess i should add that, or i may get something too interesting. < 1199334417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you sum up d in a sentence so i don't need to open the page again? :P < 1199334418 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unlambda has no mutable structures < 1199334424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope, but python has. < 1199334428 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so deep copying is unnecessary < 1199334438 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199334471 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see, when i swap '*' inside the continuation < 1199334480 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i destroy the whole program, why not? < 1199334485 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :for an expression `EF if after evaluating E it happens to be d, then F is not evaluated < 1199334486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually don't < 1199334526 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i see, it will *never* be evaluated, or when it is further applied, like ``d.xi < 1199334539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or what would that do < 1199334558 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh if you implement continuations like that, yes it sounds dangerous < 1199334575 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1199334615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm implementing them that way because i'm going to extend that a bit < 1199334625 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so i actually want the program to be inside the continuation. < 1199334627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``dFG : first evaluate G e.g. to g. then evaluate `Fg < 1199334633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :explicitly < 1199334670 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Welcome to 2008. I will be your tour guide." < 1199334687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, it will evaluate the d'd expression once the d expression is further applied, then, like i suggested? < 1199334694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199334706 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, then i invented the d combinator. < 1199334708 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199334722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, learning is inventing for everyone, i guess < 1199334737 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I discovered salt, and invented FM radio. < 1199335122 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, quite ironic the first time i actually have a need to use a continuation is when implementing subtle cough :) < 1199335160 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that certainly gives a minimal implementation < 1199335206 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The *D* combinator? < 1199335215 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, i'd never use call/cc for the c combinator < 1199335216 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Care to give me a lambda expression of it? < 1199335219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that'd be cheating < 1199335269 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, d isn't really a combinator < 1199335289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's not what i'd've used it for, just so i could replace the whole program with the contents of the {...} without having to unwind the call stack, if i'm inside another expression when evaluating it < 1199335290 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Combinatorial sugar or something! < 1199335299 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, basically the same thing, but less obvious. < 1199335306 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"obvious" < 1199335310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :asd, whatever < 1199335362 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199335368 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was going to paste d from unl2caml but it was a bit complicated < 1199335417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's the lambda expression of c? < 1199335447 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well c isn't in lambda calculus either < 1199335488 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :s,k,i, and v are combinators though < 1199335556 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, my point was c and d are called combinators just because it's more convenient than calling them "those things unlambda has that aren't exactly combinators, but you know what i mean" < 1199335575 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199335583 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"functions" < 1199335596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...your mother :) < 1199335600 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aren't combinators functions? < 1199335608 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199335621 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but not all functions are combinators, especially impure ones < 1199335643 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What defines impurity? < 1199335688 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :side effects, non-local control... < 1199335704 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :non-referential transparency < 1199335708 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION lacks concepts. < 1199335762 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pure functions: evaluates a result given arguments, no other effect < 1199335779 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :giving the same arguments always gives the same result < 1199336048 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm gonna call them fumbinators from now on. < 1199336091 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Schmombinator < 1199336227 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how the heck do i check whether two objects are in the same memory location in python... < 1199336833 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1199336963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p346643411.txt < 1199337083 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess i should implement ø-reduction :D < 1199337151 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh hell. Already a problem. < 1199337419 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes, a marker deleted a piece of code, that's why. < 1199337762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whatcha cooking? < 1199337909 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Unlambda-ish interpreter. < 1199337923 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :A minimal one. s, k, i, .x < 1199337933 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Maybe some other combinators for kicks. < 1199337968 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So far I have some piece of code to at least check if the program has the right number of combinators and ` < 1199337995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cise (bit of speccing), graphica (version 0.5), supercough (currently just an idea i haven't tested) and ...that one language (example code + lots of ideas), and 82 problems in project euler < 1199338000 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this has been a good holiday. < 1199338037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what language are you using? < 1199338081 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The Love Machine 9000. < 1199338096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohh, then it may not be that trivial :) < 1199338132 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The idea will be to use 4 tapes. < 1199338202 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If I encounter some other combinator than i, the tapes 3 and 4 counts the ` and primitive combinators until I'm sure to have a whole combinator, and then the evaluation is copied on tape 2. < 1199338261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i see (no i don't) < 1199338284 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'm not exactly sure of a simple way to use the counter either. < 1199338288 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But I'll figure it out. < 1199338301 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure you will < 1199338311 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now... what should *i* be cooking < 1199338322 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :feel kinda lazy. < 1199338333 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But well, for instance, if I have ``k(C1)(C2), C1 will be copied on the second tape. < 1199338345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll go outside, perhaps i come up with something < 1199338347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1199338359 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Because it would be complicated to rewrite the expression on one tape < 1199338364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess i do understand < 1199338379 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Writes it on the second tape, erase the first, and copy the second tape onto the first. < 1199338433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, or you can duplicate your code and move back and forth and do a step each time. < 1199338483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, if you're doing .x, you have side-effects, so remember to change the copying head into the identity head once you've made one rewrite. < 1199338502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :identity head just copies without evaluating, that is :) < 1199338513 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No need. The `i is just removing `i < 1199338532 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or, for .x, printing x and removing `.x < 1199338560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1199338600 0 :weilawei!unknown@unknown.invalid QUIT :Nick collision from services. < 1199338638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you have ``a`bc`de, you can't evaluate both `bc and `de in one step < 1199338680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because a might apply after evaluation of `bc < 1199338729 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Probably. But I'll try the simple way first. < 1199338736 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because there's no referential transparency guaranteed, you have to be sure to just do one thing per step; this is why after evaluating one subexpression inside the whole thing, you need to copy it all to the next tape < 1199338742 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wait, what am I saying. < 1199338745 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I misread < 1199338747 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, that's not necessarily more complicated < 1199338763 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Every step will only evaluate one combinator, oklopol < 1199338814 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It looks at the first combinator, checks if there's enough combinators in front to evaluate it, and if there are, returns the evaluation on the second tape. < 1199338823 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or if not, just continues. < 1199338890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, xchat started lagging too much now < 1199338894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll restart it < 1199339014 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should i do a time traveling language, or a program that wraps up a given ca based on sending messages between the nodes of a graph and visualizing it by showing the messages move between the nodes? < 1199339026 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :both useless to the max < 1199339061 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, if you want, there's useful equations for it in here : http://membres.lycos.fr/bewulf/Russell/incomplete_equation.jpg < 1199339080 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :First one is useful for timetravel < 1199339126 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :jailbatylicious < 1199339138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199339154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure i can use use that media. < 1199339164 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :too powerful encryption < 1199339203 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the eyes cannot make out the text < 1199339216 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What text? < 1199339229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is some scribble in their backs < 1199339237 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Equations. < 1199339243 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :First one is general relativity < 1199339250 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Second one is electromagnetism. < 1199339256 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Third one is mechanic. < 1199339264 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Last one is quantum mechanic. < 1199339268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, but my eyes are too distracted < 1199339612 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. I think I can probably make the interpreter with just one counter. < 1199339638 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Starts at 1, adds 1 for every `, substract 1 for every primitive combinator < 1199339713 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I probably should make the code every two cells to have some markers in here. < 1199341015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.veling.nl/anne/lang/lambda/ i wonder how lambda calculus inspired this :D < 1199341053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, invented by a girl < 1199341548 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh hell. Once again, the problem of a state that deals with characters! < 1199342307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i'll stop using python for a while now, just too trivial < 1199342314 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it feels like cheating :\ < 1199342385 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199342391 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It does write itself! < 1199342413 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll make an interp for a small concurrent language in scheme < 1199342433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should finally try *using* it for something < 1199342468 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :@ ` # r # ` # ` # ` # ` # ` # ` # ` # ` # ` # ` # ` # . H # . e # . l # . l # . o # . b # . w # . o # . r # . l # . d # i # # < 1199342472 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Poifect. < 1199342491 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :works already? < 1199342511 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1199342519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, okay < 1199342520 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But it writes that code every two cells! < 1199342523 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how many stacks are you using? < 1199342533 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Stacks? < 1199342538 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tapes, sorry < 1199342544 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Three. < 1199342553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you use 1, there should be a trivial mapping to brainfuck < 1199342602 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not so sure. Since it's based on states, not instructions, I can't think of a trivial isomorphism. < 1199342675 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... three tape code -> one tape code: take the three tapes, and make an empty cell between every two cells, then zip the cells getting [1,2,3...],[5,3,7...],[67,3,6...] -> [1,0,5,0,67,0,2,0,3,0... etc] < 1199342688 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, put a 1 into 2nd, 4th and 6th cell < 1199342702 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[1,1,5,1,67,1...] < 1199342757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then, when you change tape from ath tape to bth tape, move (b-a)*2 cells backwards < 1199342770 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then find the 1 on that tape < 1199342803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when moving, move the one, when checking / using the value, use the number that is in the cell just left of the current cell, which should hold the 1 < 1199342828 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically simulate multiple tapes using a separate token for show where the head is < 1199342853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... i guess you need to have 2's in every cell *before* the head. < 1199342858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so you know which way to look < 1199342889 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this can be done after you are ready of course, and if you don't wanna do it, perhaps let me, since ski->brainfuck would be great < 1199342920 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, right now, I'm still on making the code pretty for the Love Machine 9000. < 1199342947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no hurry, it's just i've been thinking about ski->brainfuck, but i haven't gotten much done < 1199342952 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I have one combinator/`operator every two cells on the second tape so far < 1199343004 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, not exactly, but there's an empty cell between 'em all. < 1199343502 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199343892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, tried making a page on esowiki, and failed badly :P < 1199343943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.esolangs.org/wiki/YABC < 1199343977 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that's tc via a not-too-trivial isomorphism to bf < 1199344021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, anyone with any skill, please fix that, i can't figure out how to get the instructions on separate lines or to look nice otherwise :-) < 1199344385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.esolangs.org/wiki/YABC lol getting closer :) < 1199344398 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, the link isn't a fixed one < 1199344403 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean... immutable < 1199344477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, you have a language with do while loops instead of while loops < 1199344496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and you have to make the value to jump with on the tape yourself < 1199344509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think this has been discussed sometime < 1199344540 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, the do...while thing < 1199344612 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps later today i'll put something real there < 1199344613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now food -> < 1199344954 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199345131 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1199345266 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Everything nice on the first tape. Now, to evaluate! < 1199347199 0 :clog!unknown@unknown.invalid QUIT :ended < 1199347200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199348137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :H < 1199348137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :l < 1199348137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :o < 1199348137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :w < 1199348137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :r < 1199348137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :d < 1199348152 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I've seen better, but it's a start. < 1199348200 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199348537 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"H" < 1199348542 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aw hell/ < 1199348549 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'll just put the tape display on. < 1199351624 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah, finally. < 1199351632 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :i, r and .x works < 1199351641 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Now, to tackle the big un's. < 1199351841 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's a nice short Unlambda program with s's and k's? < 1199352050 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199352066 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Idea : Replace all s by ```kiss < 1199352556 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199352566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that'd be just ``sik < 1199352570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199352573 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :```sick < 1199352628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :``ik`ck -> `k`k(`k*) < 1199352641 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. Kisses would be ((se)s) < 1199352650 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199352659 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So applying a kiss to something would be (eC)(sC) < 1199352672 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Terminating the program? < 1199352722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's e < 1199352722 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"When applied, e exits the program, possibly providing its argument as the program's result." < 1199352729 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199352733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's that < 1199352741 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So kisses on some operator outputs the operator! < 1199352765 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Errr, combinator < 1199352801 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199352854 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :``````kisses X -> ```sesX -> ``ex`sx, indeed < 1199352861 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm a bit schlow. < 1199352927 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Kiss your program goodbye!" < 1199352995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> i o < 1199353101 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199353143 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to have to rewrite it entirely after I'm done with this version. < 1199353149 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's full of redundant states. < 1199356532 0 :weilawei!n=weilawei@pool-72-70-237-75.spfdma.east.verizon.net JOIN :#esoteric < 1199364216 0 :jix!n=jix@host-091-096-146-094.ewe-ip-backbone.de JOIN :#esoteric < 1199365821 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199365853 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199366134 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199368153 0 :SimonRC!unknown@unknown.invalid QUIT :Connection timed out < 1199368623 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199372510 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1199374144 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1199374154 0 :jix!n=jix@dyndsl-091-096-039-159.ewe-ip-backbone.de JOIN :#esoteric < 1199374354 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199374379 0 :oerjan!unknown@unknown.invalid QUIT :"Dinner" < 1199378694 0 :mtve!i=mtve@mtve.vm.jvds.com JOIN :#esoteric < 1199380414 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199380442 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199381968 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199381996 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199385725 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199391502 0 :calamari!unknown@unknown.invalid PART #esoteric :? < 1199394452 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199394683 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199395630 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Anne Veling is male < 1199396023 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in that case i cannot resort to the "women can't code" stereotype, and ask how lambda is related to lambda calculus < 1199396030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*hva to ask < 1199396037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*have < 1199396042 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anne is a male name? where? < 1199396056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in holland, according to his homepage < 1199396087 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh holland, you crack me up! < 1199396097 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :he probably gets to point it out a lot :D < 1199396128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, prolly, it's a female name in english, finnish and pretty much all over europa... i think < 1199396184 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well france is worse. you know that joke about Jean Marie... they found out everything about the person except the gender < 1199396220 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders how a programming language can claim to be 'inspired by lambda calculus' without lambda expressions < 1199396227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wouldn't advise telling that joke to le Pen, he thinks < 1199396231 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :what language is that? < 1199396249 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://www.veling.nl/anne/lang/lambda/ < 1199396297 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a fairly basic assembly kinda thing, apparently. < 1199396355 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1199396374 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it does seem to be done not that seriously, i just don't get the joke... < 1199396532 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Mistah sir oerjan! < 1199396556 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Can I assume that a k is evaluated only if preceded by ``? < 1199396629 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199396642 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Same with s and ```? < 1199396646 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1199396651 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Thanks. < 1199396863 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see how those k states fares. < 1199397163 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :btw maybe you could use the idea from my unlambda meta-notation of having a different symbol (e.g. ') for expressions that have already been fully evaluated < 1199397201 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure how that works out. < 1199397203 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Got an example? < 1199397219 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199397266 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Not enough tapes. Program interrupted. < 1199397269 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh hell. < 1199397310 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wrong state on the end of k. < 1199397492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait a moment, are you using lazy or strict evaluation? < 1199397503 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What would be the difference. < 1199397530 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do you evaluate the arguments of s and k before applying them? < 1199397540 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1199397555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok then my ' suggestion is probably useless < 1199397571 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If there's a s or k and enough arguments, it rewrites the string in the proper form on the second tape. < 1199397592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and you probably take the first s or k you find too :) < 1199397605 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The first of everything. < 1199397616 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Unless there's not enough argument. < 1199397634 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's lazy, or perhaps rather call-by-name, since i assume you have no sharing among copied terms < 1199397653 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this being string-based < 1199397726 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Here's an example : < 1199397727 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :# ` # ` # k # ` # i # . x ` # i # . i # # # # # # # # # # # # # # # # # # # < 1199397727 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :# # # # # # # # # # # # @ ` # i # . x # # # # # # # # # # # # # # # # # # # # # < 1199398037 0 :wooby!n=wooby@62.192.133.146 JOIN :#esoteric < 1199398072 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: has c2bf seen any recent development? < 1199398076 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, ``k`i.x`i.i prints x. < 1199398079 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So far so good! < 1199398098 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: um, that's a bit different from unlambda < 1199398114 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: prints or evaluates to? < 1199398122 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in unlambda .x prints when _applied_, not when evaluated < 1199398125 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, x. < 1199398126 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Prints. < 1199398140 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what oerjan said. < 1199398149 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Good enough for me. < 1199398153 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course in a lazy language your way may be just as fine < 1199398162 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The laziest! < 1199398171 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You should see the code, it's full of redundant states. < 1199398210 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/Unlambda%202.txt < 1199398230 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Still need to deal with s and not enough argument for k. < 1199398322 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(It might actually be shorter if the printing of characters was just the character and the combinator preceded by ., but well) < 1199398451 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :``k````.p.e.n.i.s```.b.u.t.t -> penis < 1199398454 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thumbs up < 1199398533 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see what will happen for only one argument! < 1199399473 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes. i->erase `i only works for when i is applied. < 1199399512 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If I have something of the form `k.x, is it reasonable to evaluate .x and change it to `ki? < 1199399602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be unusual, but your language already is... < 1199399606 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's reasonable if it'd be tons harder to do it like unlambda does it < 1199399630 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...i tried to wait for you to answer, and when i do, you answer on the same second :) < 1199399633 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I suppose it wouldn't be too hard. < 1199399654 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I could just check if there's ` before to change it. < 1199399670 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or just print when a .x is applied < 1199399686 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless you meant just that < 1199399727 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Sort of. Although I think that with the current code, it will still print it if only .x remains. < 1199399750 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe not if I add the ` condition. < 1199399761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, if the ski part works, count me happy. < 1199399768 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should also add a halting condition if only i remains. < 1199399781 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now in weak head-normal evaluation, you can just stop if your k doesn't have enough arguments < 1199399784 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, it will be bothersome. < 1199399847 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So far, the halting condition is that the evaluation reach the end of the program, meaning that nothing must remain at the end. < 1199399850 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because any program can be written such that the first primitive always is the next to be applied < 1199399869 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: your unlambda in unlambda, does it just convert the string to an unlambda expression and then evaluate that, or do you simulate the whole thing or something? < 1199399871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"just" < 1199399891 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's almost the first < 1199399907 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it does an eta-expansion, essentially < 1199399942 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :expand `FG -> ``s expand F expand G < 1199399960 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :expand primitive = `k primitive < 1199400012 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and when the result is applied to anything, it works equivalently to evaluating the original unlambda expression < 1199400066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i made one exception: the e function is implemented as i, meaning that the argument passed to the expression must be e or some continuation to quit the program < 1199400068 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will continue later. < 1199400083 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Self-rewriting code puts a strain on my smile. < 1199400087 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*implemented = expanded < 1199400226 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this exception means that you could theoretically embed the interpreter in a larger program and have it return in the larger program when the interpreted program calls e < 1199400285 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or ``````kisses < 1199400488 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh and expand F = abstraction elimination of \e -> F, essentially < 1199400816 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199401467 0 :tesseracter_!n=tesserac@pool-72-79-233-98.spfdma.east.verizon.net JOIN :#esoteric < 1199401863 0 :tesseracter__!n=tesserac@pool-71-127-8-66.spfdma.east.verizon.net JOIN :#esoteric < 1199402077 0 :weilawei!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199402276 0 :tesseracter!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199402540 0 :tesseracter_!unknown@unknown.invalid QUIT :Connection timed out < 1199405104 0 :tesseracter__!unknown@unknown.invalid NICK :tesseracter < 1199407516 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. Explaining lambda calculus is a hard task. < 1199407693 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's remarkably easier when one can assume an understanding of functions. < 1199407766 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Alright, you have functions, right?" "Right." "You just pass those around. That's your entire semantic setup." "Whoa. . ." < 1199408589 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :. < 1199408797 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: i was most confused by the FoG syntax. F(G(x)) is sooooo much simpler < 1199408835 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :math dudes have so many symbols. < 1199408869 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :errr yeagh. < 1199408874 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :i learned 4 notations for boolean logic, thats just insane. < 1199408892 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :FoG, of course, doesn't mean the same as F(G(x)). < 1199408916 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION had a secret idea of trying to sneak in a couple :-) :-( smileys as dual operators in a math paper < 1199408916 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :lament, GoF or FoG....its been a while. < 1199408922 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it means the same as lambda x -> F(G(x)), which is rather painful to write out. < 1199408933 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and it introduces an unnecessary symbol. < 1199408984 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i think i did those in C at one point... < 1199409045 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, :-> and :-< would work in haskell < 1199409075 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :or maybe it was :- as a post operation and a function, so :-(x, y:-) < 1199409200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(-: "only" )-: "joking" < 1199409222 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i've got to try that in lambdabot < 1199409231 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :heh. < 1199409265 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if i can find a way to make it well-typed < 1199409391 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm needs polymorphism at least < 1199409657 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, if you get that in a math paper, I will worship you. < 1199409659 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(more) < 1199409661 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1199410252 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, lambda calculus doesn't have FoG as far as I know: < 1199410272 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's just fg or `fg, unlambda style. < 1199410485 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But the hard part is explaining the lambda itself, it seems. < 1199410705 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tried to do some Unlambda loop < 1199410712 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```sii``s`k`.xi``sii < 1199410717 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I get stack overflow. < 1199410937 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What be the problem? < 1199410943 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199411011 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, after printing one x, the C stack overflow, that is. < 1199411026 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ``i``s`k`.xi``sii`i``s`k`.xi``sii < 1199411086 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why can't the doubling be just a SII? < 1199411177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ```s`k`.xi``sii`i``s`k`.xi``sii -> ```k`.xi`i``s`k`.xi``sii```sii`i``s`k`.xi``sii < 1199411186 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1199411203 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I do it on paper with parenthesis. Less strain on the brain. < 1199411215 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The thing was : < 1199411228 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(SII)(S(K(.xi))(SII)) < 1199411237 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(S(K(.xi))(SII))(S(K(.xi))(SII)) < 1199411264 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :[(K(.xi))(S(K(.xi))(SII))][(SII)(S(K(.xi))(SII))] < 1199411276 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(.xi)[(SII)(S(K(.xi))(SII))] < 1199411286 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And then back to (SII)(S(K(.xi))(SII)) < 1199411304 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But with a bonus x on the screen. < 1199411339 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But it seems to overflow my stack or something. < 1199411360 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um how fast are you removing the I's? < 1199411392 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wut? < 1199411408 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you ignored the I's < 1199411426 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I((S(K(.xi))(SII))I(S(K(.xi))(SII)) < 1199411427 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let me redo that. < 1199411443 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er no < 1199411456 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that. < 1199411469 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I apply SII as ^x.xx < 1199411472 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Faster to do. < 1199411493 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how does a turing machine stack overflow anyway? < 1199411500 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or is this something else? < 1199411503 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's on your interpreter. < 1199411528 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The Turing (or Love) machine (9000) is right now resting. < 1199411536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mine? which one? < 1199411541 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Haskell one. < 1199411545 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199411547 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :On them winhugs. < 1199411561 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1199411626 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The Love Machine cannot stack overflow. Maybe tape-overflow, but well. < 1199411777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :argh! why oh why can't winhugs paste into a running program :( < 1199411869 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's only 20 chars. < 1199411896 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :` is horrible to type on a norwegian keyboard :( < 1199411940 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It is particularly annoying to type on Winhugs, because you have to type ` + space, or it crashes. < 1199411988 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm where is it on an english keyboard? < 1199411998 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't have an english keyboard. < 1199411999 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, seeing the Norwegian keyboard layout, that is not my idea of a keyboard that's good for coding. . . < 1199412016 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :On the US QWERTY keyboard, ` is to the right of 1. < 1199412019 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/right/left/ < 1199412034 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1199412040 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has : http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Azerty_fr.svg/800px-Azerty_fr.svg.png < 1199412050 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :` is alt + 7 < 1199412110 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Single keystroke here. w00ts. < 1199412133 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :shift-\ space here < 1199412136 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Granted, the US keyboard layout is kinda handy for most coding, since the most you'll have to do is hit shift. < 1199412146 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I wonder why keyboards still have keys that have no longer any purpose. < 1199412153 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :At least not that often. < 1199412159 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(unless you decide to use US international, which has deadkeys) < 1199412174 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Like pause, inser or num lock < 1199412196 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Num lock changes the behavior of the number bad. < 1199412196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh now wait < 1199412209 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes it does. But does anyone use it? < 1199412211 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :we were doing lazy evaluation < 1199412215 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Some people do. < 1199412231 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I don't even touch the number pad, so. . . ;) < 1199412238 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Last time I used it, I think it was for Civilisation 2. < 1199412249 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Because the diagonal arrows were somehow useful. < 1199412297 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the numpad makes no sense, who in their right mind would want to write numbers with right hand only < 1199412306 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless left-handed of course < 1199412321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should get a leftie keyboard < 1199412357 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, the C interpreter doesn't print more than one either :) < 1199412365 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :oerjan : Does the interpreter change (SII)(S(K(.xi))(SII)) in (SII)(S(KI)(SII)) directly. < 1199412379 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unlambda is a strict language < 1199412381 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or something similar, that is. < 1199412388 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it evaluates arguments first < 1199412411 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the `.xi is only evaluated once < 1199412431 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i am still disappointed haskell stack overflows, a bit :( < 1199412441 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's why I copied it via some fixpoint combinator. < 1199412453 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But apparently, not good enough! < 1199412543 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199412605 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :try adding `d before `k < 1199412680 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hmph, it eventually stack overflows then too < 1199412693 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but at least it prints x'es galore < 1199412818 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes! < 1199412841 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Was it because the interpreter evaluated the (.xi) inside the expression first? < 1199412846 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199412883 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is the non-lazy evaluation done for optimisation purpose? < 1199412909 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :only madore knows :) < 1199412939 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Damn him! < 1199412942 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but strict is usually more efficient than lazy < 1199412971 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :when naively implemented at least < 1199412980 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh one more thing < 1199413007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :continuations depend on strictness < 1199413153 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if I could make some sort of lazy unlambda. < 1199413181 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, on something else than the Love Machine 9000. < 1199413191 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you know about Lazy K, right? < 1199413194 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It puts a strain on my good mood, with all those chars. < 1199413202 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but Lazy K has horrible I/O < 1199413216 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so does unlambda, I at least < 1199413269 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What would be a good input for a purely functional language? < 1199413299 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199413324 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lazy K's basic idea (stream -> stream function) is pretty neat < 1199413373 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The only output I ever got from Lazy K was more combinators. I don't know if it's because that's supposed to be or because I don't know how to use it. < 1199413379 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(neat enough that haskell as an interact function which uses it) < 1199413399 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you wrote your own interpreter? < 1199413424 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1199413441 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :weird maybe it has different modes of running < 1199413452 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or I just don't know how to use it. < 1199413471 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, you actually got it to print combinators? < 1199413511 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If it surprises you, I doubt it. < 1199413601 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think what I got was the Scheme - Lazy K translator and the program never was interpreted. < 1199413625 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199413780 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is the interpreter only available as the C++ one and the .exe one? < 1199413809 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't recall < 1199413856 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If so, that would explain it. I never got them working. < 1199415395 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199415400 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199416035 0 :wooby!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199416442 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION made some sort of minimalist lazy Unlambda on Python. < 1199416488 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I get my gallore of x's, but apparently the expression keeps increasing in size. < 1199416498 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`i's all over the place. < 1199416589 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Something like this : http://membres.lycos.fr/bewulf/Russell/Loop.txt < 1199416675 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199416680 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199417839 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When it is said that SKK is equivalent to I, isn't it actually SK[any combinator]? < 1199417849 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199417865 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Good. Makes abstraction elimination easier. < 1199417914 0 :bsmntbombdood_!unknown@unknown.invalid NICK :bsmntbombdood < 1199417931 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no tail for bsmnt < 1199417971 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or does it? < 1199417973 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Damn. < 1199417992 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in actual unlambda there is a bit restriction, SKxy = Ky(xy) so x must be something which has no effect when evaluated or applied < 1199418019 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, since I'm doing it lazy style, no problem < 1199418037 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I'm not sure it works perfectly. < 1199418052 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I try actual Unlambda programs, I get errors. < 1199418084 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actual unlambda programs usually depend on strictness < 1199418104 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I would expect screwed up text display. < 1199418108 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But not errors. < 1199418127 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm errors? < 1199418153 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why Unlambda assumes strictness < 1199418173 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Index out of range, mostly. < 1199418199 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/Lazylambda.py < 1199418208 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think it's linked to the argument checker. < 1199418333 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you might write a test that the program remains well-formed at eah step... < 1199418341 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*each < 1199418413 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, right now I'm mostly trying some simple programs with the lambda expressions displayd at each step. < 1199418438 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199418447 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199418449 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i can see that you would get index out of range if the first primitve is applied to too few parameters < 1199418497 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Probably. I tried to avoid that, but I guess I'll just have to check manually. < 1199418548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes you have a check for single remaining primitve < 1199418561 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*primitive < 1199418569 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's only to stop the program. < 1199418588 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I was referring to the if k == len(lambexp) : and such < 1199418623 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, so far s and k with few arguments work < 1199418632 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um, i am referring to index out of bounds < 0 < 1199418672 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wut? < 1199418711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`ki e.g. will crash at lambexp[i-2]=="`": < 1199418752 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`ki doesn't crash. < 1199418765 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. ```sii``sii has the expected effect! < 1199418793 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should make a combinator for SII that doesn't leave `i's everywhere. < 1199418793 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait you continue at ` < 1199418830 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lazy evaluation make that sort of loop hard on the memory < 1199418901 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm wait < 1199418911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how is it possible that `ki does not crash? < 1199418927 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't have python < 1199418970 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`ki doesn't have the required ``, so it doesn't transform into anything. < 1199418980 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It just remains `ki forever. < 1199418986 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er i mean the test for `` crashes it < 1199419009 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's my point < 1199419020 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sleeps -> < 1199419028 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's the problem in that? < 1199419061 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :when i=1 and it reaches the k, it gets to the line: < 1199419071 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if lambexp[i]=="k" and lambexp[i-1]=="`" and lambexp[i-2]=="`": < 1199419104 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the lambexp[i-2] then gives an index out of bounds error afaics < 1199419119 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I would expect it to, but for some reason, it doesn't. < 1199419138 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The problem boys are usually if lambexp[l]=="`": < 1199419269 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199419288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :negative indices in python restart from the end of the string don't they. < 1199419301 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that explains it. < 1199419303 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199419311 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :This might cause problems now that you mention it. < 1199419332 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although no expression should ever end in ` < 1199419343 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should make if lambexp[i-2]=="`": inside the other conditional < 1199419351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but well, you never know! < 1199419374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you test for well-formed-ness at the start... < 1199419444 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199419451 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in theory it could end in .` < 1199419459 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That too. < 1199419538 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION added if i>1 < 1199419555 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's not a lazy program for nothing! < 1199420075 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's a compact way to do Chuch numerals in SKI? < 1199420089 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :``s`k``s``s`k``s`ksks`kk``s`k`sik isn't very compact. < 1199420142 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i cannot quite decipher that this late... < 1199420160 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Don't bother, I'm not even sure they're proper Church numerals. < 1199420179 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i've usually started with 2 and 3 and used arithmetic < 1199420243 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :powers are just application, multiplication is composition < 1199420281 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :addition is composition after application < 1199421300 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :``s``s`ks``s`kki``s``s`ks``s`kki`ki < 1199421313 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I was hoping for something somehow shorter. < 1199421327 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But applied to .x and i, it gives the expected result. < 1199421355 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199421363 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199421368 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199421394 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``s`kki = k < 1199421426 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eta-reduction < 1199421475 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That man is a combinator machine! < 1199421535 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should make a small file of combinators. < 1199421555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :18 and 256 are in my unlambda self-interpreter, btw < 1199421568 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why 18? < 1199421584 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :length of a table < 1199421609 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I have 0 and 2. Let's try 1: < 1199421657 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``s``s`kski = 2 can be extracted from those < 1199421704 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and yours above after that reduction < 1199421759 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So ``s`kki``s``s`ksk`ki = `ki? < 1199421768 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1 = i < 1199421779 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe not. < 1199421785 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aaaargh < 1199421791 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :` notation is hard to read < 1199421905 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1199421910 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199422052 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :How can 1 be i? < 1199422059 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or... < 1199422062 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks < 1199422082 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Eta reduction? < 1199422088 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Dang. < 1199422101 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1 f x = f x < 1199422138 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :0 f x = x = i x = k i f x, so 0 = k i < 1199422154 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It was the (^fx.fx)C = ^x.Cx that worried me < 1199422160 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But then I thought of Eta reduction. < 1199422215 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :haskell puts foralls on automatically, but outermost < 1199422258 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION throws a holy hand grenade after Mr. Wong. after counting to 3. < 1199423707 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :````s`k``s``s`kski``s``s`kski.1i < 1199423707 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yay < 1199423993 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Argh. It's not even a valid expression apparently < 1199424679 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or not. < 1199424691 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why can't http://www.angelfire.com/tx4/cus/combinator/birds.html give me correct answer? < 1199426004 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1199433599 0 :clog!unknown@unknown.invalid QUIT :ended < 1199433600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199435007 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Turing fixpoint combinator >> Curry fixpoint combinator < 1199441917 0 :faxathisia!n=more@amcant.demon.co.uk JOIN :#esoteric < 1199452632 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199456405 0 :tejeez_!n=tejeez@dsl-lhtgw2-fea7dc00-42.dhcp.inet.fi JOIN :#esoteric < 1199456752 0 :tejeez!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1199457314 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1199457407 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199458919 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199458957 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199459023 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199459545 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199459573 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199459589 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199459830 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199459873 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199459901 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199460556 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1199460566 0 :jix!n=jix@dyndsl-085-016-233-044.ewe-ip-backbone.de JOIN :#esoteric < 1199461896 0 :AnMaster_!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1199462328 0 :AnMaster!unknown@unknown.invalid QUIT :Connection timed out < 1199463032 0 :AnMaster_!unknown@unknown.invalid QUIT :Connection timed out < 1199463178 0 :AnMaster_!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1199463604 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199463656 0 :AnMaster_!unknown@unknown.invalid NICK :AnMaster < 1199463987 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199465889 0 :AnMaster_!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1199465900 0 :AnMaster!unknown@unknown.invalid QUIT :Connection timed out < 1199465955 0 :AnMaster_!unknown@unknown.invalid NICK :AnMaster < 1199469548 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199469574 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199469594 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199470065 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199470926 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION added the m combinator on the interpreter for SII < 1199470935 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :m? < 1199470959 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.angelfire.com/tx4/cus/combinator/birds.html < 1199470986 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :SII leaves a lot of `i in the interpreter when using lazy evaluation. < 1199470993 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1199471013 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i had a similar thought that Lazy K needed it < 1199471044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ideally you would memoize its results somehow. then you would get genuinely cached cyclic structures < 1199471093 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah, index string out of range. < 1199471108 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What to do what to do. < 1199471112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :still haven't solved that problem? < 1199471125 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Still haven't found the problem. < 1199471140 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's the first time some code I made have the problem. < 1199471144 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`m``s`k`.xim < 1199471156 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :does this show up on the first iteration? < 1199471191 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :otherwise i repeat my suggestion to make a test that the expression remains well-formed at each stage < 1199471192 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. and unsurprisingly, it's in the m combinator section. < 1199471341 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes, I just forgot to add the case where there's another m combinator. < 1199471415 0 :oerjan!unknown@unknown.invalid QUIT :"Going, going, gone" < 1199471430 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199471650 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Allow me to give you hell's weather report. . . < 1199471663 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199471668 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Cold, with a blizzard expected for the next week. Visibility, 0." < 1199471720 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION didn't work on PSOX or go on IRC yesterday.. < 1199471767 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There are, as of today, no major labels not offering or soon going to be offering DRM-free music for download. < 1199472562 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: well, motley fools just told investors not to invest in record labels. < 1199472582 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :let us pray to the almighty buck. < 1199472620 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I still wouldn't invest in them. < 1199472628 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I don't see them lasting out the decade at this rate. < 1199472642 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :and indies topping billboard charts? bye bye big record companies. < 1199472710 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And fairly major artists leaving the record companies? That's *got* to hurt. < 1199472851 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :everything points to it. only thing left is the pa-ra-dig-em shift. < 1199472864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is in progress. < 1199473757 0 :ais523!n=ais523@147.188.254.232 JOIN :#esoteric < 1199474240 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hello sir. < 1199474271 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1199474297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is busy handling the fallout from the recent release of C-INTERCAL 0.27 < 1199474423 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I actually had a crazy idea for functional INTERCAL < 1199474437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where you could create virtual threads with frozen values for variables < 1199474445 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that could still steal control of the program from the main thread < 1199474453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as a complicated way of implementing lambda < 1199475658 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should write an abstraction eliminator with lambda calculus written unlambda style. < 1199475658 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You are insane. < 1199475666 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Parenthesis are bothersome to deal with. < 1199475992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has one of those, in elisp < 1199476001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not on this computer, though, so I can't post it right now < 1199476005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it was buggy anyway < 1199476039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, if it was fully parenthesised before, all you need to do is get rid of all the closing parens < 1199476044 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I have one, but it's in my pen. < 1199476158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I used it to write a P'' interpreter in Unlambda < 1199476187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was pretty poor-quality Unlambda code, though. Just abstraction-eliminated s, k, and i, apart from a single c < 1199476201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the c was to handle Unlambda's silly I/O model < 1199476257 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm doing this for some sort of lazy unlambda. < 1199476283 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :'cause I don't do very well with strict evaluation. < 1199476636 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1199476940 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could always use `d before everything < 1199476977 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BTW, I like the way that d can be dynamically moved around the program in Unlambda, so you can decide whether evaluation is lazy or not at runtime < 1199477123 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, that would increase drastically the size of programs < 1199477142 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Which aren't that small to begin with. < 1199477428 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :clearly the way to go is full Unlambda virtualisation < 1199477444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did something happen while i was gone? < 1199477557 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :We solved the halting problem. < 1199477625 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :We also made an infinite tape. < 1199477684 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And we made a Malbolge interpreter in Malbolge. < 1199477700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :correction: Malbolge-T, there isn't enough memory otherwise < 1199477700 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but nothing interesting? < 1199477713 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Same old, same old. < 1199477785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: halting problem + infinite tape, but a malbolge self-interpreter is impossible? :) < 1199477807 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, we're not that good! < 1199477818 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Solving the halting problem is easy next to Malbolge! < 1199477896 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm not too impressed. < 1199477908 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :infinite tape should be possible; you synthesize it out of materials in the environment < 1199477927 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Frankly, a Brainfuck interpreter in Malbolge would be much more significant than an infinite tape or a function H. < 1199477937 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, even if there's infinite materials, it will take an infinite time. < 1199477955 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can solve the halting problem if you have infinite time < 1199477963 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not even going into the energy problem. < 1199477964 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I suppose you've seen how it's possible in TwoDucks? < 1199477968 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199477977 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I've also read the papers on hypercomputation. < 1199477990 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A hypothetical Infinity Machine would actually make the halting problem trivial. < 1199477994 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://www.chiark.greenend.org.uk/~sgtatham/infinity.html < 1199477996 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although it can only solve the halting problems of Turing machine. < 1199478001 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Not its own. < 1199478028 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.hypercomputation.net/ < 1199478165 0 :tejeez_!unknown@unknown.invalid NICK :tejeez < 1199482554 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199482744 0 :ais523!unknown@unknown.invalid QUIT :""""" < 1199482818 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199483657 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Does this look okay as an abstraction eliminator? http://membres.lycos.fr/bewulf/Russell/AE4.py < 1199483671 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :For instance, `^a`^ba < 1199483677 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :gives ``s`kki < 1199483724 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the string index handling makes me shiver these days :( < 1199483755 0 :faxathisia!unknown@unknown.invalid PART #esoteric :? < 1199483760 0 :faxathisia!n=more@amcant.demon.co.uk JOIN :#esoteric < 1199483788 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait a minute, why ` ? < 1199483791 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And `^a`^b`^c``ac`bc gives ``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kki``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk`ki``s`kk`ki < 1199483812 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you really need some optimizations < 1199483816 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I use unlambda notation, because string handling gets that much worse with parenthesis. < 1199483854 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::S < 1199483856 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1199483865 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, for me at least. < 1199483865 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um, the notation from the unlambdaifier is ^a^b$a < 1199483886 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, not the exact lambda notation of unlambda. < 1199483898 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you need eta reduction. ``s`kfi = f < 1199483907 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I use `^xC for lambda x.C < 1199483919 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the ` is deceptive < 1199483953 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you're not really applying anything < 1199483961 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess so. < 1199483977 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I though I would run in some ``^x situation, but you're right. < 1199484001 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, the $x notation prevents trouble if you have a variable called s k or i ... < 1199484094 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway the pain of doing this with indices into strings rather than an actual data structure... >_< < 1199484126 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't know the difference, so there's that. < 1199484147 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course avoiding pain may not be a big goal here :D < 1199484170 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, an AST < 1199484179 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1199484187 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think `^x is still useful. < 1199484212 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :For the C1 function, which looks for the end of the combinator applied. < 1199484286 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So that ^x(^y.y) is counted as one combinator. < 1199484318 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`^x`^yy - 2 apply operator, 3 "variables" < 1199484355 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah, all you need to do is treat ^ as you treat ` < 1199484369 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199484388 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, let's try that. < 1199484874 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :String index isn't hard to make < 1199484878 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's hard to modify. < 1199485482 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, seems to work so far < 1199485489 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's try eta reduction now. < 1199485983 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Works for k. < 1199486019 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :s doesn't seem to eta reduce that easily though < 1199486244 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Maybe replace ``skf by i. < 1199486311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with lazy evaluation that is fine < 1199486336 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although, i don't think ``skf is produced by abstraction elimination < 1199486354 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm or could it? < 1199486394 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^x`kx`fx < 1199486412 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :after eta reduction, that would become ``skf < 1199486416 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I can't see it in the AE of s at least. < 1199486440 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, missing a ` < 1199486558 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh you mean reducing ^x^y^z``xz`yz to s somehow? < 1199486577 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199486592 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So far, with eta reduction, it's ``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kkk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk`ki``s`kk`ki < 1199486603 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Which works fine on the lazy interpreter, but well. < 1199486618 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ^x^y``sxy < 1199486648 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the trick is to do abstraction elimination and eta reduction fully on the innermost lambda first < 1199486670 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah. Right now, the eta reduction is only on the end of the process. < 1199488582 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199489677 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The abstraction elimination seems to work okay. < 1199489755 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe not. < 1199489768 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Index out of range for half the Turing combinator. < 1199489821 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. I just wrote it wrong. < 1199490490 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1199490529 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: Out of immense curiosity, why are you so intent on inventing new combinators/making a lazy Unlambda? :p < 1199490653 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not inventing them. < 1199490660 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :All those combinators already exist! < 1199490681 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The lazy is because I'm just not that eager to use strict evaluation. < 1199490693 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION groans < 1199490712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if Slereah knows he just made a pun < 1199490737 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What, lazy? < 1199490752 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :strict and eager are synonyms :D < 1199490759 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Then no. < 1199490768 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :woah < 1199490796 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :That was such an incredibly bad pun < 1199490814 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :amazing coincidence < 1199490922 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :everyone can make a pun others don't understand. but to make one you don't understand yourself... :D < 1199491011 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Boy, now that I know, I'm thinking of an even worst pun! < 1199491050 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION groans < 1199491154 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1199491363 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/AE6.py < 1199491504 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's nothing to distinguish variables from combinators, so I would avoid s-k-i. < 1199491522 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I'm not even sure what it might do. < 1199491635 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it screw it up apparently. < 1199494250 0 :faxathisia!unknown@unknown.invalid QUIT :"Leaving" < 1199495731 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1199498143 0 :SimonRC!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199498734 0 :tesseracter!unknown@unknown.invalid NICK :weilawei < 1199498912 0 :weilawei!unknown@unknown.invalid NICK :tesseracter < 1199499665 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Damn. The predecessor function won't pass through the ABSTRACTOR < 1199501326 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199505603 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199508573 0 :slereah_!n=Test4@ANantes-252-1-47-152.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1199509728 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199509745 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1199512105 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199519999 0 :clog!unknown@unknown.invalid QUIT :ended < 1199520000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199530373 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1199530740 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199533719 0 :sebbu!n=sebbu@ADijon-152-1-56-242.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199533847 0 :AnMaster_!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1199534510 0 :AnMaster!unknown@unknown.invalid QUIT :Connection timed out < 1199535562 0 :sebbu!unknown@unknown.invalid PRIVMSG #esoteric :[amsg] carte mère, cpu, ram, carte graphique, alim changés, windows marche encore < 1199535920 0 :faxathisia!n=more@amcant.demon.co.uk JOIN :#esoteric < 1199535924 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199535934 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassabi all :) < 1199535976 0 :AnMaster_!unknown@unknown.invalid NICK :AnMaster < 1199536492 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alright fine, Hi all < 1199536519 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Hello < 1199536571 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Anything new happening in the eso community? (Wasn't here since Wednesday...) < 1199536646 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hmm I'm not sure < 1199536659 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok cool < 1199536664 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to decide if this language is esoteric or not < 1199536676 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which? < 1199536686 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :It's called Janus < 1199536695 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Here is bubblesort http://rafb.net/p/woIN0k75.txt < 1199536711 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199536719 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :looks Lua-esque to me < 1199536723 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :it does look so odd (it's almost exactly like the While language), but you can any valid program in it forwards and backwards < 1199536731 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :which is certainly not usual :) < 1199536739 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woow < 1199536743 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's cool < 1199536744 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so I'm not sure how to classif y it < 1199536753 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :did you make it? < 1199536767 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :well I read a paper on it, then I emailed the authors asking for their interpreter.. < 1199536775 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199536776 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :they didn't reply though.. so I have written one < 1199536782 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, awesome < 1199536806 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199536807 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199536808 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION (is doing a compiler now so I can hopefully run the self interpreter) < 1199536818 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be wicked < 1199536830 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I must say, that it is not what I would expect from an eso lang < 1199536844 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it might not count < 1199536849 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION isn't sure < 1199536852 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I generally expcet either obfuscation or minimisation < 1199536867 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :seems to be a very structured language to < 1199536871 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :very keywordy < 1199536873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199536938 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :the only things are += -= ^=, if_then_else_fi_, from_do_loop_until, call_, uncall_ and skip, and the only data is numbers < 1199536954 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh... hrmm... < 1199536961 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(32 bit integers) < 1199536964 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199536967 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :^=? < 1199536970 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :XOR < 1199536974 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199536985 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :+= -= are inverse, ^= is it's own inverse < 1199536993 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199536996 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and procedure < 1199537000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is that also a keyword? < 1199537003 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1199537013 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199537016 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :maybe it's eso < 1199537020 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so hard to tell < 1199537022 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199537025 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :It's kind of on-the-edge :D < 1199537029 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199537037 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should try to come up with an esolang... < 1199537047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that's a nice idea < 1199537056 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to see what your mind can create :P < 1199537090 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1199537124 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION would really like to see more interesting sub-turing languages though < 1199537141 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, Im working on one as we speak < 1199537151 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :oo < 1199537157 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually though < 1199537163 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it might be Turing complte < 1199537167 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but who knows :) < 1199537183 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :someone will soon have proof by implementing brainfuck in it < 1199537184 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199537191 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, yip < 1199537196 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :What is it? < 1199537203 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll link now < 1199537206 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :one sec < 1199537333 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/TFMAVK60.txt < 1199537348 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if stuff is mis-aligned, it's cause it cam out of word < 1199537351 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199537362 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry about the quantity < 1199537595 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :It's got loops and conditional branching.. probably universal < 1199537604 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199537605 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :mad though :p < 1199537609 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks :) < 1199537752 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199537758 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199538098 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :be back soon(ish) < 1199538638 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :esolang propsal 1: Nothing -- Only valid program is the empty program, this language can compute everything in the NONE complexity class < 1199538860 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :back < 1199538862 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199538866 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxasthisia < 1199538874 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm not so keen on that one < 1199538882 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for some odd reason ;) < 1199538894 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be leaning towards joke language < 1199538935 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :even though scientifically accurate, it can compute anything of zero complexity < 1199538948 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :http://qwiki.stanford.edu/wiki/Complexity_Zoo#none < 1199538989 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199538991 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199538996 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, you have a point < 1199539013 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but then the interpreter would be int main() {return0}; < 1199539015 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION provides an implementation, in Nothing: < 1199539016 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fascinating < 1199539019 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199539021 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199539046 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, I wrote up the hello world prog : "" < 1199539051 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and fib < 1199539053 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :That's impossible < 1199539055 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199539057 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199539064 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what about a self interpreter < 1199539067 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"""" < 1199539085 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I already pasted a self interpreter :P < 1199539094 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199539103 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ok ok *tries harder* < 1199539109 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199539116 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is reading the complexity zoo for inspiration < 1199539134 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :preferably come up with something with >=1 dimension of complexity < 1199539136 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199539139 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :enjoy ;) < 1199539141 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199539924 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, going somewhere, be back later < 1199539928 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199546931 0 :jix!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1199546958 0 :jix!n=jix@dyndsl-091-096-057-222.ewe-ip-backbone.de JOIN :#esoteric < 1199548625 0 :sebbu2!n=sebbu@ADijon-152-1-58-59.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199548870 0 :iEhird!n=ehird@193.113.235.182 JOIN :#esoteric < 1199548886 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :esilang idea. < 1199548914 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :haskellesque type definitions only < 1199548928 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :they are much more powerful though < 1199548960 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :function bodies ate inaccessivle and determined by something like lambdabots djinn < 1199549004 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :Turing complete. hopefully. < 1199549036 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :thr ultimate dwcparative Lang < 1199549139 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :iEhird I love it!! < 1199549167 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :this is what I want to code in < 1199549174 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :though it is not very eso.. < 1199549199 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Do you know this sort of exists already? < 1199549221 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(just that the djinn bit is mostly done by the programmer) < 1199549298 0 :iEhird!unknown@unknown.invalid QUIT :Remote closed the connection < 1199549301 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199549679 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199549699 0 :iEhird!n=ehird@193.113.235.182 JOIN :#esoteric < 1199549931 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: i say there are at least two kinds of esolangs, those that are syntactically esoteric and those that are semantically esoteric. Janus should not be disqualified just for not being in the first group. < 1199549988 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :especially since a bit of the second makes a language much more interesting... < 1199550037 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's just that making a weird syntax is so much easier that those tend to be a huge majority < 1199550129 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :in that case, Do you think it is one or not? < 1199550193 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I mean I know of only.. 5 I think reversible languages < 1199550200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think reversible languages are pretty esoteric :) < 1199550210 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :cool :D < 1199550228 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there's a category on the wiki for them < 1199550260 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however, we have a tradition that the intention of the language author counts too < 1199550277 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :oh right.. < 1199550296 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I really have no idea what the authors intended < 1199550306 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :might be research < 1199550379 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1199550386 0 :faxathisia!unknown@unknown.invalid PART #esoteric :? < 1199550389 0 :faxathisia!n=more@amcant.demon.co.uk JOIN :#esoteric < 1199550458 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :type Integer = a -> Integer -> Integer < 1199550462 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1199550479 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :huh ? < 1199550505 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :zero :: a -> b -> b < 1199550506 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Error: Recursive type < 1199550521 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :oerjsn this ain't Gaskell < 1199550543 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :It's twelf! < 1199550543 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Error: Lousy typing < 1199550544 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :thisbis Tc type system and nothing elsev-skell < 1199550558 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Nat : Type, Z : Nat, S : Nat -> Nat < 1199550559 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :error iPhone youvhedreej tuppbg < 1199550565 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :touchscree < 1199550584 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :fax not enough without bodies < 1199550586 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I don't think turing complete type system is good idea < 1199550588 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1199550589 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but almost turing < 1199550605 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :if everything terminates you can encode proofs < 1199550627 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you can prove false and proofs don't mean anything anoymore < 1199550646 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Qi has TC type system apparently though < 1199550684 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hmm anyone know a func rep of into that isn't church numerals < 1199550692 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :afair the point is if your type system is not terminating then you have to actually _run_ the types in your program < 1199550710 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :to check that they do terminate < 1199550723 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you cannot just do them statically < 1199550724 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :oerjsn the types terminate the functions autogrnned by them may not < 1199550744 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :if you can encode a fixpoint in the type system then you basically got X : (a -> a) -> a, which lets you prove any 'a'? < 1199550760 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :e.g. everything is provable < 1199550777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep - except the proof will not terminate < 1199550799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so if you actually run the proof you are still safe from reaching an erroneous conclusion, i think < 1199550806 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hmmmmm < 1199550815 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :type Recur = Recur -> a < 1199550832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now this as usual my vague understanding from reading discussions... < 1199550837 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*is as < 1199550862 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :Y :: Recur a -> ... < 1199550873 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :CBS to type the rest Oman iPhone < 1199550884 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :someone else fi I'd :P < 1199550889 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199550929 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION half thinks iEhird must be wearing boxing gloves as well :D < 1199550950 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :no just typing really fast and ompeefixely < 1199550954 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :imprecicelt < 1199550982 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :doesn't it have spelling correction or something? < 1199550988 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199550999 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :that's the main problem < 1199551037 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION agrees about it being the ultimate declarative language < 1199551065 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :The kind of theorm proving required would be ... a lot of work to code in the first place though < 1199551119 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I guess < 1199551126 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I would just do < 1199551162 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :djinn(defs) < 1199551177 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :and die if we run into problems < 1199551189 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :actually they should add #djinn to haskell < 1199551200 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :#djinn curry :: ((a, b) -> c) -> a -> b -> c < 1199551220 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :IMO the best strategy would be compiling to c using some vm like stuff for dtnamicism < 1199551236 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :compiler written I'm hadell for pat matching < 1199551282 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I think I lost xobbecton??? < 1199551290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm a language based on spelling errors... < 1199551299 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iEhird: still hearing you < 1199551329 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :lol xobbecton < 1199551350 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :oerjsn Yes < 1199551354 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199551414 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I want iEmacs for iphone < 1199551431 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :write my compiler right here < 1199551433 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199551629 0 :iEhird!unknown@unknown.invalid QUIT :Remote closed the connection < 1199551988 0 :iEhird!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199552204 0 :iEhird!unknown@unknown.invalid QUIT :Remote closed the connection < 1199555910 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :*yawn* Hello people. < 1199556138 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is of the opinion that an iPhone has a horrible keyboard, as do most portable devices. < 1199556264 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :hm, I wasn't a great fan of it when I played with one < 1199556350 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Here, have some propaganda : http://www.thebestpageintheuniverse.net/c.cgi?u=iphone < 1199556382 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :no thanks, I don't feel like having propaganda < 1199556400 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I do, but not right now < 1199556437 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The iPhone actually has a decent interface, aside from that damnable keyboard. < 1199556448 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The big thing that I hate is that it's all locked up. < 1199556457 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I enjoy things like Rockbox and OpenMoko. < 1199556472 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There's just something wonderful about sticking Doom on your MP3 player. < 1199556531 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I have a mp3 of some vaguely Doom inspired song on mine. < 1199556535 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Blood on the wall" < 1199556546 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mine also runs the Game of Life. < 1199556602 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :my phone runs the game of life. useful when bored < 1199556657 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mine would if a) I had money b) the damned Neo 1973 would ship already. < 1199556686 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://rome.ro/sounds/Blood_On_The_Walls.mp3 < 1199556695 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh, still online. < 1199557182 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199557193 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :there's a pretty nifty little java implementation out there < 1199557274 0 :iEhird!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199557284 0 :iEhird!unknown@unknown.invalid QUIT :Client Quit < 1199557295 0 :iEhird!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199557314 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :now THAT'S clever < 1199557356 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :a scheme interp that has really efficient continuations: it actually portable c < 1199557365 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :plies the c stack < 1199557431 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :now if you did that in a compiler scheme-c interaction would be trivial < 1199557457 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :scm proc = c proc < 1199557519 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :tail calls could be done using setjmp < 1199557534 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gah! Long jumps! < 1199557534 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1199557543 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :like a macro TAIL(func,arg...) < 1199557579 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :setjmp(buf); func(buf,arg...); < 1199557597 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1199557642 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :basically: every function that tailcalls has a trampoline embedded < 1199557716 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You want fun? int foo __attribute__((cleanup (foo_deconstructor))) = 0;. < 1199557724 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmm. Attributes. :p < 1199557779 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199557797 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :no gcc specifics! < 1199557866 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But GCC runs everywhere!... < 1199557940 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :SCMVAL scm_fact(SCMENV env, struct jmp_buf tail, SCMVAL n) { < 1199557963 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hmm make that jmo buf * < 1199557994 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199558000 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :not sure... < 1199558122 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :pikhq < 1199558136 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I guess if you are stack smashing already < 1199558179 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :then you could mangle sp-1 then jump < 1199559093 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION observes that stack smashing might *not* work on this system. . . < 1199559125 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My system, being AMD64, enforces the NX bit. < 1199559134 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION imagines the incredible Hulk, smashing stacks < 1199559184 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :there's probably a way pikhq < 1199559201 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :stack smashing is quite a common trick < 1199559279 0 :iEhird_!n=ehird@193.113.235.182 JOIN :#esoteric < 1199559300 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Um. . . Surely stack smashing is something that shouldn't be used? < 1199559319 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(no more than actually *using* a buffer overflow?) < 1199559400 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :controlled stack smashing is useful in cases like this :-) < 1199559439 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :most/all common arch/os's support it somehow < 1199559453 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's also non-portable as fuck, *and* liable to break on systems like OpenBSD, NX-bit supporting systems, etc. < 1199559471 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :you can do it on openbsd < 1199559479 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(granted, you can disable the stack-smashing protection on those systems. . . Doesn't make that a good idea.) < 1199559493 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :writing a libcstack would be good < 1199559496 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah; you have to compile with -fno-stack-protector < 1199559527 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq several common prigs do it < 1199559529 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :progs < 1199559531 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199559550 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't make it a good idea. < 1199559590 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's almost *exactly* like relying on buffer overflows in your code. < 1199559597 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :void *dest; cstack_copy(dest); < 1199559625 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :cstack_unwind(); cstack_pushall(dest); < 1199559658 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1199559892 0 :iEhird_!unknown@unknown.invalid QUIT : < 1199559914 0 :iEhird_!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199559954 0 :iEhird!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1199560439 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq ping < 1199560482 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pnog. < 1199560557 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Gnap < 1199560700 0 :iEhird_!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how this will interact with gnu c < 1199560746 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That depends. < 1199560768 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it depends upon undefined behavior, GCC will shoot you, then hand you a few errors and warnings. < 1199560770 0 :iEhird!n=ehird@mobileweb05.london.02.net JOIN :#esoteric < 1199560785 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :actually I wonder the most portable way to find the srams < 1199560787 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :stack < 1199560866 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199560889 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Alright, back :) < 1199560892 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassup all < 1199560923 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Faxasthisia, how's the inspiration going? < 1199560928 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :another fun trick: call out native compiler then cast object code to func < 1199560945 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric := traditional interactive scheme system < 1199560972 0 :_KS!n=_KS@122.164.50.168 JOIN :#esoteric < 1199561507 0 :oerjan!unknown@unknown.invalid QUIT :"Sup" < 1199561737 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :ping < 1199561766 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199562179 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199562352 0 :iEhird_!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1199563040 0 :iEhird!unknown@unknown.invalid QUIT : < 1199563081 0 :iEhird!n=ehird@mobileweb05.london.02.net JOIN :#esoteric < 1199563568 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :There is one way to make tail recursion really easy to do: < 1199563576 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :seperate the data and return stacks < 1199563587 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It is trivial for forth-like languages < 1199563630 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how does that make it easy? < 1199563734 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :all calls have either a look-ahead or the compiler modifies the call into a jump < 1199563809 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and every defined word ends in a call to another word, so there are lots of oportunities for tail-recusion < 1199563813 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :optimisation < 1199563815 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :("hello".^#)^# < 1199563818 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :iEhird: ? < 1199563843 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :stack based esolang requiring quoting and unwrapping to loop! < 1199563865 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :(...) is a list < 1199563881 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :with elements "hello", ., etc < 1199563889 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :^ is dup < 1199563899 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :. is output and pop < 1199563934 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :# is append the list on the top of the stack to the program and pop < 1199563945 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :so (x)# == x < 1199563995 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199564144 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :iEhird: cool < 1199564152 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :seems familiar though < 1199564181 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :oh damn underload foes it < 1199564198 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :ok how about this < 1199564218 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :# wraps the rest I'd the prog < 1199564233 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :#abc -> (abc) < 1199564246 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :wait, no < 1199564264 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199564307 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :what about a Lang involving rewriting its own code by virtue of it being concatenrive and lists cab store code < 1199564404 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :("hello".$0@$+$0!)$0@$+ < 1199564411 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :I think that's right < 1199564427 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woow < 1199564445 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :where $ the program as a list < 1199564454 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :@ nth element < 1199564460 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :+ append < 1199564465 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :! delete < 1199564529 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nasty < 1199564539 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :just put the whole program down, and have the output be the code after an illegal operation is executed. The only things you can modify are progra msource < 1199564545 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :simonrc but fun < 1199564631 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :("hello"0\$@)0\$@ < 1199564655 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :@ get element call func with it < 1199564671 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :\ quote func < 1199564673 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hmmm < 1199564677 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes. < 1199564731 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :("hello"!+@0)+@0 < 1199564763 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199564782 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199564818 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I think that a language where the only thing you can do is modify the program itself would be interesting. Then the prog itself is simply read left to right, and each symbol has it's effect < 1199564820 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :+(!"hello"+@0) < 1199564831 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :no more stack < 1199564834 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :as soon as something illegal happens, the whole program exits, printing the current source < 1199564845 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :next remove @ < 1199565034 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :if you have a :xyz < 1199565041 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :x index < 1199565043 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :y list < 1199565049 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :z thing < 1199565061 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :append to y at x z < 1199565070 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :then that's possible < 1199565070 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199565400 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199565460 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Is daar iemand hier wat verstaan my as ek Afrikaans praat? < 1199565529 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1199565540 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ek het so gedink. < 1199565554 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :Come again, preferably in English < 1199565563 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I said, "Is there anyone who will understand me if I speak Afrikaans?" < 1199565571 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then I said "I though so" :P < 1199565605 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199565619 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I got Afrikaans, but that was about it < 1199565624 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199565627 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I suspected as much < 1199565630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what about < 1199565647 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Mih mevin oti ca-usher uni ma-duber Ivrit? < 1199565649 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, the verstaan is close enough to other germanic languages to understand too < 1199565655 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199565663 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, Afrikaans is nearly Dutch < 1199565665 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :For the rest, it will be hard! < 1199565669 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199565675 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and the Hebrew? < 1199565679 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no-one? ;) < 1199565687 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I once spoke hebrew. < 1199565692 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199565694 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I was six years old. < 1199565700 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Now, I've forgotten most of it. < 1199565705 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Aha, well, I see < 1199565713 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :where are you from, Slereah? < 1199565716 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :France. < 1199565719 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Cool < 1199565724 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But my dad taught me. < 1199565724 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so let me try: < 1199565735 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ja na par pa Franscois... < 1199565738 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1199565740 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199565741 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :puhutteko suomea < 1199565741 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lulz < 1199565749 0 :tejeez!unknown@unknown.invalid PRIVMSG #esoteric :(= do you speak finnish) < 1199565756 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Perkele! < 1199565756 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nien < 1199565773 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ngia Kwazi Ogokoolooma Isizulu? < 1199565780 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(I can't spell) < 1199565791 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(=do you speak zulu?) < 1199565813 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I got the zulu part! < 1199565816 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199565819 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hooray :) < 1199565836 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there should be lots of "h" s though < 1199565870 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Slereah, if you don't mind my asking, where was your dad from? < 1199565881 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :France as well! < 1199565886 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199565899 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :So where did the Hebrew pop out from ;) ? < 1199565899 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But my great-grand-father was from Turkey. < 1199565904 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Aahh < 1199565905 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199565909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :mystery solved < 1199565910 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And his ancestors from Spain. < 1199565915 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199565918 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And their ancestors from Judea. < 1199565922 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Woow < 1199565923 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So that's that. < 1199565928 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ok, I see < 1199565937 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice to know your family history :) < 1199565948 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't really know mine... < 1199565956 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I have three relatives interested in genealogy, so it's not hard < 1199565965 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, classic :D < 1199565996 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hrmm.. what is Haskel for? < 1199566003 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Programming? < 1199566003 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can it actually be used as a language? < 1199566007 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, yeah < 1199566010 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I mean < 1199566013 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :being laughed at because you don't use scheme, of course < 1199566013 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :ofc < 1199566025 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :should I bother writing anything in it < 1199566029 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199566029 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh timotiis, you minx. < 1199566031 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199566031 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :its one of the best production lands < 1199566041 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :along with scheme < 1199566043 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hiato : Well, if you bother writing in Brainfuck, does it matter at all? < 1199566052 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: I've been called a lot of things, but I think minx is a first < 1199566054 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, so very true Slereah < 1199566085 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but say, I distribute a prog (script?) in Haskell, is everyone gonna laugh and say :"Go learn a real language"? < 1199566109 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :compaered to FPC, Ruby etc < 1199566114 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :nah, it's a good language < 1199566117 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I won't, but that's because I'm not in the programming communauty. < 1199566137 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I also have a Haskell interpreter, to run the classic Unlambda. < 1199566155 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I need to grab the scheme unlambda interpreter one of these days < 1199566160 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Roger that timotiis, thanks. Slereah, that's a shame :( < 1199566167 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :no hiato < 1199566177 0 :iEhird!unknown@unknown.invalid QUIT : < 1199566179 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, wow, plenty of confidence there < 1199566182 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1199566197 0 :iEhird!n=ehird@mobileweb05.london.02.net JOIN :#esoteric < 1199566199 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :guess you can't give him a comeback, because he's not here < 1199566201 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199566209 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :yes I am < 1199566209 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind < 1199566215 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Me, when I program, it has to be really easy or really hard. < 1199566221 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Either Python or esolands. < 1199566225 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :g* < 1199566232 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199566264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Python + me = :( < 1199566264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ruby + me = :\ < 1199566264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Delphi + me = :) < 1199566264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Eso + me = :D < 1199566276 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But, python is awesome! :o < 1199566284 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I can't use it though < 1199566291 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I keep getting indentation blah blah < 1199566306 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I like scheme, never really got into anything with too much syntax to learn < 1199566306 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199566335 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :scheme+haskell+c for objcode < 1199566338 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :yum < 1199566347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199566351 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199566364 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I should go back to haskell someday < 1199566392 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is that the Mecca of programmers? < 1199566393 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, does anyone know if TeX is turing complete? < 1199566396 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1199566403 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1199566406 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I liked the XKCD on lisp, as far as they go < 1199566409 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, other than Haskell, is there any *interesting* _easy_ (ish) and pleasant language that yanyone can recommend < 1199566416 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*anyone < 1199566419 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :Scheme! < 1199566419 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :scheme. < 1199566425 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199566428 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :will check it out < 1199566432 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't use many languages. < 1199566440 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :it's a dialect of lisp, so you'll have to get the hang of the parens < 1199566448 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :but it's really quite fun to use < 1199566454 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :O, I'll dig arounf < 1199566455 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199566457 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*around < 1199566467 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I've been wanting to move from delphi for a long time.. < 1199566474 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but the C group brings me to tears < 1199566475 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :use my risk scheme compiler! oh wait its not written yet :P < 1199566481 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and ruby has no real purpose < 1199566484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199566488 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199566494 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :use chicken. for now. < 1199566499 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, I'd like to iEhird < 1199566503 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :ruby could be worse. I've just never liked anything with more than two types of brackets < 1199566507 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but PETA has something to say < 1199566520 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Timotiis < 1199566522 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1199566525 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is eating chicken right now. < 1199566529 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :heh. < 1199566531 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Come and get me, PETA! < 1199566532 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :Therefore you are? < 1199566540 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that how much you like a language, is directly related to the tutiorials you use < 1199566544 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. I are eating chicken. < 1199566546 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199566546 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :chicken = scheme compiler < 1199566547 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199566552 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :Maybe. I got into scheme with SICP < 1199566552 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199566571 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, Ruby for me was hilarious because of Why's poignant guide < 1199566609 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :dangit, keep forgetting I have screen running. It's C-a a C-k to kill the line < 1199566658 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199566773 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woow < 1199566779 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Scheme looks daunting < 1199566800 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1199566811 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I could give you a basic primer in about 10 mins < 1199566819 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes please < 1199566821 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199566826 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I get the reverse polish notation < 1199566828 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but the rest.... < 1199566832 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :no, that's just polish notation < 1199566841 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, shows how much I know < 1199566854 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :rpn is 3 2 +, pn is + 2 3 < 1199566861 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199566864 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :right o < 1199566869 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :rpn? < 1199566874 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :about that primer... < 1199566877 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :reverse polish notation < 1199566883 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199566920 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hiato < 1199566922 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :okay... < 1199566925 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :let me see < 1199566934 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :what part is hard < 1199566938 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes iEhird < 1199566951 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, the whole thing in the wikipedia entry < 1199566958 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :syntax of define: (define (name arg1 arg2 ... argn) ) < 1199566958 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric : (define a 10) (define eval-aplus2 (delay (+ a 2))) (define a 20) (force eval-aplus2) => 22 < 1199566969 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199566971 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1199566999 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hiato < 1199567006 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes iEhird < 1199567008 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :(define (square x) (* x x)) < 1199567012 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :that should make sense, yes? < 1199567014 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :(lambda (args) code ) < 1199567014 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199567018 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :crystal clear < 1199567030 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :that square syntax < 1199567031 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh, ok < 1199567034 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199567035 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :us short for < 1199567052 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :(define square (lambda (x) ... < 1199567060 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199567061 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199567063 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :what's wrong with this one?, (define (fib n) (+ (fib (- n 1) (- n 2)))) < 1199567076 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in synatx < 1199567078 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or logic? < 1199567080 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :logic < 1199567085 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :timoriis < 1199567086 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well thta's obious < 1199567091 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :silly < 1199567094 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199567100 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :intentional, I promise < 1199567115 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :1 argument is taken for fib for starters, yet 2 are provided < 1199567116 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then < 1199567121 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its gonna go negative < 1199567126 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :very quickly < 1199567128 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :needs to be < 1199567135 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :no, the arguments aren't a problem. the lack of a test is a problem < 1199567148 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :timoriis wrong < 1199567153 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :(fib a b) < 1199567172 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :lawl yuu dum < 1199567173 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :generates the nth fib. what's wrong with that, apart from the fact it never stops computing? < 1199567192 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199567195 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :well, and it's tree recursive, so it's hopelessly ineffiecient < 1199567198 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199567204 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :dude < 1199567210 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :read your code < 1199567212 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't see it < 1199567215 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I have, I wrote it < 1199567225 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: doesn't test for 0 or the like < 1199567229 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :you give fib two args < 1199567239 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oh, ok I see < 1199567241 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :ah, shoot. typo < 1199567244 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well I said it would go negative < 1199567247 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :lawl < 1199567254 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :(define (fib n) (+ (fib (- n 1)) (fib (- n 2)))) < 1199567255 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(11:05:36 PM) Hiato: 1 argument is taken for fib for starters, yet 2 are provided < 1199567263 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :that's now correctly wrong < 1199567263 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199567279 0 :iEhird!unknown@unknown.invalid QUIT : < 1199567292 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so if you feed in 0 < 1199567298 0 :iEhird!n=ehird@mobileweb05.london.02.net JOIN :#esoteric < 1199567300 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its gonna give the fib's in negative < 1199567306 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199567340 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199567345 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199567352 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :it never tests for reaching the bottom of the recursion < 1199567353 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I grasp it :) < 1199567360 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199567367 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(11:05:42 PM) Hiato: its gonna go negative < 1199567373 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hiato < 1199567373 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hooray ;) < 1199567376 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :suggestion < 1199567378 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes iEhird < 1199567391 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :read the little sxhener < 1199567395 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :sxhener < 1199567399 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :yes, read that < 1199567404 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :schemer < 1199567405 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :(define (fib n) < 1199567405 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (if (zero? n) 0 < 1199567405 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (if (= n 1) 1 < 1199567406 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (+ (fib (- n 1)) (fib (- n 2)))))) < 1199567409 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :that's better < 1199567432 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :timoriis! remember tls? use cond < 1199567433 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :although it would break on a negative input < 1199567446 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I much prefer if when it's a small statement like that < 1199567454 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, I see now the structure of scheme < 1199567462 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :nested ifs are bad < 1199567463 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but, where does a prgramme enter etc < 1199567473 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :hiato anywhere < 1199567475 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :(define (fib n) < 1199567476 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (cond < 1199567476 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : ((zero? n) 0) < 1199567476 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : ((= n 1) 1) < 1199567476 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (else (+ (fib (- n 1)) (fib (- n 2)))))) < 1199567482 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and does (if (zero? n) 0 return zero? < 1199567490 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :you just put your code there < 1199567492 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :if n was 0, it does < 1199567499 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199567503 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :mostly < 1199567514 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :you interact with scheme via a < 1199567515 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :mostly? < 1199567518 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :repl. < 1199567522 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :zero? n returns #t if n was 0, so the if takes the first option, which was 0 < 1199567534 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :you enter an expression it shows the results < 1199567546 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199567554 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :iEhird, so like a shell < 1199567558 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :you do (load "file") to load some code you wrote < 1199567568 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :or just paste it in < 1199567568 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool, I get it < 1199567571 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199567574 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :when you're done developing that iteration < 1199567583 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, now I see the light ;] < 1199567583 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :then you use a batch compiler < 1199567592 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :and produce an executable < 1199567597 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :w00t < 1199567600 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199567606 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like Scheme already < 1199567608 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :iEhird: happier with this then? < 1199567609 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :(define (fib n) < 1199567609 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (if (or (zero? n) (= n 1)) < 1199567609 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : n < 1199567610 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric : (+ (fib (- n 1)) (fib (- n 2))))) < 1199567619 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :there you go, properly written with a single if < 1199567622 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and is functional stuff actually built with it? < 1199567627 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :it is functional < 1199567633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199567635 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I meant < 1199567635 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :although taht wasn't quite your question < 1199567644 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :it is imperative with a functional core < 1199567645 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fully functional programmes < 1199567646 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is writing the help file for his pseudo-unlambda. < 1199567651 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's full of bird names. < 1199567654 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(cool) < 1199567658 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :there is a set! func < 1199567663 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :( :) ) < 1199567665 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :da, so it's not quite pure < 1199567665 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199567670 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no no < 1199567673 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1199567674 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :but it's pretty good, and still generally usable for things < 1199567683 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :oh, what is it used for? < 1199567688 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :has Bob written stuff in Scheme < 1199567694 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that you and I use < 1199567695 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :etc etc < 1199567703 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, essentially timotiis < 1199567741 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :it's occasionally an extension language. I think the gimp is scripted in scheme. guile is a scheme dialect. you can do some pretty neat web stuff with it as well iirc, and there's an implementation for shell scripting < 1199567742 0 :iEhird!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1199567747 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :k < 1199567760 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1199567760 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :but you probably don't use something written in it daily < 1199567766 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :understood < 1199567827 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :shceme vs haskell (because I like languages that can do [99,98..0] ) < 1199567830 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which one? < 1199567866 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://99-bottles-of-beer.net/language-scheme-582.html < 1199567870 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://99-bottles-of-beer.net/language-haskell-1070.html < 1199568009 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :your call, really. I'd tend to rate scheme as easier to learn, but that's my opinion < 1199568031 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, thanks < 1199568039 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm just interested < 1199568044 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because they both look the part < 1199568049 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and both are unique < 1199568061 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Does this work as an SKI-unlambda translator? http://membres.lycos.fr/bewulf/Russell/ski-unlambda.py < 1199568151 0 :Jontte!unknown@unknown.invalid QUIT :Remote closed the connection < 1199568155 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I'm actually half-working on writing an infix notation system for scheme, including operator precedence :) < 1199568189 0 :Jontte!n=joonas@88.195.10.216 JOIN :#esoteric < 1199568195 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1199568200 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :for the hell of it < 1199568309 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :it's an interesting project to work on, really < 1199568322 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :and some of the functions I'm building as a part of it are quite useful < 1199568857 0 :RedDak!n=dak@host9-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1199569271 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The iszero function seems to go okay through the Abstractor. < 1199569333 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why won't pred or succ go through! < 1199569458 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: i got that. < 1199569458 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that afrikaans < 1199569469 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :really < 1199569471 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1199569495 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :As ek nou Afrikaans pratt, sal net ons dit verstaan! < 1199569513 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Praat jy Hollandse of Deutsch? < 1199569519 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: "because they both look the part" -- What part? < 1199569555 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :by "the part" I mean "interesting, new to my eyes and different from everything I have seen thus far" < 1199569558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"Mih mevin oti ca-usher uni ma-duber Ivrit?" <<< this one i have no idea about, though, perhaps "i opine"? < 1199569558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199569582 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, well oklopol < 1199569586 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ah right, I agree.. they are very unique < 1199569594 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hebrew is next to impossible to write out in enlgihs letters < 1199569596 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*English < 1199569614 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes faxathisia, even though I finally went with Haskell < 1199569624 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because of lazy evalutaion and less brackets < 1199569643 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :should learn both though < 1199569671 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I will eventually, but first I want to understand functional programming, and what better way to do it then Haskell < 1199569678 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :scheme, of course < 1199569679 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then I can move onto scheme < 1199569686 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I don't think there is a better place to find out what the hell call-with-current-continuation does than scheme < 1199569689 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, I see Haskell as being easier < 1199569698 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199569706 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though haskell is just, well I don't know really < 1199569715 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I just think it looks easier to learn < 1199569770 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: I use scheme, and I still haven't figured out what it does < 1199569794 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :not properly, anyway < 1199569796 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :I have a few ideas < 1199569831 0 :ehird`!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199569854 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1199569869 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyhow. < 1199569881 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :ah, on a better machine at last? < 1199569917 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Faxathisia: Did you ever come up with an Esolang in the end, or did the zoo prove useless? < 1199569937 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :well I kind of just watched Dune < 1199569940 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1199569948 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is going to try agian < 1199569950 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199569955 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I like that idea < 1199569967 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Dune < 1199570610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :int Check_Stack_Grows_Down () { < 1199570610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : char foo; < 1199570610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : return &foo < stkbase; < 1199570610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :} < 1199570610 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yes, though what would that mean Slereag < 1199570612 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :clever, clever < 1199570615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*h < 1199570620 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199570629 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol ^ < 1199570630 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What would what mean? < 1199570638 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric : damage of the spell in the function. < 1199570646 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, for instance. < 1199570651 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You have this monster. < 1199570655 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :He has 99 HP! < 1199570660 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :gasp < 1199570662 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Then, you hit it with magic missile < 1199570670 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With 1 damage point. < 1199570675 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Until he's dead. < 1199570677 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(cough someones been playing NWN ;) ) < 1199570684 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see, but why < 1199570685 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Actually, no. < 1199570691 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there needs to be incentive < 1199570695 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we need to say that < 1199570696 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :XP < 1199570697 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That way, the function is used 99 times! < 1199570703 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ahahaha < 1199570708 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's brilliant < 1199570710 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199570714 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :recursion < 1199570719 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so you can play as the DM < 1199570722 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and summon a monster < 1199570722 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe the conclusion of the program would be "YOU WIN A MILLION XP" < 1199570726 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then switch to hero < 1199570731 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199570731 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, the user is the DM. < 1199570734 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then when hero < 1199570741 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you cast spell x for n times < 1199570743 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wicked < 1199570755 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199570756 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :He summons input monsters, and random number monster encounter! < 1199570763 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah! < 1199570769 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And output would be talk to DM < 1199570772 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :xp = buy new functions premade < 1199570776 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199570784 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so 10 xp = fibonacci etc < 1199570795 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or not actually.... < 1199570800 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. Maybe not. < 1199570809 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The idea would be to have it usable. < 1199570816 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199570819 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Risk will be suuch a fast compiler :P < 1199570827 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so where do NPC's fit in < 1199570830 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199570840 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :why bother talking < 1199570842 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to them < 1199570845 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure so far. < 1199570848 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199570851 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :conditional < 1199570855 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1199570858 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :say you have stas < 1199570873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and you can only talk to an NPC if impress>10 and muscle>15 etc < 1199570880 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so you can do if's like that :D < 1199570883 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*stats < 1199570898 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, if variables are objects, I guess conditional would be if you possess the object. < 1199570903 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199570907 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like the stats idea < 1199570908 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :For instance, a boolean could be a key to some dungeon door. < 1199570925 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but okay < 1199570927 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199570931 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's you lang ;) < 1199570939 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's just an idea thrown around. < 1199570947 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Not sure I will actually do something with it. < 1199570967 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :wait so programming is like you use a level editor < 1199570969 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But it's true that it would be better to include NPC's, instead of just monster grinding. < 1199570971 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :then some AI plays your game? < 1199570983 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, kinda < 1199570991 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking that you can be both DM < 1199570993 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and Hero < 1199570997 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to make it easier < 1199571001 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I suppose < 1199571008 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that if we make it imperitive < 1199571012 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then the hero < 1199571018 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would just follow instructions < 1199571022 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Maybe the input could be of two kinds. < 1199571024 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and react acrdingly < 1199571033 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*accordingly < 1199571044 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Monster and object variables from the DM, and actions from the hero < 1199571050 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199571052 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there we go < 1199571053 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199571074 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it needs flashy 2D ascii graphics :P < 1199571077 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like @ and # < 1199571079 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199571089 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The general words "monster" and "object" would be a cue for input < 1199571098 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"A monster appear!" < 1199571113 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199571119 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sounds like a script to me < 1199571122 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :While specific monsters would be values without requiring input < 1199571125 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I imagined it differently < 1199571138 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, that would be cool < 1199571146 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :each monster is the value of it's XP < 1199571150 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and thus < 1199571154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :killing it < 1199571168 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :adds it to the currently equipped item/variable < 1199571179 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and casting on it casuses a loop < 1199571185 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for it's Hp number of times < 1199571194 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like where this is going :) < 1199571194 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Something like that. < 1199571213 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But what would be strings? < 1199571225 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Magic books or something? < 1199571236 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I always carry a bunch of these in Oblivion. < 1199571237 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah tomes of knowledge < 1199571240 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Could you actually cannibalize an existing rouge-like? and use that for computing < 1199571241 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199571253 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, I like < 1199571270 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps, lists would be quests < 1199571275 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199571276 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and Strings would be boks/tomes < 1199571288 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and spell books would list the functions avaliable < 1199571289 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199571298 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*books < 1199571305 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"You find item n on your quest list" < 1199571309 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And bam, you can use it < 1199571317 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like < 1199571333 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or perhaps, quest lists could also be arrays < 1199571338 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but yeah, it works anywho < 1199571342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :a premature exit function would be when you die! :O < 1199571348 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"You are eaten by a grue" < 1199571353 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, sucks < 1199571355 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199571359 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, though < 1199571362 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be nice < 1199571371 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and portals would return from a function < 1199571377 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or quest < 1199571393 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199571396 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :call-with-current-continuation is when you go to a save point? < 1199571409 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what that is, but sure, why not. < 1199571410 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D, but I like < 1199571433 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is not sure if hat is close enough semantically < 1199571438 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :static main void would be the world (naah, just kidding) < 1199571480 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you can include sentences without any program-specific meaning, to avoid doing a linear adventure. < 1199571491 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Bandits would be the "garbage collectors" or variable destroyers as they raid unused variables < 1199571497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: i'll explain call with current continuation < 1199571501 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199571501 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, that would be nice < 1199571522 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Say, you can only have x variables on you < 1199571528 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so you go back through a portal < 1199571533 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to you private stash < 1199571538 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and exchange variables < 1199571546 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199571553 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(call/cc f) copies the call stack, and constructs a function k. It then does (f k). When k is called with the argument x, the saved call stack is reinstated and the top call - that is, call/cc - returns x < 1199571557 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe your stash could be the other players. < 1199571573 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and we could have the "Gardens of Negativity" from within which, if you drink the water, it applies NOT to all you equipped variables < 1199571573 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Take this, my back is killing me!" < 1199571581 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :alternatively: in (+ 2 (* 3 4) 5), when you get to (* 3 4), your continuation is (+ 2 [_] 5) < 1199571586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the hole gets fileld in by the result < 1199571587 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"I am encumbered, and cannot move!" < 1199571598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(call/cc f) calls f with a function that takes an argument to fill the hole < 1199571601 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Backpack overflow!" < 1199571615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol :) < 1199571617 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1199571625 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I Like ver much < 1199571627 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199571633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*y < 1199571650 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, sorry to cut the "brainstorm" short < 1199571655 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's been fun < 1199571663 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but its late here in GMT+2 land < 1199571669 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Okay, bye. < 1199571674 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, I'll see you guys some other time < 1199571676 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199571685 0 :Hiato!unknown@unknown.invalid QUIT :"Leaving." < 1199572014 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should really try to solve my lazy unlambda's problem, but now, there's no way I can think about it until I have some ideas written down. < 1199572046 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Dungeons and Data" < 1199572062 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is reinventing Foobrain with multiple files because it was getting bloated < 1199572065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and using Parsec < 1199572077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :who wants to help make a brainfuck compiler that in the end will probably do the most optimizations evarr? :P < 1199572079 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Parsecs? That's going to be a large program! < 1199572088 0 :elsa22!n=elsa22@ANantes-257-1-118-27.w90-25.abo.wanadoo.fr JOIN :#esoteric < 1199572093 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I can't write machine code. < 1199572099 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I got a note from my doctor! < 1199572161 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: getting to a save point would be calling a continuation, call/cc would be saving < 1199572222 0 :elsa22!unknown@unknown.invalid QUIT :Client Quit < 1199572322 0 :Arrogant!i=Arrogatn@213.orlando-06-08rs.fl.dial-access.att.net JOIN :#esoteric < 1199572553 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no-one? :-) < 1199572570 0 :Arrogant!unknown@unknown.invalid PRIVMSG #esoteric :Nope < 1199572610 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199572624 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It is far more exciting to be involved in a glorious medieval fantastic adventure, I guess! < 1199572633 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't know what optimizations you can do < 1199572636 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(other than trivial stuff) < 1199572649 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :seems a very hard language to do optimizations with < 1199572674 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nahh < 1199572683 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's even a compiler that optimizes 'if' algorithms < 1199572688 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with haskells pattern matching! < 1199572692 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it'll be easy! < 1199572890 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199572900 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I was assuming Brainfuck -> Brainfuck < 1199572911 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but you actually meant something else didn' tyou? < 1199572925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199572925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Brainfuck -> C < 1199573106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird` and his crazy best-ever brainfuck compilers :-) < 1199573118 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :same one all the time < 1199573120 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199573122 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199573141 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have you read egobf? < 1199573142 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The important thing is that no one notice! < 1199573401 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :egobf is fun :P < 1199573443 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. What would be a good way to define a real variable in Dungeons and Datas? < 1199573460 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :drop some item in a specific place? < 1199573476 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but what kind of item! < 1199573505 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Integers are either n xp with some weapon including the name of the variable, or just some level n weapon. < 1199573553 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Booleans are keys. < 1199573565 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Strings are books. < 1199574870 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think I will have to make more than one process for loops. < 1199575222 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1199575666 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you there? < 1199575698 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, just posting an interpretation of the obfuscated Perl code on the wiki < 1199575715 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*ahem* < 1199575740 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :X_X < 1199575742 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ANYWAY. < 1199575753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Doest though know the `Parsec'? < 1199575763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Indeed I do. < 1199575813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how doth my parser `infini-loop'?! < 1199575824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exampl~e: < 1199575874 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/4818 < 1199575950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::S < 1199575962 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe i need a terminating case but i think it's more than that < 1199575971 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no that's it < 1199575983 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199575987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so what would that be? :) < 1199575989 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck = many oneIns "program" < 1199576038 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you should browse the combinators in the parsec manual < 1199576053 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :possibly! :-) < 1199576067 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my brain was thinking many (oneOf "abc") < 1199576070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of many PARSER < 1199576071 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199576082 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aha, oerjan < 1199576084 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you are wrong < 1199576088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oneIns returns [BF] < 1199576091 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199576093 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's unneeded < 1199576096 0 :Arrogant!unknown@unknown.invalid QUIT :"Leaving" < 1199576121 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1199576187 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the <|> oneIns is wrong < 1199576208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :kay < 1199576208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what should it be < 1199576223 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait < 1199576250 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the thing is, in Parsec you nearly always want to skip whiteSpace and comments before starting a real parser < 1199576265 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1199576269 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :elaborate < 1199576270 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199576303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because of the way Parsec works, you don't want to have to back up more than necessary < 1199576366 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :put another way, your parser as written has the same problem of ] or eof following comments as your hand-written one had at one point < 1199576395 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay. < 1199576405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so how do i do skipping? < 1199576409 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because you are entering oneIns before you know that there _is_ a non-comment operation available < 1199576411 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i assume there's a combinator for it < 1199576422 0 :sebbu!n=sebbu@ADijon-152-1-58-59.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199576429 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :skipMany (noneOf "[]<>+-.,") < 1199576469 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in oneIns? < 1199576492 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :why not do like: map (fromJust . lookup [('+',Add 1),...] $ filter (any "[]<>+-,.") $ text < 1199576501 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :or whatever the syntax is < 1199576508 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: plz give me the [ and ] entries. < 1199576510 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :at the beginning, and after every operator < 1199576513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :kthx < 1199576516 0 :iEhird_!n=ehird@mobileweb05.london.02.net JOIN :#esoteric < 1199576523 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :oh right I get you < 1199576525 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm, example? < 1199576534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: that will lose position information < 1199576569 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :like the lexeme parsers in Parsec < 1199576574 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: perl interpretation obfuscated posting? < 1199576587 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: my last wiki post < 1199576609 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :someone added Perl to the wiki < 1199576615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199576627 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :arguably justified < 1199576629 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and i was inspired < 1199576699 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that your interpretation? < 1199576714 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, i'm bad at using the fancy wiki features... < 1199576732 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: i use to define a function op c = char c >> skipSpace >> return c or equivalent < 1199576746 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199576748 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :probably, you did say something about interpretation... < 1199576755 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: where would that be used, though? < 1199576757 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oneIns? < 1199576758 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes i added that section < 1199576771 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: also loop < 1199576790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :everywhere you use char, since in brainfuck every character can be followed by comments < 1199576796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that's a pretty perfect description of what the code does < 1199576822 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyone happen to know what "continuation" is in finnish :-) < 1199576836 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm not even sure of norwegian... < 1199576837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i use char in loop < 1199576839 0 :iEhird_!unknown@unknown.invalid QUIT :Remote closed the connection < 1199576841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but oneOf in bfIns < 1199576843 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1199576860 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh right oneOf < 1199576871 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then you want the skip function right after oneOf < 1199576877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've tried searching in a few dictionaries... unfortunately it seems these web dictionaries are made by java queers who don't know what a continuation is :) < 1199576902 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, skip at the beginning of program < 1199576902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION apologises to any java queer residing here < 1199576924 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so what would the oneOf become? < 1199576940 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the oneOf is as before < 1199576957 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but on the next line, add your skip operation < 1199576988 0 :iEhird!unknown@unknown.invalid QUIT :Remote closed the connection < 1199576995 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm it may not actually be worth having an op that takes an argument < 1199577055 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just make a skipComment function < 1199577091 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :add it (1) after char ']' (2) after oneOf (3) at the beginning of brainFuck < 1199577117 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :skipComment :: ? < 1199577126 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :skipComment :: Parser () < 1199577169 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oneIns surely has to change? < 1199577169 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :after char '[' is not necessarily because it passes straight to brainfuck which already starts with one < 1199577187 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, add one as a second line < 1199577206 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199577225 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you want to do skipComment right after you do oneOf < 1199577272 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh btw the return's can be moved outside the case < 1199577277 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't handle unmatched ]s now :( < 1199577279 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :just put $ between < 1199577351 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm? surely the parser would stop with an error if oneIns hits ] without being in ... oh right < 1199577373 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you want your main parser to do an eof after calling brainfuck < 1199577400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i..see < 1199577404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :explainerate :P < 1199577434 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck just reads up until eof or ], it doesn't raise any error itself < 1199577446 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so its caller must take care of the check < 1199577457 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199577458 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :esplain < 1199577460 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199577462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199577508 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mainParser = do prog <- brainfuck; eof; return prog < 1199577509 0 :sebbu2!unknown@unknown.invalid QUIT :Connection timed out < 1199577635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm providing a non-monadic [BF] parseBF, is that good parsec style? :P < 1199577681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199577879 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also < 1199577880 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : case (parse program name code) of Left e -> error (show e) < 1199577958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's one way < 1199578019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by the way, oerjan, is this a good way to cut down on overflow checks in compiled bf code: < 1199578023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>><+ compiles to: < 1199578031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, without >< reduction, ofc: < 1199578038 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually i would probably make it use a print statement and let the Right p -> part call the actual interpreter < 1199578048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"p++;p++;p++;p--;CHECKMEM;t[p]++;" < 1199578057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :interpreter? :-) < 1199578062 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :why not p+=3; < 1199578070 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or compiler < 1199578073 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: plz read < 1199578073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sorry :D < 1199578080 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"well, without >< reduction, ofc:" < 1199578083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has never written a real compiler < 1199578209 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i recall that strictly speaking any of the p++ might fail if more than 1 beyond the allocated array... may not be a real problem < 1199578246 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i.e. actual pointer arithmetic is undefined behavior in that case, possibly < 1199578253 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Making some sort of Dungeons and Datas programs is hard. < 1199578266 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It has to make sense to be of any interest! < 1199578297 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, some sort of sense at least. < 1199578345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh well < 1199578349 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: who cares :) < 1199578363 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :compiler goals: 1. be fast 2. don't use things that are machine-specific by design < 1199578365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's it < 1199578986 0 :ehird`!unknown@unknown.invalid PART #esoteric :? < 1199578991 0 :ehird`!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199578993 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : wedge :: String -> String -> String -> String < 1199578997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : wedge :: String -> String -> String -> String < 1199578997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :beautiful < 1199579074 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek < 1199579230 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually it's < 1199579232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : wedge :: (Show a) => a -> String -> String -> String < 1199579402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i CANNOT figure out the type errors i get with this: http://hpaste.org/4820 < 1199579456 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199579486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what _are_ the type errors? < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `Char' against inferred type `String' < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Expected type: BF -> [Char] < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Inferred type: BF -> [String] < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `map', namely `(indent . compile')' < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `(++)', namely < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : `map (indent . compile') prog' < 1199579506 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and: < 1199579510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `Char' against inferred type `String' < 1199579511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Expected type: BF -> String < 1199579511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Inferred type: BF -> [String] < 1199579513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `map', namely `(indent . compile')' < 1199579514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `(++)', namely `map (indent . compile') b' < 1199579514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oops, sorry for spam < 1199579540 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh... < 1199579552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you want concatMap instead of map i think < 1199579566 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah, yes < 1199579799 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: flatten [[1,2],[3,4]] -> [1,2,3,4] < 1199579809 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in prelude? < 1199579821 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :concat < 1199579841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :concatMap f l = concat (map f l) < 1199579883 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, that IS concat < 1199579885 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :amusing < 1199579925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199579929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc optimizes a+0 i hope < 1199579930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199579945 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one might assume < 1199579992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what's that haskell function that acts as a filter? < 1199580000 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is, stdin->func->stdout < 1199580018 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :interact < 1199580204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc also optimizes x -= -x i hope :P < 1199580243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :% wc -l mandelbrot.c < 1199580245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :11471 mandelbrot.c < 1199580245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :impressive < 1199580245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199580249 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :exactly _where_ was your compiler going to do its optimizations you said? ;) < 1199580280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in the Optimize module < 1199580289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which ain't written yet < 1199580289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199580293 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3.63sec to execute < 1199580295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not too bad < 1199580345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: iterative optimization, too! < 1199580349 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :imperative pseudo-code: < 1199580389 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :while optimize(prog) != prog { prog = optimize(prog) } < 1199580398 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's probably a nice haskelly way to express that :P < 1199580529 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: right? :P < 1199580545 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iterate optimize somehow < 1199580571 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thank you you are helpful < 1199580592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, iterate is a function :) < 1199580616 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that equality comparison may be expensive though < 1199580651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it would be like < 1199580658 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let opt = optimize(prog) in ... < 1199580681 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway, iterate useful for...? < 1199580693 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well maybe this easier with explicit recursion < 1199580698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it seems to produce a list < 1199580739 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you usually search the resulting list until you find the point you want < 1199580779 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes there is until < 1199580801 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm confusing definition < 1199580803 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :usage? < 1199580813 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however it may need some cleverness to avoid calculating things twice < 1199580868 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :see #haskell < 1199580954 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in principle until (\x -> x == optimize x) optimize would do _but_ it might calculate optimize twice < 1199580979 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't see a way out of that < 1199581006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :recursion is easier < 1199581040 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) ok < 1199581073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :untilEq f x | x == y = x < 1199581095 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : | otherwise = untilEq f y < 1199581107 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : where y = f x < 1199581170 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : optimizeFully p = case optimize p of p -> p x -> optimizeFully x < 1199581171 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :doesn't appear to exist < 1199581183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199581185 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no worky < 1199581186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1199581200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately the of p binds a new variable < 1199581243 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'll start working on PSOX again on Monday.. < 1199581282 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you _could_ do something with pairs but it wouldn't be any clearer than explicit recursion < 1199581304 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or would it, hm < 1199581419 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fst . head . dropWhile (uncurry (/=)) . tail . iterate (fst &&& optimize . snd) . (,) undefined < 1199581435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :drunk on lambdabot, oerjan? < 1199581458 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot? i did that in my head < 1199581467 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, wow < 1199581477 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i meant the pointless < 1199581479 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199581499 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i expect @pl would produce something far worse < 1199581507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well yeah < 1199581536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : @pl'ing is a rather esoteric thing to do :) < 1199581597 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :optimizeFully p = let opt = optimize p in if opt == p then p else optimizeFully opt < 1199581598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fugly! < 1199581599 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199581602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course it's just a slightly more civilized abstraction elimination < 1199581613 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : No instance for (Eq Jill.Core.BF) < 1199581617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oshit < 1199581623 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :deriving (Eq) < 1199581635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1199581675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but as i said, i think that could be expensive, especially if optimizations happen only deeply < 1199581712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Chicken does it < 1199581781 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :comparing this step to the next, recursively? < 1199581786 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1199581805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: damn, optimizing BFSet will be hard with patmatching < 1199581813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Set/Inc/Read/Write ... BFSet < 1199581816 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BFSet Inc... < 1199581817 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1199581835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what's BFSet? < 1199581841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :t[p+a] = b < 1199581844 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :note = instead of += < 1199581853 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :e.g. [-] is BFSet 0 0 < 1199581857 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[-]+ is BFSet 0 1 < 1199581930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199581959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for what values of n in BFLoop x [BFInc y n] can it be proved to be BFSet (x+y) n? < 1199581964 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I think just 1, -1 < 1199581978 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err, 0 < 1199581980 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in the BFSet < 1199582017 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you assume a binary representation with wrapping on a fixed bitwidth < 1199582022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then any odd n will do < 1199582032 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes, they're chars < 1199582034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so 0..255 < 1199582121 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFInc x a):(BFInc x b):xs = (BFInc p (a+b)):xs < 1199582122 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :parse error in pattern! < 1199582127 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why :( < 1199582183 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :optimize ((BFInc x a):(BFInc x b):xs) = (BFInc p (a+b)):xs < 1199582192 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199582214 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFInc x a : BFInc x b : xs) = BFInc p (a+b) : xs < 1199582234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Conflicting definitions for `x' < 1199582235 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the definition of `optimize' < 1199582250 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :can't i use the same name for 'equal'? :( < 1199582254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1199582278 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFInc x a : BFInc x' b : xs) | x == x' = BFInc p (a+b) : xs < 1199582351 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :guards are ugly :) < 1199582364 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ARE NOT < 1199582378 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFLoop x [BFInc x' n] : xs) | mod n 2 == 1 && x == x' = BFSet x 0 : xs < 1199582382 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is ugly < 1199582383 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :OTHERWISE! < 1199582405 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hm..... you know < 1199582412 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :that gives me the feeling this code would be easier in lisp < 1199582422 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it may help to include a line break < 1199582422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199582423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why < 1199582433 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but where < 1199582443 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :before the | perhaps < 1199582449 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so you can express the optimizations however you like (and hide a big confusing macro somewhere no noe looks) < 1199582456 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :line break + at least one space < 1199582468 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(not that I'd do that!) < 1199582486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mod n 2 == 1 = odd n < 1199582686 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : p += 1; t[p+0] = 0; p += 1; t[p+0] = 0; < 1199582689 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :repeated loads of times < 1199582693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have a feeling that's optimizable :P < 1199582713 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is, code X repeated N times = for (tmpvar=0;tmpvar /dev/null < 1199585423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :./mandelbrot > /dev/null 3.41s user 0.02s system 98% cpu 3.477 total < 1199585427 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hooray for SIGSEGV < 1199586416 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aaaaargh < 1199586418 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199586437 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's hard to check an abstraction eliminator when you can't even do it by hand correctly! < 1199586478 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: One check is shoving them through a type checkera < 1199586507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :, < 1199586555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(is he correcting a grammar error or making a very complicated comma pun, we'll never know...) < 1199586583 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :maybe it was a ? without the shift! < 1199586610 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to correct one error of my Abstractor,. < 1199586633 0 :ehird`!unknown@unknown.invalid QUIT : < 1199586658 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Apparently, it doesn't like very much something of the form ^abc...(^xyz...)fgh... < 1199586681 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although even the successor function doesn't seem to work too well. < 1199586772 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well deeply nested lambdas do blow up exponentially with the naive AE algorithm < 1199586908 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Blow up as in "size increase" or "Make them wrong"? < 1199586918 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :size < 1199586956 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't worry me too much, that's why I made a program. < 1199586974 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :it's the wrong expression I find worrying < 1199586992 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I can't be too sure if it's the abstractor or the interpreter. < 1199587192 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199587225 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i would offer my eliminator but it's heavily tailored to unlambda (uses d and is careful about strictness) < 1199587322 0 :Sgeo!unknown@unknown.invalid QUIT :Connection timed out < 1199587351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Can you try this pred. function on unlambda, if you can copypasta on it? http://membres.lycos.fr/bewulf/Russell/Pred.txt < 1199587361 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just to see which program is the problem. < 1199587381 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199587472 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it's accepted and does nothing < 1199587501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and it is well-formed, because changing the final i to ! causes an error < 1199587548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199587607 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I try it with ``pred n `.xi < 1199587620 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :In a lazy evaluation, that is. < 1199587624 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my optimizer simplifies it to ``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kkk`k``s`k`s`k`s`k`si``s`k`s`k`s``s`ksk``s`k`s`k`s`kk``s`k`s`kkk`k`kk`k`k`ki < 1199587648 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It always only prints 1 x for all values of n on mine < 1199587852 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um shouldn't that be ```pred n .x i ? < 1199587910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then it works nicely here < 1199587919 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199587923 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let me think. < 1199587960 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with ``pred n `.xi you are applying `pred n to too few arguments < 1199587985 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it just passes on to evaluating `.xi itself i assume, and just once < 1199587987 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`n`.xi seems to work though < 1199587998 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't < 1199588002 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199588005 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Damn. < 1199588039 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Where's my pen. < 1199588044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :here is the 256 from my self-interpreter: ```s``s`kski < 1199588044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : ```s``s`kski < 1199588044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : ```s``s`kski < 1199588071 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : ``s``s`kski < 1199588121 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with that, ```pred n .x i prints 255 x'es in the unlambda C (i think) interpreter < 1199588240 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(^f^x.f(f(f(...f(x)...)))) (.xi) = ^x.(.xi)((.xi)((.xi)(...(.xi)(x)...))) no? < 1199588250 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It should at least evaluate more than 1? < 1199588275 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I'm not too sure what it would be in combinators. < 1199588305 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er it takes 2 arguments < 1199588311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :f and x < 1199588332 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199588391 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Here's a run for `2`.xi : http://membres.lycos.fr/bewulf/Russell/2%20run.txt < 1199588427 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199588445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you may be right. however: < 1199588480 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``pred n f may not expand to the same as `(n-1) f < 1199588491 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199588505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rather, it may expand to something which waits for another argument before even starting to copy f's < 1199588534 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So f is evaluated first, and only one x is printed? < 1199588578 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well... < 1199588592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the thing is, while expanding top-level, f is never evaluated < 1199588630 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it is only when your interpreter gives up the top-level because there isn't anything more to evaluate there, that it gets down to the f < 1199588689 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```pred n .x i seems to work < 1199588746 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see how succ n fares. < 1199588816 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Also seems to work! < 1199588836 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Output isn't easy to deal with under any evaluation! < 1199588968 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I'm more enthusiastic, I should try to see the evaluation of ``pred n`.xi < 1199588971 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think I/O behaves more reasonably if you only evaluate those operations at top level. then it works almost like monads... < 1199589013 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(in a lazy setting) < 1199589088 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What is exactly meant by top level? < 1199589169 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the top of the parse tree < 1199589186 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or in your case, only the start of the string for finding operators < 1199589289 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Rebooting the modem, brb. < 1199589327 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe not, the connection seems to be back < 1199589347 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Sort of. < 1199589537 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'd check the run of the predn`.xi, but it looks like this : http://membres.lycos.fr/bewulf/Russell/Pred%20run.txt < 1199589570 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I could try in your optimized version. < 1199589627 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's more reasonably sized. < 1199589651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i haven't checked it, it just came out of ulify2.scm :) < 1199589717 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, at least the predn.xi seems to print the right number of x's. < 1199589736 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes, yours contains things like ``s`kk`ks < 1199589743 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which = `k`ks < 1199589755 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is that a conversion of some sort? < 1199589768 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``s`kf`kg = `k`fg < 1199589790 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should add it with the eta conversion. < 1199589820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except in unlambda you need to add d's to it < 1199589832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but somehow i didn't see any in the result you saw < 1199589861 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(my optimizer also tries to remove d's again) < 1199589876 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's made of only primitive combinators. I assume that the evaluation isn't very important without IO < 1199589898 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it depends. it can still be non-terminating. < 1199589922 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199589958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if `fg doesn't terminate, then ``s`kf`kg cannot be simplified to `k`fg < 1199589963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in strict unlambda < 1199589993 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199590017 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't ``s`kf`kg be ``Sfg? < 1199590056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199590095 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```s`kf`kgz = ```kfz``kgz = ``fz`gz = `sfg? < 1199590200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : = `fg < 1199590217 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh right. < 1199590244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" maybe it was a ? without the shift!" <<< sorry, that'd be + < 1199590262 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :On what moonspeak keyboard are you typing? < 1199590281 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if oklopol's keyboard is like mine it could be ; without the shift, though < 1199590290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mine also has + below ? < 1199590290 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(Does this conversion have a name? It's just to look pretty in the code) < 1199590365 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well when you do it directly on lambdas it's just ^x`fg = `k`fg instead of ``s`kf`kg < 1199590389 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it's a shortcut, which madore mentions on the unlambda page < 1199590397 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(noting that it is unsafe in unlambda) < 1199590400 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So just an artefact of the conversion. < 1199590408 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :*abstraction elimination < 1199590544 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, if it was ";", it was obviously a request to change the subject < 1199590547 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or shut up < 1199590551 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199590565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or "you make too long sentences, wrap it up" < 1199590572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, not that obvious :-) < 1199590605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did someone here link maddox' rants? < 1199590632 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :who's maddox? < 1199590749 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://maddox.xmission.com/ < 1199590791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've written similar articles, although more, and of worse quality (or at least not better) < 1199590803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :probably the reason i found them interesting < 1199590829 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```s`k`ab`k`cdk -> ```ab`cdk < 1199590832 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199590888 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :A much shorter result for pred! < 1199590897 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um you're missing a `k < 1199590966 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: did you paste the original link? asdf guess i need to press ctrl+f :'( < 1199590982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha! < 1199590987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was ya :) < 1199591066 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :oerjan : I guess that explain the infinite loop I got for pred < 1199591115 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh :) < 1199591213 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Any other ways to reduce ski to ski? < 1199591306 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although the pred down to ``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kkk`k``s`k`s`k`s`k`si``s`k`s`k`s``s`ksk``s`k`s`k`s`kk``s`k`s`kkk`k`kk`k`k`ki is already pretty neat. < 1199591333 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Seems to be the same as yours < 1199591518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, you now have the two main optimizations of mine < 1199591530 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and the rest i think are unlambda-specific < 1199591556 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, thanks. < 1199591598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you're welcome :) < 1199591621 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can a forkbomb cause lasting damage to a system? < 1199591632 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm contemplating using a forkbomb to force myself off the computer < 1199591650 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You could ask your mom to do that. < 1199591656 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :She'll gladly oblige. < 1199591661 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Get some fresh air!" < 1199591725 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Do you have a particular way of finding those optimisation? < 1199591745 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking of trying it for some other combinators. < 1199591913 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(And maybe combining the ski-unlambda translator, the abstractor and the interpreter to write programs in some unholy combination of SKI combinators, unlambda and lambda calculus!) < 1199591941 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1199592328 0 :Sgeo_!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199592843 0 :_KS!unknown@unknown.invalid QUIT : < 1199592918 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199593623 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's the unholy Frankenstein : http://membres.lycos.fr/bewulf/Russell/Lazylambda4.py < 1199594198 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I'm done with this, every damn letter will be a combinator! :o < 1199594678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol i made a bit of a miscalculation when saying i have more articles than this guy, i now realize i haven't read more than 30%, thought i was finished :) < 1199594693 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the scroll bar... it's just too complex. < 1199594738 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's 10 years of article! < 1199594739 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :s < 1199594787 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Writing in that mix of calculi is more pleasant. < 1199594804 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :For instance, some sort of iszero checker : ```^n((n(^x`ki))k)(^a^b`a`ab)`.0i````.F.a.u.xi < 1199594816 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Where (^a^b`a`ab) can be any number. < 1199594856 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With some hodgepodge of ` and parenthesis just for pleasure! < 1199594987 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199594995 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`.^i generates an error. < 1199595006 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It thinks I want to use i as a lambda variable. < 1199595099 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Either I remove the ^s ^k ^i checker or find some way around it. < 1199595222 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :.^ in general seems to be a nuisance. < 1199595226 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's too simplistic, not skipping .'s < 1199595242 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199595260 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, checking for the literal string ^s etc. anywhere < 1199595287 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's what it does. < 1199595305 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But if there's `.^i, it will find the string ^i in it. < 1199595327 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And think I'm trying to sneak in some ski as variables. < 1199595366 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And since `fg has ^ in it, the Abstractor will try to abstract it, instead of leaving it alone. < 1199595375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :perhaps you could put the check in something like wff instead? < 1199595384 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should make some function to differentiate .^ from ^ < 1199595421 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't forget you can have ..^ etc. < 1199595428 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I know. < 1199595442 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's why I'm thinking of a function instead of a lazy ass workaround. < 1199595463 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(I had plenty of similar problems on the Love Machine 9000!) < 1199595586 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should check for an odd number of . before ^ I guess. < 1199596335 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Seems to work. < 1199596514 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :question: do you allow ^. ? < 1199596618 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see! < 1199596634 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^.^b. < 1199596642 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Gives k. < 1199596659 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's a lambda smiley. < 1199596680 0 :Sgeo_!unknown@unknown.invalid QUIT :Remote closed the connection < 1199596686 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although a (^x`.yi) expression seems to pose problem. < 1199596703 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When it tries to abstract ^x.y < 1199596718 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Not sure why < 1199596779 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199596785 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well my question was because it could break your odd number of . 's rule < 1199596798 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It thinks that ^x.y is actually two combinators. < 1199596801 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :. and y. < 1199596831 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Printing functions are quite annoying to implement. < 1199597111 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Found the error. < 1199597129 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just a number error in the T[^x.y] -> `ky < 1199597177 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see the ^. case. < 1199597217 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^...^s < 1199597262 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't crash, but it's not that good either. < 1199597268 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh and not to forget ^^ :D < 1199597291 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^..^ gives i, ^...^s gives ``si`ks < 1199597296 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not even sure why. < 1199597310 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^^ makes some infinite loop. < 1199597330 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although ^^^ translates as i okay. < 1199597335 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my suggestion is to disallow ^ and . as variables < 1199597347 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That too. < 1199597604 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, right now, the program will change all non-printing ( into ` (or delete them if they're before ^), delete all non-printing ), change all variables and combinators into lowercase, eliminate abstraction from the result and read the result as Unlambda would. < 1199597626 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Any parsing pitfall in mind? < 1199597730 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :( -> variable number of ` 's right? < 1199597776 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think so. < 1199597790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um ( before ^ shouldn't be deleted should it < 1199597805 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or... < 1199597833 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, the ^abc... abc... in parenthesis is just for a clear way to see the whole lambda expression if I want to write it. < 1199597901 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It poses problems if I want to write something like `(^a^b`ba)np < 1199597904 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Errr, `(^a^b`ban)p < 1199597911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however you could then have an error if the lambda expression stops before the corresponding ) < 1199597923 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199597953 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what about instead saying ( before ^ moves past the ^+variable? < 1199597995 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then you could drop ` 's inside < 1199597995 0 :slereah_!n=Test4@ANantes-252-1-47-152.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1199598008 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :[06:39] Although I guess I could check the length of the lambda expression to delete or not the parenthesis < 1199598009 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :[06:39] What? < 1199598056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> however you could then have an error if the lambda expression stops before the corresponding ) < 1199598066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> right < 1199598086 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> what about instead saying ( before ^ moves past the ^+variable? < 1199598098 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> then you could drop ` 's inside < 1199598103 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whew < 1199598105 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That's what the "what?" was for. < 1199598172 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`(^a^b`ban)p -> `^a^b(`ban)p -> `^a^b``banp < 1199598256 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, except it should be ``^a^b`bap < 1199598277 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1199598288 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1199598301 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses the power of mental thinking < 1199598337 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :`(^a^b`ban)p wouldn't be legal. < 1199598357 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That's ^a^b`ban applied to p, but `ban lacks one apply. < 1199598420 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's legal in lambda calculus to be applied too little < 1199598437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um wait < 1199598445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the point i was saying was < 1199598452 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(ban) = ``ban right? < 1199598458 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199598476 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and in ordinary lambda calculus a ^ usually continues until the next ) < 1199598502 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :For instance. < 1199598506 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so why not say that (^a^bban) = ^a^b``ban < 1199598525 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, I could do that for all variables. < 1199598555 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Replace n non-printing letters by ````...````abcd...xyz < 1199598594 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although it may be weird if you mix things, hm < 1199598604 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I mix many thing already. < 1199598614 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :since ^a without parentheses only takes one following expression < 1199598637 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I don't know about weirdness, but it might be hard to check for accuracy. < 1199598649 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That would be a whole lot of combinations to try. < 1199598686 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well lessee < 1199598708 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could say ` introduces unlambda syntax and ( introduces lambda calculus syntax < 1199598728 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The thing is, I'm mixing both. < 1199598735 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199598744 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :For instance if I'm lazy and just want to copypasta some expression. < 1199598763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so if a subexpression starts with ` or ( you change to the other < 1199598808 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Actually, both notations are used for both. < 1199598813 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be safe as long as what you paste either is parenthesized or is a single expression starting with ` < 1199598830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well they have ^ in common < 1199599171 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, it can now differentiate s=s[:i]+s[i+1:] < 1199599172 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric : i=i-1 < 1199599173 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Oop < 1199599186 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :`(^a^b`ban)p and ``(^a^b`ba)np < 1199599206 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :But I don't know what will happen if there's more lambda inside the parenthesis. < 1199599225 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199599230 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199599258 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes there could be trouble < 1199599275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(^aa^bba) for example < 1199599293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the ^b would probably scope only the b < 1199599298 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking more of ((^aa)(^bb)a) < 1199599329 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`^aa^bba < 1199599332 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199599339 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that should be fine if the outer ( is handled first < 1199599348 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :turning into `` < 1199599349 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess so. < 1199599361 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What of (^aa(^bb)a)! < 1199599380 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think that's fine < 1199599429 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ^a(a(^bb)a) -> ^a``a(^bb)a -> ^a``a^bba < 1199599430 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Reads it as `^aa^bba. But it should be... What should it be, actually? < 1199599470 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't read it like that. < 1199599478 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's `ii for it. < 1199599609 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :subtle stuff < 1199599610 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But well, I guess it's not too important. < 1199600150 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. Would a combinator-to-text be something like iszero n [print char 0] [iszero pred(n) [print char1] [...]]]? < 1199600231 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So something actually like (^x . iszero x [print char 0] [iszero pred(x) [print char1] [...]]]) n < 1199600302 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is a church numeral printer hidden in my deadfish-in-unlambda code < 1199600316 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it might be using d though < 1199600349 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess I could just generate it in python for ASCII chars. < 1199600373 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh you want num->ascii < 1199600392 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, num->any set of char, actually. < 1199600412 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ASCII works okay, especially since I want to do a _ combinator. < 1199600441 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Awaits input from the keyboard, and then converts it to some ASCII Church numeral. < 1199600448 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i wouldn't use pred. i would use a church-encoded list of the chars < 1199600473 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then do `head ``n tail list < 1199600494 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes. I should read the list function for lambda calc. < 1199600529 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Might be useful later! < 1199600541 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(define (cons x y) (lambda (k) (k x y))) (define (car cons) (cons (lambda (x y) x))) (define (cdr cons) (cons (lambda (x y) y))) < 1199600560 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I can't really read Haskell. < 1199600590 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't understand this ^ notation :S < 1199600594 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :given that that was scheme, i believe you :D < 1199600611 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199600615 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, possibly CL < 1199600620 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Scheme, Haskel, same thing! < 1199600632 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^ is just a fancy ASCII for lambda. < 1199600680 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :well to make a cons (pair of things), you can make a closure which takes a function an applies it to those args < 1199600688 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :cons = (^h t . ^k. (k h t)) < 1199600703 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in fact haskell is closer < 1199600715 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cons = \h t -> \k -> k h t < 1199600730 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so to select the head, such that (head (cons a b)) = a, head = (^cons. (cons (^head tail . head))) < 1199600757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :though sadly, church-encoded lists soon hit against the type system < 1199600837 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why is a pairing noted as "cons"? < 1199600848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :old lisp tradition < 1199600856 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :A cons is a pair of things < 1199600886 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :like the link of a linked list < 1199600896 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wikis < 1199600899 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh, construct. < 1199600914 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Cons < 1199600926 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But, pair has the same number of letters! :o < 1199600951 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is there a Lisp function called pair? < 1199600970 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :scheme has pair? < 1199600990 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(pair? (cons 'x 'y)) ;=> #t < 1199601009 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What is this moonspeak! < 1199601015 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :scheme < 1199601027 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :;=> ? < 1199601027 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :````^m^n^f^x``nf``mfx^f^x`f`f`f`f`f`fx^f^x`f`f`f`fx.xi < 1199601030 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yay, addition! < 1199601043 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :; <- comment => <- evaluates to < 1199601056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1199601065 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should probably shut up and stop confusing people < 1199601083 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, this is #esoteric < 1199601101 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If we weren't allowed to confuse, it would be pretty silent. < 1199601131 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then, what would the alligators do? < 1199601141 0 :puzzlet!unknown@unknown.invalid PRIVMSG #esoteric :cross the road? < 1199601146 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You are confusing me oerjan. < 1199601154 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't say. < 1199601154 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :My lazy unlambda has one clear advantage on the love machine 9000. < 1199601161 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :speed? < 1199601164 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I have a perfect name for it. < 1199601171 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1199601175 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It will be called "Lazy bird". < 1199601194 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Since its combinators will be the combinator birds from "To mock a mockingbird". < 1199601230 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And it's a name I can post on Esolang without shame, unlike "Love Machine 9000". < 1199601271 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I came up with a srs business name for it. < 1199601277 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"NTCM" < 1199601293 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :n-tape choice machine. < 1199601339 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Srpska Radikalna Stranka? < 1199601351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lulwut? < 1199601361 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :srs < 1199601381 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.encyclopediadramatica.com/The_Internet_is_serious_business < 1199601501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a lightbulb go off < 1199601630 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean srs is _not_ an acronym? doesn't sound like serious business to me. < 1199601652 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Merely a contraction! < 1199601675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, a contradiction. < 1199601697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that splains it. < 1199601772 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's a dick that shouldn't be in your sentence. < 1199601829 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my sentience is none of your business. < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Fixed point combinators are not especially rare (there are infinitely many of them). Some, such as this one (constructed by Jan Willem Klop) are useful chiefly for amusement: < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L) < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :where: < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : L = ?abcdefghijklmnopqstuvwxyzr. (r (t h i s i s a f i x e d p o i n t c o m b i n a t o r)) < 1199602345 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199602372 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see if I can make something similar! < 1199602910 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it might take a while. < 1199602954 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's doing the w's right now, and increasing in size! < 1199602970 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I hope it eta-reduces a whole lot. < 1199603505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well 10 of the variables are not used < 1199603597 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :including w < 1199603603 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^a^b^c^d^e^f^g^h^|^j^<^l^m^n^o^p^q^$^t^u^v^w^x^y^z^r`r``````````````````````````th|$|$af|xedpo|ntcomb|nator is still running :o < 1199603885 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/noyoucanthaveaneuralnetwork.jpg < 1199603887 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199604791 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. For the input ASCII -> Church numerals, what would be the best idea? < 1199604834 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just a correspondance number -> church numerals, or number->succ(succ(succ(...succ(KI)....)))? < 1199605078 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess it's space against time. < 1199605553 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :succ(succ(...)) is easier to build up recursively < 1199605598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in case you need to use a table, like in unlambda < 1199605711 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but won't it blow up for big numbers? < 1199605719 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lazy K seems to use such a table. < 1199605859 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lazy K uses church numerals for I/O < 1199605901 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean input in decimal digits? < 1199605931 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No, just for any key. < 1199605936 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :From 0 to 255. < 1199605987 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the table will be somewhat big i guess < 1199606006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do you use ?x input like unlambda? < 1199606026 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199606048 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't really need all the numbers in a table < 1199606052 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just a _ combinator that will change into the Church integer. < 1199606088 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh so you do input ascii as church numerals < 1199606096 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199606116 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so your question is not about how to use it, but what python should send into the program < 1199606195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you might use binary < 1199606210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :adding 1 and multiplying by 2 should be simple enough < 1199606257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it might still get blown up when the program tries to analyze it, i suspect < 1199606338 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, Lazy K has a table of ways to get short ASCII -> Church < 1199606342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'll see how this fares. < 1199606399 0 :clog!unknown@unknown.invalid QUIT :ended < 1199606400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199606525 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. apparently, plenty of them have the combinator ``s`ksk < 1199606530 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Which is the B combinator < 1199606567 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :2 is just ``sbi < 1199607935 0 :oerjan!unknown@unknown.invalid QUIT :"Bye" < 1199614471 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199614478 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello all < 1199614502 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Can anyone help me with some Haskell quickly? < 1199614576 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia? < 1199614653 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :show map Char.isLower "aBCde" < 1199614682 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would that produce [True,False,False,True,True]? < 1199615007 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199620582 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1199620613 0 :faxathisia!unknown@unknown.invalid QUIT :"Leaving" < 1199621716 0 :RedDak!n=dak@87.6.86.9 JOIN :#esoteric < 1199622785 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think I'll just define the input as succ(succ(succ(...succ(KI)....))) < 1199622791 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :A table is too big. < 1199623773 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But then again, the succ idea is painfully slow! < 1199623841 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aaaargh. < 1199625032 0 :jix!n=jix@dyndsl-091-096-057-222.ewe-ip-backbone.de JOIN :#esoteric < 1199626255 0 :sebbu2!n=sebbu@ADijon-152-1-60-116.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199627021 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199627022 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1199627775 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199627831 0 :bsmntbombdood!n=gavin@75-166-162-55.hlrn.qwest.net JOIN :#esoteric < 1199629477 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199629485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello < 1199629621 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can anyone help me with a Haskell exercise in Yet Another Haskell Tutorial? < 1199629628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it way hard < 1199629642 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*its < 1199629800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION HELPs! < 1199629810 0 :lifthrasiir!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199629857 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"Exercise 3.5 We’ve seen how to calculate sums and products using folding functions.Given that the function max returns the maximum of two numbers, write a function using a fold that will return the maximum value in a list (and zero if the list is empty). So, when applied to [5,10,2,8,1] it will return 10. Assume that the values in the list are always ≥ 0. Explain to yourself why it works." < 1199629863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Can't get it < 1199629871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199629877 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I guess I should check out #Haskell < 1199629887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed i actually wouldn't be able to do it, but that's trivial ) < 1199629888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199629899 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, really? < 1199629909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I just don't get what the folds will need to do < 1199629914 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but could you explain? < 1199629924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have a list A B C D E .. Z, and you need the max. basically, a max takes two values and returns the maximum of the two < 1199629930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199629945 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because max is... i lack terms :-)... it does A m B = B m A < 1199629957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and all the other funny features like that < 1199629958 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199629963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can just do the maxes in any order < 1199629969 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I see < 1199629982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... A B C -> A (B C) -> (A B C) would be a way to get the max of A B and C < 1199629986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now... < 1199629992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fold takes a list, and a function < 1199630006 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it then takes a certain pair of values in the list, and performs the operation < 1199630015 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh... < 1199630019 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it < 1199630021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then, it takes that pair, and performs the operator on that pair, and another value in the list < 1199630023 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good < 1199630035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on a related note, i think i need to poo -> < 1199630045 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :foldr (max) 0 [balh]? < 1199630053 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, sure, er... don't let me stop you < 1199630058 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*blah < 1199630060 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :looks correct < 1199630066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except you don't need the parens < 1199630073 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, cool < 1199630076 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks oklopol < 1199630079 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :now go forth < 1199630081 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and make doodo < 1199630085 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*doodoo < 1199630088 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199630091 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, indeed! -> < 1199630144 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199630146 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, it works < 1199630154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but why does it say you need two folds? < 1199630206 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and is the fold direction important? < 1199630249 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind, it says a fold < 1199630257 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :still, is the direction relevant? < 1199630295 0 :slereah_!n=Test4@ANantes-252-1-47-152.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1199630980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(A m B) cmp (B m A) < 1199630989 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where m is max. < 1199631010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and cmp is "compare these with yer braines" < 1199631035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did you compare? < 1199631147 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :aaaaactually < 1199631160 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm globbing crap here < 1199631179 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(A m (B m C)) cmp ((A m )B m C) < 1199631183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199631186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :more crap < 1199631190 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(A m (B m C)) cmp ((A m B) m C) < 1199631192 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :better. < 1199631223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, take your brain, stuff that in, wait a mo, tell it to generalize, wait a mo, and hope for the best < 1199631241 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199631242 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199631245 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll try < 1199631247 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199631275 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alrighty < 1199631277 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :makes sense < 1199631280 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(ish) < 1199631282 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hooray < 1199631284 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199631301 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like Haskell < 1199631305 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's so... < 1199631306 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :er < 1199631313 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for the lack of a better word < 1199631315 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :strange < 1199631316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the max-function is a socalled "bag" function < 1199631317 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199631321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199631326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :meaning it conceptually takes a *set* of arguments < 1199631327 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199631332 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199631333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can give it's args in any order that is. < 1199631338 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just like + and xor too < 1199631340 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199631343 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199631347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and * < 1199631355 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199631365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and of course set operations except set substraction. < 1199631366 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, also * < 1199631369 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(*=X=times=multiplication) < 1199631382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631399 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh, I'll continue with the tut some other itme < 1199631399 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is a helpful thing to know about a function, or not < 1199631408 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just wanted to coin a term for it < 1199631415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :He < 1199631428 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in Heh as in laughter ;) < 1199631474 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Haskell is exactly like ad-maths class < 1199631479 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :piece wise functions < 1199631481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually guessed what you meant there! :) < 1199631484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :compliments etc < 1199631486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with "he" < 1199631489 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yay :) < 1199631530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've actually been wanting to make a language with a type system for a long time... could have my dream of having a language where args are given in arbitrary order come true < 1199631538 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, the only list would be the set < 1199631550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and you could only give unary args < 1199631551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be cool, but also, confusing :) < 1199631580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no no! basically you'd have a distinct type for everything, how ELEGANT! < 1199631603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol... lisp with sets instead of lists xD < 1199631609 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ah, yes well if Char is Different from String which is Different from Array of Char < 1199631612 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then cool :) < 1199631620 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::-\ < 1199631627 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199631630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't know < 1199631633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it might be aweosme < 1199631634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, no, that's not enough... < 1199631636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1199631644 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :catenating strings... < 1199631660 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you need to make a LeftAppendor object and a RightAppendor object < 1199631668 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :w00t < 1199631672 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like that :) < 1199631677 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1199631680 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :annoying, painful, stupid - but awesome < 1199631682 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199631684 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed! < 1199631722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've been thinking i could take all these millions of stupid features i'd concocted over the years, remove them from oklotalk and make a new language for them < 1199631737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, that's sometimes pretty nice < 1199631737 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199631759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like, you wanna have the program in the form oper func oper func oper func etc < 1199631763 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't really mind, as long as we get to _eventually_ see the langauge < 1199631767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it _exists_ < 1199631770 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199631775 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because then you don't need parens then. < 1199631776 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woow < 1199631781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be cool, yip < 1199631787 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it's nice an sequelz < 1199631798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, if types make up the order of usage of argumens < 1199631802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*arguments < 1199631820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then you can almost always have execution be linear if it's conceptually linear < 1199631824 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you know what i mean... < 1199631840 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it... < 1199631852 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but im not too sure < 1199631855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199631859 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :talking about flow control?? < 1199631861 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try and find a weird example < 1199631863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or time < 1199631868 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199631874 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then I get what yoyu are saying < 1199631885 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in a twisted kind of abstract sense... < 1199631892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, very stupid example, but anyway < 1199631921 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, im all eyes < 1199631924 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199631935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's say you wanna do "A - (B - C)", but don't want the parens... < 1199631941 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :A - B - lparam C < 1199631958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199631964 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199631966 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :funky < 1199631968 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and I like it < 1199631976 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :makes programming truly painful :P < 1199631976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :OH, C IS AN LPARAM, THEN THE OTHER MUST BE RPARAM! < 1199631982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed! :D < 1199631999 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :good luck with the interpreter though < 1199632015 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :trying to make it run in linear time :X < 1199632030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, actually i'd just really like to do static typing, so this might be a nice thingie to test with. < 1199632039 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199632044 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199632046 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've always had either dynamic or brainfuck typing < 1199632047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nontheless < 1199632051 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :good luck :P < 1199632056 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(where everything is statically a number...) < 1199632057 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1199632064 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :understood < 1199632096 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Betterave < 1199632105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :But, unlike these three languages, it is not tape- nor stack-based. Instead, programs are written as expressions. Like Scheme, it has a prefix notation, but unlike Scheme, there are no parentheses; each operator knows how many arguments must follow it. Thus, for example, the parameters of an addition come after the "+" symbol. < 1199632108 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it runs everything in linear time, of course... hmm, i think static typing isn't the hard part anymore < 1199632110 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :perhaps too late < 1199632120 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, no < 1199632136 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yaeh < 1199632139 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1. that's completely different 2. i had that idea 3 years ago < 1199632143 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's nearly everything you were o about < 1199632144 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and thought it was original < 1199632154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199632154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199632156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's called "polish notation", i learned then < 1199632157 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's similar < 1199632160 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199632165 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like FALSE < 1199632166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, no, that's polish notation. < 1199632169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1199632175 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199632175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :false is rpn, reverse polish notation < 1199632178 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :FALSE is rpn < 1199632190 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, we both realised < 1199632196 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :stack-based, you might say < 1199632199 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it took me 2 seconds longer :P < 1199632206 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(5:09:58 PM) oklopol: false is rpn, reverse polish notation < 1199632207 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(5:10:00 PM) Hiato: FALSE is rpn < 1199632216 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just typed slow :) < 1199632224 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Heh, good excuse < 1199632231 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199632304 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1. that's completely different. 2. i had that idea. 3. years ago, when i was in lapland, i saw a reindeer eat its own shit < 1199632341 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :haha, Must have been a truly inspiring sight < 1199632345 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199632355 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, sorry, that's not true, i just added something :) < 1199632382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh I see, so what you meant is: 1. i had that idea. 3 years ago, when i was in lapland, i saw a reindeer eat its own shit ? < 1199632385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mainly ogled at girls last time i was in lapland :) < 1199632405 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :unsurprisingly, I am not surpirised < 1199632412 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and that is a helathy habbit nontheless < 1199632418 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*healthy < 1199632420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, i wanted to change the "3 years ago" into "part 3. years ago..." < 1199632438 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I know, I was merely toying with you mortal mid < 1199632440 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*mind < 1199632443 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or *mud < 1199632447 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :whicheever < 1199632449 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and in that you did succeed! < 1199632461 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hooray! < 1199632470 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, btw, i played a bit with the idea of pattern matching < 1199632484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, and? < 1199632493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sofar, quicksort looks unbelievably weird, but i found comfort in that the prolog one i found is very similar :D < 1199632511 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Cool < 1199632514 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought i had the world's stupidest and ugliest idea ever when i invented scramble < 1199632524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the function that randomly scrambles a list < 1199632531 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but? < 1199632543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :used for sorting, that is < 1199632547 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :It turned into OgroSort (random sorting) < 1199632554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :prolog has "perm", i then found out < 1199632560 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199632561 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :shame < 1199632568 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and permutation is just fancy talk for scrambling :) < 1199632571 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a permuatation algortihm once < 1199632583 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I called it TVPA < 1199632591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and permutation is just fancy talk for scrambling :) ... er sure < 1199632592 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199632597 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, i'm not even disappointed anymore when i found my ideas already in use, < 1199632603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they always are < 1199632615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what a horrible and demaning experience < 1199632622 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I would threaten < 1199632628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to kill kittens unless I was credited < 1199632630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199632639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i usually found out about them right after i've invented them (usually because of my own googling, but often also by randomly looking at #haskell or somethign) < 1199632647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199632671 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually then renamed Scramble into Perm < 1199632694 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha, I see < 1199632703 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/jRzJ6635.txt < 1199632705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is kinda lame because i'm trying to keep the concepts of pattern matching and constraint programming separate :P < 1199632709 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's in delphi < 1199632712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or is it logic programming... < 1199632717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean that thing. < 1199632725 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't have the faintest clue < 1199632767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :That's a perfect demonstration of my horrible procedural style < 1199632781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is why I want to become proficient in functional languages < 1199632786 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ala Haskell < 1199632890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't get much of that < 1199632894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i don't get all of that < 1199632903 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199632910 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well grab FPC or something < 1199632914 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and Permute away :P < 1199632925 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :FPC = Free Pascal Compiler < 1199632934 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is what Lazarus IDE is < 1199632947 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1199632954 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's besides the point < 1199632958 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the point is the style < 1199632961 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199632965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for k := 0 to sizeof(p)-1 do if PosRightGreater(k) then maxp := k; < 1199632974 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...does that find the max of a list? < 1199632978 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1199632982 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what it does is < 1199632993 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :finds the furthest possible number from the left hand side < 1199633000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which has a number graeter than it on it's right < 1199633005 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*greater < 1199633088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that's quite a slow way to do it... < 1199633095 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's the only way I could think of... < 1199633101 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but you are correct < 1199633105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it is slow < 1199633119 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fast, but slow in terms of cycles per permuttation < 1199633130 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :start from the right < 1199633138 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it takes about 0.5 secs to rubn through 8! permuataions, I think < 1199633142 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1199633235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, just iterate from right to left, store the first number as max, and when you find a number > max, return the index of that < 1199633249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :first == last in the lsit < 1199633250 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :list < 1199633254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199633256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just first because started from the end... < 1199633283 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but that won't be in lexicographical order < 1199633290 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :at all < 1199633312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that will find the last index in the list for which there are no greater numbers on the left < 1199633319 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*right < 1199633320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199633347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199633348 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199633352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :let me think < 1199633353 0 :jix!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1199633353 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199633371 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199633382 0 :jix!n=jix@dyndsl-091-096-043-074.ewe-ip-backbone.de JOIN :#esoteric < 1199633382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think that that won't be too much faster than what I am doing < 1199633385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's say you have [9 5 6 8], store 8 as max, then go until you find a number greater than it < 1199633392 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's 9 < 1199633395 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's faster < 1199633401 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like this you go through half the list < 1199633401 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :im just saying < 1199633406 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199633407 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199633411 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I do start on the left < 1199633413 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :your way you go through the list for every element of the list < 1199633421 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199633430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mine is O(n), yours O(n^2), unless i read the code entirely wrong < 1199633439 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, you are right < 1199633450 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, it's definitely not linera < 1199633453 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*linear < 1199633462 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199633464 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't get it < 1199633470 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :with < 1199633473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what don't you get < 1199633477 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :[9 5 6 8] < 1199633480 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :8 is max < 1199633483 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :go left < 1199633488 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :9 is then max < 1199633495 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then that will be wrong < 1199633501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what should it return? < 1199633509 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it should, return, in this example < 1199633510 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1199633515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, yeah < 1199633517 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as 5 has something to its right < 1199633520 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is greater < 1199633522 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but do you see the connection between the algos? < 1199633524 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :8 doesn't < 1199633529 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :kind of < 1199633532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1199633534 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but not really < 1199633539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait a second < 1199633545 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll give the hint. < 1199633550 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199633565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my algo finds the last number that does *not* have a greater number on its right < 1199633582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, every number after it in the list will have a certain property < 1199633584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you know what? < 1199633588 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633596 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a number graeter than it on it's right < 1199633602 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*greater < 1199633602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you see the connection? < 1199633611 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but that still is one step away < 1199633612 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as I did before < 1199633617 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because < 1199633618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it is so trivial i didn't consider them a separate algo at all. < 1199633626 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I still need the largest possible number < 1199633633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199633651 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :largest possible number? < 1199633652 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whut < 1199633671 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1199633675 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not he largest possible < 1199633676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see i have no idea what you are doing with this since i haven't read the code, i'm just telling you the best algo to do what you explained :) < 1199633679 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the furthest possible < 1199633685 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1199633696 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199633698 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in that case < 1199633701 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I now know < 1199633705 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that everything save 8 < 1199633718 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is valid in the 9 5 6 8 < 1199633733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"valid"? < 1199633741 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, I guess I can just chosser the one before it < 1199633749 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :valid = something greater on it's right < 1199633755 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199633760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it won't be the leftmost. < 1199633761 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and nine < 1199633765 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the problem < 1199633768 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhhhh < 1199633775 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199633777 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199633779 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed, mine doesn't quite solve it ;) < 1199633780 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not the problem < 1199633784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, it's a trivial change. < 1199633790 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the problem is rightmost < 1199633796 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and your's would report 9 < 1199633801 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :instead of 6 < 1199633807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you want the rightmost? :D < 1199633810 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you said leftmost earlier < 1199633823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, in that case, it even simpler than my original one < 1199633852 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(5:36:11 PM) Hiato: valid = something greater on it's right < 1199633858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :take the last of the list, go to the left unless the new number is smaller than the last number < 1199633869 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah huh < 1199633873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be way easier < 1199633900 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199633907 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would yield false results < 1199633909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because < 1199633918 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in 9 5 6 8 < 1199633925 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we would stop on 8 < 1199633930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as 6<8 < 1199633930 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :**until < 1199633934 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :s/unless/until < 1199633935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199633938 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199633939 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199633956 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then we have another problem < 1199633962 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in 9 5 6 8 < 1199633965 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we go left < 1199633968 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and stop on 5 < 1199633973 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as 5<9 < 1199633977 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199633978 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is not part of the condition < 1199633987 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199633992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at 6, the new number (6) is smaller than the last number (8) < 1199633995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so we return 6 < 1199633999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of the index of it. < 1199634001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*or < 1199634001 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah < 1199634003 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1199634004 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1199634016 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that will decrease the CPU cycles < 1199634016 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199634037 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I just then have to change the code a bit < 1199634042 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to say if it is the 1st number < 1199634044 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then we are done < 1199634050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's a big algorithmic improvement, i recommend you read a bit about complexities in general < 1199634052 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :instead of if PosRightGreater returns false < 1199634062 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I would like to < 1199634098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i'm fairly sure i'd've lolled my ass off if i didn't know who you are :) < 1199634111 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :programmers are sometimes like that < 1199634127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, if i'd just seen that algo on the net < 1199634130 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure whether to take that as a compliment or insult < 1199634133 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but thanks :) < 1199634134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199634145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, if you'd have seen it on the net < 1199634145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199634159 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, without knowing whose it is. < 1199634169 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes (I'm listening :P ) < 1199634174 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199634177 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(no worries, I won't take offense) < 1199634185 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(it was stupid ;) ) < 1199634235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just you get a bit obsessed about complexities after being around them constantly < 1199634251 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fair enough :) < 1199634259 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is it that you do? < 1199634261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an algorithm that obviously does what it does inefficiently is actually very funny after that. < 1199634280 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hehe, I can see where you're coming from < 1199634293 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if you don't mind my previous question < 1199634302 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would you answer it ;) < 1199634310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sometimes also because a tabsize of 8 instead of 4 is enough, though, people are pretty obsessed with prettiness of code too :) < 1199634315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199634321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wonder what that was < 1199634345 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"people are pretty obsessed with prettiness of code too :)" unfortunately true < 1199634351 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well < 1199634357 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is it that you do? < 1199634362 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for a living, or whatever? < 1199634363 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199634396 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, i'm in high school, possibly failing it, taking a few courses from the uni on the side < 1199634412 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1199634415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1199634424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they just let me on one course at a time :-( < 1199634426 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, im not sure about failing (:P) or courses < 1199634432 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :shame < 1199634433 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199634445 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I have my sincere doubts that you are failing :) < 1199634461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, after the first few weeks of high school i realized it has nothing to offer me (or anyone non retard.) < 1199634471 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... haven't really done anything there. < 1199634477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i lack a few courses i should have < 1199634478 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hahah, so very (sadly) true :) < 1199634491 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199634508 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I go to school, to come home < 1199634513 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's that simple :) < 1199634548 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really go, since i have 4 hours of lectures a week < 1199634557 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no courses in high school anymore, just the one course in cs < 1199634562 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the uni < 1199634564 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice :) < 1199634614 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, a course about heaps. < 1199634617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199634639 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199634655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :different ways to keep them balanced, stuff you could explain in a few lines for those who've never heard about them :) < 1199634685 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've actually done this, a whole course about ordos, i taught them to a friend in a few nights. < 1199634718 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ordos? < 1199634722 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/0YrGtq15.txt < 1199634723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :orderz < 1199634726 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :O() < 1199634729 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199634734 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Big O notation < 1199634740 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :check it out < 1199634743 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its way smaller now < 1199634746 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :haven't tested < 1199634748 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but hey < 1199634818 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :be back later < 1199634823 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :got to do some stuff < 1199634825 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199634826 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199634856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :8| < 1199634866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :people can be so weird... leaving irc... < 1199636400 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's the shortest brainfuck interpreter in a language not spesifically designed for brianfuck? < 1199636404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :brain... < 1199636430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and by specific design i mean stuff like a language that executes brainfuck code. < 1199637619 0 :oklopol!unknown@unknown.invalid QUIT :"for the need to encumber" < 1199638045 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1199638857 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199639869 0 :ehird`!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199640104 0 :helios24_!i=helios@tomakin.quasar-net.de JOIN :#esoteric < 1199640118 0 :helios24!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1199640277 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199640288 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassabi < 1199640324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no thanks, but it is a bit chili outside. < 1199640347 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no fair, i was going to... < 1199640347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hehe < 1199640352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(finally, a chance to pun-answer that) < 1199640352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199640368 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Souther Hemisphere - Oh Yeah :D < 1199640377 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i did it a previous time so... < 1199640378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :warm there? < 1199640382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i know < 1199640384 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Summer! < 1199640386 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i was sooo jealous :\ < 1199640388 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I know orejan < 1199640390 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199640411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i read all teh logs, although i usually skip the long discussions over debugging something :D < 1199640431 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hah, I also try to < 1199640441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well not skip, but not read memorizingly < 1199640445 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :whenever I go to slleep < 1199640447 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :skim < 1199640459 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm garunteed to miss out on the *actual* < 1199640461 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :discussion < 1199640479 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, well I just do Ctlr+F < 1199640480 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199640483 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in the logs < 1199640486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes. how come you started asking haskell questions just when i left ;) < 1199640501 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Couldn't help it :) < 1199640509 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :That's when the exercises got hard in the tut < 1199640509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the fold thing? < 1199640511 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199640512 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199640524 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although oklopol handled that well :) < 1199640535 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thanks, i thought so too :P < 1199640551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I must hand it to him: Oklopol, you taught me folds in ~3 lines, and the whole tut didn't make sense (about them) < 1199640573 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i couldn't add the insightful "BUT, you can also do that with a StateT monad, and it's much COOLER" oerjan could've added! < 1199640582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*though < 1199640587 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199640593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :StateT? < 1199640594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(not would've, but could've) < 1199640628 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, State is sufficent ;) < 1199640635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure what a monad would have to do with a fold, but i'm fairly sure you can put a bit of monad to everything :-) < 1199640636 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm, err... ok < 1199640652 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, whatever floats your boat oklopol :P < 1199640662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a monad fetish < 1199640667 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199640677 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well that explains everything < 1199640683 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :naah < 1199640685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone should write a haskell fibonacci that uses just monads < 1199640687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nothing else < 1199640687 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :pulling your leg(s) < 1199640690 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mmmk < 1199640698 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or actually... nearly anything you do with lists will be essentially folds at the bottom anyhow, even if you use monad functions < 1199640709 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1199640731 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(from the little understanding i have about the subject) < 1199640737 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure (desperately searches the tutorial for what monads are) < 1199640750 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: they may have left that out out of mercy ;) < 1199640765 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, ok < 1199640769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: yeah, quickly look them up so you can have a conversation about them :) < 1199640769 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or just considered IO < 1199640773 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in which case: I'm not interested :P < 1199640806 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :naah < 1199640808 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually you must have at least one monad eventually: IO to do I/O < 1199640809 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I am < 1199640814 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in a twisted way < 1199640829 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"monad? i'll check wikipedia" *minute* "ah, now i see what you meant by that seven lines of monadic line noise" < 1199640863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yes.. er.. no... am... maybe < 1199640872 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :choose the more appropriate one < 1199640903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: chooses "am", for he is such an egois. < 1199640904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Ät < 1199640905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*t < 1199640907 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*egoist < 1199640910 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*typoist < 1199640915 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also < 1199640920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION != ok+tab < 1199640921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199640924 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Lol :) < 1199640927 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if t means something in finnish < 1199640932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCK, i'm failing a bit too much heree.. < 1199640938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"/me" != "ok+tab" < 1199640954 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: @, or "at" is pronounced "ät" < 1199640979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although you rarely see it in use as such, since it looks awful, that's what "ät" would mean < 1199640984 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if "/me" will come out right < 1199641007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's just borrowing english pronunciation i take < 1199641012 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199641026 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Watter taal praat jy oklopol? < 1199641041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"what language do you speak?"= < 1199641041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199641045 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199641047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :correct < 1199641047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199641052 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and the winner is.... < 1199641058 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i remember praat and jy from yesterday < 1199641063 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... shouldn't have had to ask. < 1199641064 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D nice < 1199641080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION actually got that since "prat" is norwegian too < 1199641085 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Dutch I take it.... < 1199641088 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199641093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it's sprache in german and prata is talk in swedish, it's not like it's hard to remember something you almost remember already < 1199641094 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or is memory failing < 1199641103 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :almost certainly borrowed from dutch though < 1199641108 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199641109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: also, finnish. < 1199641120 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ah yes, we went through this yesterday :P < 1199641124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i use english more, but finnish is my native language < 1199641124 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :weel orejan < 1199641127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess we did < 1199641133 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has read that the only native word starting with in norwegian is "p" < 1199641145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Afrikaans = 90% Duthc + 5% English + 5%Randomness < 1199641146 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*with p, sheesh < 1199641149 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :starting with? :D < 1199641150 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*Dutch < 1199641150 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199641153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what :o < 1199641161 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1199641165 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's sick :D < 1199641176 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1199641182 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because every time you learn a rule < 1199641194 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there are more exceptions then are things that confomr :( < 1199641197 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*conform < 1199641235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all i know about dutch is from porn < 1199641238 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, just like english then :D < 1199641250 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ahahahahaah < 1199641256 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and to orejan < 1199641258 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :too true < 1199641263 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :took me years to learn English < 1199641267 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they make very sucky erotic comedies. < 1199641273 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199641291 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll take it you're the expert < 1199641294 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol < 1199641309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't really think of anything funnier than an ugly guy having sex with three girls in fast motion with carneval music on the background :) < 1199641320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :expert? < 1199641323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in porn? < 1199641323 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, true < 1199641331 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, well Dutch pron that is < 1199641341 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :typo? < 1199641342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, well probably any kind < 1199641346 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199641348 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I see < 1199641363 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/2006_Esolang_Contest < 1199641368 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Holy Guacamole < 1199641377 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there is no way 3/4 of the Esolangs out ther < 1199641385 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can do any of "The Tasks" < 1199641394 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :someone weas on something real good :) < 1199641396 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*waz < 1199641398 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*was < 1199641400 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*blah < 1199641438 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh they _can_, if they're turing complete < 1199641453 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :treu, but you know what I meant < 1199641459 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what I meant is: < 1199641475 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, _someone_ wrote a mandelbrot generator in bf... < 1199641483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199641485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :No single human (or multiple humans) has/have the capacity to concentrate for a long enough period of time < 1199641493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true. < 1199641494 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I saw that < 1199641507 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :It's not hard really < 1199641512 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :at least the maths part < 1199641512 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :nonsense. first, write the program for a turing machine, secondly, implement the turing machine in language of choice < 1199641517 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I did one in ruby easily < 1199641526 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199641528 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fin < 1199641530 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*fine < 1199641532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :timotiis: now that you put it that way, can't think of anything simpler. < 1199641533 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the house wins < 1199641571 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as i recall, a mandelbrot in basic was one of the first programs i ever wrote, long long ago < 1199641575 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is Pikhq the resident Brainfuck god? < 1199641583 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dbc is, i think. < 1199641589 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199641614 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pikhq is the author of pebble, i'm assuming he owns at brainfuck, although i don't know what he's done with it < 1199641624 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Cool' < 1199641629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, i know he's said "brainfuck is easy once you've used it a bit" < 1199641636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not in those words, but something along those line < 1199641636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :s < 1199641644 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199641650 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Lunacy I tell you :P < 1199641655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199641657 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/OXHki823.html < 1199641660 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there we are < 1199641661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it's true, it's not that hard ;) < 1199641663 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the madelbrot set < 1199641665 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in Ruby < 1199641668 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :my own script < 1199641670 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :very easy < 1199641671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm i think the uuencode task might be the simplest... < 1199641680 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1199641684 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :im not sure though < 1199641693 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sed is definitely difficult < 1199641699 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in non-stringy languages < 1199642120 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wise man once say: "Mandelbrot Set make IRC silent, Phoenix set make noise" < 1199642176 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what is the Phoenix set? < 1199642188 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its alos an infintely repeating set < 1199642191 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199642194 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a fractal too < 1199642198 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :let me get the link < 1199642286 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://www.jamesh.id.au/fractals/mandel/Phoenix.html < 1199642434 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aye < 1199642448 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not pretty, hence it makes noise :P < 1199642566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :interesting note: "aye" means "no" in finnish < 1199642572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although it's written "ei" < 1199642576 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199642581 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I learnt some finnish < 1199642584 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199642589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :interesting note: "aye" means "egg" in german, although it's spelled "ei" < 1199642589 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is yes? < 1199642591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also < 1199642596 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ei har jeg hrt slikt < 1199642604 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh, and some german < 1199642617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not pronounced the same, i failed :) < 1199642624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"yes" is "kyllä" < 1199642630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :pronounced? < 1199642632 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. ei means "not" in norwegian, although it's a bit rare) < 1199642642 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wicked < 1199642659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: i'm not sure how to type how it's pronounced in finnish in english... < 1199642671 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, no problem < 1199642681 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"ej" in swedish. < 1199642706 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1199642707 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199642718 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I won't remmeber half of these, but cool nonetheless < 1199642725 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*remember < 1199642740 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"kule" pronounced a bit like "dune" and then "la" as in the beginning of "lag" < 1199642750 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kule la < 1199642759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :very bad explanation :) < 1199642780 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it though :) < 1199642826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can't really explain the exact pronunciation like that, since everything is pronounced a bit differently < 1199642830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's close < 1199642842 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool, thanks nonetheless < 1199642844 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anywhodel < 1199642845 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1199642847 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :supper < 1199642855 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, not right back but hey < 1199643524 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0x20FF33 < 1199643548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :2162483 < 1199644114 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, toffee < 1199644117 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0x20FF33 < 1199644220 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :back < 1199644544 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199644706 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I've done a small amount of things in Brainfuck, yes. < 1199644707 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199644814 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you yourself have said dbc is the guru, i think. this is why i had no trouble putting him above you in the brainfuck-capability meter i have in my head < 1199644836 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used to be pretty good myself.. < 1199644839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1199644855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a million years ago, when i was able to program in other languages than python.- < 1199644906 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I caught Eso-fever < 1199644909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199644912 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1199644930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I already want to make a new language, and I haven't even named the current one :( < 1199644935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199645073 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Doctor, is it curable? < 1199645723 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1199645733 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :However, with longterm treatment, it can be managed. < 1199645745 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(side effects include severe geekiness_ < 1199645746 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :) < 1199645907 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199645913 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :er.. I mean :( < 1199646012 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Alright, I need some _community_ (winces) suggestions for a name for my esolang so that I can write an interpreter and not feel guilty about thinking about my next one < 1199646026 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its the funky obfuscated one < 1199646056 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :where helloworld is : {{>>~~~~{-<}~~~~~~~~~{-<-<}<<}:{>>{~~~~~~~~{<}~{>}}<<}\ ~>{{~{v}}>>>v{~}^<<<}/(<<<){[<<]}:>:{>>{~~~~~~~~{<<}~{>>}}<<}\ ~{>>{vvvvvvvv~~~~~~~~~~~~~~~}<<}~{>>{vvvv~~~~~~~~~~~~~}<<}~ {>>{^^^^^^^^^^~}<<}~{>>{v~~~~~~~{{<<}~}v{~}vvvvvvv{~{>>}}^^^^^^~~~ {{<<}~}vvvv{~{>>}}v~~~}<<}~<{{^^^}}~{>>{vvvvvv~{{<<}~{>>}}^^^^^^^~~~~~~~~~~~{{<<}~{v>}}^^^^^^}}/{{()}}{[<<<<]}:>:{{~v}}\} < 1199646080 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and outputting T using Fibonacci is: {{>>}~~~~~~~~~~~{{-<~}<<} /{{(<){[<<]}}}:>:~{>>{<<}}~{<<{>>~<<}>>}~{<<{>>}}\{>>v}~{^}~~~~~{<}~ {<{~}v>}~} < 1199646141 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if ever anyone will respond, appropriately < 1199646244 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. . . < 1199646393 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Phlegethon. < 1199646405 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Nice name, does it mean anything? < 1199646431 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's the outer ring of the 7th level of hell in /The Divine Comedy/. < 1199646444 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199646444 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The naming, obviously, inspired by Malbolge. < 1199646453 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I see :) < 1199646469 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though this is actually _possible_ to programme in, well just < 1199646487 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199646489 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199646499 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in the absence of any other suggestions < 1199646502 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I will say < 1199646508 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I Like :) < 1199646508 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The 7th level of hell is reserved for those violent against people and property. < 1199646514 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it will now be processed < 1199646518 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which you will be after coding in that. :p < 1199646529 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol :P < 1199646531 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Nice < 1199646552 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(Even though in my religion, there is no hell, but hey ;) ) < 1199646563 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Plegethon < 1199646569 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it has a nice ring to it < 1199646600 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION contemplates naming it Plegethon 2, to suggest some kind of advancement < 1199646781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps though < 1199646792 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :something less...er for the lack of a better word, evil < 1199646847 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like Fluffy Bunny Esolang :P < 1199647151 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Generic evil: Inferno. < 1199647264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like < 1199647276 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I dub the language Inferno < 1199647292 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for no apparent reason too ;) < 1199648009 0 :oerjan!unknown@unknown.invalid QUIT :"Coffee" < 1199648890 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exists, hiato < 1199648921 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :inferno exists? or call it exists. I'm confused... < 1199648938 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a language named that exists < 1199648942 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1199648944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well an os named that with a language called limbo < 1199648947 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but yeah :P < 1199648951 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, undo the dub process < 1199648966 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, I think I even heard of it < 1199648967 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199648980 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :plan9-related < 1199648983 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks ehird1 < 1199648986 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199648990 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's right < 1199648992 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :bell labs < 1199648992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ehird` < 1199648993 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199648998 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woops < 1199649000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :typos < 1199649001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Limbo_programming_language quite clean code actually < 1199649001 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1199649002 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199649049 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, so any suggestion s for a new name? < 1199650117 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what about Citizen II < 1199650118 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199650180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn < 1199650191 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :name for the language LEMON that's all for now < 1199650204 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I dpnt speak fruit < 1199650208 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*don't < 1199650249 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ehird` : would you so kindly explain what that was about, feel free to decline ;) < 1199650257 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's the name < 1199650262 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for what? < 1199650263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn is what you should call your language < 1199650269 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh I see < 1199650274 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :standing for: "name of the languge LEMON that's all for now" < 1199650315 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :am.. thank you for your.. err.. generous contribution, we value all of our customers equally, please hold < 1199650318 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199650319 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199650320 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199650321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1199650326 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ok, I see < 1199650342 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I felt inspired too :P < 1199650494 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :come on, esoteric names for esoteric languages < 1199650517 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, I think the LEMON one was a bit too far away from anywhere, really < 1199650522 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't mind changing the name < 1199650529 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but not to that ;) < 1199650570 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually, I quite like just notlLEMON < 1199650587 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in name of the language (is) LEMON < 1199650591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's wicked < 1199650593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199650637 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :give it a mutable name global between each interpreter for it < 1199650641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn is good though < 1199650645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and add a few command to change the name < 1199650649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*commands < 1199650692 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not sure I'm with you oklopol... ehird` the stuff after lemon looks kind of stupid though < 1199650721 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cool though < 1199650730 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199650735 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or rather meh < 1199650782 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather how's about just LEMON < 1199650833 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: not with me as in don't agree that'd be awesome, or didn't understand what i meant? < 1199650845 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :didn't understand < 1199650848 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(a word) < 1199650848 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199650856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what word? < 1199650858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mutable? < 1199650873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, really the whole thing, but yes, mutable < 1199650873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if something is mutable that means you can change it. < 1199650877 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199650892 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so what is the interchangeable global? < 1199650897 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and what should it do < 1199650909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :interchangeable=mutable (methinks) < 1199650965 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind < 1199650989 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean " give it a mutable name global between each interpreter for it" < 1199651219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199651230 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199651254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, that the name of the language could be changed by a primitive in your language. < 1199651254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hah, im not even so sure you knew what you meant :P < 1199651260 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1199651263 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1199651269 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199651273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, it's not nice, but it's an idea :) < 1199651291 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, it is nice, because (I say so :P ) I like it :) < 1199651310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha, well, the problem is it's a bit hard to implement :D < 1199651321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah, you got that right :D < 1199651323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it could change the name on the wiki page xD < 1199651328 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aweomse < 1199651334 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I would need PSOX < 1199651338 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, actually would have to move the page to another location :D < 1199651344 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for SGEO to storm in... < 1199651350 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199651362 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should a language with the new name already exist, it would just give a runtime error. < 1199651364 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok log in->create a page with the template < 1199651370 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and then update the name part < 1199651371 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199651377 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199651384 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199651384 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Runtime error... amm 404 :P < 1199651404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and for starters you can name it The Language That Changes Its Own Name < 1199651417 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199651423 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but then voxelperfect would die < 1199651433 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because everyone would execute progs < 1199651437 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :just for fun < 1199651444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199651447 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to see if "it lives up to its name" < 1199651492 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :currently though, it's LEMON < 1199651498 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :codename, that is < 1199651503 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :until further notice ;) < 1199651543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199651995 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199651996 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no hiato. < 1199652002 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lemon is a parser generator, qutie common < 1199652003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :used by sqlite < 1199652010 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and its accompaning input language < 1199652025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn isn't taken! < 1199652041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd prefer nftlltafn < 1199652047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for nftlLEMONtafn < 1199652209 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199652454 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199652457 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LEMON can stand for: < 1199652475 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Language Eminating Monstrous Ontologies: nftlLEMONtafn < 1199652479 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :To recap: < 1199652492 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn = name of the language LEMON that's all for now < 1199652501 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LEMON = Language Eminating Monstrous Ontologies: nftlLEMONtafn < 1199652507 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's like HURD < 1199652511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but cooler < 1199652584 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1199652588 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you have convinced me < 1199652593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it will be called < 1199652598 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn < 1199652603 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather < 1199652614 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :notlLEMONtafn < 1199652632 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :o=of /= f < 1199652635 0 :Tritonio_!n=Tritonio@150.140.229.93 JOIN :#esoteric < 1199652735 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199652738 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that is not final < 1199652785 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ontology is a study of conceptions of reality and the nature of being. < 1199652787 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :interetsing < 1199652942 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though, if LEMON is taken, perhaps it would be better not to have it form part of the name < 1199652975 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :hello everyone and happy new year! < 1199652997 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello Tritonio < 1199653006 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and happy new year to you to < 1199653010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: happy easter! < 1199653022 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(even though today is the 6th for me :P ) < 1199653031 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :happy new easter! < 1199653113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: you see Tritonio_ lives a few trips around the world away from you < 1199653121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he's just celebrating new years' < 1199653129 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D heh < 1199653154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :No way, but hehe anyway < 1199653168 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199653420 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what about this for the name: < 1199653421 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :TEPLTIAOAUHAUA (The Esoteric Programming Language That Is Absurdly Obfuscated And Unfortunately Has An Unpronouncable Acronym) < 1199653442 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :unpronouncable acronym rips on INTERCAL (Language With No Pronouncable Acronym) < 1199653449 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199653456 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :even though I just though of it < 1199653464 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, well, Ill try again < 1199653503 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually (believe it or not) I'm glad ehird` is looking out for these things, otherwise this language would be cheap. Thanks :) < 1199653514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199653536 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Should I go the funky Acronym route? < 1199653577 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :BLAH (This is not an acronym for the language) < 1199653592 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or BLAH (Not An Acronym For the Language) < 1199653656 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :BLAH (Blatently Lazy Acronym, Hey?) < 1199653835 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :call it: ACRONYM, Recursive (Languge Without Self-Reference In The Name) < 1199654010 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199654033 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :NCTOAN (Nope, Couldn't Think Of A Name) < 1199654033 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :NAMELESS () < 1199654049 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or N/A < 1199654062 0 :Tritonio_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199654082 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :N/A (Not Applicable and Non-Acronym) < 1199654137 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like N/A < 1199654144 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and ACRONYM < 1199654286 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well done ehird` < 1199654293 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Nononono < 1199654294 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACRONYM wins! :D < 1199654295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's < 1199654298 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACRONYM, Recursive < 1199654299 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1199654304 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aww ok then :P < 1199654318 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199654335 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :congratulations and thank you :D :D < 1199654343 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like ACRONYM very much :D < 1199654395 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks ehird` < 1199654396 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199654399 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :"You have a doomsday device? You have a doomsday device and you didn't tell me?" < 1199654402 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :"Frank! Frank, Frank. Boss. Of course I have a doomsday device. What do I look like, a sane person?" < 1199654414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :timotiis: sam hughes!!! < 1199654444 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: congratulations < 1199654453 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :,o/ \o, \o/ < 1199654538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i found him on freenode once < 1199654544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he was away through < 1199654549 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think his nick was rashakil or similar < 1199654642 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199655127 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1199655186 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199655663 0 :Tritonio_!n=Tritonio@150.140.229.170 JOIN :#esoteric < 1199655674 0 :Tritonio_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199656136 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199656523 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like the angle of incidence 1l, why was it abandoned < 1199656537 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :don't make me take it onto myself to complete..... < 1199656543 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*upon < 1199657431 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, I finished th spec for 1L_AOI < 1199657541 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/VC26oA18.txt < 1199657723 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Does anybody know Gregor Richards' email address < 1199657730 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I want to contact him < 1199657783 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No idea. But he's in the channel. < 1199657792 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: You paying attention to IRC today? :p < 1199657793 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :GregoR < 1199657797 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, huh < 1199657806 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well GregorR < 1199657823 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I would like you to check out the brief 1L_AOI spec I wrote < 1199657825 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and perhaps < 1199657843 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :give it your blessing and continue the wonderful project that is the 1L language < 1199657879 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :GregorR < 1199657880 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199657884 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1199658169 0 :Aardwolf!n=lode@kotnet-145.kulnet.kuleuven.be JOIN :#esoteric < 1199658485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woops < 1199658491 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :made a mistake in the spec < 1199658546 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it would have been impossible to do anything with < 1199658553 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because of a catch 22 < 1199658608 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you need to be moving down to increase something, but in order to move down, you need to increase something, and the original direction was right < 1199658616 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thus it would have been impossible :P < 1199658618 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fixed now though < 1199658747 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok GregorR and anyone else interested, here is the corrected spec for my idea of 1L_AOI (Angle Of Incidence) < 1199658748 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/VMGMTC23.txt < 1199658830 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199658832 0 :Hiato!unknown@unknown.invalid QUIT :"Leaving." < 1199659024 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199659301 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I should add the i combinator of iota to Lazy Bird. < 1199659308 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :As an archeopterix or something. < 1199659322 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1199659453 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Is the i combinator thusly? ``s``si`ks`kk < 1199659602 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Hm. I'm trying to find a simple lambda form, but I'm not sure there's one beside the definition. < 1199659626 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i = .x.xsk < 1199659635 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, \x.xsk < 1199659654 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but well, I need a form for the string rewriting. < 1199659690 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ^x``xsk -> ``s``si`ks`kk < 1199659695 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which is what you had < 1199659712 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, it seems that ``````...````iabcd...xyz = ````...````askbcdef....xyz < 1199659756 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I could rewrite all occurence of the combinator as ``s``si`ks`kk, but well, I'd rather find a quicker method < 1199659778 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1199659799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well the obvious thing is to rewrite `ix as ``xsk < 1199659834 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, there's that. < 1199659859 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Good enough I guess. < 1199660065 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Although... < 1199660087 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Since it's supposed to be unique, maybe I should switch s and k to their translation. < 1199660157 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :``x`i`i`i`ii`i`i`ii < 1199660196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :problem is, you then need to add rules to recognize the translations. < 1199660233 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, the i combinator will be added to the program itself. < 1199660293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i = ^x``x`i`i`i`ii`i`i`ii is not enough to define it < 1199660299 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The problem is, I'm not sure how it would play out since ``x`i`i`i`ii`i`i`ii uses the combinator itself < 1199660302 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that. < 1199660339 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Ah, iota defines it just as a lambda expression. < 1199660357 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'll just do the ``xsk < 1199660499 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :On another matter, I defined _ as replacing it with the ASCII input with s="```s`k`s``s`ksk``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kkk`kk`k`ki"+s < 1199660508 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :And s=`ki < 1199660520 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :But it is quite slow. < 1199660539 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I think I'll have to finish the table, but so far, I didn't even reached A. < 1199660543 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1199660755 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :table? < 1199660847 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Thusly : http://membres.lycos.fr/bewulf/Russell/Lazy%20Bird/Church%203.txt < 1199660928 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think 23 is too long, surely you can double and add 1 to the 11 version faster than that < 1199661020 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :your + is a bit deceptive i think < 1199661054 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it assumes passing m and n as arguments, but for constructing numbers you would just put them in directly < 1199661108 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's how I use my addition. < 1199661110 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so ``+mn = ^f^x``mf``nfx = ^f``s`k`mf``s`k`nfi < 1199661123 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :In the lambda form < 1199661127 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Easier to enter. < 1199661132 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Just ``+ab < 1199661143 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except then it is useless for constructing short numbers < 1199661151 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :succ *2 11 gives me ``s``s`ksk``s``s`ks``s`k`s`k``s`k``s``s`kski``sb``s``s`ks``s`k`s`k``s`k``sbi``sb``s``s`ks``s`k`s`k``s`k``sbi``sbik`kik`kik`ki < 1199661163 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I use the Lazy K table to construct them. < 1199661196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1199661224 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :After shortening the 23, I get ``sb``s``s`ks``s`k`s`k``s`k``sbi``sb``s``s`ks``s`k`s`k``s`k``sbi``sb``s``s`ks``s`k`s`k``s`k``sbi``sbik`kik`kik`ki < 1199661230 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Which is indeed shorter. < 1199661284 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :And ``23.xi prints the right number of x's. < 1199661322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oklotalk! < 1199661332 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Or simplify to `a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`ax with some dummy combinators. < 1199661529 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1199661555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the most obvious way to make this efficient would be to embed decimal notation... < 1199661622 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would even be possible to define #,0-9 such that ``#102 = church numeral 102 i think < 1199661633 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although your 0 is already taken < 1199661671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :# = church numeral 0, digit d = multiply by 10, add d < 1199661680 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait nonsense < 1199661706 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would have to be written ``201# for that < 1199661709 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :My 0 is already 0. < 1199661717 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's `ki. < 1199661726 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1199661733 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric := `sk < 1199661740 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Also that. < 1199661774 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :(I made a Lazy Bird -> SK translator, in case I want it less readable) < 1199662563 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199662969 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's basically the biggest bf program out there? < 1199662974 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's 2mb lostkng.b right? < 1199663090 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1199663706 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199663774 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is a list of the form ``s``si`k[as many as size f the list - 1]``s``si`k[1]`k[2]`k[3][...]`k[n]? < 1199663777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's an odd shortage of bf->machine code translators < 1199663788 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: i know the lambdacalculus for it < 1199663796 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CONS := \x y z. z x y < 1199663804 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :TRUE := \x y. x < 1199663807 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :FALSE := \x y. y < 1199663814 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CAR := \x. x TRUE < 1199663819 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CDR := \x. x FALSE < 1199663825 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and have NIL := FALSE or similar < 1199663831 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's what I used. < 1199663837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe have NIL := CONS NIL NIL, with the y-combinator < 1199663837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199663841 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's CAR-CDR-NIL? < 1199663885 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I suppose CAR-CDR are the take first-second element < 1199664177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CAR is FIRST < 1199664179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CDR is REST < 1199664183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :NIL is terminator < 1199664192 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Terminator? < 1199664197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :from lisp. the list (a b c) is (a . (b . (c . NIL))) < 1199664203 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(car that-list) -> a < 1199664208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(cdr that-list) -> (b . (c . NIL)) < 1199664226 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where (x . y) is CONS x y of course. < 1199664230 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh, end of the list. < 1199664282 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199664294 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :when talking about cons-pair lists, it's wise to use lisp terminology < 1199664295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1199664317 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yeth. < 1199664380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't know sk very well < 1199664391 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's S = again? < 1199664422 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :\xyz -> xz(yz) < 1199664423 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :S = ^abc.(ac)(bc) < 1199664433 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199664441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty close to CONS < 1199664443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1199664453 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :NIL is ^x.True sez Wikipedia < 1199664460 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :naww, that sounds wrong < 1199664473 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :True or False is an arbitrary choice < 1199664474 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'd make NIL: "cons NIL NIL" < 1199664475 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :CONS is ``s``s`ks``s`k`s`ks``s`k`s`k`si``s`k`s`kkk`kk < 1199664478 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just because that's cool :-) < 1199664485 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: that's not going to work < 1199664490 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why not, oerjan < 1199664493 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :TRUE is the combinator k. < 1199664496 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it means you cannot have NIL as an element of the list < 1199664510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes, it does < 1199664518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, you cannot actually _test_ when you have reached the end < 1199664518 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(NIL . NIL) is a list with just NIL as the element < 1199664526 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok that's the real reason < 1199664527 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that is a good point < 1199664535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :NIL := \x. FALSE < 1199664537 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :seems the best choice to me < 1199664547 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since, i mean, there's nothing "YES", "TRUE" about the end of the list < 1199664548 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1199664565 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it would just be `kk < 1199664575 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's not very yessy. < 1199664604 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's FALSE? < 1199664607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :`SK, no? < 1199664610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, wait < 1199664611 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199664621 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It is actually. < 1199664630 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But us little people prefer `KI < 1199664659 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pff, in my day we didn't have I < 1199664665 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we thought ``SKK was perfectly suitable < 1199664676 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :*ii < 1199664724 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :\x. x < 1199665016 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i should make TRADLISP < 1199665020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :tried to be as much like old lisps as possible! < 1199665026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like LISP 1.0 with extensions < 1199665061 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199665066 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that would be pretty esoteric, nowadays < 1199665088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm, anyone know how LISP 1.0 or 1.5 did pretty-printing of e.g. functions? < 1199665131 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what was that esolang that was an alternative history BASIC again... < 1199665212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :beats me < 1199665224 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i could write all symbols in uppercase < 1199665227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199665231 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and use odd indentation styles < 1199665267 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I could write it in itself, and make it compile to machine code on the fly, for extra silliness < 1199665448 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"If the nazis won WWII, what would BASIC look like?" < 1199665470 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :10 HEIL HITLER < 1199665477 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :20 GAS 10 < 1199665486 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok that was lame :| < 1199665510 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :GOTO AUSCHWITZ < 1199665553 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1199665578 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GOTO AUSCHWITZ < 1199665583 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AUSCHWITZ: < 1199665585 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :REM RETURN < 1199665929 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, http://esoteric.voxelperfect.net/wiki/VENIAL was it < 1199665973 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think the one you just described could be called GODWIN :) < 1199666186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :behold! RETROLISP: http://rafb.net/p/8qu6qQ34.txt < 1199666197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :things to note: ; is the only comment seperator that coders use. < 1199666200 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and no space after it either! < 1199666215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :symbols are ALWAYS in uppercase, just don't even question it (sure, it might work in any case, but just..DON'T) < 1199666222 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also: symbols are bad, mainly. < 1199666227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the repl prompt is a single * < 1199666252 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, MULT vs. TIMES? < 1199666260 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err, yeah < 1199666261 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pick one < 1199666262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199666267 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :old lisp used TIMES < 1199666268 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so i guess that < 1199666277 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and PRINT is not actually used < 1199666283 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's true < 1199666286 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it was when i wrote that comment < 1199666307 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :did old lisp have strings? < 1199666319 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :didn't it just have symbols with some weird way to have special chars in it < 1199666322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :some sort of special form < 1199666342 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(did it even have LIST?) < 1199666422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199666531 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :EXPLODE? or was that prolog < 1199667261 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :probably lisp < 1199667267 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199667277 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :retrolisp is crap, i want an alternate history lisp < 1199667357 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i wonder what's the most low-level fundamental change i can make while still being able to call it 'althistory lisp' < 1199667438 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't use parentheses... < 1199667453 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then it's not lisp < 1199667466 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah but use something equivalent < 1199667507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although that might merely turn it into LOGO < 1199667525 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1199667527 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think parens have to say < 1199667530 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*stay < 1199667536 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(A B C) should be valid < 1199667584 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then... don't use cons cells < 1199667655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what then < 1199667657 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not a vector < 1199667660 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's not elegant :P < 1199667669 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since lisp was originally 100% theoretic < 1199667712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hmph you're being difficult :D < 1199667720 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's think a little less fundamental ;P < 1199667733 0 :Aardwolf!unknown@unknown.invalid QUIT :"Leaving" < 1199667738 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well you could use german... < 1199667760 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1199667764 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199667777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(FUNKZION FAK (N) IST < 1199667802 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1199667816 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :somehow i think i spelled Funkzion wrong < 1199667831 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, naw < 1199667838 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :however < 1199667841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of: < 1199667842 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :; blah < 1199667846 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to have a special form like < 1199667852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(DROP ...) < 1199667855 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which is ignored < 1199667862 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: funktion i think < 1199667862 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :literally ignored < 1199667863 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not a NOP < 1199667868 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but: < 1199667876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"tion" is just pronounced "tzion" < 1199667883 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :literally ignored < 1199667887 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's semantically weird... < 1199667894 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: why :D < 1199667896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as it is in norwegian (swedish-based guess, because i know you love those :)) < 1199667898 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(so is most old lisp) < 1199667905 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :((a b c)) was '(a b c) < 1199667906 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"funksjon" < 1199667907 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in lisp 1.5 < 1199667920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i meant the pronunciation < 1199667947 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, no t sound in it < 1199667957 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :f-u-nk-sj-o-n < 1199667973 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what's "induction" or "penetration"? < 1199667978 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sjon there too? < 1199667989 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :always -sjon < 1199667993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199668001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is surprised < 1199668016 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : < 1199668029 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :latin/french words are heavily regularized < 1199668041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm always surprised i don't know something i had no way to know anyway. < 1199668049 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm, drop is kinda silly i agree :P < 1199668109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just read the last 5 years of maddox, i have to say that man knows his shit < 1199668458 0 :slereah_!n=Test4@ANantes-252-1-47-152.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1199669182 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :who wants to tell me the simplest language with a trivial self-interpreter that isn't the null language and doesn't have a blatant 'eval' < 1199669183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199669254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if it's "trivial" doesn't that amount to having eval... < 1199669878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps he doesn't like the word. < 1199669888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :selfify() < 1199669920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :selfarize < 1199669926 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :selfisticate < 1199669931 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well, less trivial than eval() < 1199669933 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1199669945 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should say: simpl < 1199669946 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :e < 1199670011 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well lisp has a simple self-interpreter, which just happens to be included under the name "eval" < 1199670019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199670025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lisp's self interpreter isn't that simple. < 1199670030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :add the p combinator to unlambda, a combinator that parses an input string as an unlambda program < 1199670040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*function < 1199670084 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :input string would of course be represented as a list of peano numbers or smth, but anywayz < 1199670086 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :asdfdsaf < 1199670177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1199670180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but that's basically eval. < 1199670245 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199670331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: the parser is done in an eval fashion there, yes < 1199670387 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1199672331 0 :ehird`!unknown@unknown.invalid NICK :ehirdsleep < 1199672348 0 :ehirdsleep!unknown@unknown.invalid QUIT : < 1199672432 0 :ehirdsleep!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199679584 0 :lifthrasiir!n=lifthras@haje8.kaist.ac.kr JOIN :#esoteric < 1199680556 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199680572 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to make a factorial function. < 1199680578 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But it doesn't seem to ever stop! < 1199681167 0 :oerjan!unknown@unknown.invalid QUIT :Remote closed the connection < 1199681534 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199683019 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. For a factorial using recursion, would I have to get out the result, the step, and print it if it's the last step and then deleting the recursion? < 1199683026 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With some sort of v combinator < 1199683076 0 :oerjan!unknown@unknown.invalid QUIT :"Lost terminal" < 1199683178 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1199683277 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, so far my attempts at a factorial function never stopped. < 1199684820 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199692799 0 :clog!unknown@unknown.invalid QUIT :ended < 1199692800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199693374 0 :sebbu!n=sebbu@ADijon-152-1-60-116.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199699889 0 :sebbu2!n=sebbu@ADijon-152-1-21-190.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199700325 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199700476 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :One of the Turing paper uses a delta symbol in lambda calculus. < 1199700598 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With { {delta} M } (M) = ^f[^x[{f}({f}(x))]] if M's a combinator and { {delta} M } (N) = ^f[^x[{f}(x)]] if N and M's are and N isn't M. < 1199700609 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Anyone got any idea on the deeper meaning of it? < 1199700648 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Since mister T said "We have not as yet assigned any meanings to our formulaes, and we do not intend to do so in general" < 1199700763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right... < 1199700782 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's an equality testing predicate < 1199700786 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199700800 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a hypothetical one < 1199700813 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. It's impossible to do one with only lambdas? < 1199700823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i assume he later proves it's inconsistent that it exists < 1199700870 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I say "different", I don't mean that you can convert one into the other. < 1199700889 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it is that, but much restricted. Only to alpha conversion. < 1199700895 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i see. < 1199700945 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"If N and M are in normal form, are not transformable into one another by repeated application of (i), and have no free variables" < 1199700950 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok maybe delta M itself is not considered a combinator. ah, it's the usual delta function < 1199700977 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1199700978 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except with result defined as combinators instead of numbers < 1199700996 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, (dM)N can be replaced by the combinator 1 or 2. < 1199700998 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, church numerals < 1199701012 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's the delta function? < 1199701024 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :usually delta_x(y) = 0 if x /= y, 1 otherwise < 1199701025 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or which one, more accurately. < 1199701042 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah, Kronecker delta. < 1199701234 0 :Hiato!n=Administ@dsl-245-40-132.telkomadsl.co.za JOIN :#esoteric < 1199701244 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello all < 1199701257 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :GergorR, are you paying attention today? < 1199701263 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hello sir. < 1199701272 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello Slereah < 1199701289 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Where you on last night with the 1l_AOI spec? < 1199701336 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Depends if you need logs or my memory. < 1199701346 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, well your memory < 1199701352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and then you opinion < 1199701360 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION assumes GregorR is still sleeping. also if you want him to notice you better spell his nick correctly. < 1199701366 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I wasn't there. < 1199701378 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, thanks orejan < 1199701393 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok well Slereah, and possible orejan (if he's interested) < 1199701405 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you know that the 1l spec is incomplete < 1199701408 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :[11:22] [GregorR TIME reply]: Mon Jan 7 02:22:57 < 1199701412 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Prolly sleep. < 1199701416 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1199701440 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anyway, the 1l Angle of Incidence was such a cool idea < 1199701448 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :an esolang with 1 symbol! < 1199701459 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Describe! < 1199701463 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so I couldn't help but complete the spec < 1199701465 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/VMGMTC23.txt < 1199701490 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The only such idea I had was a lazy Gdel numbering of the program < 1199701492 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :essentially, it's like befunge where you ave a command pointer moving though the code < 1199701512 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, :) < 1199701513 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1199701531 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then, depending on whether it passes through or by a + sign < 1199701535 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :various things happen < 1199701552 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if it passes by, it gets deflected if the current cell is non-zero < 1199701552 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Are all programs valid? < 1199701556 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199701565 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and anything not a + is a nop and comment < 1199701577 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if it passes through a plus < 1199701581 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :stuff happens < 1199701591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it is turing complete < 1199701597 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because it is essentially BF < 1199701602 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but way cooler :) < 1199701629 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, and execution halts when the CP pases through the top or right hand edge of the code < 1199701633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*passes < 1199701648 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Do you have a sample program? < 1199701649 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there is no bottom or left edge < 1199701655 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, not < 1199701660 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I am working on one < 1199701669 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm having a hard time reading it. < 1199701673 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's just difficult to see the stuff < 1199701675 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, just use a bunch of +'s! < 1199701681 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199701689 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199701695 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I want to output the letter A < 1199701702 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :just like 1l_a < 1199701707 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or 1l_105 < 1199701716 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but, it will be wasy easier in this one < 1199701722 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as you can just have a line of stuff < 1199701725 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199701729 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1199701732 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I have tennis now < 1199701746 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I will be back in ~1hour 30mins < 1199701753 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Bye. < 1199701754 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and hopefully will show you the prog < 1199701755 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199701761 0 :Hiato!unknown@unknown.invalid QUIT :"Leaving." < 1199708544 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199708548 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1199712211 0 :Hiato!n=Administ@dsl-245-40-132.telkomadsl.co.za JOIN :#esoteric < 1199712224 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm back :) < 1199712242 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Welcome back < 1199712245 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok here we are http://rafb.net/p/e7f7cE36.txt with an example < 1199712247 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks :) < 1199712252 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it outputs "1" < 1199712254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199712262 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I was too lazy to do otherwise < 1199712264 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah, it's 2D! < 1199712271 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199712275 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm somehow disappointed! < 1199712282 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Am.. Ok... < 1199712300 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Do you know what the whole "L" language group is about? < 1199712306 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1199712309 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well < 1199712333 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its attempting to implement BF in a funge like manner using minimal commands < 1199712351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :1 is pretty minimal I guess! < 1199712357 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Aha :D < 1199712368 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :This is why I wanted to show GregorR < 1199712370 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because 2L < 1199712374 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Unless you make some sort of 0 command language. < 1199712379 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :has 3 commands, and 1l_a/105 has 2 < 1199712384 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but mine has 1! < 1199712387 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hah < 1199712389 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But it's hard to make them Turing complete. < 1199712399 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, although this one is < 1199712401 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199712411 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I was talking about 0 commands! < 1199712415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it is trivial to convert any given BF programme into 1l_AOI < 1199712417 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, yes < 1199712423 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be very difficult :P < 1199712445 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :99 has zero instructions, but isn't very TC! < 1199712458 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199712462 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woops, wait < 1199712469 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there is an error in the prog < 1199712470 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meg < 1199712472 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*meh < 1199712481 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :time to fix < 1199712511 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually, it's a problem with the spec < 1199712513 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1199712683 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/wJ5SQL87.txt < 1199712685 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, fixed < 1199712690 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there was another catch 22 < 1199712733 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in order to get to a specific cell, you would have to turn, but in order to turn, that cell would have to be non-zero, and in order for it to be non-zero, you would have to turn :P < 1199712774 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Turn manually! < 1199712783 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Haha :) < 1199712798 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ubuntu arrived! < 1199712799 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1199712803 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :gonna fetch the CD's < 1199712820 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wow, you know Ubuntu himself? < 1199712823 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm impressed! < 1199712918 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hehe, cute :D < 1199712968 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wait < 1199712976 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :why did I order Ubuntu 7.10 < 1199712983 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I wanted Kubuntu :( :( < 1199712985 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1199712990 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I already have ubuntu < 1199712993 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but hey < 1199713002 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I got stickers though, on the plus side :D < 1199713055 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :how do you check someones time, Slereah? < 1199713065 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you did it earlier < 1199713104 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"/time" just gives me the server's time ... < 1199713192 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, right-click on the name, CTCP, time < 1199713192 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :At least on mIRC < 1199713213 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :/ctcp ... TIME possibly < 1199713237 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm nah < 1199713240 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1199713244 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :unknown command for me < 1199713253 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :bets I get is "/time" < 1199713257 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*best < 1199713269 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't have /ctcp ? < 1199713277 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nope, not in pidgin < 1199713285 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199713286 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Unknown command. < 1199713312 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :can you insert ^A control chars in your messages? < 1199713334 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not sure what that means < 1199713339 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :^A < 1199713350 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm.... that didn't work < 1199713352 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ascii code 1 < 1199713362 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha, let me see < 1199713370 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nope, no ASCII code's allowed for me < 1199713372 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although your client did not respond to my /ctcp time ... < 1199713437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :can you at least do /me commands? not that it helps with this < 1199713450 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks he can < 1199713455 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1199713479 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what happens if you press ctrl-V ctrl-A ? < 1199713503 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in paste, select all? < 1199713509 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tests < 1199713519 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :did that come out as an action? < 1199713528 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(3:45:32 PM) ***oerjan tests < 1199713566 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well if it actually does paste and select all then it's not what i mean < 1199713583 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yep, well that's what happens ;) < 1199713585 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in my client ^V^A inserts a ^A control < 1199713602 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nope, sorry, which client are you using? < 1199713607 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :irssi < 1199713610 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :terminal based < 1199713614 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(Pidgin is kinda incomplete) < 1199713618 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199713622 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199713633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :maybe I should move to miranda or something < 1199713636 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh, effort < 1199713658 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you could insert ^A characters then you could /msg someone ^ATIME^A < 1199713662 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because I need Gtalk + MSN + IRC < 1199713679 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although possibly you would not see the response < 1199713698 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm, did you get something? < 1199713708 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not from you < 1199713713 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, well < 1199713718 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but Slereah's client responded < 1199713720 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I tryd /msg oerjan TIME < 1199713727 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok well < 1199713735 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll get Miranda now < 1199713735 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no i did not see that but i don't think i'm supposed to < 1199713746 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199713749 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, well I didn't see anything either < 1199713760 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :without ctrl chars? < 1199713765 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1199713773 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you are not registered < 1199713782 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :registered in what < 1199713790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :only registered nicks can send private messages on freenode < 1199713806 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha, well, I can send them to myself < 1199713811 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :do I need to register? < 1199713816 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather should I? < 1199713848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it has advantages < 1199713857 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :does it cost? < 1199713867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sending private messages, keeping others from using your nick < 1199713870 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199713878 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool, then I'll register < 1199713883 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's an automated thing < 1199713890 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199713915 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :how do I initiate it? < 1199713919 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although if your client is primitive you may have to send the password manually when you log on < 1199713930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1199713934 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, miranda is way better < 1199713939 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you send messages to nickserv < 1199713957 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :start with help i guess < 1199713962 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, sure < 1199713972 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, and check the freenode webpage perhaps < 1199713991 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it has some tips on this < 1199713991 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1199714001 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, im gonna log out, and come back in ith miranda < 1199714005 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199714006 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather brb < 1199714008 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199714306 0 :Hiato!n=Miranda@dsl-245-40-132.telkomadsl.co.za JOIN :#esoteric < 1199714312 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Im back < 1199714314 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1199714316 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199714328 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is it awesome now? < 1199714339 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, Miranda is way Cooler :D < 1199714354 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :/time < 1199714358 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :\time < 1199714366 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Meh, I cant do either now < 1199714368 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :|time < 1199714371 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :_time < 1199714374 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :-time < 1199714376 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders if /me will work < 1199714380 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :