< 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