00:05:04 -!- tesseracter__ has changed nick to tesseracter. 00:45:16 Heh. Explaining lambda calculus is a hard task. 00:48:13 It's remarkably easier when one can assume an understanding of functions. 00:49:26 "Alright, you have functions, right?" "Right." "You just pass those around. That's your entire semantic setup." "Whoa. . ." 01:03:09 . 01:06:37 Slereah: i was most confused by the FoG syntax. F(G(x)) is sooooo much simpler 01:07:15 math dudes have so many symbols. 01:07:49 errr yeagh. 01:07:54 i learned 4 notations for boolean logic, thats just insane. 01:08:12 FoG, of course, doesn't mean the same as F(G(x)). 01:08:36 * oerjan had a secret idea of trying to sneak in a couple :-) :-( smileys as dual operators in a math paper 01:08:36 lament, GoF or FoG....its been a while. 01:08:42 it means the same as lambda x -> F(G(x)), which is rather painful to write out. 01:08:53 and it introduces an unnecessary symbol. 01:09:44 oerjan: i think i did those in C at one point... 01:10:45 hm, :-> and :-< would work in haskell 01:11:15 or maybe it was :- as a post operation and a function, so :-(x, y:-) 01:13:20 (-: "only" )-: "joking" 01:13:42 i've got to try that in lambdabot 01:13:51 heh. 01:14:25 if i can find a way to make it well-typed 01:16:31 hm needs polymorphism at least 01:20:57 oerjan, if you get that in a math paper, I will worship you. 01:20:59 (more) 01:21:01 :p 01:30:52 Well, lambda calculus doesn't have FoG as far as I know: 01:31:12 It's just fg or `fg, unlambda style. 01:34:45 But the hard part is explaining the lambda itself, it seems. 01:38:25 * Slereah tried to do some Unlambda loop 01:38:32 ```sii``s`k`.xi``sii 01:38:37 I get stack overflow. 01:42:17 What be the problem? 01:42:23 hm 01:43:31 Well, after printing one x, the C stack overflow, that is. 01:43:46 -> ``i``s`k`.xi``sii`i``s`k`.xi``sii 01:44:46 Why can't the doubling be just a SII? 01:46:17 -> ```s`k`.xi``sii`i``s`k`.xi``sii -> ```k`.xi`i``s`k`.xi``sii```sii`i``s`k`.xi``sii 01:46:26 argh 01:46:43 I do it on paper with parenthesis. Less strain on the brain. 01:46:55 The thing was : 01:47:08 (SII)(S(K(.xi))(SII)) 01:47:17 (S(K(.xi))(SII))(S(K(.xi))(SII)) 01:47:44 [(K(.xi))(S(K(.xi))(SII))][(SII)(S(K(.xi))(SII))] 01:47:56 (.xi)[(SII)(S(K(.xi))(SII))] 01:48:06 And then back to (SII)(S(K(.xi))(SII)) 01:48:24 But with a bonus x on the screen. 01:48:59 But it seems to overflow my stack or something. 01:49:20 um how fast are you removing the I's? 01:49:52 Wut? 01:50:08 you ignored the I's 01:50:26 I((S(K(.xi))(SII))I(S(K(.xi))(SII)) 01:50:27 Let me redo that. 01:50:43 er no 01:50:56 Oh, that. 01:51:09 Well, I apply SII as ^x.xx 01:51:12 Faster to do. 01:51:33 how does a turing machine stack overflow anyway? 01:51:40 or is this something else? 01:51:43 That's on your interpreter. 01:52:08 The Turing (or Love) machine (9000) is right now resting. 01:52:16 mine? which one? 01:52:21 Haskell one. 01:52:25 oh 01:52:27 On them winhugs. 01:52:41 oh dear 01:53:46 The Love Machine cannot stack overflow. Maybe tape-overflow, but well. 01:56:17 argh! why oh why can't winhugs paste into a running program :( 01:57:49 Well, it's only 20 chars. 01:58:16 ` is horrible to type on a norwegian keyboard :( 01:59:00 It is particularly annoying to type on Winhugs, because you have to type ` + space, or it crashes. 01:59:48 hm where is it on an english keyboard? 01:59:58 I don't have an english keyboard. 01:59:59 oerjan, seeing the Norwegian keyboard layout, that is not my idea of a keyboard that's good for coding. . . 02:00:16 On the US QWERTY keyboard, ` is to the right of 1. 02:00:19 s/right/left/ 02:00:34 ah 02:00:40 * Slereah has : http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Azerty_fr.svg/800px-Azerty_fr.svg.png 02:00:50 ` is alt + 7 02:01:50 Single keystroke here. w00ts. 02:02:13 shift-\ space here 02:02:16 Granted, the US keyboard layout is kinda handy for most coding, since the most you'll have to do is hit shift. 02:02:26 I wonder why keyboards still have keys that have no longer any purpose. 02:02:33 At least not that often. 02:02:39 (unless you decide to use US international, which has deadkeys) 02:02:54 Like pause, inser or num lock 02:03:16 Num lock changes the behavior of the number bad. 02:03:16 oh now wait 02:03:29 Yes it does. But does anyone use it? 02:03:31 we were doing lazy evaluation 02:03:35 Some people do. 02:03:51 I don't even touch the number pad, so. . . ;) 02:03:58 Last time I used it, I think it was for Civilisation 2. 02:04:09 Because the diagonal arrows were somehow useful. 02:04:57 the numpad makes no sense, who in their right mind would want to write numbers with right hand only 02:05:06 unless left-handed of course 02:05:21 i should get a leftie keyboard 02:05:57 ah, the C interpreter doesn't print more than one either :) 02:06:05 oerjan : Does the interpreter change (SII)(S(K(.xi))(SII)) in (SII)(S(KI)(SII)) directly. 02:06:19 unlambda is a strict language 02:06:21 Or something similar, that is. 02:06:28 it evaluates arguments first 02:06:51 the `.xi is only evaluated once 02:07:11 although i am still disappointed haskell stack overflows, a bit :( 02:07:21 That's why I copied it via some fixpoint combinator. 02:07:33 But apparently, not good enough! 02:09:03 -!- Jontte has quit ("Konversation terminated!"). 02:10:05 try adding `d before `k 02:11:20 hmph, it eventually stack overflows then too 02:11:33 but at least it prints x'es galore 02:13:38 Ah yes! 02:14:01 Was it because the interpreter evaluated the (.xi) inside the expression first? 02:14:06 right 02:14:43 Is the non-lazy evaluation done for optimisation purpose? 02:15:09 only madore knows :) 02:15:39 Damn him! 02:15:42 but strict is usually more efficient than lazy 02:16:11 when naively implemented at least 02:16:20 oh one more thing 02:16:47 continuations depend on strictness 02:19:13 I wonder if I could make some sort of lazy unlambda. 02:19:41 Well, on something else than the Love Machine 9000. 02:19:51 you know about Lazy K, right? 02:19:54 It puts a strain on my good mood, with all those chars. 02:20:02 Yes, but Lazy K has horrible I/O 02:20:16 so does unlambda, I at least 02:21:09 What would be a good input for a purely functional language? 02:21:39 heh 02:22:04 lazy K's basic idea (stream -> stream function) is pretty neat 02:22:53 The only output I ever got from Lazy K was more combinators. I don't know if it's because that's supposed to be or because I don't know how to use it. 02:22:59 (neat enough that haskell as an interact function which uses it) 02:23:19 you wrote your own interpreter? 02:23:44 No. 02:24:01 weird maybe it has different modes of running 02:24:12 Or I just don't know how to use it. 02:24:31 i mean, you actually got it to print combinators? 02:25:11 If it surprises you, I doubt it. 02:26:41 I think what I got was the Scheme - Lazy K translator and the program never was interpreted. 02:27:05 aha 02:29:40 Is the interpreter only available as the C++ one and the .exe one? 02:30:09 i don't recall 02:30:56 If so, that would explain it. I never got them working. 02:56:35 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 02:56:40 -!- puzzlet has joined. 03:07:15 -!- wooby has quit (Read error: 104 (Connection reset by peer)). 03:14:02 * Slereah made some sort of minimalist lazy Unlambda on Python. 03:14:48 I get my gallore of x's, but apparently the expression keeps increasing in size. 03:14:58 `i's all over the place. 03:16:29 Something like this : http://membres.lycos.fr/bewulf/Russell/Loop.txt 03:17:55 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 03:18:00 -!- puzzlet has joined. 03:37:19 When it is said that SKK is equivalent to I, isn't it actually SK[any combinator]? 03:37:29 yeah 03:37:45 Good. Makes abstraction elimination easier. 03:38:34 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 03:38:51 no tail for bsmnt 03:39:31 Or does it? 03:39:33 Damn. 03:39:52 in actual unlambda there is a bit restriction, SKxy = Ky(xy) so x must be something which has no effect when evaluated or applied 03:40:19 Well, since I'm doing it lazy style, no problem 03:40:37 Although I'm not sure it works perfectly. 03:40:52 When I try actual Unlambda programs, I get errors. 03:41:24 actual unlambda programs usually depend on strictness 03:41:44 Well, I would expect screwed up text display. 03:41:48 But not errors. 03:42:07 hm errors? 03:42:33 * pikhq wonders why Unlambda assumes strictness 03:42:53 Index out of range, mostly. 03:43:19 http://membres.lycos.fr/bewulf/Russell/Lazylambda.py 03:43:28 I think it's linked to the argument checker. 03:45:33 you might write a test that the program remains well-formed at eah step... 03:45:41 *each 03:46:53 Well, right now I'm mostly trying some simple programs with the lambda expressions displayd at each step. 03:47:18 -!- puzzlet has quit (Remote closed the connection). 03:47:27 -!- puzzlet has joined. 03:47:29 i can see that you would get index out of range if the first primitve is applied to too few parameters 03:48:17 Probably. I tried to avoid that, but I guess I'll just have to check manually. 03:49:08 ah yes you have a check for single remaining primitve 03:49:21 *primitive 03:49:29 Well, that's only to stop the program. 03:49:48 I was referring to the if k == len(lambexp) : and such 03:50:23 Well, so far s and k with few arguments work 03:50:32 um, i am referring to index out of bounds < 0 03:51:12 Wut? 03:51:51 `ki e.g. will crash at lambexp[i-2]=="`": 03:52:32 `ki doesn't crash. 03:52:45 Heh. ```sii``sii has the expected effect! 03:53:13 I should make a combinator for SII that doesn't leave `i's everywhere. 03:53:13 oh wait you continue at ` 03:53:50 Lazy evaluation make that sort of loop hard on the memory 03:55:01 hm wait 03:55:11 how is it possible that `ki does not crash? 03:55:27 * oerjan doesn't have python 03:56:10 `ki doesn't have the required ``, so it doesn't transform into anything. 03:56:20 It just remains `ki forever. 03:56:26 er i mean the test for `` crashes it 03:56:49 that's my point 03:57:00 sleeps -> 03:57:08 What's the problem in that? 03:57:41 when i=1 and it reaches the k, it gets to the line: 03:57:51 if lambexp[i]=="k" and lambexp[i-1]=="`" and lambexp[i-2]=="`": 03:58:24 the lambexp[i-2] then gives an index out of bounds error afaics 03:58:39 I would expect it to, but for some reason, it doesn't. 03:58:58 The problem boys are usually if lambexp[l]=="`": 04:01:09 oh wait 04:01:28 negative indices in python restart from the end of the string don't they. 04:01:41 that explains it. 04:01:43 Yes. 04:01:51 This might cause problems now that you mention it. 04:02:12 although no expression should ever end in ` 04:02:23 I should make if lambexp[i-2]=="`": inside the other conditional 04:02:31 Yes, but well, you never know! 04:02:54 if you test for well-formed-ness at the start... 04:04:04 oh wait 04:04:11 in theory it could end in .` 04:04:19 That too. 04:05:38 * Slereah added if i>1 04:05:55 It's not a lazy program for nothing! 04:14:35 What's a compact way to do Chuch numerals in SKI? 04:14:49 ``s`k``s``s`k``s`ksks`kk``s`k`sik isn't very compact. 04:15:42 i cannot quite decipher that this late... 04:16:00 Don't bother, I'm not even sure they're proper Church numerals. 04:16:19 but i've usually started with 2 and 3 and used arithmetic 04:17:23 powers are just application, multiplication is composition 04:18:01 addition is composition after application 04:35:00 ``s``s`ks``s`kki``s``s`ks``s`kki`ki 04:35:13 Well, I was hoping for something somehow shorter. 04:35:27 But applied to .x and i, it gives the expected result. 04:35:55 hm... 04:36:03 -!- puzzlet has quit (Remote closed the connection). 04:36:08 -!- puzzlet has joined. 04:36:34 ``s`kki = k 04:37:06 eta-reduction 04:37:55 That man is a combinator machine! 04:38:55 I should make a small file of combinators. 04:39:15 18 and 256 are in my unlambda self-interpreter, btw 04:39:28 Why 18? 04:39:44 length of a table 04:40:09 Well, I have 0 and 2. Let's try 1: 04:40:57 ``s``s`kski = 2 can be extracted from those 04:41:44 and yours above after that reduction 04:42:39 So ``s`kki``s``s`ksk`ki = `ki? 04:42:48 1 = i 04:42:59 Or maybe not. 04:43:05 Aaaargh 04:43:11 ` notation is hard to read 04:45:05 -!- puzzlet has quit (Remote closed the connection). 04:45:10 -!- puzzlet has joined. 04:47:32 How can 1 be i? 04:47:39 Or... 04:47:42 * Slereah thinks 04:48:02 Eta reduction? 04:48:08 Dang. 04:48:21 1 f x = f x 04:48:58 0 f x = x = i x = k i f x, so 0 = k i 04:49:14 It was the (^fx.fx)C = ^x.Cx that worried me 04:49:20 But then I thought of Eta reduction. 04:50:15 haskell puts foralls on automatically, but outermost 04:50:58 * oerjan throws a holy hand grenade after Mr. Wong. after counting to 3. 05:15:07 ````s`k``s``s`kski``s``s`kski.1i 05:15:07 Yay 05:19:53 Argh. It's not even a valid expression apparently 05:31:19 Or not. 05:31:31 Why can't http://www.angelfire.com/tx4/cus/combinator/birds.html give me correct answer? 05:53:24 -!- oerjan has quit ("Good night"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:23:27 Turing fixpoint combinator >> Curry fixpoint combinator 10:18:37 -!- faxathisia has joined. 13:17:12 -!- RedDak has joined. 14:20:05 -!- tejeez_ has joined. 14:25:52 -!- tejeez has quit (Read error: 145 (Connection timed out)). 14:35:14 -!- AnMaster has joined. 14:36:47 -!- oerjan has joined. 15:01:59 -!- Jontte has joined. 15:02:37 -!- Jontte has quit (Remote closed the connection). 15:03:43 -!- Jontte has joined. 15:12:25 -!- Jontte has quit (Remote closed the connection). 15:12:53 -!- Jontte has joined. 15:13:09 -!- Jontte has quit (Remote closed the connection). 15:17:10 -!- Jontte has joined. 15:17:53 -!- Jontte has quit (Remote closed the connection). 15:18:21 -!- Jontte has joined. 15:29:16 -!- jix has quit (Nick collision from services.). 15:29:26 -!- jix has joined. 15:51:36 -!- AnMaster_ has joined. 15:58:48 -!- AnMaster has quit (Connection timed out). 16:10:32 -!- AnMaster_ has quit (Connection timed out). 16:12:58 -!- AnMaster_ has joined. 16:20:04 -!- RedDak has quit (Remote closed the connection). 16:20:56 -!- AnMaster_ has changed nick to AnMaster. 16:26:27 -!- oklopol has quit (Read error: 110 (Connection timed out)). 16:58:09 -!- AnMaster_ has joined. 16:58:20 -!- AnMaster has quit (Connection timed out). 16:59:15 -!- AnMaster_ has changed nick to AnMaster. 17:59:08 -!- Jontte has quit (Remote closed the connection). 17:59:34 -!- Jontte has joined. 17:59:54 -!- Jontte has quit (Remote closed the connection). 18:07:45 -!- Jontte has joined. 18:22:06 * Slereah added the m combinator on the interpreter for SII 18:22:15 m? 18:22:39 http://www.angelfire.com/tx4/cus/combinator/birds.html 18:23:06 SII leaves a lot of `i in the interpreter when using lazy evaluation. 18:23:13 ah yes 18:23:33 i had a similar thought that Lazy K needed it 18:24:04 ideally you would memoize its results somehow. then you would get genuinely cached cyclic structures 18:24:53 Ah, index string out of range. 18:25:08 What to do what to do. 18:25:12 still haven't solved that problem? 18:25:25 Still haven't found the problem. 18:25:40 It's the first time some code I made have the problem. 18:25:44 `m``s`k`.xim 18:25:56 does this show up on the first iteration? 18:26:31 otherwise i repeat my suggestion to make a test that the expression remains well-formed at each stage 18:26:32 Yes. and unsurprisingly, it's in the m combinator section. 18:29:01 Ah yes, I just forgot to add the case where there's another m combinator. 18:30:15 -!- oerjan has quit ("Going, going, gone"). 18:30:30 -!- calamari has joined. 18:34:10 Allow me to give you hell's weather report. . . 18:34:23 -!- Sgeo has joined. 18:34:28 "Cold, with a blizzard expected for the next week. Visibility, 0." 18:35:20 * Sgeo didn't work on PSOX or go on IRC yesterday.. 18:36:07 There are, as of today, no major labels not offering or soon going to be offering DRM-free music for download. 18:49:22 pikhq: well, motley fools just told investors not to invest in record labels. 18:49:42 let us pray to the almighty buck. 18:50:20 I still wouldn't invest in them. 18:50:28 I don't see them lasting out the decade at this rate. 18:50:42 and indies topping billboard charts? bye bye big record companies. 18:51:50 And fairly major artists leaving the record companies? That's *got* to hurt. 18:54:11 everything points to it. only thing left is the pa-ra-dig-em shift. 18:54:24 Which is in progress. 19:09:17 -!- ais523 has joined. 19:17:20 Hello sir. 19:17:51 hello 19:18:17 * ais523 is busy handling the fallout from the recent release of C-INTERCAL 0.27 19:20:23 I actually had a crazy idea for functional INTERCAL 19:20:37 where you could create virtual threads with frozen values for variables 19:20:45 that could still steal control of the program from the main thread 19:20:53 as a complicated way of implementing lambda 19:40:58 Maybe I should write an abstraction eliminator with lambda calculus written unlambda style. 19:40:58 You are insane. 19:41:06 Parenthesis are bothersome to deal with. 19:46:32 * ais523 has one of those, in elisp 19:46:41 not on this computer, though, so I can't post it right now 19:46:45 and it was buggy anyway 19:47:19 besides, if it was fully parenthesised before, all you need to do is get rid of all the closing parens 19:47:24 I have one, but it's in my pen. 19:49:18 I used it to write a P'' interpreter in Unlambda 19:49:47 it was pretty poor-quality Unlambda code, though. Just abstraction-eliminated s, k, and i, apart from a single c 19:50:01 the c was to handle Unlambda's silly I/O model 19:50:57 I'm doing this for some sort of lazy unlambda. 19:51:23 'cause I don't do very well with strict evaluation. 19:57:16 -!- oklopol has joined. 20:02:20 you could always use `d before everything 20:02:57 BTW, I like the way that d can be dynamically moved around the program in Unlambda, so you can decide whether evaluation is lazy or not at runtime 20:05:23 Well, that would increase drastically the size of programs 20:05:42 Which aren't that small to begin with. 20:10:28 clearly the way to go is full Unlambda virtualisation 20:10:44 did something happen while i was gone? 20:12:37 We solved the halting problem. 20:13:45 We also made an infinite tape. 20:14:44 And we made a Malbolge interpreter in Malbolge. 20:15:00 correction: Malbolge-T, there isn't enough memory otherwise 20:15:00 but nothing interesting? 20:15:13 Same old, same old. 20:16:25 ais523: halting problem + infinite tape, but a malbolge self-interpreter is impossible? :) 20:16:47 Well, we're not that good! 20:16:58 Solving the halting problem is easy next to Malbolge! 20:18:16 I'm not too impressed. 20:18:28 infinite tape should be possible; you synthesize it out of materials in the environment 20:18:47 Frankly, a Brainfuck interpreter in Malbolge would be much more significant than an infinite tape or a function H. 20:18:57 Well, even if there's infinite materials, it will take an infinite time. 20:19:15 you can solve the halting problem if you have infinite time 20:19:23 I'm not even going into the energy problem. 20:19:24 I suppose you've seen how it's possible in TwoDucks? 20:19:28 Yes. 20:19:37 I've also read the papers on hypercomputation. 20:19:50 A hypothetical Infinity Machine would actually make the halting problem trivial. 20:19:54 http://www.chiark.greenend.org.uk/~sgtatham/infinity.html 20:19:56 Although it can only solve the halting problems of Turing machine. 20:20:01 Not its own. 20:20:28 http://www.hypercomputation.net/ 20:22:45 -!- tejeez_ has changed nick to tejeez. 21:35:54 -!- oerjan has joined. 21:39:04 -!- ais523 has quit ("""""). 21:40:18 -!- RedDak has joined. 21:54:17 Does this look okay as an abstraction eliminator? http://membres.lycos.fr/bewulf/Russell/AE4.py 21:54:31 For instance, `^a`^ba 21:54:37 gives ``s`kki 21:55:24 the string index handling makes me shiver these days :( 21:55:55 -!- faxathisia has left (?). 21:56:00 -!- faxathisia has joined. 21:56:28 wait a minute, why ` ? 21:56:31 And `^a`^b`^c``ac`bc gives ``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kki``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk`ki``s`kk`ki 21:56:52 you really need some optimizations 21:56:56 I use unlambda notation, because string handling gets that much worse with parenthesis. 21:57:34 :S 21:57:36 really? 21:57:45 Well, for me at least. 21:57:45 um, the notation from the unlambdaifier is ^a^b$a 21:58:06 Well, not the exact lambda notation of unlambda. 21:58:18 you need eta reduction. ``s`kfi = f 21:58:27 I use `^xC for lambda x.C 21:58:39 the ` is deceptive 21:59:13 you're not really applying anything 21:59:21 I guess so. 21:59:37 I though I would run in some ``^x situation, but you're right. 22:00:01 also, the $x notation prevents trouble if you have a variable called s k or i ... 22:01:34 anyway the pain of doing this with indices into strings rather than an actual data structure... >_< 22:02:06 I don't know the difference, so there's that. 22:02:27 of course avoiding pain may not be a big goal here :D 22:02:50 well, an AST 22:02:59 Wait. 22:03:07 I think `^x is still useful. 22:03:32 For the C1 function, which looks for the end of the combinator applied. 22:04:46 So that ^x(^y.y) is counted as one combinator. 22:05:18 `^x`^yy - 2 apply operator, 3 "variables" 22:05:55 nah, all you need to do is treat ^ as you treat ` 22:06:09 Oh. 22:06:28 Well, let's try that. 22:14:34 String index isn't hard to make 22:14:38 It's hard to modify. 22:24:42 Well, seems to work so far 22:24:49 Let's try eta reduction now. 22:33:03 Works for k. 22:33:39 s doesn't seem to eta reduce that easily though 22:37:24 Maybe replace ``skf by i. 22:38:31 with lazy evaluation that is fine 22:38:56 although, i don't think ``skf is produced by abstraction elimination 22:39:14 hm or could it? 22:39:54 ^x`kx`fx 22:40:12 after eta reduction, that would become ``skf 22:40:16 I can't see it in the AE of s at least. 22:40:40 er, missing a ` 22:42:38 oh you mean reducing ^x^y^z``xz`yz to s somehow? 22:42:57 Yes. 22:43:12 So far, with eta reduction, it's ``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kkk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk`ki``s`kk`ki 22:43:23 Which works fine on the lazy interpreter, but well. 22:43:38 -> ^x^y``sxy 22:44:08 the trick is to do abstraction elimination and eta reduction fully on the innermost lambda first 22:44:30 Ah. Right now, the eta reduction is only on the end of the process. 23:16:22 -!- RedDak has quit (Read error: 104 (Connection reset by peer)). 23:34:37 The abstraction elimination seems to work okay. 23:35:55 Or maybe not. 23:36:08 Index out of range for half the Turing combinator. 23:37:01 Oh. I just wrote it wrong. 23:48:10 -!- timotiis has joined. 23:48:49 Slereah: Out of immense curiosity, why are you so intent on inventing new combinators/making a lazy Unlambda? :p 23:50:53 I'm not inventing them. 23:51:00 All those combinators already exist! 23:51:21 The lazy is because I'm just not that eager to use strict evaluation. 23:51:33 * oerjan groans 23:51:52 * oerjan wonders if Slereah knows he just made a pun 23:52:17 What, lazy? 23:52:32 strict and eager are synonyms :D 23:52:39 Oh. Then no. 23:52:48 woah 23:53:16 That was such an incredibly bad pun 23:53:34 amazing coincidence 23:55:22 everyone can make a pun others don't understand. but to make one you don't understand yourself... :D 23:56:51 Boy, now that I know, I'm thinking of an even worst pun! 23:57:30 * pikhq groans 23:59:14 -!- timotiis has quit ("leaving").