< 1200009602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was first gonna written elliot, but then realized you're definitely a double geminate guy < 1200009638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1200009638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :today, i heard of a person with my name < 1200009643 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a guy said their teacher had said to the class she'd called for some tech assistance, and i had answered. < 1200009650 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(happy tomorrow GMT) < 1200009664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(said "an old student" and my name) < 1200009678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(not sure it's me, but quite close, for i'm an old student of hers) < 1200009685 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't get a call though. < 1200009700 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: they were going to ask for your help but then saw oklotalk < 1200009702 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1200009862 0 :CakeProphet!unknown@unknown.invalid QUIT :Connection timed out < 1200009867 0 :CakeProphet__!unknown@unknown.invalid NICK :CakeProphet < 1200009875 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1200009910 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200009914 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :QUIZ < 1200009920 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :find a language where this does what you'd expect < 1200009921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3=4 < 1200009936 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that one esolang, you mean? < 1200009945 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd expect it's an always-failing proposition < 1200009958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't remember the name now, but the language is fun < 1200010071 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200010076 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it should actually redefine 3 as 4 < 1200010084 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x = 3 < 1200010085 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3 = 4 < 1200010089 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x // => 4 < 1200010091 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3 // => 4 < 1200010097 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3 + 1 // => 5 < 1200010109 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :4 - 1 // => who knows? < 1200010127 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :4 - 1 // => 4, probably, since 3 is now 4 < 1200010197 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :3 is now 4, but 4 is still 4 < 1200010201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least in the esolang < 1200010211 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1200010215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3 // => 4 < 1200010218 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :4 // => 4 < 1200010225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, so 4-1=3 < 1200010226 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :4 - 1 // => this would be 3, but 3 is now 4, so: 4 < 1200010227 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1200010229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :4 of course :) < 1200010244 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200010425 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :esolangs aren't innovative anymore, just reinventions :( < 1200010616 0 :CakeProphet_!unknown@unknown.invalid QUIT :Connection timed out < 1200010679 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1200010710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i've invented quite a lot of new stuff. < 1200010723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for example... < 1200010737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have i mentioned GRAPHICA, HAVE I EVER MENTIONED GRAPHICA? < 1200010757 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no. never. < 1200010886 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::----) < 1200011046 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fibonacci in graphica= < 1200011065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not tc yet. < 1200011072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or then it is, not sure < 1200011085 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fibonacci is a simple rewrite rule < 1200011086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no TC needed < 1200011126 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess you could just Fib m n :: m n <-> Fib m+n m < 1200011143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fibonacci's rewrite rules are very simple: < 1200011146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait < 1200011157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess you could just Fib m n :: m <-> Fib m+n m < 1200011157 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(A → B), (B → AB) < 1200011160 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :start with A < 1200011164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then it's in unary. < 1200011197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or (B → BA). < 1200011212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mm < 1200011261 0 :CakeProphet__!n=CakeProp@98.18.14.43 JOIN :#esoteric < 1200011354 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"A"->"B";"B"->"AB";"A" < 1200011359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work, though, in CRTL < 1200011369 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because the rules get removed, and the A rule effects the "B"->"AB" < 1200011519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you can use my program though < 1200011567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, you can attach a type tag there, to make sure rules apply in the right order and to the right data < 1200011957 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :A->B , B->AB | B->AB , AB->BAB ? < 1200011968 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :or A->B, B->BB? < 1200012086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A-B, B->AB < 1200012094 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1200012095 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you mean in my prog < 1200012101 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"A"->"B";"B"->"AB";"A" < 1200012107 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"B"->"BB";"B" < 1200012109 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"BB" < 1200012116 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, "A"->"B";"B"->"AB";"A" outputs "BB" and exits < 1200012125 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: what was wrong with my fibonacci? < 1200012142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ? < 1200012150 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the one i gave hours ago < 1200012155 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show < 1200012217 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b),a;("fib"->"1")->"1" < 1200012230 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let me step through that. < 1200012232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :uh < 1200012233 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you have , < 1200012237 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :, is not CRTL. < 1200012238 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :QED < 1200012240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah, that was for output < 1200012243 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can forget about that one < 1200012251 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show me a new one then < 1200012256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b);("fib"->"1")->"1" < 1200012263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b);("fib"->"1")->"1" < 1200012297 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :("fib"->"1")->"11" < 1200012306 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[end] < 1200012310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200012321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why doesn't rule 1 apply a second time? :\ < 1200012325 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rules are one use? < 1200012330 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because it's removed from play < 1200012333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :didn't know that < 1200012342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then the language is pretty useless, huh? < 1200012357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, you can do a fixed number of rewrites < 1200012397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nope, because you can do things like this: < 1200012409 0 :CakeProphet!unknown@unknown.invalid QUIT :Connection timed out < 1200012425 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200012428 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1200012431 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's apply it multiple times. < 1200012435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b);("fib"->"1")->"1" < 1200012441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b);("fib"->"1")->"11" < 1200012451 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b);("fib"->"11")->"111" < 1200012461 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b);("fib"->"111")->"11111" < 1200012462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that works < 1200012467 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, now make it do output :P < 1200012480 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, only possible with "," < 1200012487 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or something equivalent < 1200012497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nope, i'm pretty sure you can do it < 1200012502 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's try... < 1200012502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no way to make a new tuple -> no way to do infinite outputs < 1200012513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what about if we leave outputted strings in place. < 1200012542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... then it's possible again, but perhaps a bit ugly, i'll try < 1200012595 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually... hmm < 1200012676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ("fibo"~x)->... may help < 1200012802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("printed"->b)->a~b); < 1200012802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(("printed"->a)->b)->a~"|"~b < 1200012802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a~"|"~b->(("fib"->a)->b) < 1200012802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :("fib"->"1")->"1"; < 1200012811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :best i could think of < 1200012821 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :example output? < 1200012828 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that'll print 1|1, 1|11, 11|111, 111|11111 < 1200012830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think. < 1200012836 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it generates statements like: < 1200012838 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"1|11"; < 1200012844 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you see i need to parse the values back after printing them < 1200012847 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with no other expression in that statement? < 1200012870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :generates what i said, but s/","/newline, i guess < 1200012898 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean in the code. < 1200012907 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm? < 1200012936 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, printed is redundant... < 1200012964 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->b~"|"~a~b; < 1200012964 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a~"|"~b->(("fib"->a)->b) < 1200012964 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :("fib"->"1")->"1"; < 1200013002 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now put that on the CRTL wiki and i'll update the spec so that it's true :P < 1200013006 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200013009 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by the way, does that rely on any kind of evaluation order? < 1200013016 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, i don't think so < 1200013041 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1200013065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, the problem is, after you do output, you cannot (using my way of coding) output any less than *everything* you're gonna need in further computation < 1200013090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because printing is done by encoding the program state into a string, and then parsing the string into a tuple again. < 1200013091 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1200013113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it actually relies on the fact a string is only output once, then tried the substitutions again < 1200013129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but this is a given, for otherwise *any* output you do could happen *any* number of times < 1200013137 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and what's with the *emphasis* < 1200013174 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's right < 1200013179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/CRTL#Evaluation updated < 1200013196 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I'll add your fibonacci. < 1200013263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, added < 1200013266 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I think it's turing complete. < 1200013286 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ah... < 1200013298 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: what's your lang called? < 1200013304 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: CRTL... < 1200013317 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Constantly Rewriting Term Language < 1200013338 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: "," is not needed now yeah? < 1200013358 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :btw: a good excersize would be a dupdog interpreter. < 1200013434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, "," would just be nice, since you would have tc output :-) < 1200013439 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you know what i mean < 1200013451 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, i don't < 1200013472 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's assume that CRTL is turing complete, are you saying it can't output every string as a result of a calculation? < 1200013483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1200013489 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ok. < 1200013494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in case there's no better way than what i'm using. < 1200013527 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just like bf couldn't output every string if . printed "printing: " < 1200013532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it'd still be tc. < 1200013612 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess a better example is, utm cannot do output, but i'm fairly sure it's tc! < 1200013745 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah i get it < 1200013755 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: got any more elegant solutions than ,? < 1200013818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i'm wishing a way to do without it would pop in my head... < 1200013875 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... "," is non elegant why? < 1200013887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1200013905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, you can't pattern match on rules with free variables anyway, so there's a definite distinction between data and rewriting rules... < 1200013917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1200013926 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, in some cases. < 1200013941 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200013943 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can add ' < 1200013944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :quote < 1200013951 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to pattern match on free vars. < 1200013961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, metalevels ftw! < 1200014008 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, i still think "," would be nice, otherwise you'll just have a fixed set of rules... and that's just too static! < 1200014022 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok. < 1200015927 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1200017119 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :back < 1200017142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i will add quoted = "'" name | "'" quoted < 1200017148 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but this makes programs = data < 1200017154 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so propose a , that doesn't differenciate < 1200017161 0 :CakeProphet__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1200017315 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ping < 1200017357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1200017384 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so yeah, do that :P < 1200017388 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1200017411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, there's one that i can think of at least, but it's a bit complex. < 1200017416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :tell me. < 1200017474 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a rule A -> B, C is considered two separate rules A -> B; A -> C when it's pattern matched on, the "," just means the two rules are always applied both < 1200017501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it could be pattern matched on < 1200017548 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A -> B; A -> C is pretty nonsensical < 1200017563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if A->B is run first the program becomes A -> B; B -> C < 1200017570 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the other way around, C -> B; A -> C < 1200017607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, suggest an elegant solution that makes sense :D < 1200017628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was not a way to convert a rule with "," to one without it < 1200017637 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's impossible < 1200017648 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1200017650 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then explain < 1200017652 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it'd be A->B; A->C; when pattern matched on. < 1200017674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when it's used as the pattern, it'd be a special pattern thatmakes two tuples from one input tuple. < 1200017677 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*that makes < 1200017695 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so pattern matching doesn't reflect what you see in the source... < 1200017699 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no: i don't like that. < 1200017743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then you can just add the new operator "," < 1200017769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is, that makes it useless to have data and program flow integrated when the feature is not used < 1200017789 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sorry i think you'll have to come up with something a lot nicer :) < 1200017790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually.... < 1200017791 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i suggest: < 1200017795 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a,b < 1200017797 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err < 1200017798 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1200017806 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :foo->(bar,baz) < 1200017824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :foo->bar, but appends "baz" to the end of the program and maybe-outputs it < 1200017839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually i don't think "," as an operator would be that bad < 1200017863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1200017902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"a","b"->"c" would consume an "a" and a "b" and create a "c" < 1200017914 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it'd be a bit more generic < 1200017934 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, write a fibonacci-outputs-in-unary-without-weird-extra-state < 1200017936 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :using that < 1200017937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1200017946 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm... < 1200017955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it'd work with what i originally had < 1200017963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can find it again < 1200017976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(("fib"->a)->b)->(("fib"->b)->a~b),a;("fib"->"1")->"1" < 1200017989 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1200017992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it still does the weird thing < 1200017996 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, how about < 1200018008 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok wait < 1200018019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in your example, oklopol < 1200018021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the weird thing? < 1200018021 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the a < 1200018023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where does it go? < 1200018027 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :after the match? or at the end of the program < 1200018036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if at the end of the program, then that's my foo->(bar,baz) semantics < 1200018061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the way i see it, ";":s in the program code separate entries in a tuplespace, which is unordered < 1200018071 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so i don't really think "where a goes in the code" < 1200018088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but in the case the tuplespace can be assumed unordered, in the end? doesn't matter < 1200018100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so < 1200018104 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x->(y,z) < 1200018115 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :replaces x with y, and introduces z into the program space. < 1200018124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, with your semantics, yes < 1200018133 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's your semantics for x->(y,z) < 1200018143 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, well, actually, that's my semantics, sorry :) < 1200018145 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also oklopol you keep missing out the final ; < 1200018152 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed i do, but i know it's there. < 1200018157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :noticed myself too < 1200018165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :should i remove the need for it? < 1200018190 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... perhaps, ";" seems more like a separator than a delimiter to me < 1200018207 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's used as both, so i don't think it matters. < 1200018214 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1200018220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you have it be a separator < 1200018240 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: on the LHS, what does (a,b) do? < 1200018243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :e.g. in (a,b)->c < 1200018244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then a ";" in the end of a program means the string "", possibly, which is printed, as a nop < 1200018263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it finds something matching a and something matching b, and returns c in the tuplespace < 1200018277 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a and b will share variables in pattern matchin < 1200018278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*g < 1200018310 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...? < 1200018319 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm? < 1200018322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(a,b)->c "find both a and b, and replace them with c?" < 1200018332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1200018339 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but that's totally different from your RHS , semantics < 1200018343 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200018344 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's not related < 1200018347 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok then i guess < 1200018369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait, i'll clear my thoughts a bit < 1200018383 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: remember that it would find ALL as and Bs < 1200018384 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's really annoying to think when the text appears a minute after i've written it < 1200018388 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because replacements replace EVERYTHING they can find < 1200018425 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can think of the "replace all" thing as "replace one, repeat" < 1200018439 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in which case matching multiple tuples at the same time is okay. < 1200018464 0 :helios24_!i=helios@tomakin.quasar-net.de JOIN :#esoteric < 1200018508 0 :helios24!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1200018532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically, a rule (comma-separated tuples)->(comma-separated tuples) means "repeatedly find a set of tuples that match left side, put their free variables to corresponding vars in the right side, remove all left-side tuples, add all right-side tuples" < 1200018559 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this works like expected for comma-separated lists with just one element == like before. < 1200018599 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was not a fully formal explanation for i am very sleepy, i can maybe give you an example if you didn't get it < 1200018626 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"a"->"b"; "a"; ==> "a"->"b"; "b"; < 1200018633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the case where only one tuple on both sides < 1200018645 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: OH! how do you match a,b pairs???? < 1200018654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :left side ("a") was removed from the tuplespace < 1200018654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(OH DEAR YOU LOSE.) < 1200018661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right side was added < 1200018664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Also you can't nest ,s < 1200018669 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So blahhh your semantics suck. < 1200018678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :k < 1200018683 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1200018718 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sure you can nest them, actually < 1200018735 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how < 1200018790 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1200018830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(a,b->"c")->("d"->a,b); "a","b"->"c"; "d"; => (a,b->"c")->("d"->a,b); "d"->"a","b"; "d"; => (a,b->"c")->("d"->a,b); "d"->"a","b"; "a"; "b"; and modify semantics so that strings are gc'd (and thus printed) once nothing matches on them < 1200018849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, lag addes a few minutes to my response time < 1200018851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*adds < 1200018867 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :umm that makes no sense :D < 1200018875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also i don't want to remove strings once nothing matches on them < 1200018877 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1200018904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, your language ;-) < 1200018915 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to remove , for now until we can think of a sane way to do this stuff :P < 1200018930 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(my semantics are perfect though :)) < 1200018939 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(uhhh, touch them) < 1200018949 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1200018969 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(parens are there so you know to ignore it) < 1200019044 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1200019045 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but < 1200019048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(uhhh, touch them) < 1200019093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a comma-separated list is not hard to match. it's a linear rise in complexity, if you allow patterns in the left side to match the same tuple < 1200019118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a,b->"b";"a" ==> a,b->"b";"b" < 1200019154 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes but nesting them makes not a lot of sense < 1200019178 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I think what we need is an implementation of the current spec first < 1200019181 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and then think about it < 1200019189 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what language would be best suited for it though? < 1200019204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we need to do parsing, loads of mutability on the program, and lots of pattern matching < 1200019212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, "," would only have the special property on the topmost level, otherwise it'd just be a separator < 1200019219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which already is how "->" works. < 1200019274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what about "(uhhh, touch them)"? a request to touch the semantics to feel how soft they are. < 1200019278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200019279 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not soft < 1200019300 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :something. < 1200019310 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway! < 1200019311 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :implementation. < 1200019327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :imple pimple! < 1200019342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can make one quite quickly in python, but i'm trying to change language < 1200019351 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :to scheme < 1200019360 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wise choice :-) < 1200019366 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah python would be good for the mutability, but yeck < 1200019370 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haskell might actually be good < 1200019374 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but parsing will be a bitch. < 1200019387 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :parsec doesn't like paren := (expr) where expr has an option of paren < 1200019391 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :can't figure out why oh well < 1200019415 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i think parsing is fairly straightforward < 1200019431 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1200019441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in haskell you mean < 1200019441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1200019447 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1200019451 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1200019453 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when i asked you hadn't answered. < 1200019457 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :parsec - haskell parsing library < 1200019460 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yeah. i had. :P < 1200019462 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1200019464 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i know you have lag though < 1200019475 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :parsec rules! < 1200019476 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep, "lag", my xchat is broken. < 1200019487 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: really the perfect language would be CRTL heh :| < 1200019494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha, indeed :P < 1200019514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's like, when haskell was first formalized < 1200019525 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'shit guys implementing this is gonna be HELL' < 1200019538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'well you could use monads and polymorphic type classes generalizing over pattern matchers...' < 1200019545 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'yeah but that's what we're trying to implement' < 1200019560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1200019604 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :most of crtl is fairly straightforward, the problem is if you want efficiency, you need to keep a conceptual separation of data and program < 1200019630 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not that anything could ever be hard in python... god i miss python :-) < 1200019635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :stopped using it earlier today < 1200019650 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes it is very unelegant but has that extra ZAM which scheme lacks < 1200019668 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed, and i kinda like the ZAM < 1200019670 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: for mutable things like this (i.e. not elegant, pattern-weaving and folding algorithms) maybe you should check out haskell < 1200019678 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've actually found its mutability to be nice. < 1200019686 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know haskell < 1200019688 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somewhat. < 1200019701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i never fully understood monads :-) < 1200019722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a rare case! < 1200019733 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ZAM = expressive type system? < 1200019752 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, python has that not. < 1200019753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: python has one of them? < 1200019758 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :no.. < 1200019763 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :neither does scheme < 1200019764 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i figured out monads a while ago < 1200019766 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you know... ZAM < 1200019770 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: forget about 'do' < 1200019773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and think about it like this < 1200019784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i never actually tried that hard < 1200019794 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(do a <- b; c) is (b >>= (\a -> c)) < 1200019798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hoped i'd just get them eventually... < 1200019801 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(do a; b) is (a >> b) < 1200019805 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1200019806 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then, what happens is < 1200019812 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"a" recieves the monad as an implicit perameter < 1200019815 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and returns the 'new monad' < 1200019818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1200019830 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in >>, that just means the monad b gets is what a 'returned' as the monad < 1200019851 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in >>= the RESULT that a returns is passed to the function, which also gets its implicit monad changed to what a's monad became < 1200019861 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so monads have an implicit part and an explicit part < 1200019868 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, kind of < 1200019871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the way e.g. IO works < 1200019883 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in m >>= l, the explicit one is what is given to l < 1200019885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as a param < 1200019896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :return lifts it back on the implicit param < 1200019897 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :(>>=) = flip concatMap -- :D < 1200019900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on the "monad" < 1200019902 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is that the monadic values 'bubble up' into functions all of which must have the IO monad themselves (let's ignore unsafePerformIO for now) and then the runtime system at the top does the evil < 1200019917 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah, remember though that when you do "return x" in a monadic function that's one of two return values < 1200019920 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's the "real return value" < 1200019924 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the monad is "implicitly" passed on < 1200019942 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1200019949 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and now you understand how monads can be stateful: they're implicitly passed around (obviously the implementation is a hell of a lot more efficient than that, haha ;)) < 1200019973 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :see now that wasn't hard was it :-) < 1200019979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess i kinda understood that already < 1200019988 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just feel there's still something missing :-) < 1200019990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1200019997 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :should read the monad transformers < 1200019997 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you formalize a>>b again? < 1200020015 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.en.html < 1200020015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what a returned... what's a? < 1200020029 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, < 1200020033 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a is an exprsesion < 1200020034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :b is an expression < 1200020062 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a runs on the current monad, then we continue onto executing b with a new monad containing all the stuff a did to it. < 1200020070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :note: that evaluation order is *well-defined* < 1200020072 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a, then b < 1200020100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a >>= b is the same, except b must be a function, and a's return value is passed to b as an argument < 1200020115 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right. doesn't sound hard really.. < 1200020154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: i'll read that < 1200020173 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: iirc that's confusing < 1200020175 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1200020175 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I liked it < 1200020177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :can't remember < 1200020180 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :And found it very clear < 1200020199 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: basically you could convert any program using monads to non-monads < 1200020206 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :it mighht be a different paper < 1200020208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of a function doing "return x", you do < 1200020213 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"(x, myNewMonad)" < 1200020221 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the rest im sure you can figure out yourself. < 1200020324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess it's the list monad that always scared me :) < 1200020337 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :list monad is easy!!! < 1200020341 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :(>>=) = flip concatMap -- :D < 1200020342 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200020504 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :list monad...? < 1200020541 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :do x <- [1,2,3] ; y <- "flub" ; return (x,y) < 1200020576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200020589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does that do a cartesian product? < 1200020600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: what about it though < 1200020605 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1200020611 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :example of list monad < 1200020617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what does that do? < 1200020619 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't see what the list monad can do < 1200020620 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :it does do cartesian product < 1200020624 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why does it exist < 1200020634 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :list monad is nondeterministic choice monad < 1200020642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :uh-huh? < 1200020666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200020690 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: elaborate < 1200020693 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :well you can do lots of useful list operations using monadic procedures someone else wrote < 1200020707 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I think it's just that... lists are obviously a monad, so there is an implementation < 1200020713 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :as with Maybe etc < 1200020714 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but why monads < 1200020718 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why are lists monads < 1200020738 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :because return and (>>=) have clear monadic definitions? < 1200020750 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :(for lists) < 1200020774 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I mean all list comprehensions are is use of the list monad < 1200020796 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1200020804 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1200020857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the syntax [...] is defined in the list monad? < 1200020862 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, the list syntax < 1200020866 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200020873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh! < 1200020877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :list comprehensions... < 1200020878 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :you could define your own list type using Nil and Cons, then write a monad for it < 1200020926 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed, cartesian product is kinda essential < 1200020959 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when done lazily < 1200021145 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"(It should be noted that it was rougly at this point that Pressey reached one of the peaks of his so-called "referential" period, in which he was apt to provide "commentary" on his own work, in the form of interjections or asides, as if from the perspective of a historian from a much later era. Such pretentious interruptions were generally not well received, except perhaps by the occasional loser such as yourself.)" < 1200021362 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where? < 1200021446 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :see catseye.tv < 1200021449 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*tc < 1200021455 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's in the spec for the latest-released language < 1200022057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :random thing: < 1200022060 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you know Banana Schemes? < 1200022066 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, you can implement Scheme-omega, kinda. < 1200022089 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :introduce a third boolean value, maybe < 1200022093 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which has two values attached to it < 1200022104 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(constructed by (maybe a b) but that's not neccessary) < 1200022115 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now, < 1200022127 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(H x code) -> (maybe #t #f) < 1200022158 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(if (maybe A B) C D) -> "if A and B, C. otherwise, if (not A) and (not B), D. otherwise, (maybe C D)" < 1200022168 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or similar < 1200022180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then, if you want, implement a graphical program showing a tree of all possibilities < 1200022212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ofc no console output is assumed it would still be possible with it but you'd have to pick one path before any branch wants to do input < 1200022219 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in case you might not want that input < 1200022220 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1200022227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :er < 1200022228 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :console INPUT < 1200022379 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd use haskell, but it just feels like cheating... < 1200022387 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps i should move to asm < 1200022404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: why would that be cheating? < 1200022405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haskell is cool :D < 1200022409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BUT ANYWAY < 1200022413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :comment on my banana scheme. < 1200022416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :implementaiton. idea. < 1200022503 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno, it's just too good... < 1200022523 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm beginning to realize programming would be a bit easier if i had a debugger... < 1200022562 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i do debugging by printing stuff as i go, then reading the output. < 1200022595 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :works fine with python because i don't really make mistakes... but it's kinda hell doing scheme... < 1200022639 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hmmm < 1200022646 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Why do you make less mistakes in python than scheme"? < 1200022753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ummm it's simple. < 1200022757 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: use your REPL. < 1200022765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :your REPL is a debugger, develop all your stuff in there. < 1200022847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it does not support moving the cursor left, i don't really feel like using it < 1200022888 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thats your implementations fault. < 1200022889 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. Iszero is equivalent to not. < 1200022892 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :change implementaiton. < 1200022902 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Or... maybe not. < 1200022912 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :There's a nuance! < 1200022926 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: either embrace scheme's development strategy and use a good impl < 1200022929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or don't use scheme < 1200022942 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there is no debugger because it would be redundant < 1200022948 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: i make less mistakes in python because i've coded a lot in it.. < 1200022955 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1200022981 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: you mean i should test my functions before i've written the whole program? < 1200022986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, right! < 1200022992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course. < 1200022999 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's what you're meant to do < 1200023004 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :don't like it, don't use scheme. < 1200023028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :guess i need to make a debugger myself if there's none < 1200023038 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200023040 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : the repl is the debugger. < 1200023043 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway bye for today < 1200023045 0 :ehird`!unknown@unknown.invalid NICK :ehirdsleep < 1200023301 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can write 200 lines of python and it works right away, if i can't learn to do the same with scheme, there was no point in the language change anyway < 1200023327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but true, i guess i have to test my functions... that does feel like cheating though < 1200024431 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: did you write a bf interpreter in haskell? < 1200024444 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION (wants one) < 1200024625 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :would it take long to write one yourself in haskell? < 1200024660 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200026064 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is going to run every BF program < 1200026074 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :(Except ones that obviously dont terminate or take input..) < 1200027376 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1200027383 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200034589 0 :Slereah!unknown@unknown.invalid QUIT : < 1200036880 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1200038399 0 :clog!unknown@unknown.invalid QUIT :ended < 1200038400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1200041394 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. Man who run behind car get exhauste < 1200048673 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :in old fortrans, 3=4 would change all constant 3s in a program into 4s, because constants were often implemented as variables that started with a particular value. < 1200048776 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: what do you mean by "every"? < 1200048781 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and why? < 1200048996 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1200049271 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Corun: as in co-routine? < 1200049284 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Nope < 1200049306 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :As in an abbreviation of Corundum, :-) < 1200051163 0 :faxlore!unknown@unknown.invalid QUIT :"If there are any aliens, time travellers or espers here, come join me!" < 1200053685 0 :Hiato!n=Hiato@dsl-245-1-104.telkomadsl.co.za JOIN :#esoteric < 1200053701 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wassup :) < 1200053756 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oklopol: could you please explain your Fibonacci programme in CTRL, I don't understand it < 1200053769 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*CRTL < 1200053912 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1200054527 0 :jix!n=jix@dyndsl-085-016-234-111.ewe-ip-backbone.de JOIN :#esoteric < 1200055237 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1200055753 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1200056679 0 :johnl!i=johnl@johnl.org JOIN :#esoteric < 1200057960 0 :sebbu!n=sebbu@ADijon-152-1-103-24.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1200058677 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :WOO Happy leet o clock UK! < 1200058807 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1200059859 0 :bencoder!n=none@cpc1-rdng1-0-0-cust538.winn.cable.ntl.com JOIN :#esoteric < 1200060165 0 :bencoder!unknown@unknown.invalid QUIT : < 1200060293 0 :Jontte!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1200060373 0 :Slereah!n=slereah@ANantes-252-1-54-196.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1200060390 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'm on Linux now. < 1200060393 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hope it's worth it. < 1200060522 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :surreal, yet fun: http://www.larry.denenberg.com/Knuth-3-16/ < 1200061309 0 :RedDak!n=dak@host246-88-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1200062051 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1200063905 0 :UnrelatedToQaz!n=chatzill@host81-159-116-161.range81-159.btcentralplus.com JOIN :#esoteric < 1200063978 0 :UnrelatedToQaz!unknown@unknown.invalid QUIT :Client Quit < 1200064233 0 :SimonRC!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1200064593 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :uuuuh < 1200064597 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :isn't knuth still alive? < 1200064607 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :last i heard... < 1200064622 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyone said something else? < 1200064670 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wikipedia agrees < 1200064704 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://www.larry.denenberg.com/Knuth-3-16/concrete-math.html < 1200064717 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"...even during his lifetime" < 1200064892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION points to the copyright notice ;) < 1200065392 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1200065402 0 :jix!n=jix@dyndsl-085-016-234-211.ewe-ip-backbone.de JOIN :#esoteric < 1200066376 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1200066619 0 :ais523!n=ais523@chillingi.eee.bham.ac.uk JOIN :#esoteric < 1200066634 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1200066692 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: it is a little known fact that Knuth once worked on INTERCAL < 1200066836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a nasty habit of continuing conversations that took place when they weren't there < 1200067156 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and oerjan: your Unlambda program is now in the official distribution as an example program (see for instance http://packages.debian.org/sid/i386/intercal/filelist) < 1200067418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unlambda.i.gz in that list was written by Oerjan, tpk.i.gz was co-written by Knuth < 1200067451 0 :Slereah!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1200067492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what's tpk? < 1200067511 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay, fame < 1200067578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :tpk is a simple test program that he wrote in several languages, I think to compare their performance < 1200067589 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was kind of tricky in INTERCAL, as might be expected < 1200067604 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it might be because it's a floating-point program, but I'll have to check < 1200067725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :see http://www.cs.fit.edu/~ryan/compare/ for the program in many other languages (unfortunately, that list doesn't include the INTERCAL version) < 1200067838 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i found knuth's page on it < 1200067903 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and of course, the whole compiler was written by Eric Raymond in the first place, so there's more fame-by-association stemming from there < 1200067964 0 :Slereah!n=slereah@ANantes-252-1-54-196.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1200067972 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually i think esr already linked to my interpreter < 1200068039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have a question about d in Unlambda, by the way < 1200068049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally `xy evaluates y first, then x < 1200068051 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :aye? < 1200068062 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200068065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I meant normally `xy evaluates x first, than y < 1200068083 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does ``dxy always evaluate y before x no matter what the value of x? < 1200068092 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1200068112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I ask because I was writing an Unlambda to Underload compiler < 1200068120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I got it to handle everything except c, with that definition of d < 1200068141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I then accidentally deleted it, but I can still remember most of the concepts and will get around to rewriting it some time < 1200068165 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and in the process, I discovered that there were an infinity of options between lazy and eager evaluation < 1200068182 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1200068207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :basically, you could set the eagerness of an expression, and when an operator operated on two expressions, the more eager was evaluated first < 1200068225 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, d is the only function that you can test for without applying it < 1200068246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how is that done? < 1200068261 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :By the way, is it actually a good idea to use an input "combinator" with lazy evaluation? < 1200068277 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you do ``dxy where x and y both raise some continuation < 1200068304 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but if the d isn't a d, it will be evaluated before x or y, and so will be applied < 1200068313 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then d raises the one in y, every other function raises the one in x, and the actual function is never applied < 1200068335 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :So far, it mostly gets copied everywhere without much control! < 1200068339 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well by applied i mean applied to an argument with any possible effects < 1200068367 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not including evaluation of the expression that becomes the function < 1200068372 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, because counterexamples like `.ai aren't atoms and so couldn't be given as arguments to the d-tester in the first place < 1200068390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because in standard Unlambda, the d-tester couldn't itself be lazy < 1200068402 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :something like that < 1200068416 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my compiler actually worked on Underload, Unlambda or a hybrid, so I called the resulting language Underlambda < 1200068443 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that language, lazy functions other than d can exist < 1200068468 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could imagine a lazy version of v, for instance, that throws away its argument without even evaluating it in the first place < 1200068487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and I almost ended up inventing monads again, when trying to figure out the behaviour of . < 1200068533 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm still disappointed that there's no way to translate ``sii into Haskell < 1200068555 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I'm amused that other combinators can be identified purely by their data type < 1200068562 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :without a newtype that is < 1200068591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to learn Haskell without any documentation, so language features are kind of hard to figure out < 1200068610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think there ought to be a standard datatype f -> f -> f -> f -> ... ad infinitum, though < 1200068611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1200068623 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because infinite datatypes are a great concept < 1200068632 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except that would never give any actual result < 1200068649 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :f -> m (f -> m ...) is more useful < 1200068650 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1200068691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, of course, in Haskell it would need a second data type to be able to produce side effects < 1200068718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to continue a third conversation from when they weren't here now that someone else has joined < 1200068732 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: assigning to constants is possible in modern versions of INTERCAL too < 1200068744 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although C-INTERCAL protects you from that unless you turn on a command-line option in the compiler < 1200068793 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can even do it without putting constants on the LHS of an assignment if you're careful < 1200068817 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in .1 <- '.1/#1'$#1 < 1200068837 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think someone mentioned f -> m (f -> m ...) on #haskell the other day, called it a monadic stream or something < 1200068913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does Haskell support call/cc? < 1200068931 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Control.Monad.Cont < 1200068933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if it does, then adding monadic streams might allow for an Unlambda -> Haskell compiler < 1200068950 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1200068959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but an Unlambda -> C (via Underload) compiler would be more impressive < 1200068974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird` and I are working on half of that each < 1200069012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :d is easy when you have two laziness levels, but for c the only thing I can think of is writing an Underload self-interpreter, but with continuations added < 1200069042 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't be too hard if one list is used for the program and another for the stack < 1200069072 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but instead of the usual ((a)((b)((c)((d)... form of list, give a third element in each tuple that specifies whether the list has ended or not < 1200069078 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that appending to the end of a list is possible < 1200069101 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally, Unlambda and Underload lists are infinite (you have to specify a function for filling out the end of the list once the programmed portion is reached) < 1200069124 0 :Mony!n=Mony@AToulouse-254-1-40-204.w81-250.abo.wanadoo.fr JOIN :#esoteric < 1200069161 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i've pondered using the special property of d to terminate lists, never implemented it < 1200069195 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :iop all < 1200069196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this gives me some ideas for an esoteric OS < 1200069209 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my idea was that everything in the OS sohuld be a function < 1200069236 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which would lead to simple implementations of things like symlinks, hardlinks, and even copy-on-write copying (a feature that I've found myself wanting in an OS before) < 1200069264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, I thought that such an OS would be inherently insecure < 1200069279 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the special properties of d - and of laziness levels in general - may be a way around that < 1200069302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a big fan of the way languages like Unlambda and Underload can synthesize things like arithmetic out of basically nothing < 1200069466 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mörning all < 1200069492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ëvening < 1200069517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i love winter < 1200069527 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's dark when i go to sleep, and dark when i wake up! < 1200069532 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :starting snowing here again today < 1200069563 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it mostly rains here in the UK, although I think it was snowing for a bit yesterday < 1200069574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I hate winter, it is dark most of the day < 1200069579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and cold < 1200069580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea whether there's snow outside :) < 1200069589 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I like winter for the coldness, but not for the darkness < 1200069592 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's been a while since the last time, the ice was nearly gone < 1200069597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I do, because of streetlights, but only because of them < 1200069604 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I suppose the two are kind-of correlated... < 1200069604 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and: no snow < 1200069617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I hate winter for coldness and darkness < 1200069618 0 :slereah_!n=slereah@ANantes-252-1-54-196.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1200069659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess i'll go read something, keep the flag in the pole or something -> < 1200069712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!daemon ul bf http://pastebin.ca/raw/367774 < 1200069720 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1200069737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, the principle of lazy Underload is to write a combinator that would normally be x as (^x) < 1200069768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and Unlambda's `ab translates to ((^b))((^a))^^ < 1200069781 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(which can of course be optimised) < 1200069803 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the ^ at the start makes the combinator eager rather than lazy < 1200069828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and often has to be followed by an Underload a to get the nesting levels right < 1200070072 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1200070073 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!ul ((^))((^(test)S))^^ < 1200070077 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :test < 1200070079 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200070097 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or for an expression like ``.ai`.bi: < 1200070125 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(((^))((^(b)S))^^)(((^))((^(a)S))^^)^^ < 1200070146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!ps < 1200070149 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 ais523: ps < 1200070156 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!ps d < 1200070157 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1 ais523: daemon ul bf < 1200070159 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :2 ais523: ps < 1200070164 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!ul (((^))((^(b)S))^^)(((^))((^(a)S))^^)^^ < 1200070167 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :ab < 1200070191 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now, to do a d combinator, instead of evaluating the argument with ^, you append a ^ to it so it's evaluated later < 1200070203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you also have to prepend ^a to it so that the resulting promise is eager not lazy < 1200070218 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so for instance, ``d`.ai`.bi is < 1200070243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!ul (((^))((^(b)S))^^)((((^))((^(a)S))^^)(((^a)~*(^)*))^^)^^ < 1200070245 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :ba < 1200070258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :...and the laziness criteria are satisfied < 1200070268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that's how d is compiled into Underload < 1200070609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :i, ., s, and k have already been done (although they need minor modification for the new method), that's how d is done, v is easy due to the ! instruction, and so it's only c that now needs to be implemented for an Unlambda 1 compiler, unless I've missed something < 1200070775 0 :ais523!unknown@unknown.invalid QUIT : < 1200070952 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1200071134 0 :RedDak!n=dak@host115-86-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1200072011 0 :Hiato!n=Hiato@dsl-245-1-104.telkomadsl.co.za JOIN :#esoteric < 1200072021 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1200072028 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200072605 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has an idea... < 1200072612 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a hash-consed filesystem < 1200072644 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :every time you write a sector to disk, you check if there is an identical sectore there already, and if so just link to it < 1200072656 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :inodes can handle this already, I think < 1200072692 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :at a random guess, I say that zfs has this feature already as an option < 1200072929 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1200073046 0 :ais523!n=ais523@147.188.254.230 JOIN :#esoteric < 1200073099 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1200073150 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that sounds like the copy-on-write filesystem I suggested earlier < 1200073243 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1200073249 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200073673 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200074373 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1200075164 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1200075314 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1200075320 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200075470 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1200076106 0 :Mony!unknown@unknown.invalid QUIT :" bye all ;)" < 1200076600 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1200076731 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1200077018 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1200077024 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200077407 0 :biosh0ck!n=blof@p54865D22.dip.t-dialin.net JOIN :#esoteric < 1200077694 0 :faxlore!n=more@137.195.250.2 JOIN :#esoteric < 1200077738 0 :biosh0ck!unknown@unknown.invalid PART #esoteric :? < 1200077801 0 :Hiato!n=Hiato@dsl-245-1-104.telkomadsl.co.za JOIN :#esoteric < 1200078165 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :For anyone interested: I reverted the grid size in ACRONYM from infinitely large to 128x128. There is a reason for this, and it is documented in the spec http://rafb.net/p/Hn966345.txt (as ehird` is now ehirdsleep , I'm not sure if he'll get this message but hey... < 1200078175 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :) < 1200078198 0 :MichaelRaskin1!n=raskin@gwh-1-177-mytn23k1.ln.rinet.ru JOIN :#esoteric < 1200078210 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: what is that? < 1200078231 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's the ACRONYM spec (finilised, except for typos and such like) < 1200078241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the reason < 1200078247 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, woops, sorry < 1200078254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :documented in the spec, yet < 1200078260 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's soooo long < 1200078264 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*yes < 1200078265 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1200078300 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it is that given that any specific cell can hold an arbitrary integer, using prime bases we can store simulated values of other cells using exponents < 1200078307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1200078308 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ie say we want to simulate 3 celss < 1200078326 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :we would go 2^a x 3 ^b x 5^c < 1200078340 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :where a, b and c are the values of the 3 simulated cells < 1200078352 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and via prime facotrisation, we can recover those alues < 1200078359 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*factorisation < 1200078403 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hey I like this idea < 1200078415 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'm glad, I thought that I thought of it < 1200078426 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :can you make a single celled brainfuck? < 1200078430 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but it turned out that the concept was there before :( < 1200078436 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, no, not entirelt < 1200078439 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for one reason < 1200078449 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in bf, you need other cells to do factorisation < 1200078456 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so a 3 cell bf, yes < 1200078458 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200078465 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*entirely < 1200078490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is a 2 cell bf possible? < 1200078498 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm... not sure about that < 1200078500 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's probably enough for * and / < 1200078506 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as copying takes an extra cell < 1200078508 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which allow you to store any number of counters in the one cell < 1200078521 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha, yes, if you have / and * < 1200078525 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :being non-destructive < 1200078527 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then yes < 1200078535 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you can do it with 2 cells < 1200078537 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200078545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :implementing / non-destructively might be difficult, but I think it's possible < 1200078587 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm... isn't it a register machine or something if you have a brainfuck with just a few states? < 1200078591 0 :ais523!unknown@unknown.invalid QUIT :"have to go" < 1200078591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*cells < 1200078595 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, damn < 1200078599 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, that is the tricky part, though there is really a simple way to do it, just say that / will be used as such /+++++ meaning divide the current cell by 5 and store the tresult in the other cell < 1200078609 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1200078626 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes, it's close to a 2 counter machine < 1200078633 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but with infinite states :D < 1200078641 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm? < 1200078646 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if it can store arbitrary integers < 1200078657 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though, I see it as a trivial derivation of BF < 1200078676 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually, perhaps not... < 1200078689 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :maybe this is worth writing up, what do you think oklopol? < 1200078701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do it yesuyes < 1200078703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!! < 1200078705 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200078708 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1200078709 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200078734 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :names? < 1200078742 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :twofuck? < 1200078744 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1200078745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh fuck... why did i eat... now i'm watching simpsons again :) < 1200078753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was actually doing something before this < 1200078761 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hah, lol :) < 1200078784 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrm.. wait < 1200078790 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in a bounded storage nachine < 1200078803 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is a programme considered a finite automaton? < 1200078815 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm... < 1200078822 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1200078826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :depends what you mean by that < 1200078837 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, I maent in terms of terminology < 1200078840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the actual program is always a fsm < 1200078840 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :purely < 1200078842 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*meant < 1200078843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1200078849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's finite. < 1200078851 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, ok sure < 1200079019 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :only 840 pages to read this weekend, i guess i can watch a few simpsons more. < 1200079030 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ROFL :D < 1200079043 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Blah, there is a problem < 1200079052 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :how do you factorise with only 2 cells < 1200079059 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to get only a specific prime base < 1200079068 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :elimimate the rest and then subtract? < 1200079077 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the rest of the bases that is... < 1200079084 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :this is reminding me of fractran actuall < 1200079089 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Hiato have you seen it < 1200079100 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what, fractran? < 1200079105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1200079106 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :( http://www.esolangs.org/wiki/Fractran ) < 1200079108 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1200079112 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what that is < 1200079117 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :so cool :p < 1200079122 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just need enough cells to simulate modulus < 1200079123 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1200079133 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is... 4? < 1200079136 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1200079143 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :btw < 1200079148 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :1 for copying, then 2 for subtraction < 1200079148 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, but you need one for the current number < 1200079152 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Should I add my fractran interpreter? < 1200079153 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric : (*{~1 i.~[@(=<.)@:*) < 1200079156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200079162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: what lang? < 1200079164 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :J < 1200079167 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, go for it faxlore < 1200079172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need to learn that... < 1200079176 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ditto < 1200079179 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is there a nice tutorial or something? < 1200079181 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :It's a beautiful lang < 1200079189 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Yeah there < 1200079190 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :is < 1200079192 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd prefer K but can't find a tutorial for that either < 1200079200 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :oh I didn't look at K yet < 1200079210 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did find an interpreter, but couldn't install it :) < 1200079236 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :http://www.jsoftware.com/jwiki/Guides/Getting_Started < 1200079237 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ooh fractran is crazy < 1200079244 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :There are quite a lot of books online < 1200079447 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1200079451 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you where right oklopol < 1200079457 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you need 4 cells to factorise < 1200079478 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and it is also very difficult if you don't know what the bases' exponents are < 1200079478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm always right < 1200079486 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can think of an easy way to do it right now... < 1200079501 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait < 1200079505 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :DUH < 1200079527 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you, as the programmer will always need to know what values you are simulating/ the range of the values < 1200079537 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200079539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1200079539 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and this you can make deductions about the rest.... < 1200079549 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ie, say you are simulating 2 cells < 1200079552 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1200079560 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :nevermind, you can only ever have 1 unknown < 1200079584 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, say you are simulating 2 cells, in 2^a x 3^b < 1200079592 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and you want to find out b's value < 1200079637 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :all you need to do is (assuming a is known) subtract 2 a times, and presto, you are left with 3^b, from which you subtract 3 and increase the other cell < 1200079645 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meaning you only need 3 cells < 1200079686 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but, if there are >1 unknowns , you need 4 cells < 1200079696 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION (has made an addition to http://www.esolangs.org/wiki/Fractran then) < 1200079736 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :subtract 2 2 times? < 1200079767 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, not entirely, because say you had the value 2^3 x 3^b < 1200079770 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and you want b < 1200079785 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but you don't know what the value of the power of 2 is < 1200079801 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there is no way that with two cells you can derive it, or even three < 1200079825 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1200079842 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i think there are some definite mathematical results on exactly this... < 1200079845 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, wait, there is < 1200079850 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, how many registers you nee < 1200079851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :d < 1200079858 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :-[-[blah]] < 1200079871 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :would subtract 2 while the value was greater than or equla to 2 < 1200079874 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :indefiniately < 1200079876 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woohooo < 1200079887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, mod2 < 1200079892 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip :) < 1200079895 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :3 cells ! < 1200079901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately we don't need modulo here :< < 1200079905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we need division. < 1200079907 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true,,, < 1200079916 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, thouhg that is the fun part < 1200079921 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :say you want b < 1200079969 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :-[-[ ]] two remove all the twos then -[-[-[>+<]]] to divide by 3 < 1200079974 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :easy as PiR^2 < 1200079995 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1200080017 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no wait, -[-[-[+++[--->+<]]]] < 1200080019 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that is better < 1200080047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that is assuming that you'are not sure if it is > 3 < 1200080050 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :otherwise < 1200080056 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :[--->+<] < 1200080142 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed, a program will only use a finite set of divisors < 1200080154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so you can hardcode them like that < 1200080155 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip, so no worries < 1200080159 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hm..... < 1200080167 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or, you could 'soft' code them < 1200080169 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :What's the point in dividing by 3 < 1200080184 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ie, dividing by the amount in the other cell < 1200080185 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :when you do that.. you'd have to check the first prime number that's been incremented < 1200080193 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200080197 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: deriving th value stored < 1200080211 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, you wouldn't < 1200080216 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as this is user end coding < 1200080223 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so < 1200080236 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :all that needs to happen is to dervie a value, you cancel out all the rest < 1200080236 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hi bsmntbombdood < 1200080240 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and then divide < 1200080244 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a program that lists every BF program < 1200080256 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah hi bsmtbombdood < 1200080258 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I just need a way to run them all... < 1200080265 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: how's is that possibel :) < 1200080267 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*possible < 1200080307 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Hiato, well I think if I try to evaluate the elements of the list concurrently I can not get stuck.. but I don't know how to code that < 1200080316 0 :MichaelRaskin1!unknown@unknown.invalid PART #esoteric :? < 1200080337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: basically you need to save a program as a tuple (code, ptr, tape) < 1200080346 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :That's exactly what I have :D < 1200080350 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :(in a different order) < 1200080359 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, there you have it then < 1200080365 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that sounds like the right thing to do < 1200080368 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ohh yeah.. I don't need concurrency < 1200080375 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I can just step all the elemts < 1200080388 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://angryflower.com/paulvk.html < 1200080389 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I mean , step every item < item 1, step every < item 2, .. etc < 1200080400 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just have the function you are evaluating the programs with take another param to specify how many steps to evaluate. < 1200080402 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :removing ones that got finished (what's the finished state of a program ccalled) < 1200080431 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :halting state? < 1200080439 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :gonna code this now :D < 1200080450 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sounds awesome actually :) < 1200080469 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1200080472 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: It is for my BF contest < 1200080483 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :can't wait to see what all of BF evaluates to :P < 1200080512 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1200080517 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I should get some shortest programs with this < 1200080526 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :definitely < 1200080531 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1200080533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fun idea < 1200080540 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though be prepared to stare at the screen for a long time :D < 1200080546 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :indeed :p < 1200080548 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have an online deposit where people can send results of programs run < 1200080555 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1200080556 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :! < 1200080559 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200080562 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200080585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1200080592 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :might be interesting to do for something like K < 1200080616 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, great experiment, but it would take ages to compile anything substantail in terms of results... < 1200080627 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*substantial < 1200080636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, perhaps not K < 1200080638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cise! < 1200080668 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there's at least multiple sorts with 7 characters in Cise < 1200080686 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool, I haven't heard of it before though < 1200080717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've just shown the few examples on this channel < 1200080726 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can show them again perhaps < 1200080733 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah, please < 1200080735 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :merge sort: '/,)#< < 1200080735 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :quicksort: /2;A b:C,',JnB < 1200080735 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bubblesort a:B,',\#"+"+mC1"-"-mC1">"+C1"<"-C1{;X}Wh=mC0=}X??b this one < 1200081674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't use much currying, so i'm fairly sure the long statement in the end would parse < 1200081696 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... why the fuck haven't i commented that in any way xD < 1200082037 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, it's possible to do (the primes things) with only two cells, but three new commands < 1200082047 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or in three cells, with two new commands < 1200082053 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or in four cells, with no new commands < 1200082082 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :although four cells nearly defeats the purpose < 1200082211 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1200082215 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I migth be horribly wrong < 1200082276 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxlore: do you have a bf in J? < 1200082297 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :no < 1200082546 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what, cise has gotos :D < 1200082555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :interesting read this interp... < 1200082569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i remember nothing, have to guess what it does < 1200082890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least it seems to be correct < 1200082908 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, ok, I do need 4 cells without any added symbols... :( < 1200082921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, god, i'm still here... < 1200082924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :leaving! -> < 1200082924 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :3 cells with one new command < 1200083855 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1200083857 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I need help < 1200083875 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :how would you set up the condition in BF of while >= 3 ?? < 1200084105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ie, to do a modulus... < 1200084701 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :[ [-[-[-[>[-]+>]<<+>>]<<+>>]<<+>>] < [-<--->>] <<] < 1200084711 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is as close as I can get, but it will mess up on the last cycle < 1200084789 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxlore, oklopol, bsmntbombdoodm, EgoBot, pikhq, somebody, anybody.... < 1200084812 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(it's a modulus 3) < 1200084877 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(*bmsntbombdood) < 1200085070 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I don't know :( < 1200085077 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :You could try stuff off http://esolangs.org/wiki/Brainfuck_algorithms#x_.3D_x_.3C.3D_y < 1200085085 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1200085093 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I never wrote much BF... < 1200085097 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :just generating it < 1200085099 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :same < 1200085102 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :diito < 1200085108 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :this is tricky though :S < 1200085109 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :epsecially optimal text to bf < 1200085111 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1200085120 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :my program ended up with lots of nonsense words in it and didn't work < 1200085128 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: Really? Plesae give me any programs which do this < 1200085128 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :mine works fine < 1200085133 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1200085135 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :am.. < 1200085139 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :where can I upload < 1200085141 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I have quite a few but I want to get as many as possilb < 1200085157 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :rafb.net/paste < 1200085170 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :mine calculates to the letter the most compact way of doing it, using one algorithm ofcourse < 1200085171 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1200085176 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :it's in delphi though... < 1200085192 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Hiato I don't think that's possible < 1200085205 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what, that it's in delphi, or calculation < 1200085209 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200085224 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :The smallest possible BF program to print a given string < 1200085240 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Which is .. the reason I try to implement it :P < 1200085244 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, it's by no means the smallest < 1200085248 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well, it might be close < 1200085254 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but the smallest within the logic I use < 1200085258 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which you'll see < 1200085260 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ahh right cool < 1200085265 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/Asa5t442.txt < 1200085269 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there you are < 1200085273 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :should work with FPC too < 1200085276 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I can always take new algorithms and then take the min for it < 1200085282 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :so any new algorithms improve the overall < 1200085286 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1200085306 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION saves to read later :D < 1200085312 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1200085317 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I'll upload an example < 1200085328 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :to show you what it does < 1200085367 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/5rXz5d37.txt < 1200085369 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there you are < 1200085377 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :step through it to understand what it is doing < 1200085381 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :though it should be obvious < 1200085393 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :mm I know this pattern ":) < 1200085404 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :haha lol :D < 1200085425 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I need to make lots of measurements and put up a webpage < 1200085434 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip, that would be awesome < 1200085439 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and have some competitions < 1200085454 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :like shortest code for four cells, six, two etc < 1200085470 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :PS: use mode 1 on my algorithm, not mode 2. < 1200085477 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Mode 2 is oudated and works stupidly < 1200085484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*outdated < 1200085496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: what's that bf program? < 1200085534 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which one, the one on nopaste is a demostration of my algorithm and an explination < 1200085545 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the other is somethiong that I am struggling with : modulus < 1200085551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*demonstration < 1200085559 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*ssomething < 1200085566 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :typos :( < 1200085600 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/5rXz5d37.txt this baby < 1200085615 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1200085622 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :that's the explination of my algorithm < 1200085627 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :created by my algorithm < 1200085638 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :algorithm of text to BF that is < 1200085643 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should i run it to understand? < 1200085646 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm... < 1200085649 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1200085654 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and, if you have the time < 1200085664 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :step through the first four .'s to understand it better < 1200085670 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :otherwise just run it < 1200085757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, that indeed is a nice algorithm < 1200085764 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks :D < 1200085784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you could make it a bit better by identifying commonly used letters and putting them on the tape every now and then or something :-) < 1200085826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right, i have to work on muture tonight < 1200085827 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :amm.. it already does that. It takes all the letters used in the text, and stores them on the tape, in ASCII order (ascending) < 1200085840 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :then iterates up and down displaying them in the correct order < 1200085845 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :muture? < 1200085886 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :would be awesome to get it to produce brainfuck text or solve the problem "how many knights can appear on a chessboard without threatening each other" < 1200085898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :threaten is prolly not the word, i don't know chess terms in english < 1200085916 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, threatening each other is the right word :) < 1200085929 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean BF text? < 1200085938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck text would need either making the language tc or letting you insert python functions though < 1200085947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_text_gen thing < 1200085949 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200085950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txt_gen thing < 1200085951 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1200085952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_textgen thing < 1200085953 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200085955 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200085955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen thing < 1200085957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!!! < 1200085959 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200085960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200085962 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200085963 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :!huh < 1200085965 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200085965 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :wtf? < 1200085970 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!Hello < 1200085971 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Hhahaha < 1200085971 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200085975 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ROFL < 1200085981 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :60 +++++++++++++[>+++++++++>++++++++>><<<<-]>-.>.+.<------.>--. [100] < 1200085987 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but seriously, wtf? < 1200085992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1200086012 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :is EgoBot a bot or what? < 1200086023 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1200086025 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200086031 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Duh? < 1200086034 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no really < 1200086042 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ofc it's not a bot < 1200086054 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so why is he being so weird < 1200086057 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!weird < 1200086059 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200086073 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he's a weird genius < 1200086078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :never really talks < 1200086083 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Yeha < 1200086091 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and what's with the code that says thing < 1200086092 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1200086092 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just does amazing feats when asked to < 1200086105 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :EgoBot, please fix my modulus problem < 1200086109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :generating bf code for that, just like yours < 1200086117 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except with a different algo < 1200086131 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :woot < 1200086145 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf_text_gen Hello, World! < 1200086147 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200086156 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf_text_gen Hello, World! < 1200086158 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf_text_gen Hello, World! < 1200086159 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200086161 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200086162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Hello, world! < 1200086167 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :why won't he obey? < 1200086169 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1200086171 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he will < 1200086173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :don't rush < 1200086198 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :roger < 1200086204 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what other commands are there < 1200086205 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :? < 1200086205 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :119 +++++++++++++++[>+++++>++++++++>+++++++>+++<<<<-]>---.>>----.+++++++..+++.>-.------------.<<-.>.+++.------.--------.>+. [292] < 1200086211 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thank you, EgoBot < 1200086222 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and which language is this puppy written in? :) < 1200086240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :EgoBot only talks when immibis is here < 1200086246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :don't know why < 1200086249 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I see... < 1200086253 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :who made it? < 1200086256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think EgoBot has a crush on him or something < 1200086264 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200086270 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't understand your question! (grEGOrr) < 1200086284 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Aha, woops < 1200086290 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200086301 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm.. GlassBot? < 1200086304 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did i miss something? < 1200086314 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, that is weird that he talks when immibis is here < 1200086326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!glass oko < 1200086329 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1200086333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? :D < 1200086335 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :say wa? < 1200086340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!glass oko < 1200086343 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1200086348 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what is oko? < 1200086356 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!glass Hello World < 1200086359 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1200086363 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"oko" is a basic oko < 1200086364 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :right.... < 1200086373 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :which is what? < 1200086390 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you know, the basic unit of okoing. < 1200086408 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(except i guess the new standard would define that as "o") < 1200086409 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I am familiar with that (????) < 1200086415 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1200086513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/210.htm < 1200086533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, for some reason not all the articles on out awesome page have been indexed by google! :o < 1200086549 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1200086552 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1200086618 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Hrmm... I fail to see.... WHY THIS HASN'T CAUGHT ON WVERYWHERE :P < 1200086621 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*everywhere < 1200086637 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :naah, but really, surely oklotalk needed some attention.... < 1200086638 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1200086733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wow, 96 articles < 1200086747 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have to get to a hundred tonight < 1200086754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now reading -> < 1200086757 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokokoko < 1200086758 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokokoko < 1200086758 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokokoko < 1200086758 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokokoko < 1200086758 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokokokoko < 1200086758 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokokoko < 1200086760 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokokoko < 1200086762 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :okokoko < 1200086764 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1200086766 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :o < 1200086772 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Heh, enjoy < 1200086833 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Oklopol, please oh pretty please translate your site into english ;) < 1200086855 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :okokokokok < 1200086944 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :DORK & DOOMED ADVENTURES CARD GAME is awesome :D < 1200086946 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1200086953 0 :Hiato!n=Hiato@dsl-245-1-104.telkomadsl.co.za JOIN :#esoteric < 1200087576 0 :Hiato!unknown@unknown.invalid PART #esoteric :? < 1200087689 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1200087692 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200089055 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*our awesome page < 1200090295 0 :Hiato!n=Hiato@dsl-245-1-104.telkomadsl.co.za JOIN :#esoteric < 1200090351 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :how can ehird` still be asleep ??! < 1200090358 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I need his BF genius... < 1200090375 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has BF genuis < 1200090381 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :OK! < 1200090391 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Right Corun, can you help me? < 1200090403 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Possibly < 1200090414 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :It's as good as a yes ;) < 1200090418 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Ok, here is my problem.. < 1200090500 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I'm a bit rusty with bf, but I've done plenty in the past < 1200090511 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I need to move the IP to a fixed location, but, it can reside in one of two places, ie this is one possibility 1 x 2 0 where x is a number and the IP is at the 0, or it could be 1 0 1 0 where the IP is at the 1st zero < 1200090514 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :either wau < 1200090515 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*way < 1200090537 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I would like to move it, irrespective of position, to a specific place (I don't care where) < 1200090551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :+>>+++++[<+++++++>-] < 1200090551 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :<[ [-[-[-[>[-]++>] <<+>>] <<+>>] <<+>>] < [-<--->>] <<] < 1200090554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: 1. not my page, i'm a part-owner 2. a lot of the content is in english 3. you can't know how awesome dork & doomed is, for the rules are currently in english < 1200090569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i'll translate them some day, possibly < 1200090582 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :for this programme (it's trying 35 modulus 3) < 1200090639 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: 1. Aha, sorry ;) 2. Yes, true, I know I was quick to jump to conclusions, but the articles that I saw where part finish 3. I'm not sure I understand what you are saying < 1200090651 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: just have content of tape be every second cell, and put a 0 where you need to go, and 1's everywhere else < 1200090655 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :So, Corun, is it curable? < 1200090661 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I... have no idea < 1200090669 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :... meh :( < 1200090682 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, IP < 1200090687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's of course impossible < 1200090695 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Er.. Maybe my BF is off.. But, "IP"? < 1200090707 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Instruction Pointer < 1200090715 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah, it's probably wrong terminology < 1200090720 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the thingy on the Tape, the head < 1200090725 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Ah. Ok, everything makes much more sense < 1200090728 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :memory pointer possibly < 1200090731 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :instructions are the code. < 1200090743 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :true... woops :( < 1200090745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hiato: *are currently in finnish < 1200090762 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1200090765 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Well, then, you can't do it :-) < 1200090769 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :makes more sense now, then I agree < 1200090769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, i told you how to solve the problem already, unless i misunderstood you < 1200090773 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Corun: NOOOOOO..... < 1200090784 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I got it < 1200090788 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good < 1200090801 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but I hoped for divine intervention :P < 1200090812 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :in which case, oklopol, you have proven yourself wrong < 1200090814 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I'm currently running a haskell program which generates and runs bf :-) < 1200090822 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1200090835 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as it is impossible to do the 1 cell simulation using 4 cells < 1200090838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Corun: the competition faxlore is doing? < 1200090838 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you need five.... < 1200090849 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Awesome stuff Corun < 1200090852 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :He didn't tell me it was a competition, he just said "fix my code" < 1200090855 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :what does it make? < 1200090856 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1200090858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh :D < 1200090862 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol :D < 1200090877 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric ::-P What competition, then? < 1200090882 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so oklopol, so much for never being wrong eh :P < 1200090884 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Corun I'm sure you know the competition < 1200090887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought faxlore mentioned something like that < 1200090889 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Corun, For example, you entered it < 1200090892 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :he did < 1200090892 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1200090902 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Oh, the string program generating one? < 1200090902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200090907 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1200090910 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :this is slightly different < 1200090915 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :What is it this time? < 1200090949 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :well instead of taking a string and printing a short program.. we get a dictionary of strings with shortest programs < 1200090960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :again -> < 1200090992 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Generate an entire dictionary of shortest programs? < 1200091021 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :My old program would take, like, seconds per word... It would take ages :-) < 1200091106 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :So, why are you making this program, then? < 1200091141 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Oh, balls, I just realize that program I pasted you isn't quite right < 1200091216 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Oh, maybe it was < 1200091259 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok, returning briefly yet inconspicuously to my BF problem +>>+++++[<+++++++>-] <[ [-[-[-[>[-]++>] <<+>>] <<+>>] <<+>>] < [-<--->>] <<] : How would one make it possible? < 1200091272 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :or if not, then how would one do a modulus < 1200091282 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :(in as few cells as possible) < 1200091375 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Hiato.. What are you doing with that? < 1200091379 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :modulus? < 1200091384 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1200091387 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :modulus 3 < 1200091395 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :35 modulus 3 = 2 < 1200091403 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :the programme should say < 1200091414 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ok I understand < 1200091430 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Seems like the sort of thing that bf would be good at... < 1200091460 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf +++++++++++++++[->+++++>++>+++++++>++++++++>++++>+++<<<<<<]>--.>++.>-----.>---.-------..+.<<.>>>--.>++. < 1200091463 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :I dunno :/ < 1200091468 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1200091498 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200091547 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf >>++++[<++++++++>-]>++[<+++++++++++++++++++++++>-]>+++++++[<++++++++++++>-]<[>+> < 1200091548 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :+<<-]>>[<<+>>-]<+++++++++++++[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+++[>+>+<< < 1200091548 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :-]>>[<<+>>-]<++[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+++ < 1200091548 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :[>+>+<<-]>>[<<+>>-]<+++[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+++[>+>+<<-]>>[< < 1200091548 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :<+>>-]<+[<]>>>.>>>>>.>.>>>>.<<<<<<<<<<<<.>>>>>>>.<<<<.>>>>>>>>>.<<<<<<<<<<<<.>>> < 1200091549 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :>>>.>>>>.>>>.<<<<<<<<<<<<<.>>>>>>>>>>>>>.<<<.<<<<<<<<<<.>>>>.>.<<<<<.>>>>>>>>>>> < 1200091550 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :.<.>>..<<<<.<<<<.>>>>>.<<<<.<<<<.... < 1200091577 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf +++++++++++[->++++++>+++>++++++++++>+++++++++<<<<]>.>>+.+++++.-.<-.>.++.>.++++++++. < 1200091581 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Bots suck < 1200091582 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah, I don't think egoBot likes multilines < 1200091590 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :!huh < 1200091593 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200091597 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1200091603 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1200091610 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf >>++++[<++++++++>-]>++[<+++++++++++++++++++++++>-]>+++++++[<++++++++++++>-]<[>+>+<<-]>>[<<+>>-]<+++++++++++++[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+++[>+>+<<-]>>[<<+>>-]<++[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+++[>+>+<<-]>>[<<+>>-]<+++[>+>+<<-]>>[<<+>>-]<+[>+>+<<-]>>[<<+>>-]<+++[>+>+<<-]>>[<<+>>-]<+[<]>>>.>>>>>.>.>>>>.<<<<<<<<<<<<.>>>>>>>.<<<<.>>>>>>>>>.<<<<<<<<<<<<.>>>>>>.>>>>.>>>.<<<<<<<<<<<<<.>>>>>>>>>>>>>. < 1200091613 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :This has got t < 1200091631 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm... he didn't finish the sentence < 1200091649 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!Huh? < 1200091651 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200091670 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf +++++++++++[->+++>++++++++>++++++<<<]>---.>++.++++.<-.>>.<-.+++.---. < 1200091673 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Z^B]`] < 1200091681 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Oops < 1200091683 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!d < 1200091685 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1200091689 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :he spoke for me < 1200091740 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf ++++++++++++++[->++>+++>++++>+++++++><<<<<]>+++++.>>>.++++.<<<-.>+............>>-----------.<<++.>++++++.<--......>.<........>.<..........>--...>++.<++.<+++.>.<---.+++.>.<. < 1200091743 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :!bf ++++++++++++[->++++++>++++++++>++++++++++<<<]>.>+.>. < 1200091754 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Wicked :D < 1200091757 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Aww... No fun. < 1200091765 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :He doesn't respond to his own messages :/ < 1200091781 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200091790 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sucks actually :( < 1200091804 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf >>++++++[<+++++++++++>-]<[>+>+<<-]>>[<<+>>-]<+++++++++++++++++++++++++++++++>>++++++++[<+++++++++++++>-]<[>+>+<<-]>>[<<+>>-]<++++[<]>.>>>.<<.>. < 1200091807 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Blah < 1200091811 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1200091824 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :He knows how I feel.... it's uncanny.... :P < 1200091837 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf +++++++++++++[->+++++>++++++++<<]>+.>++++.-----------.+++++++. < 1200091839 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Blah < 1200091841 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Mine's shorter :-P < 1200091844 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yip < 1200091852 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but, mine is shorter for longer things < 1200091857 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and I'll prove it < 1200091864 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1200091869 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :you do the Mandelbrot Set < 1200091872 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :using your algo < 1200091883 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and I'll do it using mine, then we compare < 1200091886 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Er, well, I'd need an ascii mandelbrot set < 1200091894 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :as is provided by me < 1200091897 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :use the output of mandel.b < 1200091899 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :1 sec < 1200091901 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1200091902 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :mandelbrot.b < 1200091904 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Though, that's not exactly a great example of some text... < 1200091909 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :Yes it is < 1200091918 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :It's so compressed < 1200091923 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :compared to the complexity of the output < 1200091944 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :But but but, what if his is shorter? I need an excuse, just incase it happens < 1200091951 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/NJOzUw38.html < 1200091953 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :there you go < 1200091970 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :with line numbers, run it, capture the output, and use your algo < 1200091975 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1200091976 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200092015 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1200092021 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :that's not manbelbrot.b < 1200092023 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes... < 1200092026 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :isn't it? < 1200092030 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :it might output the same text < 1200092040 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I know < 1200092049 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I said it's Poor man's mandelbrot < 1200092051 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1200092055 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :for comparison http://www.menuetos.net/mandel.txt < 1200092061 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Pasted as Plain Text by Hiato [ Remove line numbers | Show as plain text | Create new paste ] Description: Poor mans Mandelbrot < 1200092071 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I never claimed it to be mandel.b < 1200092078 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I just captured the output from it though < 1200092125 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :faxlore... < 1200092158 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is trying to write %3 >_< < 1200092172 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :thanks :) < 1200092248 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :-[>+<-[>+<-[>--<]]]> or something? < 1200092261 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmmm? < 1200092278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you remove transformations of the cell above < 1200092291 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whoops < 1200092305 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hey I think I did it < 1200092311 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :yeah just like oklopol < 1200092315 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1200092316 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :>+++++[<+++++++>-]< 35# < 1200092316 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :[>+<- < 1200092316 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric : [>+<- < 1200092316 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric : [>+<-]]>---<] < 1200092318 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except mine has a bug < 1200092321 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :show show < 1200092322 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but the idea is right. < 1200092322 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :the output is 3 - 35%3 < 1200092324 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1200092332 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :so I get 1 instead of 2 < 1200092343 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure how to fix it < 1200092351 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :simple < 1200092352 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1200092360 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :I meant [>+<-]]>---<]> < 1200092362 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :for the last line < 1200092364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so simple i won't even tell ya < 1200092389 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(reverse the operations and have an initial value) < 1200092421 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :hmm actually I could be wrong < 1200092437 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Ok, mine's, er, generating < 1200092447 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's see... < 1200092447 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure Corun < 1200092458 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I dunno how long it'll take < 1200092461 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Shouldn't be too long, though < 1200092465 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I've done big things with it before < 1200092468 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :A few minutes I guess < 1200092471 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :if you (faxlore) or oklopol crack this < 1200092478 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I will be ver so grateful < 1200092482 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, there's a minor problem < 1200092485 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :sure Corun < 1200092489 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it will never get off the inner loop < 1200092520 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, I had a similar problem, but then found that it went to far if it skipped certain parts.... < 1200092537 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[>+<-[>+<-[>--<-<]]>] < 1200092559 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll just fire an interp, too tired for this < 1200092591 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I'm not sure your code is functional.... < 1200092632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... shouldn't be this hard :D < 1200092641 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Haha < 1200092645 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :grr! < 1200092675 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1200092696 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/pnWQUD68.html < 1200092697 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Er, oh < 1200092740 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :Corun < 1200092748 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :could you please column wrap that at 80 < 1200092753 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :so we can compare :) < 1200092762 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :and its not C++ :P < 1200092791 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :-rw-r--r-- 1 Corun Corun 12536 11 Jan 22:53 mb.bf < 1200092791 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :-rw-r--r--@ 1 Corun Corun 8610 11 Jan 23:06 mymb.bf < 1200092794 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :finally < 1200092795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>+++++++[>+<-[>+<-[>--<-<<]]>>] < 1200092795 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1200092802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry, i did some utter failing here < 1200092814 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :mb is yours, mymb is mine :-) < 1200092842 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1200092846 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ok you win :( < 1200092849 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well done :D < 1200092868 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :I spent loads of time on it, ages ago < 1200092870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[>+<-[>+<-[>--<-<<]]>>]< Hiato: starting from the moduled number, this puts the right value in the next cell < 1200092875 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :uses 4 cells though :\ < 1200092887 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1200092893 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but Hey very well done :D < 1200092896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :uses 4 cells and leaves in a fifth cell... < 1200092896 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :congratulations < 1200092897 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :LD < 1200092900 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1200092904 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ahh < 1200092906 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1200092907 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :wow, well done < 1200092909 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no worries < 1200092911 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION couldn't get it! < 1200092925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :0 0 8! 0 0 -> 0 0 0 2 0! < 1200092928 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :ACTION couldn't either < 1200092932 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1200092957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :before being totally awed, test for yourself, i always fail at everything < 1200092960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now some reading -> < 1200092964 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tested it :p < 1200092978 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :yes, it workd < 1200092980 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*works < 1200093467 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oklopol < 1200093484 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I don't know why you did something strange there, but it only uses 2 cells now: [>+<-[>+<-[>--<->]]<] < 1200093526 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :well 3 really < 1200093533 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :but because it lands in it < 1200093550 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :after the loop < 1200093788 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :oh and PS: Now it is possible to do a 3 cell version < 1200093790 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1200093953 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hrmm.. well, you can do a three cell version, it just means that you won't be able to raise anything after the first number, you'll have to multiply < 1200093961 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waves at pikhq  < 1200093976 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;( < 1200094025 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: this is scary. cross < 1200094118 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :no, wait, you need 3 cells... < 1200094120 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :*4 < 1200094270 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1200094273 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1200094298 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf ++++++++++++++++[->++>++++++>+++++++><<<<]>>++.++++.<.>+++.>+++.<<.>------.++.+++++++..>++.<.-----------.>---.<<+. < 1200094301 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :bf is cellular! < 1200094349 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :EgoBot supports bf? tell me more! < 1200094366 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Yip < 1200094383 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :!bf +++++++++++[->+++>++++>++++++++>+++++++++>++++++++++>+++++++++++><<<<<<<]>>>-.>++.>--..<<<.<-.>>>>>.<+++.>----.<<<<<.>>>-.>.<<<++++++++++++++.<.+.>>>--.++++.<<<-.>>++++.>>>--.<.--.<-.<<<.>>>---.++++.<++.<<.>>++++.>>+.<--.<<<.>>>+++++.>>+.<<<<<.>>>>>--.+++.<.>--.<<<<<.>>>.>>+. < 1200094385 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Well, you do: !bf [some bf] and it runs it < 1200094395 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :52 +++++++++++++++[>++++++>+++++++>><<<<-]>-.>.+++++++. [95] < 1200094408 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :!bf +++++++++++++++[>++++++>+++++++>><<<<-]>-.>.+++++++. < 1200094411 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Yip < 1200094616 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen /me < 1200094639 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :51 ++++++++++++[>++++>+++++++++>><<<<-]>-.>+.--------. [84] < 1200094668 0 :faxlore!unknown@unknown.invalid PRIVMSG #esoteric :!bf +[+.] < 1200094671 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric : < 1200094703 0 :EgoBot!unknown@unknown.invalid QUIT :Excess Flood < 1200094711 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :pwnd :-( < 1200094713 0 :EgoBot!n=EgoBot@c-24-22-4-68.hsd1.or.comcast.net JOIN :#esoteric < 1200094831 0 :Hiato!unknown@unknown.invalid PRIVMSG #esoteric :hhaha lol :D < 1200095328 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1200095898 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric : experiment. < 1200095906 0 :tesseracter!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits.