< 1199577635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm providing a non-monadic [BF] parseBF, is that good parsec style? :P < 1199577681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199577879 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also < 1199577880 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : case (parse program name code) of Left e -> error (show e) < 1199577958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's one way < 1199578019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by the way, oerjan, is this a good way to cut down on overflow checks in compiled bf code: < 1199578023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>><+ compiles to: < 1199578031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, without >< reduction, ofc: < 1199578038 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually i would probably make it use a print statement and let the Right p -> part call the actual interpreter < 1199578048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"p++;p++;p++;p--;CHECKMEM;t[p]++;" < 1199578057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :interpreter? :-) < 1199578062 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :why not p+=3; < 1199578070 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or compiler < 1199578073 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: plz read < 1199578073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sorry :D < 1199578080 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"well, without >< reduction, ofc:" < 1199578083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has never written a real compiler < 1199578209 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i recall that strictly speaking any of the p++ might fail if more than 1 beyond the allocated array... may not be a real problem < 1199578246 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i.e. actual pointer arithmetic is undefined behavior in that case, possibly < 1199578253 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Making some sort of Dungeons and Datas programs is hard. < 1199578266 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It has to make sense to be of any interest! < 1199578297 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, some sort of sense at least. < 1199578345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh well < 1199578349 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: who cares :) < 1199578363 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :compiler goals: 1. be fast 2. don't use things that are machine-specific by design < 1199578365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's it < 1199578986 0 :ehird`!unknown@unknown.invalid PART #esoteric :? < 1199578991 0 :ehird`!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199578993 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : wedge :: String -> String -> String -> String < 1199578997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : wedge :: String -> String -> String -> String < 1199578997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :beautiful < 1199579074 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek < 1199579230 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually it's < 1199579232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : wedge :: (Show a) => a -> String -> String -> String < 1199579402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i CANNOT figure out the type errors i get with this: http://hpaste.org/4820 < 1199579456 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199579486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what _are_ the type errors? < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `Char' against inferred type `String' < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Expected type: BF -> [Char] < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Inferred type: BF -> [String] < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `map', namely `(indent . compile')' < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `(++)', namely < 1199579499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : `map (indent . compile') prog' < 1199579506 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and: < 1199579510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `Char' against inferred type `String' < 1199579511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Expected type: BF -> String < 1199579511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Inferred type: BF -> [String] < 1199579513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `map', namely `(indent . compile')' < 1199579514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the first argument of `(++)', namely `map (indent . compile') b' < 1199579514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oops, sorry for spam < 1199579540 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh... < 1199579552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you want concatMap instead of map i think < 1199579566 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah, yes < 1199579799 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: flatten [[1,2],[3,4]] -> [1,2,3,4] < 1199579809 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in prelude? < 1199579821 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :concat < 1199579841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :concatMap f l = concat (map f l) < 1199579883 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, that IS concat < 1199579885 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :amusing < 1199579925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199579929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc optimizes a+0 i hope < 1199579930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199579945 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one might assume < 1199579992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what's that haskell function that acts as a filter? < 1199580000 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is, stdin->func->stdout < 1199580018 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :interact < 1199580204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc also optimizes x -= -x i hope :P < 1199580243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :% wc -l mandelbrot.c < 1199580245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :11471 mandelbrot.c < 1199580245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :impressive < 1199580245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199580249 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :exactly _where_ was your compiler going to do its optimizations you said? ;) < 1199580280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in the Optimize module < 1199580289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which ain't written yet < 1199580289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199580293 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3.63sec to execute < 1199580295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not too bad < 1199580345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: iterative optimization, too! < 1199580349 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :imperative pseudo-code: < 1199580389 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :while optimize(prog) != prog { prog = optimize(prog) } < 1199580398 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's probably a nice haskelly way to express that :P < 1199580529 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: right? :P < 1199580545 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iterate optimize somehow < 1199580571 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thank you you are helpful < 1199580592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, iterate is a function :) < 1199580616 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that equality comparison may be expensive though < 1199580651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it would be like < 1199580658 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let opt = optimize(prog) in ... < 1199580681 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway, iterate useful for...? < 1199580693 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well maybe this easier with explicit recursion < 1199580698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it seems to produce a list < 1199580739 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you usually search the resulting list until you find the point you want < 1199580779 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes there is until < 1199580801 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm confusing definition < 1199580803 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :usage? < 1199580813 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however it may need some cleverness to avoid calculating things twice < 1199580868 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :see #haskell < 1199580954 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in principle until (\x -> x == optimize x) optimize would do _but_ it might calculate optimize twice < 1199580979 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't see a way out of that < 1199581006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :recursion is easier < 1199581040 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) ok < 1199581073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :untilEq f x | x == y = x < 1199581095 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : | otherwise = untilEq f y < 1199581107 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : where y = f x < 1199581170 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : optimizeFully p = case optimize p of p -> p x -> optimizeFully x < 1199581171 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :doesn't appear to exist < 1199581183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199581185 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no worky < 1199581186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1199581200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately the of p binds a new variable < 1199581243 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'll start working on PSOX again on Monday.. < 1199581282 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you _could_ do something with pairs but it wouldn't be any clearer than explicit recursion < 1199581304 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or would it, hm < 1199581419 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fst . head . dropWhile (uncurry (/=)) . tail . iterate (fst &&& optimize . snd) . (,) undefined < 1199581435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :drunk on lambdabot, oerjan? < 1199581458 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lambdabot? i did that in my head < 1199581467 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, wow < 1199581477 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i meant the pointless < 1199581479 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199581499 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i expect @pl would produce something far worse < 1199581507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well yeah < 1199581536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : @pl'ing is a rather esoteric thing to do :) < 1199581597 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :optimizeFully p = let opt = optimize p in if opt == p then p else optimizeFully opt < 1199581598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fugly! < 1199581599 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199581602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course it's just a slightly more civilized abstraction elimination < 1199581613 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : No instance for (Eq Jill.Core.BF) < 1199581617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oshit < 1199581623 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :deriving (Eq) < 1199581635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1199581675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but as i said, i think that could be expensive, especially if optimizations happen only deeply < 1199581712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Chicken does it < 1199581781 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :comparing this step to the next, recursively? < 1199581786 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1199581805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: damn, optimizing BFSet will be hard with patmatching < 1199581813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Set/Inc/Read/Write ... BFSet < 1199581816 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BFSet Inc... < 1199581817 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1199581835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what's BFSet? < 1199581841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :t[p+a] = b < 1199581844 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :note = instead of += < 1199581853 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :e.g. [-] is BFSet 0 0 < 1199581857 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[-]+ is BFSet 0 1 < 1199581930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1199581959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for what values of n in BFLoop x [BFInc y n] can it be proved to be BFSet (x+y) n? < 1199581964 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I think just 1, -1 < 1199581978 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err, 0 < 1199581980 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in the BFSet < 1199582017 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you assume a binary representation with wrapping on a fixed bitwidth < 1199582022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then any odd n will do < 1199582032 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes, they're chars < 1199582034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so 0..255 < 1199582121 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFInc x a):(BFInc x b):xs = (BFInc p (a+b)):xs < 1199582122 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :parse error in pattern! < 1199582127 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why :( < 1199582183 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :optimize ((BFInc x a):(BFInc x b):xs) = (BFInc p (a+b)):xs < 1199582192 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199582214 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFInc x a : BFInc x b : xs) = BFInc p (a+b) : xs < 1199582234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : Conflicting definitions for `x' < 1199582235 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : In the definition of `optimize' < 1199582250 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :can't i use the same name for 'equal'? :( < 1199582254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1199582278 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFInc x a : BFInc x' b : xs) | x == x' = BFInc p (a+b) : xs < 1199582351 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :guards are ugly :) < 1199582364 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ARE NOT < 1199582378 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :optimize (BFLoop x [BFInc x' n] : xs) | mod n 2 == 1 && x == x' = BFSet x 0 : xs < 1199582382 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is ugly < 1199582383 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :OTHERWISE! < 1199582405 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hm..... you know < 1199582412 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :that gives me the feeling this code would be easier in lisp < 1199582422 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it may help to include a line break < 1199582422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199582423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why < 1199582433 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but where < 1199582443 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :before the | perhaps < 1199582449 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so you can express the optimizations however you like (and hide a big confusing macro somewhere no noe looks) < 1199582456 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :line break + at least one space < 1199582468 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(not that I'd do that!) < 1199582486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mod n 2 == 1 = odd n < 1199582686 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : p += 1; t[p+0] = 0; p += 1; t[p+0] = 0; < 1199582689 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :repeated loads of times < 1199582693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have a feeling that's optimizable :P < 1199582713 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is, code X repeated N times = for (tmpvar=0;tmpvar /dev/null < 1199585423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :./mandelbrot > /dev/null 3.41s user 0.02s system 98% cpu 3.477 total < 1199585427 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hooray for SIGSEGV < 1199586416 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aaaaargh < 1199586418 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199586437 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's hard to check an abstraction eliminator when you can't even do it by hand correctly! < 1199586478 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: One check is shoving them through a type checkera < 1199586507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :, < 1199586555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(is he correcting a grammar error or making a very complicated comma pun, we'll never know...) < 1199586583 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :maybe it was a ? without the shift! < 1199586610 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to correct one error of my Abstractor,. < 1199586633 0 :ehird`!unknown@unknown.invalid QUIT : < 1199586658 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Apparently, it doesn't like very much something of the form ^abc...(^xyz...)fgh... < 1199586681 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although even the successor function doesn't seem to work too well. < 1199586772 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well deeply nested lambdas do blow up exponentially with the naive AE algorithm < 1199586908 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Blow up as in "size increase" or "Make them wrong"? < 1199586918 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :size < 1199586956 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't worry me too much, that's why I made a program. < 1199586974 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :it's the wrong expression I find worrying < 1199586992 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I can't be too sure if it's the abstractor or the interpreter. < 1199587192 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199587225 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i would offer my eliminator but it's heavily tailored to unlambda (uses d and is careful about strictness) < 1199587322 0 :Sgeo!unknown@unknown.invalid QUIT :Connection timed out < 1199587351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Can you try this pred. function on unlambda, if you can copypasta on it? http://membres.lycos.fr/bewulf/Russell/Pred.txt < 1199587361 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just to see which program is the problem. < 1199587381 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199587472 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it's accepted and does nothing < 1199587501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and it is well-formed, because changing the final i to ! causes an error < 1199587548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199587607 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I try it with ``pred n `.xi < 1199587620 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :In a lazy evaluation, that is. < 1199587624 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my optimizer simplifies it to ``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kkk`k``s`k`s`k`s`k`si``s`k`s`k`s``s`ksk``s`k`s`k`s`kk``s`k`s`kkk`k`kk`k`k`ki < 1199587648 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It always only prints 1 x for all values of n on mine < 1199587852 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um shouldn't that be ```pred n .x i ? < 1199587910 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then it works nicely here < 1199587919 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199587923 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let me think. < 1199587960 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with ``pred n `.xi you are applying `pred n to too few arguments < 1199587985 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it just passes on to evaluating `.xi itself i assume, and just once < 1199587987 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`n`.xi seems to work though < 1199587998 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't < 1199588002 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199588005 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Damn. < 1199588039 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Where's my pen. < 1199588044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :here is the 256 from my self-interpreter: ```s``s`kski < 1199588044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : ```s``s`kski < 1199588044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : ```s``s`kski < 1199588071 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : ``s``s`kski < 1199588121 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with that, ```pred n .x i prints 255 x'es in the unlambda C (i think) interpreter < 1199588240 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(^f^x.f(f(f(...f(x)...)))) (.xi) = ^x.(.xi)((.xi)((.xi)(...(.xi)(x)...))) no? < 1199588250 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It should at least evaluate more than 1? < 1199588275 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I'm not too sure what it would be in combinators. < 1199588305 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er it takes 2 arguments < 1199588311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :f and x < 1199588332 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199588391 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Here's a run for `2`.xi : http://membres.lycos.fr/bewulf/Russell/2%20run.txt < 1199588427 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199588445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you may be right. however: < 1199588480 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``pred n f may not expand to the same as `(n-1) f < 1199588491 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199588505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rather, it may expand to something which waits for another argument before even starting to copy f's < 1199588534 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So f is evaluated first, and only one x is printed? < 1199588578 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well... < 1199588592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the thing is, while expanding top-level, f is never evaluated < 1199588630 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it is only when your interpreter gives up the top-level because there isn't anything more to evaluate there, that it gets down to the f < 1199588689 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```pred n .x i seems to work < 1199588746 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see how succ n fares. < 1199588816 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Also seems to work! < 1199588836 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Output isn't easy to deal with under any evaluation! < 1199588968 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I'm more enthusiastic, I should try to see the evaluation of ``pred n`.xi < 1199588971 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think I/O behaves more reasonably if you only evaluate those operations at top level. then it works almost like monads... < 1199589013 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(in a lazy setting) < 1199589088 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What is exactly meant by top level? < 1199589169 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the top of the parse tree < 1199589186 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or in your case, only the start of the string for finding operators < 1199589289 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Rebooting the modem, brb. < 1199589327 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe not, the connection seems to be back < 1199589347 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Sort of. < 1199589537 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'd check the run of the predn`.xi, but it looks like this : http://membres.lycos.fr/bewulf/Russell/Pred%20run.txt < 1199589570 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I could try in your optimized version. < 1199589627 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's more reasonably sized. < 1199589651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i haven't checked it, it just came out of ulify2.scm :) < 1199589717 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, at least the predn.xi seems to print the right number of x's. < 1199589736 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes, yours contains things like ``s`kk`ks < 1199589743 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which = `k`ks < 1199589755 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is that a conversion of some sort? < 1199589768 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :``s`kf`kg = `k`fg < 1199589790 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should add it with the eta conversion. < 1199589820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except in unlambda you need to add d's to it < 1199589832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but somehow i didn't see any in the result you saw < 1199589861 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(my optimizer also tries to remove d's again) < 1199589876 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's made of only primitive combinators. I assume that the evaluation isn't very important without IO < 1199589898 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it depends. it can still be non-terminating. < 1199589922 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199589958 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if `fg doesn't terminate, then ``s`kf`kg cannot be simplified to `k`fg < 1199589963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in strict unlambda < 1199589993 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199590017 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't ``s`kf`kg be ``Sfg? < 1199590056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199590095 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```s`kf`kgz = ```kfz``kgz = ``fz`gz = `sfg? < 1199590200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : = `fg < 1199590217 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh right. < 1199590244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" maybe it was a ? without the shift!" <<< sorry, that'd be + < 1199590262 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :On what moonspeak keyboard are you typing? < 1199590281 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if oklopol's keyboard is like mine it could be ; without the shift, though < 1199590290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mine also has + below ? < 1199590290 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(Does this conversion have a name? It's just to look pretty in the code) < 1199590365 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well when you do it directly on lambdas it's just ^x`fg = `k`fg instead of ``s`kf`kg < 1199590389 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it's a shortcut, which madore mentions on the unlambda page < 1199590397 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(noting that it is unsafe in unlambda) < 1199590400 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So just an artefact of the conversion. < 1199590408 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :*abstraction elimination < 1199590544 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, if it was ";", it was obviously a request to change the subject < 1199590547 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or shut up < 1199590551 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199590565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or "you make too long sentences, wrap it up" < 1199590572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, not that obvious :-) < 1199590605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did someone here link maddox' rants? < 1199590632 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :who's maddox? < 1199590749 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://maddox.xmission.com/ < 1199590791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've written similar articles, although more, and of worse quality (or at least not better) < 1199590803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :probably the reason i found them interesting < 1199590829 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :```s`k`ab`k`cdk -> ```ab`cdk < 1199590832 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199590888 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :A much shorter result for pred! < 1199590897 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um you're missing a `k < 1199590966 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: did you paste the original link? asdf guess i need to press ctrl+f :'( < 1199590982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha! < 1199590987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was ya :) < 1199591066 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :oerjan : I guess that explain the infinite loop I got for pred < 1199591115 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh :) < 1199591213 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Any other ways to reduce ski to ski? < 1199591306 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although the pred down to ``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kkk`k``s`k`s`k`s`k`si``s`k`s`k`s``s`ksk``s`k`s`k`s`kk``s`k`s`kkk`k`kk`k`k`ki is already pretty neat. < 1199591333 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Seems to be the same as yours < 1199591518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep, you now have the two main optimizations of mine < 1199591530 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and the rest i think are unlambda-specific < 1199591556 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, thanks. < 1199591598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you're welcome :) < 1199591621 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can a forkbomb cause lasting damage to a system? < 1199591632 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm contemplating using a forkbomb to force myself off the computer < 1199591650 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You could ask your mom to do that. < 1199591656 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :She'll gladly oblige. < 1199591661 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"Get some fresh air!" < 1199591725 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Do you have a particular way of finding those optimisation? < 1199591745 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking of trying it for some other combinators. < 1199591913 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(And maybe combining the ski-unlambda translator, the abstractor and the interpreter to write programs in some unholy combination of SKI combinators, unlambda and lambda calculus!) < 1199591941 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1199592328 0 :Sgeo_!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1199592843 0 :_KS!unknown@unknown.invalid QUIT : < 1199592918 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199593623 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's the unholy Frankenstein : http://membres.lycos.fr/bewulf/Russell/Lazylambda4.py < 1199594198 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When I'm done with this, every damn letter will be a combinator! :o < 1199594678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol i made a bit of a miscalculation when saying i have more articles than this guy, i now realize i haven't read more than 30%, thought i was finished :) < 1199594693 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the scroll bar... it's just too complex. < 1199594738 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's 10 years of article! < 1199594739 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :s < 1199594787 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Writing in that mix of calculi is more pleasant. < 1199594804 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :For instance, some sort of iszero checker : ```^n((n(^x`ki))k)(^a^b`a`ab)`.0i````.F.a.u.xi < 1199594816 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Where (^a^b`a`ab) can be any number. < 1199594856 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :With some hodgepodge of ` and parenthesis just for pleasure! < 1199594987 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199594995 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`.^i generates an error. < 1199595006 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It thinks I want to use i as a lambda variable. < 1199595099 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Either I remove the ^s ^k ^i checker or find some way around it. < 1199595222 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :.^ in general seems to be a nuisance. < 1199595226 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's too simplistic, not skipping .'s < 1199595242 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199595260 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, checking for the literal string ^s etc. anywhere < 1199595287 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's what it does. < 1199595305 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But if there's `.^i, it will find the string ^i in it. < 1199595327 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And think I'm trying to sneak in some ski as variables. < 1199595366 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And since `fg has ^ in it, the Abstractor will try to abstract it, instead of leaving it alone. < 1199595375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :perhaps you could put the check in something like wff instead? < 1199595384 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should make some function to differentiate .^ from ^ < 1199595421 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't forget you can have ..^ etc. < 1199595428 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I know. < 1199595442 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's why I'm thinking of a function instead of a lazy ass workaround. < 1199595463 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :(I had plenty of similar problems on the Love Machine 9000!) < 1199595586 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I should check for an odd number of . before ^ I guess. < 1199596335 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Seems to work. < 1199596514 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :question: do you allow ^. ? < 1199596618 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see! < 1199596634 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^.^b. < 1199596642 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Gives k. < 1199596659 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's a lambda smiley. < 1199596680 0 :Sgeo_!unknown@unknown.invalid QUIT :Remote closed the connection < 1199596686 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although a (^x`.yi) expression seems to pose problem. < 1199596703 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :When it tries to abstract ^x.y < 1199596718 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Not sure why < 1199596779 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1199596785 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well my question was because it could break your odd number of . 's rule < 1199596798 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It thinks that ^x.y is actually two combinators. < 1199596801 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :. and y. < 1199596831 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Printing functions are quite annoying to implement. < 1199597111 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Found the error. < 1199597129 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just a number error in the T[^x.y] -> `ky < 1199597177 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see the ^. case. < 1199597217 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^...^s < 1199597262 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't crash, but it's not that good either. < 1199597268 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh and not to forget ^^ :D < 1199597291 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^..^ gives i, ^...^s gives ``si`ks < 1199597296 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'm not even sure why. < 1199597310 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^^ makes some infinite loop. < 1199597330 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although ^^^ translates as i okay. < 1199597335 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my suggestion is to disallow ^ and . as variables < 1199597347 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That too. < 1199597604 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, right now, the program will change all non-printing ( into ` (or delete them if they're before ^), delete all non-printing ), change all variables and combinators into lowercase, eliminate abstraction from the result and read the result as Unlambda would. < 1199597626 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Any parsing pitfall in mind? < 1199597730 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :( -> variable number of ` 's right? < 1199597776 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think so. < 1199597790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um ( before ^ shouldn't be deleted should it < 1199597805 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or... < 1199597833 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, the ^abc... abc... in parenthesis is just for a clear way to see the whole lambda expression if I want to write it. < 1199597901 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It poses problems if I want to write something like `(^a^b`ba)np < 1199597904 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Errr, `(^a^b`ban)p < 1199597911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however you could then have an error if the lambda expression stops before the corresponding ) < 1199597923 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1199597953 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what about instead saying ( before ^ moves past the ^+variable? < 1199597995 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then you could drop ` 's inside < 1199597995 0 :slereah_!n=Test4@ANantes-252-1-47-152.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1199598008 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :[06:39] Although I guess I could check the length of the lambda expression to delete or not the parenthesis < 1199598009 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :[06:39] What? < 1199598056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> however you could then have an error if the lambda expression stops before the corresponding ) < 1199598066 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> right < 1199598086 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> what about instead saying ( before ^ moves past the ^+variable? < 1199598098 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oerjan> then you could drop ` 's inside < 1199598103 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whew < 1199598105 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That's what the "what?" was for. < 1199598172 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`(^a^b`ban)p -> `^a^b(`ban)p -> `^a^b``banp < 1199598256 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, except it should be ``^a^b`bap < 1199598277 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1199598288 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1199598301 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses the power of mental thinking < 1199598337 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :`(^a^b`ban)p wouldn't be legal. < 1199598357 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That's ^a^b`ban applied to p, but `ban lacks one apply. < 1199598420 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's legal in lambda calculus to be applied too little < 1199598437 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um wait < 1199598445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the point i was saying was < 1199598452 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(ban) = ``ban right? < 1199598458 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199598476 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and in ordinary lambda calculus a ^ usually continues until the next ) < 1199598502 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :For instance. < 1199598506 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so why not say that (^a^bban) = ^a^b``ban < 1199598525 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, I could do that for all variables. < 1199598555 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Replace n non-printing letters by ````...````abcd...xyz < 1199598594 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although it may be weird if you mix things, hm < 1199598604 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I mix many thing already. < 1199598614 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :since ^a without parentheses only takes one following expression < 1199598637 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I don't know about weirdness, but it might be hard to check for accuracy. < 1199598649 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That would be a whole lot of combinations to try. < 1199598686 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well lessee < 1199598708 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could say ` introduces unlambda syntax and ( introduces lambda calculus syntax < 1199598728 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The thing is, I'm mixing both. < 1199598735 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199598744 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :For instance if I'm lazy and just want to copypasta some expression. < 1199598763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so if a subexpression starts with ` or ( you change to the other < 1199598808 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Actually, both notations are used for both. < 1199598813 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be safe as long as what you paste either is parenthesized or is a single expression starting with ` < 1199598830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well they have ^ in common < 1199599171 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, it can now differentiate s=s[:i]+s[i+1:] < 1199599172 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric : i=i-1 < 1199599173 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Oop < 1199599186 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :`(^a^b`ban)p and ``(^a^b`ba)np < 1199599206 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :But I don't know what will happen if there's more lambda inside the parenthesis. < 1199599225 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199599230 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199599258 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes there could be trouble < 1199599275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(^aa^bba) for example < 1199599293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the ^b would probably scope only the b < 1199599298 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking more of ((^aa)(^bb)a) < 1199599329 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :`^aa^bba < 1199599332 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1199599339 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that should be fine if the outer ( is handled first < 1199599348 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :turning into `` < 1199599349 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess so. < 1199599361 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What of (^aa(^bb)a)! < 1199599380 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think that's fine < 1199599429 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ^a(a(^bb)a) -> ^a``a(^bb)a -> ^a``a^bba < 1199599430 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Reads it as `^aa^bba. But it should be... What should it be, actually? < 1199599470 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't read it like that. < 1199599478 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's `ii for it. < 1199599609 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :subtle stuff < 1199599610 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But well, I guess it's not too important. < 1199600150 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. Would a combinator-to-text be something like iszero n [print char 0] [iszero pred(n) [print char1] [...]]]? < 1199600231 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So something actually like (^x . iszero x [print char 0] [iszero pred(x) [print char1] [...]]]) n < 1199600302 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is a church numeral printer hidden in my deadfish-in-unlambda code < 1199600316 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it might be using d though < 1199600349 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess I could just generate it in python for ASCII chars. < 1199600373 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh you want num->ascii < 1199600392 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, num->any set of char, actually. < 1199600412 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ASCII works okay, especially since I want to do a _ combinator. < 1199600441 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Awaits input from the keyboard, and then converts it to some ASCII Church numeral. < 1199600448 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i wouldn't use pred. i would use a church-encoded list of the chars < 1199600473 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then do `head ``n tail list < 1199600494 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ah yes. I should read the list function for lambda calc. < 1199600529 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Might be useful later! < 1199600541 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(define (cons x y) (lambda (k) (k x y))) (define (car cons) (cons (lambda (x y) x))) (define (cdr cons) (cons (lambda (x y) y))) < 1199600560 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I can't really read Haskell. < 1199600590 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't understand this ^ notation :S < 1199600594 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :given that that was scheme, i believe you :D < 1199600611 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199600615 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, possibly CL < 1199600620 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Scheme, Haskel, same thing! < 1199600632 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^ is just a fancy ASCII for lambda. < 1199600680 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :well to make a cons (pair of things), you can make a closure which takes a function an applies it to those args < 1199600688 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :cons = (^h t . ^k. (k h t)) < 1199600703 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in fact haskell is closer < 1199600715 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cons = \h t -> \k -> k h t < 1199600730 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so to select the head, such that (head (cons a b)) = a, head = (^cons. (cons (^head tail . head))) < 1199600757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :though sadly, church-encoded lists soon hit against the type system < 1199600837 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Why is a pairing noted as "cons"? < 1199600848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :old lisp tradition < 1199600856 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :A cons is a pair of things < 1199600886 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :like the link of a linked list < 1199600896 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wikis < 1199600899 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Oh, construct. < 1199600914 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Cons < 1199600926 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But, pair has the same number of letters! :o < 1199600951 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is there a Lisp function called pair? < 1199600970 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :scheme has pair? < 1199600990 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :(pair? (cons 'x 'y)) ;=> #t < 1199601009 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What is this moonspeak! < 1199601015 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :scheme < 1199601027 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :;=> ? < 1199601027 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :````^m^n^f^x``nf``mfx^f^x`f`f`f`f`f`fx^f^x`f`f`f`fx.xi < 1199601030 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yay, addition! < 1199601043 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :; <- comment => <- evaluates to < 1199601056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1199601065 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should probably shut up and stop confusing people < 1199601083 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, this is #esoteric < 1199601101 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :If we weren't allowed to confuse, it would be pretty silent. < 1199601131 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then, what would the alligators do? < 1199601141 0 :puzzlet!unknown@unknown.invalid PRIVMSG #esoteric :cross the road? < 1199601146 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :You are confusing me oerjan. < 1199601154 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't say. < 1199601154 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :My lazy unlambda has one clear advantage on the love machine 9000. < 1199601161 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :speed? < 1199601164 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I have a perfect name for it. < 1199601171 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1199601175 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It will be called "Lazy bird". < 1199601194 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Since its combinators will be the combinator birds from "To mock a mockingbird". < 1199601230 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :And it's a name I can post on Esolang without shame, unlike "Love Machine 9000". < 1199601271 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Although I came up with a srs business name for it. < 1199601277 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"NTCM" < 1199601293 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :n-tape choice machine. < 1199601339 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Srpska Radikalna Stranka? < 1199601351 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lulwut? < 1199601361 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :srs < 1199601381 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://www.encyclopediadramatica.com/The_Internet_is_serious_business < 1199601501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a lightbulb go off < 1199601630 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean srs is _not_ an acronym? doesn't sound like serious business to me. < 1199601652 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Merely a contraction! < 1199601675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, a contradiction. < 1199601697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that splains it. < 1199601772 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's a dick that shouldn't be in your sentence. < 1199601829 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my sentience is none of your business. < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Fixed point combinators are not especially rare (there are infinitely many of them). Some, such as this one (constructed by Jan Willem Klop) are useful chiefly for amusement: < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L) < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :where: < 1199602342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : L = ?abcdefghijklmnopqstuvwxyzr. (r (t h i s i s a f i x e d p o i n t c o m b i n a t o r)) < 1199602345 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199602372 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Let's see if I can make something similar! < 1199602910 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, it might take a while. < 1199602954 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :It's doing the w's right now, and increasing in size! < 1199602970 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I hope it eta-reduces a whole lot. < 1199603505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well 10 of the variables are not used < 1199603597 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :including w < 1199603603 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :^a^b^c^d^e^f^g^h^|^j^<^l^m^n^o^p^q^$^t^u^v^w^x^y^z^r`r``````````````````````````th|$|$af|xedpo|ntcomb|nator is still running :o < 1199603885 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :http://membres.lycos.fr/bewulf/Russell/noyoucanthaveaneuralnetwork.jpg < 1199603887 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1199604791 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. For the input ASCII -> Church numerals, what would be the best idea? < 1199604834 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just a correspondance number -> church numerals, or number->succ(succ(succ(...succ(KI)....)))? < 1199605078 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I guess it's space against time. < 1199605553 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :succ(succ(...)) is easier to build up recursively < 1199605598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in case you need to use a table, like in unlambda < 1199605711 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but won't it blow up for big numbers? < 1199605719 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Lazy K seems to use such a table. < 1199605859 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lazy K uses church numerals for I/O < 1199605901 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you mean input in decimal digits? < 1199605931 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :No, just for any key. < 1199605936 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :From 0 to 255. < 1199605987 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the table will be somewhat big i guess < 1199606006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :do you use ?x input like unlambda? < 1199606026 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1199606048 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't really need all the numbers in a table < 1199606052 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Just a _ combinator that will change into the Church integer. < 1199606088 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh so you do input ascii as church numerals < 1199606096 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1199606116 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so your question is not about how to use it, but what python should send into the program < 1199606195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you might use binary < 1199606210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :adding 1 and multiplying by 2 should be simple enough < 1199606257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it might still get blown up when the program tries to analyze it, i suspect < 1199606338 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, Lazy K has a table of ways to get short ASCII -> Church < 1199606342 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I'll see how this fares. < 1199606399 0 :clog!unknown@unknown.invalid QUIT :ended < 1199606400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1199606525 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hm. apparently, plenty of them have the combinator ``s`ksk < 1199606530 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Which is the B combinator < 1199606567 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :2 is just ``sbi < 1199607935 0 :oerjan!unknown@unknown.invalid QUIT :"Bye" < 1199614471 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199614478 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello all < 1199614502 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Can anyone help me with some Haskell quickly? < 1199614576 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia? < 1199614653 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :show map Char.isLower "aBCde" < 1199614682 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would that produce [True,False,False,True,True]? < 1199615007 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199620582 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1199620613 0 :faxathisia!unknown@unknown.invalid QUIT :"Leaving" < 1199621716 0 :RedDak!n=dak@87.6.86.9 JOIN :#esoteric < 1199622785 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I think I'll just define the input as succ(succ(succ(...succ(KI)....))) < 1199622791 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :A table is too big. < 1199623773 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :But then again, the succ idea is painfully slow! < 1199623841 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Aaaargh. < 1199625032 0 :jix!n=jix@dyndsl-091-096-057-222.ewe-ip-backbone.de JOIN :#esoteric < 1199626255 0 :sebbu2!n=sebbu@ADijon-152-1-60-116.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1199627021 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199627022 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1199627775 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199627831 0 :bsmntbombdood!n=gavin@75-166-162-55.hlrn.qwest.net JOIN :#esoteric < 1199629477 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199629485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello < 1199629621 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can anyone help me with a Haskell exercise in Yet Another Haskell Tutorial? < 1199629628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it way hard < 1199629642 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*its < 1199629800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION HELPs! < 1199629810 0 :lifthrasiir!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199629857 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"Exercise 3.5 We’ve seen how to calculate sums and products using folding functions.Given that the function max returns the maximum of two numbers, write a function using a fold that will return the maximum value in a list (and zero if the list is empty). So, when applied to [5,10,2,8,1] it will return 10. Assume that the values in the list are always ≥ 0. Explain to yourself why it works." < 1199629863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Can't get it < 1199629871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199629877 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I guess I should check out #Haskell < 1199629887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed i actually wouldn't be able to do it, but that's trivial ) < 1199629888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199629899 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, really? < 1199629909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I just don't get what the folds will need to do < 1199629914 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but could you explain? < 1199629924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have a list A B C D E .. Z, and you need the max. basically, a max takes two values and returns the maximum of the two < 1199629930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199629945 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because max is... i lack terms :-)... it does A m B = B m A < 1199629957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and all the other funny features like that < 1199629958 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199629963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can just do the maxes in any order < 1199629969 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I see < 1199629982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... A B C -> A (B C) -> (A B C) would be a way to get the max of A B and C < 1199629986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now... < 1199629992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fold takes a list, and a function < 1199630006 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it then takes a certain pair of values in the list, and performs the operation < 1199630015 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh... < 1199630019 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it < 1199630021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then, it takes that pair, and performs the operator on that pair, and another value in the list < 1199630023 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good < 1199630035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on a related note, i think i need to poo -> < 1199630045 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :foldr (max) 0 [balh]? < 1199630053 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, sure, er... don't let me stop you < 1199630058 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*blah < 1199630060 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :looks correct < 1199630066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except you don't need the parens < 1199630073 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, cool < 1199630076 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks oklopol < 1199630079 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :now go forth < 1199630081 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and make doodo < 1199630085 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*doodoo < 1199630088 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199630091 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, indeed! -> < 1199630144 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199630146 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, it works < 1199630154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but why does it say you need two folds? < 1199630206 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and is the fold direction important? < 1199630249 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind, it says a fold < 1199630257 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :still, is the direction relevant? < 1199630295 0 :slereah_!n=Test4@ANantes-252-1-47-152.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1199630980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(A m B) cmp (B m A) < 1199630989 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where m is max. < 1199631010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and cmp is "compare these with yer braines" < 1199631035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did you compare? < 1199631147 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :aaaaactually < 1199631160 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm globbing crap here < 1199631179 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(A m (B m C)) cmp ((A m )B m C) < 1199631183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199631186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :more crap < 1199631190 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(A m (B m C)) cmp ((A m B) m C) < 1199631192 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :better. < 1199631223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, take your brain, stuff that in, wait a mo, tell it to generalize, wait a mo, and hope for the best < 1199631241 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199631242 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1199631245 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll try < 1199631247 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199631275 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alrighty < 1199631277 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :makes sense < 1199631280 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(ish) < 1199631282 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hooray < 1199631284 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199631301 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like Haskell < 1199631305 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's so... < 1199631306 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :er < 1199631313 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for the lack of a better word < 1199631315 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :strange < 1199631316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the max-function is a socalled "bag" function < 1199631317 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199631321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199631326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :meaning it conceptually takes a *set* of arguments < 1199631327 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1199631332 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199631333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can give it's args in any order that is. < 1199631338 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just like + and xor too < 1199631340 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199631343 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199631347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and * < 1199631355 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199631365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and of course set operations except set substraction. < 1199631366 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, also * < 1199631369 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(*=X=times=multiplication) < 1199631382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631399 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh, I'll continue with the tut some other itme < 1199631399 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is a helpful thing to know about a function, or not < 1199631408 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just wanted to coin a term for it < 1199631415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :He < 1199631428 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in Heh as in laughter ;) < 1199631474 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Haskell is exactly like ad-maths class < 1199631479 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :piece wise functions < 1199631481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually guessed what you meant there! :) < 1199631484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :compliments etc < 1199631486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with "he" < 1199631489 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yay :) < 1199631530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've actually been wanting to make a language with a type system for a long time... could have my dream of having a language where args are given in arbitrary order come true < 1199631538 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, the only list would be the set < 1199631550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and you could only give unary args < 1199631551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be cool, but also, confusing :) < 1199631580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no no! basically you'd have a distinct type for everything, how ELEGANT! < 1199631603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol... lisp with sets instead of lists xD < 1199631609 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ah, yes well if Char is Different from String which is Different from Array of Char < 1199631612 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then cool :) < 1199631620 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::-\ < 1199631627 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199631630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't know < 1199631633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it might be aweosme < 1199631634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, no, that's not enough... < 1199631636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1199631644 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :catenating strings... < 1199631660 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you need to make a LeftAppendor object and a RightAppendor object < 1199631668 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :w00t < 1199631672 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like that :) < 1199631677 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1199631680 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :annoying, painful, stupid - but awesome < 1199631682 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199631684 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed! < 1199631722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've been thinking i could take all these millions of stupid features i'd concocted over the years, remove them from oklotalk and make a new language for them < 1199631737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, that's sometimes pretty nice < 1199631737 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199631759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like, you wanna have the program in the form oper func oper func oper func etc < 1199631763 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't really mind, as long as we get to _eventually_ see the langauge < 1199631767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it _exists_ < 1199631770 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199631775 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because then you don't need parens then. < 1199631776 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woow < 1199631781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be cool, yip < 1199631787 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it's nice an sequelz < 1199631798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, if types make up the order of usage of argumens < 1199631802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*arguments < 1199631820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then you can almost always have execution be linear if it's conceptually linear < 1199631824 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you know what i mean... < 1199631840 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it... < 1199631852 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but im not too sure < 1199631855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199631859 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :talking about flow control?? < 1199631861 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try and find a weird example < 1199631863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or time < 1199631868 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199631874 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then I get what yoyu are saying < 1199631885 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in a twisted kind of abstract sense... < 1199631892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, very stupid example, but anyway < 1199631921 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, im all eyes < 1199631924 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199631935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's say you wanna do "A - (B - C)", but don't want the parens... < 1199631941 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199631957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :A - B - lparam C < 1199631958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199631964 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199631966 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :funky < 1199631968 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and I like it < 1199631976 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :makes programming truly painful :P < 1199631976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :OH, C IS AN LPARAM, THEN THE OTHER MUST BE RPARAM! < 1199631982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed! :D < 1199631999 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :good luck with the interpreter though < 1199632015 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :trying to make it run in linear time :X < 1199632030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, actually i'd just really like to do static typing, so this might be a nice thingie to test with. < 1199632039 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199632044 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199632046 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've always had either dynamic or brainfuck typing < 1199632047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nontheless < 1199632051 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :good luck :P < 1199632056 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(where everything is statically a number...) < 1199632057 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1199632064 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :understood < 1199632096 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/Betterave < 1199632105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :But, unlike these three languages, it is not tape- nor stack-based. Instead, programs are written as expressions. Like Scheme, it has a prefix notation, but unlike Scheme, there are no parentheses; each operator knows how many arguments must follow it. Thus, for example, the parameters of an addition come after the "+" symbol. < 1199632108 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it runs everything in linear time, of course... hmm, i think static typing isn't the hard part anymore < 1199632110 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :perhaps too late < 1199632120 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, no < 1199632136 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yaeh < 1199632139 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1. that's completely different 2. i had that idea 3 years ago < 1199632143 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's nearly everything you were o about < 1199632144 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and thought it was original < 1199632154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199632154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199632156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's called "polish notation", i learned then < 1199632157 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's similar < 1199632160 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199632165 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like FALSE < 1199632166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, no, that's polish notation. < 1199632169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1199632175 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199632175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :false is rpn, reverse polish notation < 1199632178 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :FALSE is rpn < 1199632190 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, we both realised < 1199632196 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :stack-based, you might say < 1199632199 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it took me 2 seconds longer :P < 1199632206 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(5:09:58 PM) oklopol: false is rpn, reverse polish notation < 1199632207 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(5:10:00 PM) Hiato: FALSE is rpn < 1199632216 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just typed slow :) < 1199632224 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Heh, good excuse < 1199632231 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199632304 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1. that's completely different. 2. i had that idea. 3. years ago, when i was in lapland, i saw a reindeer eat its own shit < 1199632341 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :haha, Must have been a truly inspiring sight < 1199632345 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199632355 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, sorry, that's not true, i just added something :) < 1199632382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh I see, so what you meant is: 1. i had that idea. 3 years ago, when i was in lapland, i saw a reindeer eat its own shit ? < 1199632385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mainly ogled at girls last time i was in lapland :) < 1199632405 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :unsurprisingly, I am not surpirised < 1199632412 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and that is a helathy habbit nontheless < 1199632418 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*healthy < 1199632420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, i wanted to change the "3 years ago" into "part 3. years ago..." < 1199632438 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I know, I was merely toying with you mortal mid < 1199632440 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*mind < 1199632443 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or *mud < 1199632447 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :whicheever < 1199632449 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and in that you did succeed! < 1199632461 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hooray! < 1199632470 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, btw, i played a bit with the idea of pattern matching < 1199632484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, and? < 1199632493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sofar, quicksort looks unbelievably weird, but i found comfort in that the prolog one i found is very similar :D < 1199632511 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Cool < 1199632514 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought i had the world's stupidest and ugliest idea ever when i invented scramble < 1199632524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the function that randomly scrambles a list < 1199632531 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but? < 1199632543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :used for sorting, that is < 1199632547 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :It turned into OgroSort (random sorting) < 1199632554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :prolog has "perm", i then found out < 1199632560 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199632561 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :shame < 1199632568 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and permutation is just fancy talk for scrambling :) < 1199632571 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a permuatation algortihm once < 1199632583 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I called it TVPA < 1199632591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and permutation is just fancy talk for scrambling :) ... er sure < 1199632592 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199632597 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, i'm not even disappointed anymore when i found my ideas already in use, < 1199632603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they always are < 1199632615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what a horrible and demaning experience < 1199632622 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I would threaten < 1199632628 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to kill kittens unless I was credited < 1199632630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199632639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i usually found out about them right after i've invented them (usually because of my own googling, but often also by randomly looking at #haskell or somethign) < 1199632647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199632671 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually then renamed Scramble into Perm < 1199632694 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha, I see < 1199632703 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/jRzJ6635.txt < 1199632705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is kinda lame because i'm trying to keep the concepts of pattern matching and constraint programming separate :P < 1199632709 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's in delphi < 1199632712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or is it logic programming... < 1199632717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean that thing. < 1199632725 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't have the faintest clue < 1199632767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :That's a perfect demonstration of my horrible procedural style < 1199632781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is why I want to become proficient in functional languages < 1199632786 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ala Haskell < 1199632890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't get much of that < 1199632894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i don't get all of that < 1199632903 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199632910 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well grab FPC or something < 1199632914 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and Permute away :P < 1199632925 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :FPC = Free Pascal Compiler < 1199632934 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is what Lazarus IDE is < 1199632947 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1199632954 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's besides the point < 1199632958 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the point is the style < 1199632961 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199632965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for k := 0 to sizeof(p)-1 do if PosRightGreater(k) then maxp := k; < 1199632974 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...does that find the max of a list? < 1199632978 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1199632982 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what it does is < 1199632993 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :finds the furthest possible number from the left hand side < 1199633000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which has a number graeter than it on it's right < 1199633005 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*greater < 1199633088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that's quite a slow way to do it... < 1199633095 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's the only way I could think of... < 1199633101 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but you are correct < 1199633105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it is slow < 1199633119 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fast, but slow in terms of cycles per permuttation < 1199633130 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :start from the right < 1199633138 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it takes about 0.5 secs to rubn through 8! permuataions, I think < 1199633142 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1199633235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, just iterate from right to left, store the first number as max, and when you find a number > max, return the index of that < 1199633249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :first == last in the lsit < 1199633250 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :list < 1199633254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199633256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just first because started from the end... < 1199633283 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but that won't be in lexicographical order < 1199633290 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :at all < 1199633312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that will find the last index in the list for which there are no greater numbers on the left < 1199633319 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*right < 1199633320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199633347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199633348 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199633352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :let me think < 1199633353 0 :jix!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1199633353 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199633371 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199633382 0 :jix!n=jix@dyndsl-091-096-043-074.ewe-ip-backbone.de JOIN :#esoteric < 1199633382 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think that that won't be too much faster than what I am doing < 1199633385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's say you have [9 5 6 8], store 8 as max, then go until you find a number greater than it < 1199633392 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's 9 < 1199633395 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's faster < 1199633401 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like this you go through half the list < 1199633401 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :im just saying < 1199633406 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199633407 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199633411 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I do start on the left < 1199633413 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :your way you go through the list for every element of the list < 1199633421 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199633430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mine is O(n), yours O(n^2), unless i read the code entirely wrong < 1199633439 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, you are right < 1199633450 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, it's definitely not linera < 1199633453 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*linear < 1199633462 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1199633464 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't get it < 1199633470 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :with < 1199633473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what don't you get < 1199633477 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :[9 5 6 8] < 1199633480 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :8 is max < 1199633483 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :go left < 1199633488 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :9 is then max < 1199633495 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then that will be wrong < 1199633501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what should it return? < 1199633509 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it should, return, in this example < 1199633510 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1199633515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, yeah < 1199633517 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as 5 has something to its right < 1199633520 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is greater < 1199633522 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but do you see the connection between the algos? < 1199633524 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :8 doesn't < 1199633529 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :kind of < 1199633532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1199633534 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but not really < 1199633539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait a second < 1199633545 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll give the hint. < 1199633550 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1199633565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my algo finds the last number that does *not* have a greater number on its right < 1199633582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, every number after it in the list will have a certain property < 1199633584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you know what? < 1199633588 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633596 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a number graeter than it on it's right < 1199633602 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*greater < 1199633602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you see the connection? < 1199633611 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but that still is one step away < 1199633612 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as I did before < 1199633617 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because < 1199633618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it is so trivial i didn't consider them a separate algo at all. < 1199633626 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I still need the largest possible number < 1199633633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199633651 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :largest possible number? < 1199633652 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whut < 1199633671 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1199633675 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not he largest possible < 1199633676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see i have no idea what you are doing with this since i haven't read the code, i'm just telling you the best algo to do what you explained :) < 1199633679 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the furthest possible < 1199633685 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1199633696 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199633698 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in that case < 1199633701 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I now know < 1199633705 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that everything save 8 < 1199633718 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is valid in the 9 5 6 8 < 1199633733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"valid"? < 1199633741 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so, I guess I can just chosser the one before it < 1199633749 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :valid = something greater on it's right < 1199633755 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199633760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it won't be the leftmost. < 1199633761 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and nine < 1199633765 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the problem < 1199633768 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhhhh < 1199633775 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199633777 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199633779 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed, mine doesn't quite solve it ;) < 1199633780 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not the problem < 1199633784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, it's a trivial change. < 1199633790 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the problem is rightmost < 1199633796 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and your's would report 9 < 1199633801 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :instead of 6 < 1199633807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you want the rightmost? :D < 1199633810 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199633812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you said leftmost earlier < 1199633823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, in that case, it even simpler than my original one < 1199633852 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(5:36:11 PM) Hiato: valid = something greater on it's right < 1199633858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :take the last of the list, go to the left unless the new number is smaller than the last number < 1199633869 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah huh < 1199633873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would be way easier < 1199633900 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199633907 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that would yield false results < 1199633909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because < 1199633918 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in 9 5 6 8 < 1199633925 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we would stop on 8 < 1199633930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as 6<8 < 1199633930 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :**until < 1199633934 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :s/unless/until < 1199633935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199633938 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199633939 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1199633956 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then we have another problem < 1199633962 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in 9 5 6 8 < 1199633965 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we go left < 1199633968 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and stop on 5 < 1199633973 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as 5<9 < 1199633977 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199633978 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is not part of the condition < 1199633987 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199633992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at 6, the new number (6) is smaller than the last number (8) < 1199633995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so we return 6 < 1199633999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of the index of it. < 1199634001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*or < 1199634001 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah < 1199634003 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1199634004 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1199634016 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that will decrease the CPU cycles < 1199634016 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199634037 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I just then have to change the code a bit < 1199634042 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to say if it is the 1st number < 1199634044 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then we are done < 1199634050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's a big algorithmic improvement, i recommend you read a bit about complexities in general < 1199634052 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :instead of if PosRightGreater returns false < 1199634062 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I would like to < 1199634098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i'm fairly sure i'd've lolled my ass off if i didn't know who you are :) < 1199634111 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :programmers are sometimes like that < 1199634127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, if i'd just seen that algo on the net < 1199634130 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure whether to take that as a compliment or insult < 1199634133 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but thanks :) < 1199634134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199634145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, if you'd have seen it on the net < 1199634145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199634159 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, without knowing whose it is. < 1199634169 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes (I'm listening :P ) < 1199634174 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1199634177 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(no worries, I won't take offense) < 1199634185 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(it was stupid ;) ) < 1199634235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just you get a bit obsessed about complexities after being around them constantly < 1199634251 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fair enough :) < 1199634259 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is it that you do? < 1199634261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an algorithm that obviously does what it does inefficiently is actually very funny after that. < 1199634280 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hehe, I can see where you're coming from < 1199634293 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if you don't mind my previous question < 1199634302 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would you answer it ;) < 1199634310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sometimes also because a tabsize of 8 instead of 4 is enough, though, people are pretty obsessed with prettiness of code too :) < 1199634315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199634321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wonder what that was < 1199634345 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :"people are pretty obsessed with prettiness of code too :)" unfortunately true < 1199634351 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well < 1199634357 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is it that you do? < 1199634362 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for a living, or whatever? < 1199634363 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199634396 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, i'm in high school, possibly failing it, taking a few courses from the uni on the side < 1199634412 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1199634415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1199634424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they just let me on one course at a time :-( < 1199634426 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, im not sure about failing (:P) or courses < 1199634432 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :shame < 1199634433 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199634445 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I have my sincere doubts that you are failing :) < 1199634461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, after the first few weeks of high school i realized it has nothing to offer me (or anyone non retard.) < 1199634471 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... haven't really done anything there. < 1199634477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i lack a few courses i should have < 1199634478 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hahah, so very (sadly) true :) < 1199634491 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199634508 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I go to school, to come home < 1199634513 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's that simple :) < 1199634548 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really go, since i have 4 hours of lectures a week < 1199634557 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no courses in high school anymore, just the one course in cs < 1199634562 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the uni < 1199634564 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice :) < 1199634614 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, a course about heaps. < 1199634617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199634639 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199634655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :different ways to keep them balanced, stuff you could explain in a few lines for those who've never heard about them :) < 1199634685 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've actually done this, a whole course about ordos, i taught them to a friend in a few nights. < 1199634718 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ordos? < 1199634722 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/0YrGtq15.txt < 1199634723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :orderz < 1199634726 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :O() < 1199634729 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199634734 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Big O notation < 1199634740 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :check it out < 1199634743 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its way smaller now < 1199634746 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :haven't tested < 1199634748 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but hey < 1199634818 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :be back later < 1199634823 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :got to do some stuff < 1199634825 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199634826 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1199634856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :8| < 1199634866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :people can be so weird... leaving irc... < 1199636400 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's the shortest brainfuck interpreter in a language not spesifically designed for brianfuck? < 1199636404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :brain... < 1199636430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and by specific design i mean stuff like a language that executes brainfuck code. < 1199637619 0 :oklopol!unknown@unknown.invalid QUIT :"for the need to encumber" < 1199638045 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1199638857 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199639869 0 :ehird`!n=ehird@user-514f37e4.l2.c3.dsl.pol.co.uk JOIN :#esoteric < 1199640104 0 :helios24_!i=helios@tomakin.quasar-net.de JOIN :#esoteric < 1199640118 0 :helios24!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1199640277 0 :Hiato!n=Administ@dsl-245-15-242.telkomadsl.co.za JOIN :#esoteric < 1199640288 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassabi < 1199640324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no thanks, but it is a bit chili outside. < 1199640347 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no fair, i was going to... < 1199640347 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hehe < 1199640352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(finally, a chance to pun-answer that) < 1199640352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199640368 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Souther Hemisphere - Oh Yeah :D < 1199640377 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i did it a previous time so... < 1199640378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :warm there? < 1199640382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i know < 1199640384 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Summer! < 1199640386 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i was sooo jealous :\ < 1199640388 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I know orejan < 1199640390 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199640411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i read all teh logs, although i usually skip the long discussions over debugging something :D < 1199640431 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hah, I also try to < 1199640441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well not skip, but not read memorizingly < 1199640445 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :whenever I go to slleep < 1199640447 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :skim < 1199640459 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm garunteed to miss out on the *actual* < 1199640461 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :discussion < 1199640479 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, well I just do Ctlr+F < 1199640480 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199640483 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in the logs < 1199640486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes. how come you started asking haskell questions just when i left ;) < 1199640501 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Couldn't help it :) < 1199640509 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :That's when the exercises got hard in the tut < 1199640509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the fold thing? < 1199640511 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199640512 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199640524 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although oklopol handled that well :) < 1199640535 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thanks, i thought so too :P < 1199640551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I must hand it to him: Oklopol, you taught me folds in ~3 lines, and the whole tut didn't make sense (about them) < 1199640573 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i couldn't add the insightful "BUT, you can also do that with a StateT monad, and it's much COOLER" oerjan could've added! < 1199640582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*though < 1199640587 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1199640593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :StateT? < 1199640594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(not would've, but could've) < 1199640628 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, State is sufficent ;) < 1199640635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure what a monad would have to do with a fold, but i'm fairly sure you can put a bit of monad to everything :-) < 1199640636 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm, err... ok < 1199640652 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, whatever floats your boat oklopol :P < 1199640662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a monad fetish < 1199640667 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199640677 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well that explains everything < 1199640683 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :naah < 1199640685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone should write a haskell fibonacci that uses just monads < 1199640687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nothing else < 1199640687 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :pulling your leg(s) < 1199640690 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mmmk < 1199640698 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or actually... nearly anything you do with lists will be essentially folds at the bottom anyhow, even if you use monad functions < 1199640709 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1199640731 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(from the little understanding i have about the subject) < 1199640737 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure (desperately searches the tutorial for what monads are) < 1199640750 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: they may have left that out out of mercy ;) < 1199640765 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, ok < 1199640769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: yeah, quickly look them up so you can have a conversation about them :) < 1199640769 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or just considered IO < 1199640773 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in which case: I'm not interested :P < 1199640806 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :naah < 1199640808 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually you must have at least one monad eventually: IO to do I/O < 1199640809 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I am < 1199640814 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in a twisted way < 1199640829 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"monad? i'll check wikipedia" *minute* "ah, now i see what you meant by that seven lines of monadic line noise" < 1199640863 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yes.. er.. no... am... maybe < 1199640872 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :choose the more appropriate one < 1199640903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: chooses "am", for he is such an egois. < 1199640904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Ät < 1199640905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*t < 1199640907 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*egoist < 1199640910 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*typoist < 1199640915 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also < 1199640920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION != ok+tab < 1199640921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199640924 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Lol :) < 1199640927 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if Ät means something in finnish < 1199640932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCK, i'm failing a bit too much heree.. < 1199640938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"/me" != "ok+tab" < 1199640954 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: @, or "at" is pronounced "ät" < 1199640979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although you rarely see it in use as such, since it looks awful, that's what "ät" would mean < 1199640984 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if "/me" will come out right < 1199641007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well that's just borrowing english pronunciation i take < 1199641012 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199641026 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Watter taal praat jy oklopol? < 1199641041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"what language do you speak?"= < 1199641041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199641045 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1199641047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :correct < 1199641047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1199641052 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and the winner is.... < 1199641058 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i remember praat and jy from yesterday < 1199641063 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... shouldn't have had to ask. < 1199641064 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D nice < 1199641080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION actually got that since "prat" is norwegian too < 1199641085 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Dutch I take it.... < 1199641088 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199641093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it's sprache in german and prata is talk in swedish, it's not like it's hard to remember something you almost remember already < 1199641094 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or is memory failing < 1199641103 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :almost certainly borrowed from dutch though < 1199641108 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1199641109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: also, finnish. < 1199641120 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ah yes, we went through this yesterday :P < 1199641124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i use english more, but finnish is my native language < 1199641124 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :weel orejan < 1199641127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess we did < 1199641133 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has read that the only native word starting with in norwegian is "på" < 1199641145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Afrikaans = 90% Duthc + 5% English + 5%Randomness < 1199641146 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*with p, sheesh < 1199641149 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :starting with? :D < 1199641150 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*Dutch < 1199641150 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199641153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what :o < 1199641161 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1199641165 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's sick :D < 1199641176 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1199641182 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because every time you learn a rule < 1199641194 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there are more exceptions then are things that confomr :( < 1199641197 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*conform < 1199641235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all i know about dutch is from porn < 1199641238 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, just like english then :D < 1199641250 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ahahahahaah < 1199641256 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and to orejan < 1199641258 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :too true < 1199641263 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :took me years to learn English < 1199641267 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they make very sucky erotic comedies. < 1199641273 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199641291 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll take it you're the expert < 1199641294 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol < 1199641309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't really think of anything funnier than an ugly guy having sex with three girls in fast motion with carneval music on the background :) < 1199641320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :expert? < 1199641323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in porn? < 1199641323 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol, true < 1199641331 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, well Dutch pron that is < 1199641341 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :typo? < 1199641342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, well probably any kind < 1199641346 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199641348 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I see < 1199641363 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/2006_Esolang_Contest < 1199641368 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Holy Guacamole < 1199641377 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there is no way 3/4 of the Esolangs out ther < 1199641385 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can do any of "The Tasks" < 1199641394 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :someone weas on something real good :) < 1199641396 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*waz < 1199641398 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*was < 1199641400 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*blah < 1199641438 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh they _can_, if they're turing complete < 1199641453 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :treu, but you know what I meant < 1199641459 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what I meant is: < 1199641475 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, _someone_ wrote a mandelbrot generator in bf... < 1199641483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1199641485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :No single human (or multiple humans) has/have the capacity to concentrate for a long enough period of time < 1199641493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true. < 1199641494 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I saw that < 1199641507 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :It's not hard really < 1199641512 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :at least the maths part < 1199641512 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :nonsense. first, write the program for a turing machine, secondly, implement the turing machine in language of choice < 1199641517 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I did one in ruby easily < 1199641526 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199641528 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fin < 1199641530 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*fine < 1199641532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :timotiis: now that you put it that way, can't think of anything simpler. < 1199641533 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the house wins < 1199641571 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as i recall, a mandelbrot in basic was one of the first programs i ever wrote, long long ago < 1199641575 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is Pikhq the resident Brainfuck god? < 1199641583 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dbc is, i think. < 1199641589 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, I see < 1199641614 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pikhq is the author of pebble, i'm assuming he owns at brainfuck, although i don't know what he's done with it < 1199641624 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Cool' < 1199641629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, i know he's said "brainfuck is easy once you've used it a bit" < 1199641636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not in those words, but something along those line < 1199641636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :s < 1199641644 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199641650 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Lunacy I tell you :P < 1199641655 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199641657 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/OXHki823.html < 1199641660 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there we are < 1199641661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it's true, it's not that hard ;) < 1199641663 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the madelbrot set < 1199641665 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in Ruby < 1199641668 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :my own script < 1199641670 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :very easy < 1199641671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm i think the uuencode task might be the simplest... < 1199641680 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1199641684 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :im not sure though < 1199641693 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sed is definitely difficult < 1199641699 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in non-stringy languages < 1199642120 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wise man once say: "Mandelbrot Set make IRC silent, Phoenix set make noise" < 1199642176 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what is the Phoenix set? < 1199642188 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its alos an infintely repeating set < 1199642191 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199642194 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :a fractal too < 1199642198 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :let me get the link < 1199642286 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://www.jamesh.id.au/fractals/mandel/Phoenix.html < 1199642434 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aye < 1199642448 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not pretty, hence it makes noise :P < 1199642566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :interesting note: "aye" means "no" in finnish < 1199642572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although it's written "ei" < 1199642576 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199642581 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I learnt some finnish < 1199642584 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199642589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :interesting note: "aye" means "egg" in german, although it's spelled "ei" < 1199642589 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is yes? < 1199642591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also < 1199642596 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ei har jeg hørt slikt < 1199642604 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh, and some german < 1199642617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not pronounced the same, i failed :) < 1199642624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"yes" is "kyllä" < 1199642630 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :pronounced? < 1199642632 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. ei means "not" in norwegian, although it's a bit rare) < 1199642642 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wicked < 1199642659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: i'm not sure how to type how it's pronounced in finnish in english... < 1199642671 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure, no problem < 1199642681 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"ej" in swedish. < 1199642706 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1199642707 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199642718 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I won't remmeber half of these, but cool nonetheless < 1199642725 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*remember < 1199642740 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"kule" pronounced a bit like "dune" and then "la" as in the beginning of "lag" < 1199642750 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kule la < 1199642759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :very bad explanation :) < 1199642780 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it though :) < 1199642826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can't really explain the exact pronunciation like that, since everything is pronounced a bit differently < 1199642830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's close < 1199642842 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool, thanks nonetheless < 1199642844 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :anywhodel < 1199642845 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1199642847 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :supper < 1199642855 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, not right back but hey < 1199643524 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0x20FF33 < 1199643548 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :2162483 < 1199644114 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, toffee < 1199644117 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0x20FF33 < 1199644220 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :back < 1199644544 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199644706 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I've done a small amount of things in Brainfuck, yes. < 1199644707 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199644814 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you yourself have said dbc is the guru, i think. this is why i had no trouble putting him above you in the brainfuck-capability meter i have in my head < 1199644836 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used to be pretty good myself.. < 1199644839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1199644855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a million years ago, when i was able to program in other languages than python.- < 1199644906 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think I caught Eso-fever < 1199644909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199644912 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1199644930 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I already want to make a new language, and I haven't even named the current one :( < 1199644935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199645073 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Doctor, is it curable? < 1199645723 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1199645733 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :However, with longterm treatment, it can be managed. < 1199645745 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(side effects include severe geekiness_ < 1199645746 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :) < 1199645907 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199645913 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :er.. I mean :( < 1199646012 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Alright, I need some _community_ (winces) suggestions for a name for my esolang so that I can write an interpreter and not feel guilty about thinking about my next one < 1199646026 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :its the funky obfuscated one < 1199646056 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :where helloworld is : {{>>~~~~{-<}~~~~~~~~~{-<-<}<<}:{>>{~~~~~~~~{<}~{>}}<<}\ ~>{{~{v}}>>>v{~}^<<<}/(<<<){[<<]}:>:{>>{~~~~~~~~{<<}~{>>}}<<}\ ~{>>{vvvvvvvv~~~~~~~~~~~~~~~}<<}~{>>{vvvv~~~~~~~~~~~~~}<<}~ {>>{^^^^^^^^^^~}<<}~{>>{v~~~~~~~{{<<}~}v{~}vvvvvvv{~{>>}}^^^^^^~~~ {{<<}~}vvvv{~{>>}}v~~~}<<}~<{{^^^}}~{>>{vvvvvv~{{<<}~{>>}}^^^^^^^~~~~~~~~~~~{{<<}~{v>}}^^^^^^}}/{{()}}{[<<<<]}:>:{{~v}}\} < 1199646080 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and outputting T using Fibonacci is: {{>>}~~~~~~~~~~~{{-<~}<<} /{{(<){[<<]}}}:>:~{>>{<<}}~{<<{>>~<<}>>}~{<<{>>}}\{>>v}~{^}~~~~~{<}~ {<{~}v>}~} < 1199646141 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if ever anyone will respond, appropriately < 1199646244 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. . . < 1199646393 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Phlegethon. < 1199646405 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Nice name, does it mean anything? < 1199646431 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's the outer ring of the 7th level of hell in /The Divine Comedy/. < 1199646444 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199646444 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The naming, obviously, inspired by Malbolge. < 1199646453 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I see :) < 1199646469 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though this is actually _possible_ to programme in, well just < 1199646487 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm < 1199646489 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well < 1199646499 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in the absence of any other suggestions < 1199646502 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I will say < 1199646508 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I Like :) < 1199646508 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The 7th level of hell is reserved for those violent against people and property. < 1199646514 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it will now be processed < 1199646518 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which you will be after coding in that. :p < 1199646529 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol :P < 1199646531 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Nice < 1199646552 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(Even though in my religion, there is no hell, but hey ;) ) < 1199646563 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Plegethon < 1199646569 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it has a nice ring to it < 1199646600 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION contemplates naming it Plegethon 2, to suggest some kind of advancement < 1199646781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps though < 1199646792 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :something less...er for the lack of a better word, evil < 1199646847 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like Fluffy Bunny Esolang :P < 1199647151 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Generic evil: Inferno. < 1199647264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like < 1199647276 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I dub the language Inferno < 1199647292 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for no apparent reason too ;) < 1199648009 0 :oerjan!unknown@unknown.invalid QUIT :"Coffee" < 1199648890 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exists, hiato < 1199648921 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :inferno exists? or call it exists. I'm confused... < 1199648938 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a language named that exists < 1199648942 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1199648944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well an os named that with a language called limbo < 1199648947 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but yeah :P < 1199648951 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, undo the dub process < 1199648966 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, I think I even heard of it < 1199648967 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199648980 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :plan9-related < 1199648983 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks ehird1 < 1199648986 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199648990 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's right < 1199648992 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :bell labs < 1199648992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ehird` < 1199648993 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199648998 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woops < 1199649000 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :typos < 1199649001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Limbo_programming_language quite clean code actually < 1199649001 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1199649002 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1199649049 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, so any suggestion s for a new name? < 1199650117 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what about Citizen II < 1199650118 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199650180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn < 1199650191 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :name for the language LEMON that's all for now < 1199650204 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I dpnt speak fruit < 1199650208 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*don't < 1199650249 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ehird` : would you so kindly explain what that was about, feel free to decline ;) < 1199650257 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's the name < 1199650262 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for what? < 1199650263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn is what you should call your language < 1199650269 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh I see < 1199650274 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :standing for: "name of the languge LEMON that's all for now" < 1199650315 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :am.. thank you for your.. err.. generous contribution, we value all of our customers equally, please hold < 1199650318 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199650319 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199650320 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... < 1199650321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1199650326 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ok, I see < 1199650342 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I felt inspired too :P < 1199650494 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :come on, esoteric names for esoteric languages < 1199650517 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, I think the LEMON one was a bit too far away from anywhere, really < 1199650522 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't mind changing the name < 1199650529 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but not to that ;) < 1199650570 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually, I quite like just notlLEMON < 1199650587 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as in name of the language (is) LEMON < 1199650591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's wicked < 1199650593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199650637 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :give it a mutable name global between each interpreter for it < 1199650641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn is good though < 1199650645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and add a few command to change the name < 1199650649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*commands < 1199650692 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :not sure I'm with you oklopol... ehird` the stuff after lemon looks kind of stupid though < 1199650721 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cool though < 1199650730 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199650735 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or rather meh < 1199650782 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather how's about just LEMON < 1199650833 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: not with me as in don't agree that'd be awesome, or didn't understand what i meant? < 1199650845 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :didn't understand < 1199650848 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(a word) < 1199650848 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1199650856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what word? < 1199650858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mutable? < 1199650873 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, really the whole thing, but yes, mutable < 1199650873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if something is mutable that means you can change it. < 1199650877 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1199650892 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so what is the interchangeable global? < 1199650897 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and what should it do < 1199650909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :interchangeable=mutable (methinks) < 1199650965 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind < 1199650989 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean " give it a mutable name global between each interpreter for it" < 1199651219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1199651230 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199651254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, that the name of the language could be changed by a primitive in your language. < 1199651254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hah, im not even so sure you knew what you meant :P < 1199651260 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1199651263 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1199651269 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1199651273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, it's not nice, but it's an idea :) < 1199651291 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, it is nice, because (I say so :P ) I like it :) < 1199651310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha, well, the problem is it's a bit hard to implement :D < 1199651321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah, you got that right :D < 1199651323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it could change the name on the wiki page xD < 1199651328 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aweomse < 1199651334 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I would need PSOX < 1199651338 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, actually would have to move the page to another location :D < 1199651344 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for SGEO to storm in... < 1199651350 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true < 1199651362 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should a language with the new name already exist, it would just give a runtime error. < 1199651364 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok log in->create a page with the template < 1199651370 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and then update the name part < 1199651371 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199651377 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1199651384 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1199651384 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Runtime error... amm 404 :P < 1199651404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and for starters you can name it The Language That Changes Its Own Name < 1199651417 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1199651423 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but then voxelperfect would die < 1199651433 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because everyone would execute progs < 1199651437 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :just for fun < 1199651444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199651447 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to see if "it lives up to its name" < 1199651492 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :currently though, it's LEMON < 1199651498 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :codename, that is < 1199651503 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :until further notice ;) < 1199651543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1199651995 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199651996 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no hiato. < 1199652002 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lemon is a parser generator, qutie common < 1199652003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :used by sqlite < 1199652010 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and its accompaning input language < 1199652025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn isn't taken! < 1199652041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd prefer nftlltafn < 1199652047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for nftlLEMONtafn < 1199652209 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1199652454 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1199652457 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LEMON can stand for: < 1199652475 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Language Eminating Monstrous Ontologies: nftlLEMONtafn < 1199652479 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :To recap: < 1199652492 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn = name of the language LEMON that's all for now < 1199652501 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LEMON = Language Eminating Monstrous Ontologies: nftlLEMONtafn < 1199652507 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's like HURD < 1199652511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but cooler < 1199652584 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1199652588 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you have convinced me < 1199652593 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it will be called < 1199652598 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nftlLEMONtafn < 1199652603 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :rather < 1199652614 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :notlLEMONtafn < 1199652632 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :o=of /= f < 1199652635 0 :Tritonio_!n=Tritonio@150.140.229.93 JOIN :#esoteric < 1199652735 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but < 1199652738 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that is not final < 1199652785 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ontology is a study of conceptions of reality and the nature of being. < 1199652787 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :interetsing < 1199652942 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though, if LEMON is taken, perhaps it would be better not to have it form part of the name < 1199652975 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :hello everyone and happy new year! < 1199652997 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hello Tritonio < 1199653006 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and happy new year to you to < 1199653010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: happy easter! < 1199653022 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(even though today is the 6th for me :P ) < 1199653031 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :happy new easter! < 1199653113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: you see Tritonio_ lives a few trips around the world away from you < 1199653121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he's just celebrating new years' < 1199653129 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D heh < 1199653154 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :No way, but hehe anyway < 1199653168 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1199653420 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what about this for the name: < 1199653421 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :TEPLTIAOAUHAUA (The Esoteric Programming Language That Is Absurdly Obfuscated And Unfortunately Has An Unpronouncable Acronym) < 1199653442 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :unpronouncable acronym rips on INTERCAL (Language With No Pronouncable Acronym) < 1199653449 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1199653456 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :even though I just though of it < 1199653464 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, well, Ill try again < 1199653503 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually (believe it or not) I'm glad ehird` is looking out for these things, otherwise this language would be cheap. Thanks :) < 1199653514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199653536 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Should I go the funky Acronym route? < 1199653577 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :BLAH (This is not an acronym for the language) < 1199653592 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or BLAH (Not An Acronym For the Language) < 1199653656 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :BLAH (Blatently Lazy Acronym, Hey?) < 1199653835 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :call it: ACRONYM, Recursive (Languge Without Self-Reference In The Name) < 1199654010 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199654033 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :NCTOAN (Nope, Couldn't Think Of A Name) < 1199654033 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :NAMELESS () < 1199654049 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or N/A < 1199654062 0 :Tritonio_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199654082 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :N/A (Not Applicable and Non-Acronym) < 1199654137 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like N/A < 1199654144 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and ACRONYM < 1199654286 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well done ehird` < 1199654293 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Nononono < 1199654294 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACRONYM wins! :D < 1199654295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's < 1199654298 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACRONYM, Recursive < 1199654299 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1199654304 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aww ok then :P < 1199654318 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1199654335 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :congratulations and thank you :D :D < 1199654343 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like ACRONYM very much :D < 1199654395 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks ehird` < 1199654396 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199654399 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :"You have a doomsday device? You have a doomsday device and you didn't tell me?" < 1199654402 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :"Frank! Frank, Frank. Boss. Of course I have a doomsday device. What do I look like, a sane person?" < 1199654414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :timotiis: sam hughes!!! < 1199654444 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: congratulations < 1199654453 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :,o/ \o, \o/ < 1199654538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i found him on freenode once < 1199654544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he was away through < 1199654549 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think his nick was rashakil or similar < 1199654642 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1199655127 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1199655186 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1199655663 0 :Tritonio_!n=Tritonio@150.140.229.170 JOIN :#esoteric < 1199655674 0 :Tritonio_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1199656136 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1199656523 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I like the angle of incidence 1l, why was it abandoned < 1199656537 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :don't make me take it onto myself to complete..... < 1199656543 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*upon < 1199657431 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Well, I finished th spec for 1L_AOI < 1199657541 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/VC26oA18.txt < 1199657723 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Does anybody know Gregor Richards' email address < 1199657730 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I want to contact him < 1199657783 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No idea. But he's in the channel. < 1199657792 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: You paying attention to IRC today? :p < 1199657793 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :GregoR < 1199657797 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, huh < 1199657806 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well GregorR < 1199657823 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I would like you to check out the brief 1L_AOI spec I wrote < 1199657825 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and perhaps < 1199657843 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :give it your blessing and continue the wonderful project that is the 1L language < 1199657879 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :GregorR < 1199657880 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1199657884 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1199658169 0 :Aardwolf!n=lode@kotnet-145.kulnet.kuleuven.be JOIN :#esoteric < 1199658485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woops < 1199658491 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :made a mistake in the spec < 1199658546 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it would have been impossible to do anything with < 1199658553 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :because of a catch 22 < 1199658608 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you need to be moving down to increase something, but in order to move down, you need to increase something, and the original direction was right < 1199658616 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thus it would have been impossible :P < 1199658618 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :fixed now though < 1199658747 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok GregorR and anyone else interested, here is the corrected spec for my idea of 1L_AOI (Angle Of Incidence) < 1199658748 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/VMGMTC23.txt < 1199658830 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cheers < 1199658832 0 :Hiato!unknown@unknown.invalid QUIT :"Leaving." < 1199659024 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1199659301 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I should add the i combinator of iota to Lazy Bird. < 1199659308 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :As an archeopterix or something. < 1199659322 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1199659453 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Is the i combinator thusly? ``s``si`ks`kk < 1199659602 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Hm. I'm trying to find a simple lambda form, but I'm not sure there's one beside the definition. < 1199659626 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i = .x.xsk < 1199659635 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, \x.xsk < 1199659654 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but well, I need a form for the string rewriting. < 1199659690 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :-> ^x``xsk -> ``s``si`ks`kk < 1199659695 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which is what you had < 1199659712 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, it seems that ``````...````iabcd...xyz = ````...````askbcdef....xyz < 1199659756 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I could rewrite all occurence of the combinator as ``s``si`ks`kk, but well, I'd rather find a quicker method < 1199659778 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1199659799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well the obvious thing is to rewrite `ix as ``xsk < 1199659834 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, there's that. < 1199659859 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Good enough I guess. < 1199660065 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Although... < 1199660087 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Since it's supposed to be unique, maybe I should switch s and k to their translation. < 1199660157 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :``x`i`i`i`ii`i`i`ii < 1199660196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :problem is, you then need to add rules to recognize the translations. < 1199660233 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, the i combinator will be added to the program itself. < 1199660293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i = ^x``x`i`i`i`ii`i`i`ii is not enough to define it < 1199660299 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The problem is, I'm not sure how it would play out since ``x`i`i`i`ii`i`i`ii uses the combinator itself < 1199660302 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that. < 1199660339 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Ah, iota defines it just as a lambda expression. < 1199660357 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'll just do the ``xsk < 1199660499 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :On another matter, I defined _ as replacing it with the ASCII input with s="```s`k`s``s`ksk``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kkk`kk`k`ki"+s < 1199660508 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :And s=`ki < 1199660520 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :But it is quite slow. < 1199660539 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I think I'll have to finish the table, but so far, I didn't even reached A. < 1199660543 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1199660755 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :table? < 1199660847 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Thusly : http://membres.lycos.fr/bewulf/Russell/Lazy%20Bird/Church%203.txt < 1199660928 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think 23 is too long, surely you can double and add 1 to the 11 version faster than that < 1199661020 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :your + is a bit deceptive i think < 1199661054 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it assumes passing m and n as arguments, but for constructing numbers you would just put them in directly < 1199661108 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's how I use my addition. < 1199661110 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so ``+mn = ^f^x``mf``nfx = ^f``s`k`mf``s`k`nfi < 1199661123 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :In the lambda form < 1199661127 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Easier to enter. < 1199661132 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Just ``+ab < 1199661143 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except then it is useless for constructing short numbers < 1199661151 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :succ *2 11 gives me ``s``s`ksk``s``s`ks``s`k`s`k``s`k``s``s`kski``sb``s``s`ks``s`k`s`k``s`k``sbi``sb``s``s`ks``s`k`s`k``s`k``sbi``sbik`kik`kik`ki < 1199661163 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I use the Lazy K table to construct them. < 1199661196 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1199661224 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :After shortening the 23, I get ``sb``s``s`ks``s`k`s`k``s`k``sbi``sb``s``s`ks``s`k`s`k``s`k``sbi``sb``s``s`ks``s`k`s`k``s`k``sbi``sbik`kik`kik`ki < 1199661230 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Which is indeed shorter. < 1199661284 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :And ``23.xi prints the right number of x's. < 1199661322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oklotalk! < 1199661332 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Or simplify to `a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`ax with some dummy combinators. < 1199661529 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1199661555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the most obvious way to make this efficient would be to embed decimal notation... < 1199661622 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would even be possible to define #,0-9 such that ``#102 = church numeral 102 i think < 1199661633 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although your 0 is already taken < 1199661671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :# = church numeral 0, digit d = multiply by 10, add d < 1199661680 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait nonsense < 1199661706 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would have to be written ``201# for that < 1199661709 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :My 0 is already 0. < 1199661717 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's `ki. < 1199661726 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1199661733 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric := `sk < 1199661740 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Also that. < 1199661774 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :(I made a Lazy Bird -> SK translator, in case I want it less readable) < 1199662563 0 :calamari!n=calamari@ip24-255-58-134.tc.ph.cox.net JOIN :#esoteric < 1199662969 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's basically the biggest bf program out there? < 1199662974 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's 2mb lostkng.b right? < 1199663090 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1199663706 0 :slereah_!unknown@unknown.invalid NICK :Slereah < 1199663774 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Is a list of the form ``s``si`k[as many as size f the list - 1]``s``si`k[1]`k[2]`k[3][...]`k[n]? < 1199663777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's an odd shortage of bf->machine code translators < 1199663788 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: i know the lambdacalculus for it < 1199663796 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CONS := \x y z. z x y < 1199663804 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :TRUE := \x y. x < 1199663807 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :FALSE := \x y. y < 1199663814 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CAR := \x. x TRUE < 1199663819 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :CDR := \x. x FALSE < 1199663825 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and have NIL := FALSE or similar < 1199663831 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :That's what I used. < 1199663837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe have NIL := CONS NIL NIL, with the y-combinator < 1199663837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1199663841 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :What's CAR-CDR-NIL? < 1199663885 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I suppose CAR-CDR are the take first-second element