< 1198281757 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1198281793 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198281797 0 :puzzlet__!unknown@unknown.invalid QUIT :Connection timed out < 1198282135 0 :puzzlet__!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198282547 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1198282822 0 :puzzlet!unknown@unknown.invalid QUIT :Connection timed out < 1198282931 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1198283251 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198283251 0 :puzzlet__!unknown@unknown.invalid QUIT :Remote closed the connection < 1198284149 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1198284149 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198284696 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1198284793 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198284942 0 :bsmntbombdood!n=gavin@75-166-162-55.hlrn.qwest.net JOIN :#esoteric < 1198285865 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1198285865 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198286394 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198287255 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1198287922 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: have you got a rough oklotalk spec yet? < 1198287927 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want to implement it sometime < 1198288158 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1198288165 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198288659 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1198288659 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198289116 0 :ehird`!unknown@unknown.invalid QUIT :Remote closed the connection < 1198289149 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198289251 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1198289594 0 :RodgerTheGreat!n=Rodger@71.238.189.137 JOIN :#esoteric < 1198291475 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1198292167 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :s = ((s ((s (k s)) ((s (k k)) ((s (k s)) ((s ((s (k s)) ((s (k k)) i))) (k i)))))) (k ((s ((s (k s)) ((s (k k)) i))) (k i)))) < 1198292233 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :cause I was always typing it out longhand before I realised.... < 1198292235 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1198292272 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or: s = s < 1198292346 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :\x y z w -> ((x y) (z w)) = ((s ((s (k s)) ((s (k (s (k s)))) ((s (k (s (k k)))) ((s (k (s (k s)))) ((s (k (s (k k)))) ((s ((s (k s)) ((s (k k)) i))) (k i)))))))) (k (k ((s ((s (k s)) ((s (k k)) i))) (k i))))) < 1198292362 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric : I wonder why thi thing prints out such long expressions though.. < 1198292428 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's automated. < 1198292440 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Simplify what you can. ;) < 1198292478 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. SKKI? s k k i -> k i (k k) -> i < 1198292513 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1198292555 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :if I have a list of combinators, and an expression made from those combinators.. I should be able to automatically generate some optimization rules I think < 1198292635 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :that would be hard :S < 1198292650 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's called 'eval'. < 1198292658 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1198292661 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :damn.. you're right < 1198292673 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of combining the types together and seraching for reduced version < 1198294353 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1198294359 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :\x y z w -> ``xy`zw. Apply a simple rule and that's reduced to \x y z -> ``s`xyz. Apply another one and it's reduced to \x y -> `s`xy. Another and it becomes \x -> ``s`ksx. One more and it becomes `s`ks. < 1198294376 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It's quite obvious that you have room for improvement. < 1198294438 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :\x y z -> ``xz`yz can become \x y -> ``sxy can become \x -> `sx can become s. \x y -> x can become `ky can become k. < 1198294453 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Moral of the story: \x -> `fx is the same as f. :-) < 1198294473 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :(Assuming f doesn't contain x, obviously.) < 1198296091 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1198297739 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1198301928 0 :RodgerTheGreat!n=RodgerTh@71.238.189.137 JOIN :#esoteric < 1198302058 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Hm. Well, Pidgin is interesting. < 1198302078 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :not exactly my ideal vision of an IRC client, but hey < 1198302091 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I need to install XChat on this thing < 1198302216 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'd prefer irssi, but yeah, Pidgin is not the greatest at IRC. < 1198302247 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm mainly just giving it a spin because it was already here < 1198302317 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, cya- I think I'm going to turn in. < 1198302337 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :"Leaving." < 1198303236 0 :Sgeo!unknown@unknown.invalid QUIT :Connection reset by peer < 1198307634 0 :weilawei!unknown@unknown.invalid QUIT :Nick collision from services. < 1198310399 0 :clog!unknown@unknown.invalid QUIT :ended < 1198310400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1198318948 0 :asiekierka!n=asiekier@nat-1.elb.vectranet.pl JOIN :#esoteric < 1198318954 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1198319632 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1198320381 0 :jix!n=jix@dyndsl-085-016-234-031.ewe-ip-backbone.de JOIN :#esoteric < 1198321654 0 :oklopol!unknown@unknown.invalid QUIT :Remote closed the connection < 1198321912 0 :ololobot__!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1198321913 0 :ololobot_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1198321941 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1198322497 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1198322504 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1198329053 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Is there a way to reduce a combinator expression without using a dummy variable to test the expression? < 1198329212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :isn't that an undecidable problem in general? < 1198329234 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'm not even talking in general. < 1198329245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm just asking in general < 1198329261 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :I think it is, yes. < 1198329275 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :I gives a contradiction with the omega combinator IIRC < 1198329278 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :it* < 1198329379 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :I tried to reduce them abstractions of ^ab.a, and ended up on (S(KK))I. < 1198329419 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Which gives Kx when applied to some combinator x, but well < 1198329655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it's K < 1198329657 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...right? < 1198329677 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Well, for ^ab.a, I hope so. < 1198329695 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Just wondered if there was a way to do it without applyin it. < 1198329732 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :eta reduction < 1198329742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a function is how it behaves < 1198329761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :applying is just a way to see how it behaves < 1198329795 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :'kay. < 1198329812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :errr don't think i actually know anything < 1198329832 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's just how i see it < 1198329855 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Let's just see if someone comes up with another answer! < 1198329868 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :In the next... three or four hours, considering the rythm of this chan. < 1198329914 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Dealing with free variables is alrerady bothersome, but if I also have to apply the result... < 1198332377 0 :RedDak!n=dak@host247-81-dynamic.10-87-r.retail.telecomitalia.it JOIN :#esoteric < 1198332920 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1198333264 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1198333410 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lo < 1198333568 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Slereah-: My thought was, you have a tree of combinators... typecheck branches of it -- if they're a combinator you know already you can replace it < 1198333632 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :e.g. when you see a branch with ((s ((s (k s)) ((s (k k)) ((s (k s)) ((s ((s (k s)) ((s (k k)) i))) (k i)))))) (k ((s ((s (k s)) ((s (k k)) i))) (k i)))) in it -- which has type (a -> b -> c) -> (a -> b) -> a -> c, just replace it with s < 1198333652 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :then I think I just coded the algorithm the wrong way around :S < 1198333923 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1198333983 0 :andreou!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1198335779 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure what you mean by "typecheck". < 1198335853 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :you know what type s is and k, so you can tell what type is (s k) (k s) (s (s k)) .. etc < 1198335866 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I didn't try to code though < 1198335886 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Type? < 1198335890 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but I thought inspecting the types should give a way to reduce the expressions < 1198335904 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :i :: a -> a < 1198335919 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :s :: (a -> b -> c) -> (a -> b) -> a -> c < 1198335926 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1198335930 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :k :: a -> b -> a < 1198335991 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Would the type checking involve testing the combinators on some x-y-z combinators? < 1198336014 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(s (s (s (s k)))) :: ((((a -> b) -> a) -> a -> b) -> (a -> b) -> a) -> (((a -> b) -> a) -> a -> b) -> a < 1198336135 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :well if you have (k s), you let a = (a' -> b' -> c') -> (a' -> b') -> a' -> c' in a -> b -> a and remove the first thing since one application was done.. to get b -> (a' -> b' -> c') -> (a' -> b') -> a' -> c' < 1198336179 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking it would be possible to reduce by, taking the type of every branch of the tree of combinators.. and seraching for types you already know < 1198336211 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but it would be better probably to just generated reduces expressions in the first place (I don't know why the algorithm on wikipedia doesn't) < 1198336272 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::t let k x y = x ; s x y z = (x z) (y z) ; i x = x in (s k) -- I was checking the combinators output with this < 1198336292 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :I tried to search for some moar, but apparently abstractino reduction isn't popular on the interweb. < 1198336321 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :pikhq suggested eval < 1198336330 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but I didn't realize expressions can diverge :p < 1198336347 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :ACTION seems to lack some jargon < 1198336354 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so it might work for simplifying somethings, just evaling things which make it shorter < 1198336412 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1198336422 0 :jix!n=jix@dyndsl-080-228-184-192.ewe-ip-backbone.de JOIN :#esoteric < 1198336451 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(((s i) i) ((s i) i)) -- diverges < 1198336466 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :it is an infinite loop < 1198336491 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Why yes, yes they are. < 1198336497 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :It's the omega combinator. < 1198337784 0 :sebbu2!n=sebbu@ADijon-152-1-66-118.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1198338256 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1198338257 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1198338441 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1198339932 0 :andreou!i=ee4299@nemesis.ee.teiath.gr JOIN :#esoteric < 1198341344 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cheers < 1198341365 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: It appears that I have won the game, and may well earn the title 'Scamster'. < 1198341389 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1198341421 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Points are a currency. Currencies can be created by their recordkeepor, unless the backing document for the currency says otherwise. < 1198341428 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I am the recordkeepor of points. < 1198341474 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, I just say "I create 100 points in my posession. I win the game." < 1198341475 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Voila. < 1198341517 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Also, I have earned the patent title 'Agoran Spy'. Tell me, is there anything here to spy on? < 1198341530 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;p < 1198341537 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I could tell you, but then I would have to kill you. < 1198341567 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LMAO < 1198341585 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I see that you've been playing Paranomic. < 1198341593 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i did? < 1198341600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't quite remember < 1198341612 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Paranomic XP is a recently formed Nomic. . . < 1198341620 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Proposals have a security clearance. < 1198341625 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so i haven't. < 1198341635 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You need to have that security clearance to be aware of it existing, much less to vote on it. < 1198341644 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i did however play Blind Nomic. That was fun. < 1198341650 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, the phrase "I could tell you, but then I would have to kill you." is entirely true. < 1198341695 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately it disappeared... < 1198342377 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, Christmas break. . . A wonderful time of year. < 1198346714 0 :asiekierka!unknown@unknown.invalid QUIT : < 1198349534 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: If you reduce the outermost combinator first you are guaranted to reach an answer if tyhere is one < 1198349550 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It is equivalent to "lazy evaluation" in proagramming languages < 1198349607 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Actually, combbinators are a bit like pure OO < 1198349627 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :instead of "All you can do is send a message", you have "All you can do is calll it" < 1198349652 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :OO? < 1198349660 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Object orientation < 1198349678 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you can't test for equality, you have to pass in things that tel it what to do in various cases < 1198349771 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg03277.html < 1198352078 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1198353009 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1198355028 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1198357145 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Hm. What's the shortest way to make a nor out of nands? < 1198357171 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :I got ((P|P)|(Q|Q))|((P|P)|(Q|Q)) so far. < 1198358387 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1198359073 0 :RedDak!n=dak@host11-82-dynamic.18-79-r.retail.telecomitalia.it JOIN :#esoteric < 1198363327 0 :Slereah!n=Test4@81.53.108.180 JOIN :#esoteric < 1198363984 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1198364854 0 :Slereah-!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out)