< 1294444812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but how many predefined block types will there be :P < 1294444812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: combinations of as many features as i can come up with, and can make work together < 1294444821 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can just read the code of the blocks to see what they do < 1294444824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: as in, an actual number < 1294444826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for _predefined_ blocks < 1294444831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. optimised ones < 1294444845 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well astronomically many, because it's features that are optimized, not individual blocks < 1294444857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so a block is a set of features? < 1294444864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mostly. < 1294444876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: mostly? :D < 1294444880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :your game is SO IMPURE < 1294444889 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically it's a list of components that perform a physical action, and a program that executes them. < 1294444904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's all < 1294444911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so the former are like...limbs? < 1294444943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can think of them that way, but components can teleport, change the block's shape, move it, copy it, change programs of other blocks, glue to other blocks, etc < 1294444968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so what _is_ a component < 1294444971 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in its actual definition < 1294444981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also, so, there are no hardcoded programs? < 1294444983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there's also a kind of discrete version of euclidean physics in play, for when you build make huge structures, but dunno if i'll actually implement that < 1294444985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if blocks aren't hardcoded, just features < 1294445020 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294445022 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i believe so < 1294445028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the programs shouldn't be very complicated < 1294445032 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in natural blocks < 1294445038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so updating the world is running millions of programs, still. < 1294445044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's not going to be fast. < 1294445057 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not really, many of them will be event-based, and can just be unloaded < 1294445086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D so it's actually a table of programs? < 1294445107 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and the programs are executed very slowly. and why do you say that? just a programming language that allows events. < 1294445149 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294445158 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so updating the world does not actually run the block programs? < 1294445162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so anyway basically if you find a block that can execute a lot of code, you might still need a block that computes a specific type of function or your bot will take ages doing that in software < 1294445167 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for instance pathfinding is like this < 1294445189 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it does on paper, but the world is designed so that it can usually be optimized awayt. < 1294445190 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1294445191 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*away < 1294445224 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D your game is not very conceptually pure, i have no idea what the block structure definition would look like at all < 1294445290 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it is. a block has a piece of code that it executes at that blocks execution speed, and can call functions specific to that block. < 1294445293 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, what do you actually *study*? < 1294445295 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's all the game is < 1294445302 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :math, corrently, rather cs type < 1294445326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doing my master's thesis in picture languages, currently doing automata on pics < 1294445331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*currently < 1294445360 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :currently as in forever from now on, but i was doing cs a year ago, and officially changed only after i finished my bachelor's which was a few months ago < 1294445369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :again, oklo month which is anywhere between a day and a year < 1294445374 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Picture languages? < 1294445376 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :november i think < 1294445380 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah matrices over finite alphabet < 1294445396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: are you still in your second year :) < 1294445406 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :without any operations, automata theory in 2d, basically < 1294445412 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no, second year of math tho < 1294445417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: third? < 1294445428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah third year of uni going < 1294445448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i wonder how you and Sgeo can be in the same room without, like, exploding < 1294445451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :matter, antimatter, that sorta shit < 1294445461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you count the cs time, i'm only half a year ahead of the usual scheduly, degreewise < 1294445490 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It is not a bomb. It is a device that is (not) exploding. < 1294445494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: what. < 1294445495 0 :zzo38!unknown@unknown.invalid QUIT :Quit: zzo38 < 1294445498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1294445513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes but you have a stupidly large awesome surplus < 1294445521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol i'm not that good, my master's thesis is going to be complete bullshit for instance < 1294445546 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have an open problem that i decided to solve < 1294445550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i haven't been able to < 1294445561 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :even though anyone could do it < 1294445624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: does your game have gravity < 1294445635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, kind of < 1294445664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294445668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: lame < 1294445671 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who likes restricted movement < 1294445672 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :NOT ME < 1294445675 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :gravity exists, but you can hover quite far < 1294445677 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: unless you mean like < 1294445683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: air blocks have their program built to push you down < 1294445687 0 :cheater00!~cheater@g228060041.adsl.alicedsl.de JOIN :#esoteric < 1294445687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't want lack of gravity, because i like the idea of falling < 1294445689 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and you can just hack their program out if you want :D < 1294445693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because that would be... amazing < 1294445807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well see currently there is quite a complicated physics, but i'll probably leave those optional, because i can't imagine others enjoying them. < 1294445835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: dude, my idea was amazing? leave the physics up to the blocks? < 1294445838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i seem to be the only man on earth who enjoys learning weird physicses < 1294445841 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hacking air to float? < 1294445847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or at least people don't play my cool games :( < 1294445854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i want to but you only provide exes on vjn ;o < 1294445855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gimme some .py < 1294445873 0 :cheater99!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294445891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: erm yeah, physics are up to the blocks of course < 1294445902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but you don't need air to even be an actual block for that < 1294445906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but it should be < 1294445907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1294445911 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, it should < 1294445917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the great thing is < 1294445924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: have an air meter which goes down very quickly < 1294445932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: then, air blocks just have code to give you air :D < 1294445940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and you can make a vacuum, which will suffocate you < 1294445944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but also let you float < 1294445954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and if you want to breathe but float, you could hack some air blocks' source < 1294445962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: amazing yes? < 1294445980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah at some point i was thinking about air physics, air pressure etc < 1294445999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not suffocation tho, you have to keep eating to survive anyway < 1294446008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but then you could just chill in a vacuum < 1294446010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which makes little sense :D < 1294446011 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(but you just have a program for that ofc) < 1294446021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also bonus: if stuff like falls on top of you, you suffocate < 1294446027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or if you jam your head into stone somehow < 1294446086 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :head? < 1294446093 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION → sleep < 1294446095 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well as in you < 1294446098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294446100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the head is metaphorical < 1294446104 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294446147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but you could turn yourself into a robot if you wanted right? < 1294446150 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :artificial head etc. just have you as a brain < 1294446167 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can glue blocks to yourself if you get the glueing component < 1294446176 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you inherit components from the blocks you own < 1294446201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can make yourself into a robot, yes, that's basically what the game is about < 1294446207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can i make a perpetual motion machine < 1294446243 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well you have your in-game coding window, which is maybe not your primary, but a very important part of your movement. < 1294446284 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and there's a high-level clue-based stack language......................... < 1294446292 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i shouldn't have mentioned that < 1294446303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: when can i buy it < 1294446305 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294446328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: tomorrow? < 1294446335 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try to finish my thesis in february, then start allocating coding time < 1294446349 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have a tiny little coding spark atm, actually < 1294446353 0 :Phantom__Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294446362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i kinda wanna code it somehow except i'd be terrible :D < 1294446416 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :go ahead, a proof of concept shouldn't be hard to make < 1294446448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no it sounds _really_ hard < 1294446453 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294446472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: even doing it in haskell sounds like drudgery :D < 1294446477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you should write the whole thing in Clue++ < 1294446553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically you have a stack language, but there are events, and a command for "use the components X to achieve Y", which should work for simple things like pathfinding very well, and hopefully could manage some slow stupid way for more complicated things < 1294446575 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and the language is very high-level, like you can just directly refer to things you see on map < 1294446579 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294446584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: why stack though < 1294446591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's not all that high-level, that clue command is much more high-level :D < 1294446613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also you should make the code have no text form, clicking blocks to actually put a little line from them to a little point in the code sounds hilariously funsilly < 1294446615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah dunno about stack, for some reason it feels natural for that kind of things < 1294446632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, maybe make a block highlight be, like, a picture of a block and its moore neighbours dimmed < 1294446635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it should be very untexty < 1294446649 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and you can like hover over it with your mouse and it shows you that part of the map with a red border around the block < 1294446696 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah that's pretty much what i'm going for < 1294446751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but anyway i'll probably publish the physics before starting to code it < 1294446756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well then allow me to state the obvious < 1294446763 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or at least completely specify them < 1294446763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: have there be another map, filled with functions < 1294446772 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you don't ever use words, you just include parts of the code-map < 1294446774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294446780 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294446786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and you can draw a little like 16x16 icon for each block in the code-map < 1294446789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so you could fit a few letters on < 1294446794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or a representative picture demonstrating its operation < 1294446800 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then code is just a sequence of pictures < 1294446804 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh, i wish i didn't find that such a great idea. < 1294446819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's great because it'd show you the dimmed neighbours of that function in the actual code... like you know ... < 1294446823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but yeah i was kinda thinking that, something like an inventory of code blocks < 1294446825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: if you liked this function, why not try these similar functions... < 1294446867 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xd < 1294446871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294446922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay but seriously, it would be cool < 1294446926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: in fact... < 1294446933 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah but anyway, mainly i'm interested in enemies. < 1294446935 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: those function-squares? < 1294446939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: should be doors leading into function rooms < 1294446947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1294446950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that's right: individual pieces of code are themselves a map < 1294446954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :after all, they're just a bunch of blocks < 1294446961 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stop laughing, i am a revolutionary < 1294446991 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :alrighty < 1294447001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so that's how you're doing it, yes? < 1294447037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway the thing is i want the game to be fucking scary, you never know if the next block you mine out is a tree that grows 5 blocks at a time for 10 seconds, then explodes < 1294447065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have to use bots to mine, and try to find ways to do that safely < 1294447073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: question, is it realtime or turnbased < 1294447127 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :realtime, a couple moves a second, where a move could be moving to your neighbor cell. (it will actually look rather smooth tho, because you have to look at it all the time.) < 1294447157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like when you start, it's that, of course later on your player block can basically just teleport whereever it wants < 1294447250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but time is like... boring? < 1294447254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so linear < 1294447302 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's on the commutative free group with two generators, the second most done to death thing in the mathematical world < 1294447321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Z^2 < 1294447332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :time i do not mind, however. < 1294447336 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but time is lame. < 1294447353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: at least make each second take an amount of time determined by a complex formula < 1294447401 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294447403 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294447417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :time slows down further away from sentient blocks < 1294447461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and comes to a stop, eventually (i would make it never come to a stop due to purity, but that's not very practical) < 1294447541 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Quit: ilua < 1294447551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: just make it so that some kind of circuit fails if time is going too slowly < 1294447556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it turns out, everything is made out of this circuit! < 1294447585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it does < 1294447589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :definitely < 1294447600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: then your problem is solved PURELY < 1294447618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294447628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry i misread you < 1294447632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" oklopol: just make it so that some kind of circuit fails if time is going too slowly" < 1294447637 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somehow i managed to read something like < 1294447653 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"doesn't it make certain kinds of circuits fail if time slows down at a certain boundary" < 1294447668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294447697 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because this is a very bad thing if you want to have say a computer: it doesn't just stop when you move away, it might completely break due to time slowing in an unfortunate way in one part of the machine < 1294447726 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: just make the story be that everything is made out of this material or whatever < 1294447739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and that its interactions break down when time gets too slow, such that it just sort of warbles on the spot < 1294447745 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and then starts running again if time is faster < 1294447752 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, 1) these distances are very big, 2) this is a completely documented (or at least consistent) physics thing, so you just have to deal with it. < 1294447757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and you should be able to < 1294447763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then, you can simulate infinite time-slowdown, with a discrete universe < 1294447774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just by ignoring all blocks beyond a certain point < 1294447779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and this is deemed OK by the pure physics < 1294447781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I AM GENIUS < 1294447838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, anything can be called pure, and somehow implemented in-game, conceptually. although i'm sure this is a rather kill-joy thing to say < 1294447875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: specify the pure semantics based on the semantics of finite-state machines, x86, Unix, and C < 1294447878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: SO PURE YET SO PRACTICAL < 1294447889 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, cool craftbook has "ICs" that shoot arrows. I'm building a battery of them now < 1294447897 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294447932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also pvp should be more fun when you can program thousands of blocks to fight each other < 1294447949 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, too many arrow cause lag < 1294447953 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :network lag < 1294447959 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :even when they are on ground < 1294447962 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :this makes no sense < 1294447966 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we're talking about my nonexistant game, no lag in that one. < 1294447972 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, ah < 1294447984 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I was talking about craftbook < 1294447993 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(as well) < 1294448008 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: your radiation stuff should mutate animals into monsters. just saying. < 1294448010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*ent < 1294448016 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whooplers < 1294448031 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: way ahead of you :D < 1294448041 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i didn't see you mentioning that... < 1294448048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :my head calculates quickly < 1294448058 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i was thinking they'd turn into rotting, crazy animals that die easily but are vicious < 1294448069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: or maybe sometimes they are really hard to kill thanks to radiative superpowers < 1294448077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i just couldn't perfect it enough to be worth saying yet :D < 1294448110 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all of that feels so small-scale now that i have my game in my head again. < 1294448116 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mmmm < 1294448117 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my game < 1294448220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :another thing i'd like to make is this game where you have an arbitrary monoid, and you can walk on it, dunno what the game is really, or if there is one, i have this marvelous way to project it in 3d < 1294448242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it can't fit in an irc message < 1294448274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :. < 1294448297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so do you play MC :D < 1294448327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no he's too busy doing things < 1294448336 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1294448351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: if i giftcoded you it would you play it, it sounds like a hilarious event < 1294448373 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1294448446 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1294448450 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :there is salsa night tonight < 1294448453 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :with lots of hot women < 1294448504 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so which is hotter < 1294448507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you would ... reject my purchase??!?!?!?! ;( < 1294448507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the women or the salsa < 1294448510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: take that insult back < 1294448516 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you can't do that, that's stealing < 1294448548 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what's going onnn < 1294448557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm trying to convince oerjan that he should play minecraft < 1294448570 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :you might find yourself unable to < 1294448588 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :i think he's sort of had this thing where he was "siding with me" in not playing minecraft < 1294448597 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :(whereas i simply didn't care) < 1294448599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i...don't think so < 1294448604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: are you aware of any alliance with cheater00 < 1294448613 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :that was like way back < 1294448617 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :he probably forgot already < 1294448619 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what's your relationship with cheater00? < 1294448627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be useless as i would undoubtedly trigger my rsi < 1294448634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: well i kinda know you for making up bullshit theories to explain random things you see. usually related to yourself < 1294448638 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: rsi enhances the experience < 1294448644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: immensely < 1294448660 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's because i am god and everything i say immediately becomes reality... right? < 1294448668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: yes < 1294448676 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: play with the other hand!!!!!!!!!! < 1294448695 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha yeah the one YOU DON'T USE FOR MASTURBATION :dDDDDDDDDD < 1294448702 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i get it < 1294448704 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: none of my hands are entirely free of it < 1294448709 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :also elliott, the functions of the mouse buttons, can you remap them to the keyboard somehow? < 1294448717 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :because you mostly only get rsi when you click the mouse < 1294448723 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :if you just move it around it's much better < 1294448730 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :surely. but not with minecraft itself < 1294448733 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD < 1294448737 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1294448741 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did you get it too? < 1294448745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the joke is < 1294448751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294448752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also it's nice to have them on the mouse < 1294448753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1294448757 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes. < 1294448762 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i'll pay you, regularly, to play minecraft < 1294448762 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: also it's not _really_ rsi because my feet hurt as well < 1294448771 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ills < 1294448773 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: use the other foot < 1294448776 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric ::DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD < 1294448777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294448781 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but it definitely gets worse when i play games < 1294448781 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxD < 1294448793 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric : haha yeah the one YOU DON'T USE FOR MASTURBATION :dDDDDDDDDD < 1294448798 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1294448803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is that why you couldn't play mastur minecra minesweeper < 1294448809 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :minesweeper that one time < 1294448819 0 :zeotrope!~65X32@unaffiliated/zeotrope JOIN :#esoteric < 1294448822 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but no really < 1294448828 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :never mind masturbating with the feet.. < 1294448839 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :it might be a slipped disc? < 1294448840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i remember i told my record < 1294448849 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: 23 times a day? < 1294448849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and oerjan is like LOL goddammit oklo ur so nub < 1294448857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: your masturbation record? < 1294448859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can do it in like MINUTE < 1294448863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ha! < 1294448864 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :lol :( < 1294448869 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan gets it down to, like, 20 seconds < 1294448869 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i go well do it and show vid < 1294448872 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and he starts < 1294448872 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately it's given him rsi < 1294448874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: xDDDD < 1294448878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then says nah hands can't do it. < 1294448894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i see no reason _whatsoever_ to read your words with the correct interpretation < 1294448898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true story, do you remember oerjan? < 1294448900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although i suspect you might have been encouraging that. sightly. < 1294448900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294448902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*slightly. < 1294448909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the part i said, the others may have added stuff < 1294448931 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no < 1294448933 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't < 1294448939 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm angry at you people for doing that < 1294448947 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :meanwhile in another channel < 1294448949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have damaged oerjan's stellar reputation < 1294448950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and just for that i'm never letting you play my game < 1294448956 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric : what router should i buy? < 1294448963 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric : an old openbsd box! < 1294448971 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : use the other hand! < 1294448977 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric : but that would be more expensive and generate more heat < 1294448988 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : haha ur mum generate heat < 1294448989 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric : i just want something i can order and plug in ;( < 1294448995 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric : www.dildos.com < 1294448998 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : haha like a sexual dol < 1294449000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: censoring usernames = lame < 1294449010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : lol c gets it :D < 1294449013 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: also that quote wasn't...funny < 1294449024 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1294449025 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1294449025 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1294449026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1294449027 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :i don't want you quazimodos bothering srs ppl < 1294449028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1294449039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: usernames != channel name < 1294449052 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :you can still /queery < 1294449063 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :139) ooh a test to see your procrastination hotspots ill do it later < 1294449064 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :126) Well yeah, but furthermore unlike, oh, say, an Apple product, you don't have to sign their "we own your sperm" license agreement to GET that SDK and the requisite libraries. ... pikhq: Sure, but it's the only way Apple could get a first-born-son clause into a modern licensing agreement without infringing < 1294449064 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :109) so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? < 1294449064 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :6) His body should be given to science. He's alive :P Even so. < 1294449064 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :249) I love the way zzo38's comment was cut off after the f of brainfuck that's just the most hilarious place to cut it off in a discussion about censorshi < 1294449072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: who would bother doing that < 1294449093 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oklopol < 1294449097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mee < 1294449100 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :^ < 1294449116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol talking is a gift to anyone so stfu < 1294449132 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :in german, gift means poison < 1294449134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah just the other day i was talking about bukkake on this channel on programming < 1294449144 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :what was your gift for christmas??????????????????????? < 1294449145 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :everyone was like OH GOD WHERES THE OPS ::DOS < 1294449153 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah < 1294449153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't get any really < 1294449156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i don't recall oh god wheres the ops :P < 1294449158 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: "about programming" < 1294449158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :presents < 1294449166 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you seriously need to die xD < 1294449191 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm surprisingly hard to kill < 1294449191 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no oklopol is the best < 1294449208 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i got this 2tb drive actually < 1294449214 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess that was sorta a present from my mumma < 1294449216 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :only 2tb? < 1294449225 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :my cpu has more cache < 1294449229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :afaik 2.5 is the largest drive you can actually buy :p < 1294449231 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, they didn't have smaller ones < 1294449235 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :nwb < 1294449240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so i'll have to do with that < 1294449246 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :what are you gonna run on it < 1294449252 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :windows 3.11? < 1294449266 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not gonna put an os on it < 1294449285 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol has a computer with no operating system in it < 1294449306 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :he turns it on, lets it fail booting, and then tries different keyboard inputs to see if anything happens like on a c64. < 1294449310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294449365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this computer has maybe dunno 200gb < 1294449388 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :200 gb donkey porn < 1294449404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nowadays i usually stream everything < 1294449427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :all your donkey porn < 1294449439 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i do not have donkey porn on my hd < 1294449452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah you stream it all < 1294449453 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you can lead a donkey to the stream, but you can't make it drink < 1294449455 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :oklopol is the registrar ceo for www.donkeyporn < 1294449475 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294449480 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait what < 1294449481 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one of the lesser known toplevel domains < 1294449491 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah there you go < 1294449507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems i foresaw the funny < 1294449528 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cinemraft! < 1294449531 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :they had to allow it but chose to keep it under lids < 1294449589 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's banned in most muslim countries though. not because they're donkeys, but because some of them are male. < 1294449633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol it links femanic there < 1294449680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can't find any dp tho < 1294449709 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rule 34 is pretty silly, clearly none of the people advertising it have actually researched the subject < 1294449737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in other news, that is < 1294449740 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no no it's far more subtle than you believe < 1294449752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's essentially a platonist statement < 1294449761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohh i get it < 1294449769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: basically you can't consider 34 along, 35 is just as important < 1294449775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: porn *exists*, but if porn *doesn't* exist, it will be made < 1294449817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the point is: 34 is "For every thing, there _exists_ porn of it." but 35 is "For every thing, if the _extant_ porn of it is has not been _realised_ and distributed yet, then it is _guaranteed_ to be at some point in the future (given that civilisation continues)." < 1294449837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i.e., when porn of something is created for which no porn previously existed, it is actually just being _realised_; it already existed in the platonic realm of ideas. < 1294449855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294449856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :therefore, rules 34 and 35 can and do coexist without contradiction; they are both completely true. < 1294449862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a deep philosophical statement. < 1294449870 0 :hagb4rd!~perdito@koln-4db4edd6.pool.mediaWays.net JOIN :#esoteric < 1294449900 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :hi folks < 1294449904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1294449909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we're talking about esolangs < 1294449914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha yes totally true < 1294449921 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294449929 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wanted to start explaining clue but ugh < 1294449933 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :i came to listen < 1294449944 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Someone should rule34 Brainfuck < 1294449959 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :thx anyway oklopol < 1294449989 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as long as you didn't come to conquer < 1294450016 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clue is pretty awesome tho < 1294450038 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clue clue clue < 1294450058 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :nor to divide < 1294450077 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :division is quite accepted here < 1294450092 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :> 3%4 + 1/6 < 1294450093 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 11 % 12 < 1294450111 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heeey found it www.vjn.fi/oklopol/clue.rar < 1294450117 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :at least to anything but zero < 1294450121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :probably doesn't work with current pythons :( < 1294450126 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :> 1/0 < 1294450127 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Infinity < 1294450131 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :is it? < 1294450144 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah we do wheels here < 1294450220 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1294450240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol just has no clue < 1294450254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cluuuuuuuuuuuuuuuuue < 1294450268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :every time an error in the official clue imp is corrected, a new u is added < 1294450276 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the name is still clue because i'm very smart < 1294450301 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unlike others who have no clue < 1294450309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually me and a uni friend designed a much nicer conditional system but i've been too lazy to implement it < 1294450317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was like when clue was first implemented < 1294450321 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so what was that like last week < 1294450327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1294450328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"SKI compiles in about 20 seconds on my machine." < 1294450329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294450332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"All this code is mine, don't touch it unless you really want to." < 1294450333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I really want to. < 1294450345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294450348 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294450359 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so is oklotalk superseded by clue < 1294450364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ilkka made an interp for random or what's it called < 1294450374 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should up that < 1294450378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at some point < 1294450410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's random < 1294450422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Random? :P < 1294450422 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a language on esolang, pretty retarded < 1294450432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so is oklotalk 2 clue++ < 1294450434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1294450441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1294450444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe! < 1294450455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so what's clue++ < 1294450459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue where everything is an oklotalk object? :P < 1294450461 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :feed buridans mules < 1294450464 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def funthatreturnsntharg(i): < 1294450465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return lambda*args:args[i] < 1294450467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294450468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i like your naming convention < 1294450470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's hilarious < 1294450482 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basically i'd like clue with something like object < 1294450495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: right, and then you'll code oklOS in it < 1294450503 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*s < 1294450518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: where you write programs by drawing a gui, drawing the result of using this gui, repeat a few times, and give it a few clues as to what operation the program performs < 1294450523 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it spits out a half-broken gui app object < 1294450527 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but most importantly, the concept of strategies. < 1294450527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AM I CORRECT < 1294450565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294450567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294450573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so erm is there a way to get clue to print out the function it infers < 1294450604 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe the compiler has a way, but the code is not very structured < 1294450616 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(and of course even if it were, you wouldn't know by reading it) < 1294450622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1294450627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# functions are applied (using applier and aritiers) randomly to objects, to get new objects < 1294450631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually random? :D < 1294450653 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not in that implementation, i think < 1294450660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :afaict it has no actual interface :) < 1294450679 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hmm i think if you print out the function right before compiling it to a func it would work < 1294450689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's not specified, so that could be sensible, probably it's just poetic. < 1294450691 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :nice article on that topic http://en.wikipedia.org/wiki/Buridan%27s_ass < 1294450725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of course it doesn't have an interface, interfaces are for people who don't have faces exter. < 1294450743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i hope that is convincing enough < 1294450755 0 :Wamanuz!~Wamanuz@78-69-168-43-no84.tbcn.telia.com JOIN :#esoteric < 1294450756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ python cluetest.py < 1294450757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :19.804610014 < 1294450757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1294450761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: this isn't... imprecise SKI is it? < 1294450768 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh no that's timing info :D < 1294450785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there should be a rather clear separation of compilation and running < 1294450788 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :"A discrete decision based upon an input having a continuous range of values cannot be made within a bounded length of time." < 1294450790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...again conceptually < 1294450807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :^ < 1294450824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think i'm gonna try and hack cluetofun to print stuff < 1294450843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm hrm, i have this vague memory that i considered making a nice output form for funcs < 1294450844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :C[B[IOP([1]:0)], B[IOP([2]:0)], B[IOP([3]:0)], B[IOP([[2, 1]]:0), IOP([[2, 3]]:0)], B[IOP([[[3, 2], 1]]:0), IOP([[[3, 4], 5]]:0)], B[IOP([[3, 2]]:0), IOP([[3, 4]]:0)], B[IOP([[1, 0]]:1), IOP([[[2, 1], 0]]:2), IOP([[[[3, 2], 1], 0]]:3), IOP([[[[[1, 2]]]]]:4), IOP([[[[[[1, 2], 3], 4], 5], 6]]:4)]] < 1294450848 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i never got to that... < 1294450849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: does that look like post-inferred code? < 1294450854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or is that the pre-inferring < 1294450855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294450860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's... < 1294450862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :inferring = working out actual function from the source < 1294450863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pre < 1294450869 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :those are just data < 1294450871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :are you sure < 1294450873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they are lists < 1294450875 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294450876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for i in clue.branches: < 1294450876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if i.isbase(): < 1294450876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : compile_base(clue.bag,clue.helper_objs,i) < 1294450878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if i.isrec(): < 1294450880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : compile_rec(clue.bag,clue.helper_objs,i) < 1294450882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's after that < 1294450886 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1, 2, 3 are the ski functions < 1294450889 0 :Wamanuz5!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294450894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so what should i print, clue.bag? < 1294450910 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no i don't think so... < 1294450920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can i see the... wait what the fuck maybe i can just dl it < 1294450928 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott's writing Python? < 1294450938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, i'm hacking okopython < 1294450941 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he's learning from gods < 1294450941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is a good language < 1294450941 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :no rapes it < 1294450958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: why do you use classes, you should write all your python code with functions < 1294450960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294450961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: my code, elliott is just reading < 1294450972 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: www.vjn.fi/oklopol/python.txt < 1294450977 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how about that style? < 1294450989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah that is quite acceptable, but you still use objects < 1294451038 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :opening the jar of beauty that is clue.py < 1294451060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def nil(g): < 1294451060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return{'car':nil,'cdr':nil,'length':0}[g] < 1294451060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def cons(x,y): < 1294451062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : def _(g):return{'car':x,'cdr':y,'length'1+y('length')}[g] < 1294451064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return _ < 1294451067 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is this not a more perfect way to implement lists than any other? < 1294451071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*'length':1+ < 1294451083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ofc ideally you'd do your own naturals too for the length < 1294451090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you should probably print code < 1294451093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.code < 1294451133 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that just prints a lot of None :D so i guess compile_clue is the important func < 1294451151 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well you have to umm argh i'll read better < 1294451155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def compile_clue(clue): < 1294451155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : def fun(*args): < 1294451155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return call_clue(clue,args,10) < 1294451157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : funn=stuff.unvararg(fun,clue.arity) < 1294451159 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : clue.setcode(funn) < 1294451161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return funn < 1294451163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or not < 1294451173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294451187 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah that funn should be the program i think < 1294451214 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm... < 1294451218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yess, but you see it's a python function < 1294451220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so not really printable:) < 1294451229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so compile all < 1294451236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def call_clue(clue,args,depth_lim): < 1294451236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if depth_lim==0: < 1294451236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return ["nothing here"] < 1294451238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : value=clue.condcode(*args) < 1294451240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294451242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so condcode has something to do with it < 1294451244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :except maybe not < 1294451244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :compiles all functions in a piece of clue code, and returns a hashtable with these program < 1294451246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue.branches < 1294451248 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :s < 1294451248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's definitely clue.branches < 1294451253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for i in clue.branches: < 1294451253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if i.istest():continue < 1294451254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if i.value==value: < 1294451256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return call_branch(clue,i,args,depth_lim) < 1294451257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1294451258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if i.value==None: < 1294451260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : default=i < 1294451261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's a python function yeah < 1294451262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: clue.branches is the real code, then? < 1294451264 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yessss < 1294451269 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think so yeah < 1294451272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but then branch.code is a python function :D < 1294451275 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed i compile to python code < 1294451278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so what's the precompiled version < 1294451280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :of branch.code < 1294451283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is there an internal representation < 1294451291 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm fuck < 1294451299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :printing branches gives < 1294451300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[B[IOP([1]:0)], B[IOP([2]:0)], B[IOP([3]:0)], B[IOP([[2, 1]]:0), IOP([[2, 3]]:0)], B[IOP([[[3, 2], 1]]:0), IOP([[[3, 4], 5]]:0)], B[IOP([[3, 2]]:0), IOP([[3, 4]]:0)], B[IOP([[1, 0]]:1), IOP([[[2, 1], 0]]:2), IOP([[[[3, 2], 1], 0]]:3), IOP([[[[[1, 2]]]]]:4), IOP([[[[[[1, 2], 3], 4], 5], 6]]:4)]] < 1294451306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is pretty much what print clue gave :D < 1294451320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's get_ast? < 1294451326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have no fucking clue < 1294451331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294451336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think that does roughly what you want < 1294451341 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually prints code < 1294451342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :try it < 1294451369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh seemingly < 1294451398 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like just get_ast(funcs["ski apply"]) say < 1294451404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rite < 1294451406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but wait < 1294451407 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my python is too new, would have to correct a lotta stuff < 1294451409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :funcs,asts=clue.compile_all(open(cluefile).read(),stuff.funcs) < 1294451419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: asts suggests that compile_all might actually already return the asts? < 1294451422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :('ski apply', "Condition: ski type?('#0')\nBase branch (0)\n'#0'\nRec branch (1)\nSubast(0,0):['car', ['cdr', '#0']]\nMain ast: '#1'\nRec branch (2)\nSubast(0,0):['cadar', '#0']\nMain ast: '#1'\nRec branch (3)\nSubast(0,0):['pair', ['cadaar', '#0'], ['car', ['cdr', '#0']]]\nSubast(1,0):['pair', ['cadar', '#0'], ['car', ['cdr', '#0']]]\nSubast(2,0):['pair', '#1', '#2']\nMain ast: '#3'\nRec branch (4)\nSubast(0,0):['car', '#0']\nSubast( < 1294451422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1,0):['pair', '#1', ['car', ['cdr', '#0']]]\nMain ast: '#2'\n") < 1294451423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1294451423 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that just compiles the clues in the code < 1294451424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294451427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes < 1294451428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's in cluetest < 1294451430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah i guess < 1294451430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: asts contains the asts < 1294451432 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol :D < 1294451434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so you already had all this code :D < 1294451435 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed! < 1294451443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, always one step ahead of oklopol < 1294451453 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just skipped it, "don't need the ast... now how to convert funcs to ast" < 1294451477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway dunno if i print that nicely anywhere < 1294451485 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i might just have been satisfied with that < 1294451487 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294451495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for k,v in asts.iteritems(): < 1294451495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : print '----', k < 1294451495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : print v < 1294451497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does fairly well < 1294451503 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :shommmme < 1294451508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :still not really readable though < 1294451509 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what < 1294451512 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :show < 1294451514 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294451514 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294451595 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: http://sprunge.us/cERU < 1294451602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: whether you consider this readable or not is down to personal taste. < 1294451615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i would, personally, prefer it outputted in a format "like" clue source, except without all the actual clue-y parts, but :) < 1294451630 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, obviously you need to know how clue works internally < 1294451633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm is id(x) always true or something < 1294451638 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- more than 3 < 1294451638 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: id('#0') < 1294451648 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, it's just the identity function... conditions work kind of weirdly < 1294451650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that would seem to me like (x) is only valid if x is true < 1294451654 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294451660 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well see < 1294451665 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not actually a condition, it's a branch < 1294451688 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but of course. that's why you've called it a condition < 1294451712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have an expression, and a function on it, then, certain values of that function correspond to certain codes being executed < 1294451718 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and there's always a default branch < 1294451727 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes :D < 1294451760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"deep first with cutoff" < 1294451771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i like that < 1294451796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294451811 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: clue is kind of pretty really, you started off with the most obviously readable and beautiful way to write a program possible (just show what it should do and let the computer figure it out), and have managed to make it completely incomprehensible and difficult < 1294451811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :after Base branch, it shows (x) in parens, that's the value of the condition leading to that branch < 1294451816 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's skilful < 1294451817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294451840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so basically, it does a switch statement (ala C) on the result of the condition? < 1294451847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i assume you know what switch is >_> < 1294451863 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes, that's the whole point, make a beautiful concept really technical and complicated, while technically keeping the basic idea < 1294451870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes! :D < 1294451906 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but anyway that is a stupid system, and there's a better one coming, it's just so you have *some* way of doing stuff < 1294451914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294451919 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's really annoying when you have say multiple recursive branches < 1294451947 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i really really have to meet you sometime, i get this feeling you're some kinda being of pure energy < 1294451961 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who has three modes, programming, mathing, and normal < 1294451970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the latter seems a bit boring though < 1294451975 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm a pretty normal dude < 1294451989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: while programming? < 1294451990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you wouldn't notice me on the street < 1294451997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that's why i said, three modes < 1294452001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tru, tru < 1294452004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :one normal, the other two oklopol < 1294452049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait wtf are subasts... < 1294452056 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should ask ilkka how all this works < 1294452060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who is ilkka :D < 1294452063 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he's probably the only one who gets it < 1294452067 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a uni friend < 1294452071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no no no shut up i want to get this < 1294452075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294452077 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1294452078 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i want to master the clue < 1294452085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why do you say , isn't <> for quoting multi word names < 1294452095 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1294452104 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's for stdlib < 1294452112 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1294452114 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294452119 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294452120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: why < 1294452133 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...i don't knwo < 1294452135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*know < 1294452222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :---- make singleton < 1294452225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Condition: id('#0') < 1294452225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (None) < 1294452225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :['cons', '#1', '#0'] < 1294452225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wtf is this < 1294452227 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294452240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294452246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :make singleton conses two arguments together? maybe i don't know what #0 and #1 are... < 1294452285 0 :cal153!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294452289 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: make singleturn turns x into [x] < 1294452291 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, lol :D < 1294452302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make singleton ~ {. 1 -> [1] < 1294452302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . [1, 2, 3] -> [[1, 2, 3]]} < 1294452302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make singleton ~ ; cons; #[] < 1294452328 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"#[]" < 1294452329 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294452332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1294452336 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh is that an implicit param < 1294452339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the idea is it gives the empty list as an arg < 1294452342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294452342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when it's actually used < 1294452344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater < 1294452347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294452354 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's how you do constants < 1294452370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should figure the constants out ITSELF < 1294452378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nonono < 1294452381 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can i just omit the hints entirely < 1294452382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in this < 1294452384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and have it still work < 1294452394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :will it just try everything < 1294452398 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no! that's not what clue is about < 1294452404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i want a brute force :D < 1294452405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "_":(lambda a:0), < 1294452407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dude < 1294452411 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you are such a fucking cheat < 1294452414 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clue is about doing the drudge work BUT MAKING IT LOOK LIKE YOU'RE JUST GIVING THE RESULT < 1294452429 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's why it's so fucking awesome < 1294452444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you stole "drudge work from me"...bitch < 1294452450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*drudge work" from me...bitch < 1294452451 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i mean it's actually pretty nice to read, for simple functions < 1294452461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so mm yeah it's kinda sex < 1294452482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :#for i in asts: < 1294452482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# print i < 1294452482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# print asts[i] < 1294452484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# print < 1294452485 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did, i take things people say and use them. that's what i do. < 1294452486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :found at the bottom of cluetest.py < 1294452501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294452504 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :. < 1294452525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :import clue < 1294452525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue=reload(clue) < 1294452525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :import stuff < 1294452527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stuff=reload(stuff) < 1294452529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294452531 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so elegant < 1294452542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeeeah i'm not really into solving trivial problems in sensible ways :D < 1294452547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not iterable < 1294452552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that means my code is insufficiently helpful, right? < 1294452554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clueful even < 1294452563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm hrm, i... dunno, what did your code say? :D < 1294452581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 0 -> 1 < 1294452581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 1 -> 2} < 1294452581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ inc < 1294452585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :adding ; #1gives: < 1294452589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : File "/Users/ehird/clue/clue.py", line 574, in separate_cond < 1294452589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if l[i][0]=="<" and l[i][-1]==">": < 1294452591 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'int' object is unsubscriptable < 1294452593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*; #1 gives: < 1294452615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :try adding < 1294452639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what. < 1294452645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the bag < 1294452645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wait itshould be < 1294452646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1294452647 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not inc < 1294452652 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh that too maybe < 1294452656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : File "/Users/ehird/clue/clue.py", line 640, in compile_all < 1294452656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : raise DepthLimitException("depth limit exceeded ("+i+")") < 1294452656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue.DepthLimitException: depth limit exceeded (succ) < 1294452659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol ok i'll try too < 1294452663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, yeah < 1294452668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : File "/Users/ehird/clue/clue.py", line 648, in compile_all < 1294452668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : [i+"("+unfounds[i]+")" for i in compilees if not compilees[i].iscompiled]) < 1294452668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: exceptions must be classes or instances, not str < 1294452671 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...:D < 1294452679 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you fail at triggering errors < 1294452680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294452694 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeeeeeah i use strings as errors, it used to be possible < 1294452700 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just frowned upon < 1294452705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i too remember those days < 1294452712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: frowned upon -- you stole that from me from notch < 1294452714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i hate your guts < 1294452732 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh you came up with that, i see < 1294452743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, gah, can't you get anything to compile? < 1294452763 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it shouldn't be *that* hard :( and i'm not saying ur stup i'm saying clue is < 1294452767 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: almost almost almost i can do this < 1294452785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile succ() < 1294452786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :um okay < 1294452787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why not < 1294452796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :huh, < 1294452823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :same code? < 1294452837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294452855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 1 -> 2 < 1294452855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 3 < 1294452855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 3 -> 4} < 1294452856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ ; < 1294452858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :added one testcase, didn't help < 1294452872 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and compiling crashes huh < 1294452874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wait, what is this :. stuff < 1294452881 0 :hagb4rd!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294452882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is that only for recursive shit < 1294452883 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :recursion < 1294452885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ignore for now < 1294452888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294452890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :eeeerm < 1294452894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so okay < 1294452896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 0 -> 0 } < 1294452896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 1 -> 0 } < 1294452896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 2 -> 0 } < 1294452897 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 3 -> 0 } < 1294452899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :stuff in a {} < 1294452899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 4 -> 1 < 1294452901 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 5 -> 1 } < 1294452903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ ; #0; #1 < 1294452905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait what < 1294452905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should have the same value of condition func < 1294452907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i should add < 1294452909 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :another {} < 1294452911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :around my other testcases? < 1294452913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in have each be separate < 1294452915 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: right < 1294452927 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : and can't make all those 3 numbers into the same thing! < 1294452946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 1 -> 2} < 1294452946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 2 -> 3} < 1294452946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ ; < 1294452949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :same can't compile error < 1294452955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile succ() < 1294452956 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :grrrr < 1294452971 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm maybe i have old python as well < 1294452979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have 2.6 < 1294452984 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh i have 3 versions < 1294453065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is waiting for ski to compile < 1294453074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski compiles fine here at least < 1294453099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: im gonna try a less ambitious function < 1294453100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"is zero < 1294453101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :" < 1294453122 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :took only a minute to compile that < 1294453135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- succ < 1294453135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: id('#0') < 1294453136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294453137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#1' < 1294453139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (None) < 1294453141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294453143 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bitches < 1294453145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 0 -> 1} < 1294453147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 1 -> 0 < 1294453149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 0} < 1294453151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ ; #0; #1 < 1294453153 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :note: function is actually is zero < 1294453155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not succ < 1294453156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's wrong tho, isn't it :D < 1294453157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wait < 1294453162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :are you sure? < 1294453165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think None matches anything < 1294453168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294453180 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can i make the condition a constant? < 1294453182 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah but isn't applied is it < 1294453184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294453187 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1294453188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's is zero < 1294453188 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294453188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not succ < 1294453189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as i said < 1294453190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294453194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can i make the condition a constant < 1294453194 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah yeah < 1294453199 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that... should work, yes! < 1294453199 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how < 1294453227 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm erm < 1294453238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294453239 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :_ is a constant < 1294453241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294453243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah indeed < 1294453244 0 :Behold!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294453246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so <_> then < 1294453247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the best smiley < 1294453249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and then # gives you constants < 1294453251 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but.... < 1294453257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294453263 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :will it actually use them for condition though < 1294453264 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294453268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or will it try and condition on inc or something stupid like that < 1294453310 0 :hagb4rd!~perdito@koln-4db40ce2.pool.mediaWays.net JOIN :#esoteric < 1294453322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : File "/Users/ehird/clue/clue.py", line 419, in parse_number < 1294453322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return int(code[:i]),code[i:] < 1294453322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ValueError: invalid literal for int() with base 10: '11-' < 1294453323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ... < 1294453329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :code: < 1294453330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :s zero? ~ {. 0 -> 1 } < 1294453330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is zero? ~ {. 1 -> 0 < 1294453331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 0 } < 1294453333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is zero? ~ ; #0; #1 < 1294453335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 0 -> 1 < 1294453337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : 1 -> 2 < 1294453339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : 3 -> 4 } < 1294453341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ <_>; < 1294453343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :note distinct lack of "11-" < 1294453354 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294453366 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i... wish i knew what to say < 1294453391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def parse_number(code): < 1294453391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : i=0 < 1294453392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : while i22->3' < 1294453416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'11->22->3' < 1294453418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'11->22->3' < 1294453420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's code at each iteration < 1294453422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have only one question < 1294453424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what. < 1294453426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how is code growing, it's not even touching code < 1294453428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in < 1294453432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the loop body is literally += 1 < 1294453437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh because a different call < 1294453438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294453440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so what i'm saying is < 1294453441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm laughing my ass off here < 1294453444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1294453447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I forgot the . before the next condition < 1294453450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :did you notice that? < 1294453454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no you didn't, because your syntax sucks < 1294453460 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or did you notice that and are mocking me < 1294453472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile succ() < 1294453474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hahaha fuck me < 1294453482 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294453494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :do the order of hints matter? < 1294453494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll start playing too < 1294453498 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this looks like fun < 1294453507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think constants have to go last < 1294453508 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, last is default. < 1294453508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for some reason :D < 1294453512 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope! < 1294453512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: default condition? < 1294453515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294453525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile succ(<_>) < 1294453527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHY NOT < 1294453557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: this is the worst language i have ever used ... was gonna say "game i have ever played", my mind can't really view this as a rational activity < 1294453577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def is_function(a): < 1294453577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : try: < 1294453577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : a() < 1294453578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : except Exception,e: < 1294453580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if str(e)[-12:]=="not callable": < 1294453582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return False < 1294453584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return True < 1294453586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ... < 1294453588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what on earth made you write that < 1294453603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: did you not consider any of the other 439857349857345 simpler and faster solutions :D < 1294453603 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294453616 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294453630 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i didn't want to open a browser < 1294453666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my first program compiled just fine, but lemme try succ < 1294453734 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :poop ~ {. 0 -> 0 < 1294453734 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 1 -> 0 < 1294453734 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 0 } < 1294453736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :poop ~ <_> < 1294453739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: things your shitty language cannot handle: this function < 1294453741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think I need ; #0 < 1294453755 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IT WORKED WOOWOWOWOWO < 1294453760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCK < 1294453769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see <> means "this is the condition" < 1294453780 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so nothing worked when it was used multiple times < 1294453780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...:DDD < 1294453783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: not "stdlib"? :D < 1294453789 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fucking hell < 1294453793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hhaahahahaahaha < 1294453793 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :NO < 1294453796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :your language is the worst < 1294453804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i thought it was pretty stupid mind :D < 1294453811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1294453817 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's wrong with that < 1294453823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: nothing < 1294453827 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i meant it being used as stdlib < 1294453831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sounded... really dumb < 1294453838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed :D < 1294453846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- succ < 1294453846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: _('#0') < 1294453846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (None) < 1294453848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['inc', '#0'] < 1294453850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PRAISE THE LORD < 1294453851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just threw it in the air more like, then started considering it word of god < 1294453876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmhmm do you have negation in this language perchance < 1294453881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or should i just pretend negative numbers don't exist < 1294453897 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 0 -> 1 . 1 -> 2 } succ ~ ; inc < 1294453905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right, yeah < 1294453911 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well you can just sub from zero i suppose < 1294453912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 0 -> 1 < 1294453912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 1 -> 2 < 1294453912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 3 } < 1294453914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ inc; <_> < 1294453916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ^ less stupid ver :P < 1294453941 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well that's UR opnn < 1294453953 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: now i just have to figure out how to do "is negative?" < 1294453960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294453982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see less than 3 function < 1294453988 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :~<>? < 1294453990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does this thing have comments < 1294453998 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for a proof of nonexistance of comparison operator < 1294454004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: which less than three function < 1294454007 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i see more than three < 1294454008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no less than three :D < 1294454015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm yeah that < 1294454028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so are there comments < 1294454031 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What language is tis? < 1294454032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean in clue code < 1294454034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: clue < 1294454034 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :this < 1294454037 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294454045 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you don't need comments! < 1294454049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the code comments itself! < 1294454050 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Eso or noneso, it looks noneso < 1294454052 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lemmesee... < 1294454053 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294454061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i doubt it < 1294454078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :write a comment and give it a bag... < 1294454083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: eso. < 1294454083 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, linky to info? Is this a new language youre making now? < 1294454087 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :THIS IS AN COMMENT HERE RIGHT HERE ~ < 1294454087 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1294454092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: comments to erase my undone code :D < 1294454097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhhh < 1294454099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: it's pretty old actually < 1294454101 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah sorry, nothing for that. < 1294454107 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was wondering why you'd need them < 1294454108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: maybe i'll hack in a _stop peeking here_ < 1294454128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just strip lines that start with # < 1294454133 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: boring < 1294454135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also more work to comment < 1294454142 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: basically you show a few examples of inputs and outputs in the function, give a basic list of operations to hint the impl what it needs to do, and it figures out the rest < 1294454146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also nymfokitiara says hi < 1294454148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :works surprisingly well with sufficiently disciplined use < 1294454149 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah, old as in, "we're not making it right now" < 1294454149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: who is that < 1294454157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a human < 1294454161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: pretty cool < 1294454163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is it a uni guy < 1294454169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i told we were playing with my clues < 1294454170 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1294454173 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that sounds awesome < 1294454176 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :sgeo *g < 1294454180 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh yeah totally is < 1294454180 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know uni guys that irc < 1294454182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm a fan < 1294454193 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"A Clue program is a string consisting only of 0s and 1s. " < 1294454199 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Then what are you talking about? < 1294454200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er no. < 1294454201 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's another clue. < 1294454204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol doesn't use the wiki. < 1294454216 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have a language there < 1294454222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :made for the purpose of having a language there < 1294454233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: example clue code < 1294454234 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION lols < 1294454235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make singleton ~ {. 1 -> [1] < 1294454235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . [1, 2, 3] -> [[1, 2, 3]]} < 1294454235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make singleton ~ ; cons; #[] < 1294454237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pair ~ {. 1, 2 -> [1, 2] < 1294454239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . [3], [4, 5] -> [[3], [4, 5]]} < 1294454241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pair ~ ; make singleton; cons < 1294454243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: pretty obvious to see how that works < 1294454246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the ; stuff is hints < 1294454255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the {. ...} are example inputs -> outputs < 1294454261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, once you start using recursion, things get slightly more hairy. < 1294454268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: only slightly! < 1294454274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think it is pretty obviously the best language? < 1294454294 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, that is obvious ofc < 1294454305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: example of recursion, very obvious code here: < 1294454305 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is it implemented? < 1294454306 0 :Wamanuz!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1294454307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ {. 3 -> 3 < 1294454307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . [2, 2] -> [2, 2] } < 1294454307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ {:. [1, [1, 2]] -> 2 < 1294454309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 2] -> 2 } < 1294454309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294454311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ {:. [[2, [1, 3]], 2] -> 3 < 1294454313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 3] -> 3 } < 1294454315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ {:. [[[3, [2, 2]], [2, 1]], 5] -> [2, 1] < 1294454317 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [[2, 2], 5] -> 2 < 1294454319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [[2, 1], 5] -> 1 < 1294454321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [2, 1] -> [2, 1] < 1294454323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : :. [[[3, 1], 1], 1] -> 1 < 1294454325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 1] -> 1 < 1294454327 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 1] -> 1 < 1294454329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 1] -> 1 } < 1294454331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ {:. [[[[1, 2], 1], 2], 1] -> 1 < 1294454333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [[[1, 2], 1], 2] -> 1 < 1294454335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 1] -> 1 < 1294454337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : :. [[[[[3, 2], 3], 2], 3], 1] -> 3 < 1294454338 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm too tired and stressed to think about all that < 1294454339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [[[[3, 2], 3], 2], 3] -> [2, 3] < 1294454341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [[2, 3], 1] -> 3 } < 1294454343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ < 1294454345 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply ~ pair; car; cdr; cadaar; cadar < 1294454347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes, it is implemented < 1294454347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clue <3 < 1294454351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :obviously figuring out that ski apply just takes like a second < 1294454353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the examples illuminate it all < 1294454355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and the hints only make it obvious < 1294454376 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw, if you could write all that as actual ski code, it might make *even more* sense, if possible < 1294454384 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is too tired to try to understand anything < 1294454389 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and stressed < 1294454389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1294454396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ python cluetest.py < 1294454397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-1] wtf < 1294454397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Traceback (most recent call last): < 1294454398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294454400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not iterable < 1294454404 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :es I did just say that < 1294454404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i don't think it likes negatives < 1294454418 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm going to explode in a Trogdor < 1294454435 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I wa recently linked to H*R somehwere, btpobably TVTropes < 1294454448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can add new commands if you like < 1294454458 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just added what i absolutely needed for ski, and a few other completely random ones < 1294454461 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What are the Clue primitives? < 1294454466 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :comparison would be very nice < 1294454473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: there are very few, but you can do stuff with lists and numbers < 1294454475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :funcs={"cons":cons, < 1294454475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "car":car, < 1294454475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "cdr":cdr, < 1294454477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "id":identity, < 1294454479 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "dec":decrement, < 1294454481 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "inc":increment, < 1294454483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "add":add, < 1294454485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "empty":empty, < 1294454487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "is list?":islist, < 1294454489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "_":(lambda a:0), < 1294454491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : "compare":compare} < 1294454493 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1294454495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :remember how you said < 1294454497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nonexistence of a compare function < 1294454499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well uh < 1294454501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294454503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def compare(a,b): < 1294454505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if a==b:return 0 < 1294454507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if a where foo takes 2 args < 1294454694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and if so, how do you get clue not to die by trying it with one < 1294454705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that i don't know, because compare has probably never been tried :D < 1294454705 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294454712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhh < 1294454716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well umm < 1294454719 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :conditions are kinda special... < 1294454723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...:D < 1294454724 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they can not take two args xD < 1294454732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: if i made a wrapper for compare < 1294454735 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that takes it as a two-arg list < 1294454740 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: then would that work? < 1294454742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just have as condition < 1294454746 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and compare in bag < 1294454746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it'd have to call pair in the condition of course < 1294454748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: er how < 1294454750 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294454751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but how < 1294454751 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Take it, take it, take it, I've gont tloco < 1294454756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: leave < 1294454759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :~ ; compare < 1294454763 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as you already realized < 1294454770 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, just in a weird mood < 1294454796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somehow i thought giving the condition func would make things faster or whatever, but it's just fucking stupid < 1294454801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- is negative? < 1294454801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: id('#0') < 1294454801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (None) < 1294454803 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#1' < 1294454805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294454807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294454809 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (1) < 1294454811 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#1' < 1294454813 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i dont think that'll actually work < 1294454815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*don't < 1294454816 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :almost there < 1294454817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't really call compare at ... all < 1294454819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :need more testcases? < 1294454826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :show code < 1294454827 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh lol my test was wrong too < 1294454844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh my god, it just figured out what zero is < 1294454854 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :lmao < 1294454855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: id(['compare', '#0', ['compare', '#0', '#0']]) < 1294454856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: look < 1294454859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's a genius < 1294454866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294454875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it wanted 0, but despite the fact that it was _given_ 0, < 1294454876 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :- You are sitting in a chair. - < 1294454880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it compares it to itself to get it < 1294454884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wait what... < 1294454888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (-1) < 1294454888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#1' < 1294454889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294454890 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294454892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (1) < 1294454894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294454896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :isn't #0 the param her < 1294454898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e < 1294454898 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wild shiny mon found. < 1294454899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm laughing so goddamn loudly right now < 1294454900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...well whatever :D < 1294454900 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bitching. < 1294454914 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: show code? < 1294454917 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :elliott: have you heard about that embarassing DOS bug in php that they have found monday? < 1294454921 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think, if you have 0, 1, and compare, and you want 0, choosing compare(x,x) to get it is an inspired solution < 1294454924 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Caught. < 1294454934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: yes, but i'd rather forget php exists. also the bug is rather subtle and not _all_ that stupid < 1294454934 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :dos? cheater < 1294454946 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :elliott: how is that stupid? < 1294454953 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: ? < 1294454957 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :s//not/ < 1294454981 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :elliott: how is that not stupid? < 1294454995 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Linky? < 1294454997 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :they copypasted code from someone who didn't know wtf they were doing. < 1294455002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: no, they didn't < 1294455015 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: it was to do with an edge-case on x87 vs sse < 1294455015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: can i get your negative number parsing code? < 1294455032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if code[0].isdigit() or code[0]=='-': < 1294455032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return parse_number(code) < 1294455033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: in parse_object < 1294455037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's it, the rest you already wrote :D < 1294455040 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :they didn't even write an exhaustive unit test for it which would have taken, only once executed, a minuscule amount of time. < 1294455052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: unit tests are stupid. < 1294455057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :executing them only once is doubly so. < 1294455059 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :they test units < 1294455062 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :something they hadn't done < 1294455072 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :you only need to test code once every time it changes < 1294455074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cheater00: enjoy enumerating every floating point value lol < 1294455085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this ain't 32-bit land < 1294455104 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :exhaustive doesn't mean every value < 1294455109 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :exhaustive means every important value < 1294455122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah, so basically what you are saying is: they should have predicted the bug perfectly < 1294455128 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :since when are you such a php fanboi? < 1294455132 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i hate php, php devs are idiots, but this bug is subtle and not something i would expect anyone to catch. < 1294455138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :every decision they make is idiotic. < 1294455145 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294455148 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :at least we agree on that < 1294455152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but it's like saying, oh, "john mccain raped me and my sister for five days on end and that's why he's terrible" < 1294455157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, that's stupid, he's terrible for entirely other reasons? < 1294455166 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bad metaphor prize < 1294455168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :goes to me~~ < 1294455170 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now back to clue < 1294455174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay so i am going to see if it can NEGATE < 1294455180 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :a little enjoyment hasn't hurt anyone so far < 1294455183 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294455247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so to subtract i use the add function despite the fact thaty ou have decrement :D < 1294455248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*that you < 1294455254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because there's no subtract functin < 1294455255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*function < 1294455274 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :what bout addin neg numbers < 1294455278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1294455285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: lol... you can't actually do negate i don't think < 1294455290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: -x = 0-x = 0+-x < 1294455295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so to do negate with add, you need negate < 1294455307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: care to try and do negate or subtract as a recursive fn? :D < 1294455332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well you could start incing and deccing in both sides of a pair < 1294455336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :until one reaches 0 < 1294455343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wait what < 1294455345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294455352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well something like that, i mean there's a workaround < 1294455354 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyhows < 1294455359 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you could just ass sub... < 1294455364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :NO < 1294455365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THAT'S CHEATING < 1294455369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294455369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this platonic core will be perfect forever < 1294455371 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*add btw < 1294455378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you write the subtract or negate function (negate is more useful for me fwiw) < 1294455380 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, want to get stats on block count so far in building that castle with hmod + worldedit + craftbook? < 1294455385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wait, why don't we just use lists of [] < 1294455388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: to denote naturals < 1294455390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: uh sure < 1294455391 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, even though it is just a shell it is rather massive < 1294455459 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, 596516 stone (note, area uneven, might include 5-10 deep into ground). 62806 obsidian. 968 lightstone. 829 torch. < 1294455466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh so like 2 minute work < 1294455467 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :plus a number of other ones < 1294455478 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no, more like half a day of work < 1294455486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :3 minute :D < 1294455488 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, also some cool redstone stuff :P < 1294455493 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that took time < 1294455503 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, like the automated arrow shooting battery < 1294455507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294455511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so is negate done yet < 1294455517 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :anyway whats the clue of clue, but making comments useless :p < 1294455524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p6778978682.txt < 1294455541 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, flip a lever, watch it shoot. Then watch notch poor code for arrows over network lag the thing to hell < 1294455557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: excuse me, i meant in clue < 1294455567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294455576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was almost as hard < 1294455581 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :some respect man < 1294455604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i just don't see how you can write negate in clue at all :D < 1294455610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i really want to know < 1294455613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can compare with 0 < 1294455619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and? < 1294455630 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so whether it's negative or positive, you'll find it if you go both directions < 1294455639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294455644 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's just comparison with 0 < 1294455657 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you know it's negative, then just inc until 0, and inc twice on other track < 1294455671 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you'll end up with (0, abs(n)) < 1294455672 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :what if dont? < 1294455675 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :i < 1294455681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no don't do abs, i'm trying to do abs USING negate :D < 1294455682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fuck you man < 1294455690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you're like < 1294455692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :skipping ahead < 1294455701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nono i didn't write abs < 1294455705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just meant < 1294455710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294455716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah true < 1294455721 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but anyway the algo i gave is just for negate < 1294455733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it requires a bit of list fiddling, but shouldn't be too hard < 1294455748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok then ... teach me how to recurse :D < 1294455756 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd love to! < 1294455777 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets some popcorn < 1294455800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you have like (three points) a -> b (two points) c -> d < 1294455819 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then, a is transformed into c, and a and d are transformed into b < 1294455823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait wait < 1294455826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i need to brb for ooone sec < 1294455898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: back < 1294455905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, well that's recursion < 1294455907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what are points < 1294455908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like < 1294455910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :three = :. < 1294455912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :two = :? < 1294455917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :allya < 1294455921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*ya < 1294455923 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :good you ask < 1294455927 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a and d transformed into b ... what < 1294455936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh i see < 1294455962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so basically, "given f(c) = d, f(a) = b, where c comes from a and b uses a and d"? < 1294455973 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294455983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294455998 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :obvious right < 1294456000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is that ":D how does anyone else but me understand this" :P < 1294456037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well. kind of, i wasn't actually surprised, more like yay ehird so smart i don't have to explain eeeeverything. < 1294456059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i feel vaguely insulted :D < 1294456070 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's really all there is to recursion, and it is one of the things i like best about clue < 1294456074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok so base cases are done with onedots < 1294456078 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and then i have separate blocks with recursion < 1294456080 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr < 1294456085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294456089 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so (0,x) -> x and (x,0) -> x < 1294456090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw remember it's just the amt of blocks, you can say ... as well < 1294456093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...important right < 1294456098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah? for this abs subfunction thing < 1294456099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wut < 1294456106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's ... < 1294456106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :soooomething like that < 1294456115 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :":." = ".:" = "..." < 1294456120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ah. :P < 1294456125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i bet you were real proud of that < 1294456130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what are FOUR DOTS < 1294456131 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294456138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :examples < 1294456141 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :general examples < 1294456143 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :test cases < 1294456164 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :documentation < 1294456171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: are five dots like < 1294456172 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :design documents < 1294456184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what about six dots, are six dots the one-sentence summary of how the code works < 1294456200 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294456211 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe five could actually be comments < 1294456213 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that would be... < 1294456220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :::. < 1294456232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do the order of ~{} blocks matter? < 1294456249 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294456255 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now that i've given this thing some thought < 1294456260 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure they don't really < 1294456266 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, i'd but the default case last < 1294456294 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :what if there is no default case? < 1294456312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good q < 1294456321 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :leave it empty? < 1294456332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't specify it, one would assume < 1294456338 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think there will always be one < 1294456347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay so wait what tuple do abs(-5) and abs(5) start out with? < 1294456350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for the loop < 1294456363 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is actually bad for further inference, you should definitely be able to make things fail < 1294456380 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i'd do negate separately < 1294456396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay what tuple do negate(-5) and negate(5) start with :D < 1294456397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :help a retard here < 1294456412 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well erm < 1294456416 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd write those separately too < 1294456419 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :negate positive < 1294456423 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :negate negative < 1294456425 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and then < 1294456433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :negate negative starts with (-5, -5) < 1294456434 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Console Hacking 2010 Part 2 - Chaos Communication Congress < 1294456439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what about negate positive < 1294456440 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and the rules is to (inc, inc inc) < 1294456442 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is this stuff that will be educational to me? < 1294456446 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I seem to be learning < 1294456468 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: clue is VERY educational, yes < 1294456471 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay wait negative negative, < 1294456476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so that goes < 1294456479 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(-4, -3) < 1294456483 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I'm talking about a talk < 1294456483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294456484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(-2, -1) < 1294456485 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1294456486 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :About PS3 security < 1294456486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(-3, 1) < 1294456487 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i know < 1294456491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do we keep going? < 1294456494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(-2, 2) < 1294456497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(-1, 4) < 1294456498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(0, 5) < 1294456498 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :dont try it at home < 1294456498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1294456499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wow < 1294456504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok so it's 0,x -> x < 1294456510 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, do that last < 1294456523 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure you'll be able to translate that to clue < 1294456534 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hey i don't even need recursion do i < 1294456537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait do i < 1294456540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, yes, i do < 1294456541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't I? < 1294456542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes, i do < 1294456548 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just need it for the loop < 1294456570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm.... < 1294456577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quite hard :D < 1294456582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except you could also just write a program that adds the number to itself, twice < 1294456585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean... < 1294456586 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait what < 1294456590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...or that, yes < 1294456591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"just negate it, then" < 1294456594 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can clue do that? < 1294456599 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it certainly can < 1294456606 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what it can't do is negate < 1294456609 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294456611 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you're not using that < 1294456614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: right, negate negative is easy < 1294456616 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: negate positive won't be < 1294456634 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :whreres the difference? < 1294456640 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no negate negative won't be easy! < 1294456656 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the idea doesn't work, because you'd need to negate so you could negate < 1294456667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you need to add the negation twice! < 1294456670 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, duh < 1294456673 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294456691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay so let's see, i'll write this in a language this is actually easy and obvious in and then translate < 1294456697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f (0,y) = y < 1294456704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f (x,y) = f (x+1, y+2) < 1294456705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SO < 1294456726 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f (x,y) = x where x = f (a, b); a = x+1; b = y+2 < 1294456739 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :When it says geohot glitched .. something with the RAM, not entirely sure, do they mean physically? < 1294456748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1294456749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {:. a, b -> c < 1294456749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : a+1, b+1 -> c } < 1294456756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i just need to fill in this template a few times, right? < 1294456757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294456758 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*b+2 < 1294456764 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1294456778 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"It required really annoying hardware to pull off" < 1294456784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, i believe so < 1294456802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and don't forget base case ofc < 1294456828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {:. -5, -5 -> 5 < 1294456828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -4, -3 -> 5 < 1294456828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -2, -1 -> 5 < 1294456830 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -3, 1 -> 5 < 1294456832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -2, 2 -> 5 < 1294456834 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -1, 4 -> 5 < 1294456835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : 0, 5 -> 5 } < 1294456837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is that... correct? < 1294456846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sure, although you don't need that much < 1294456850 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294456853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :noooooo < 1294456864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :everything after -4 -3 is excess < 1294456871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the -5 -5 case is not using all that < 1294456875 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just one level is given < 1294456880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294456891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :do i need more than one example? < 1294456892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or will that one do < 1294456900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :point is to allow it to just brute force one layer instead of always going to base case < 1294456911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: btw i disagree with how you indent these things, IMO the : for subcase should be aligned with the . for supercase < 1294456916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then the two x -> ys get aligned < 1294456918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294456921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :one may do, one may not, i don't really have an intuition for that atm < 1294456964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not iterable < 1294456966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yaaaaaay < 1294457001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294457005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :turns out negative negative != negate negative < 1294457029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate negative < 1294457029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: is zero?('#0') < 1294457029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Rec branch (0) < 1294457030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Subast(0,0):['inc', '#0'] < 1294457032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Subast(0,1):['inc', ['inc', '#0']] < 1294457034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Main ast: '#2' < 1294457036 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (1) < 1294457038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#1' < 1294457040 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: holy shit, it actually works. < 1294457066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and negate positive is just the same except it's x, 0 and we do dec/dec dec, right? < 1294457067 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294457075 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i believe this to be the case. < 1294457077 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :always wondered y -1*1 makes -1.. thats kind of evil < 1294457078 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294457083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: ...what < 1294457084 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yo dawg, i heard you like negation < 1294457088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: x*1 = x < 1294457116 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :ok so far < 1294457122 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: let x = -1 < 1294457125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ergo -1*1 = -1 < 1294457133 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :no < 1294457143 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :umm...yes < 1294457156 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: both (-1)*1 and -(1*1) are -1, of course, even if for slightly different reasons < 1294457157 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :its an axiome..isnt it? < 1294457177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or rather both follow from x*1 = x actually < 1294457208 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: x*1 = x < 1294457214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: do you accept that this is true no matter what x is? < 1294457215 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1 of x is x. < 1294457216 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: yes, x*1 = x is one of the field axioms < 1294457218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :x times 1 is x. < 1294457224 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1294457226 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :yes elliott.. < 1294457242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: let us suppose that x = -1. so we have x*1 = x. expanding x's value, we have (-1)*1 = (-1). < 1294457245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is that so hard? < 1294457254 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1294457256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you needed just one recursion case? < 1294457263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i needed 2 < 1294457264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yup, guess clue is magical < 1294457267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also negate positive works < 1294457273 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it is also true that (-a)*b = -(a*b) for all a and b < 1294457276 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {:. -5, -5 -> 5 < 1294457276 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -4, -3 -> 5 } < 1294457276 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {. 0, 1 -> 1 < 1294457278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 0, 2 -> 2 < 1294457280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 0, 3 -> 3 } < 1294457282 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ ; inc < 1294457284 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: guess i am a better clue programmer than you? < 1294457287 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294457295 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe! < 1294457297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what's your code < 1294457329 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :you could have -a*b = b .. isnt it a question of notation? < 1294457330 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue.DepthLimitException: depth limit exceeded (negate) < 1294457331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh come on < 1294457331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p1551824545.txt < 1294457344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: so negative one times two apples is two apples? < 1294457354 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: also, you can have 2*2 = 72. < 1294457357 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: um -a*b usually parses as -(a*b) < 1294457360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the fact is that * is an operation defined by certain facts about it. < 1294457361 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so maybe that's the reason you only needed one < 1294457363 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's kinda random ofc < 1294457374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think some programming languages violate that, though < 1294457398 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :thx oerjan.. < 1294457406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh i think i might actually need a non-inner loop version... < 1294457407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for negate < 1294457418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or maybe i just need to give it id < 1294457421 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just check if it's pos or neg and negate < 1294457427 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :thats the direction i wanted to get it goin < 1294457434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate ~ {. -1 -> 1 < 1294457434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . -2 -> 2 < 1294457434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . -3 -> 3 } < 1294457436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate ~ {. 0 -> 0 < 1294457438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 1 -> -1 < 1294457440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> -2 } < 1294457442 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate ~ ; negate negative; negate positive; id < 1294457444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: goes all depth limit, < 1294457446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: because negate X takes two arguments < 1294457448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I want it to give them both as the same < 1294457450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know if it's smart enough to < 1294457451 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: but it is still true that both the obvious parsing candidates give the same final value < 1294457481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it should certainly be smart enough for that :\ < 1294457486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmhmm < 1294457498 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also -a*b = b holds for a = -1 or b = 0 < 1294457511 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean it can deduce things like cadar < 1294457549 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's is negative?` < 1294457557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is negative? ~ {. -1 -> 1 < 1294457557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . -2 -> 1 } < 1294457557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is negative? ~ {. 0 -> 0 } < 1294457559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is negative? ~ {. 1 -> 0 < 1294457561 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 0 } < 1294457563 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is negative? ~ ; compare; #0; #1 < 1294457565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think it might infer wrong ... < 1294457569 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- is negative? < 1294457570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: id(['compare', '#0', ['compare', '#0', '#0']]) < 1294457571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (-1) < 1294457573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#1' < 1294457575 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294457577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294457579 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (1) < 1294457581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294457583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that seems very suspicious to me < 1294457589 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :seems to work < 1294457592 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294457607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294457610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :are you sure :D < 1294457619 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ummmmmmm < 1294457624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1294457638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is #0 the zeroth arg or is it a zero < 1294457660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i do not know :D < 1294457666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think it' the zeroth arg < 1294457666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*it's < 1294457667 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that makes like ... no sense < 1294457668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :BUT bear in mind < 1294457673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I do have "#0; #1" < 1294457674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it could be both < 1294457719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: just tested in console < 1294457721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is correct < 1294457736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>> _['negate negative'](-5,-5) < 1294457736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1294457739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294457739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294457752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh needs to be [-5,-5] < 1294457757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or not, no < 1294457766 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>> _['negate positive'](5,5) < 1294457766 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1294457774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you're lying to me about how these constructs work ... or something < 1294457828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :/ < 1294457853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: any ideas :D < 1294457867 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm...... < 1294457870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1294457883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean the _actual test case_ is failing < 1294457894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maybe is fucking it up somehow...naw < 1294457921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :weirdness man < 1294457933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries things < 1294457947 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :the fact is that * is an operation defined by certain facts about it. <-- so multiplication of a negative and a positive value results in a negative value,yes..it may be a metaphysical question, but i wonder if it's based on a natural law or just another entropy < 1294457960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: do you have the swatter? < 1294457967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it is _really_ desperately needed. < 1294458000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok mine can't even figure out a one-arg negate negative :D < 1294458022 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think our implementations are subtly different now :/ < 1294458049 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll finish mine, and try to come up with why you can't < 1294458052 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then < 1294458112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: gimme your current src tree and i'll diff it against mine < 1294458124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :meh meh < 1294458130 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh what you mean clue.py? < 1294458178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes < 1294458180 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also stuff.py < 1294458243 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okky < 1294458339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p2332981772.txt http://www.vjn.fi/pb/p1364929955.txt http://www.vjn.fi/pb/p9712658752.txt < 1294458393 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay, you have negate built in obvs < 1294458403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"function should be have" < 1294458404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :be have :D < 1294458434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the only cluedifferences we have are that i fixed the exception messages differently < 1294458436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*clue differences < 1294458449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cluetest mine is just a bit more featured < 1294458454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :print funcs["is negative?"](-7) # --> 3 < 1294458456 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nice comment < 1294458494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294458504 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey i can't get this little pecker to compile < 1294458539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1294458541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :im stupid lol < 1294458544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :have youever felt < 1294458544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stupid? < 1294458554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no wait < 1294458558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue is still the stupid one < 1294458569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1294458592 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :something wrong with parsing maybe, because negate negative works, but negate positive doesn't, even though i just changed signs < 1294458597 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe my error < 1294458647 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294458651 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :oerjan.. hmm.. okay.. so if -ab is kind of a short to notation to -1*a*b*.. there is no need to think in cases of negative or positive, right?.. makes sence < 1294458653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: probably, yes < 1294458656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: since the recursion is different < 1294458680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's really not < 1294458715 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it's parsing that fails < 1294458717 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1294458720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm just fixin' my negate negative < 1294458722 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: weird < 1294458724 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what error < 1294458730 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as can easily be seen from the error message........... < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Traceback (most recent call last): < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : File "C:\stuff}clue\cluetest.py", line 10, in < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : funcs,asts=clue.compile_all(open(cluefile).read(),stuff.funcs) < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : File "C:\stuff}clue\clue.py", line 618, in compile_all < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : compilees=parse(code) < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : File "C:\stuff}clue\clue.py", line 596, in parse < 1294458737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : clues[i]=stuff_to_clue(tokenized[i]) < 1294458738 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : File "C:\stuff}clue\clue.py", line 589, in stuff_to_clue < 1294458739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : cond,others=separate_cond(helpers) < 1294458739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not iterable < 1294458744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what kind of piece of shit wrote this thing < 1294458751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I WANT FUCKING ERROR MESSAGES < 1294458767 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the guy was probably like < 1294458768 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ahh ,yes, i remember that error < 1294458771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey if you make amistake < 1294458771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: show me your code? < 1294458774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i remember fixing that < 1294458774 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fuck you, you suck < 1294458778 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think you forgot to specify clues < 1294458780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you got a name wrong somewhere < 1294458785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :check your names < 1294458827 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clue.DepthLimitException: depth limit exceeded (really negate positive) < 1294458869 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>> _['negate positive'](5,5) < 1294458870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['nothing here'] < 1294458870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1294458870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it turns out < 1294458870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i got a name wrong < 1294458870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what < 1294458872 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>> _['negate positive'](5,5) < 1294458873 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['nothing here'] < 1294458875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what < 1294458878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somewhere < 1294458882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ARE YOU A WITCH < 1294458888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i noticed when i checked my names < 1294458892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: excuse me < 1294458894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why is it doing that < 1294458904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if depth_lim==0: < 1294458904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return ["nothing here"] < 1294458904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1294458940 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...que < 1294458948 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh erm hrm < 1294458955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294458960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"sorry" < 1294458975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1294458977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1294458978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i made a mistake < 1294458981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and your impl was all like < 1294458982 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"fuck you" < 1294458985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"stop making mistakes" < 1294459035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmhmm < 1294459043 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294459047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it occasionally does that < 1294459071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate < 1294459072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: is negative?('#0') < 1294459072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (1) < 1294459073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['negate negative', '#0', '#0'] < 1294459075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294459077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['negate positive', '#0', '#0'] < 1294459079 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do i win prize < 1294459081 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not the most user friendly thing < 1294459123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- abs < 1294459123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: is negative?('#0') < 1294459123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (1) < 1294459124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['negate', '#0'] < 1294459126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294459128 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294459130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can i get prize? < 1294459158 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :elliot scores 5dots < 1294459184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's nice < 1294459184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nicer than mine, surely < 1294459184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in my defense, i was just gonna do negate negative, not all of negate < 1294459194 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well i finished before you, so prolly not < 1294459196 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wlel < 1294459199 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*well < 1294459202 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: did you get abs before me < 1294459205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1294459211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well then < 1294459217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i will just have to figure out subtraction < 1294459222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i haven't done abs! < 1294459223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :didn't notice that sry < 1294459231 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :the second mouse gets the cheese < 1294459231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294459242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah i couldn't have seen how that's done < 1294459256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's like you... meh i'm not even gonna try < 1294459298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :subtract ~ {. 1, 3 -> -2 < 1294459298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2, 1 -> 1 < 1294459298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . -3, -2 -> -1 } < 1294459298 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, that's pretty simple..... except you need to do positives and negatives separately again :D < 1294459299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :subtract ~ <_>; add; negate < 1294459303 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294459304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- subtract < 1294459304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: _('#0') < 1294459305 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah umm < 1294459305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (None) < 1294459307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :['add', '#0', ['negate', '#1']] < 1294459309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: sure, i did < 1294459309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm a serious fucking retard < 1294459314 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1294459322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: here's my code < 1294459325 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :forgot add exists < 1294459331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: http://sprunge.us/DFfN < 1294459331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294459336 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: to be honest add shouldn't exist. < 1294459344 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294459354 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: in fact, nothing should exist except pairs and one non-pair object < 1294459364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no multiple arguments, that's done with pairs < 1294459373 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :zero? < 1294459379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, nil or something < 1294459383 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you do realize *ski* takes 20 seconds to compile, and functions are executed about a million times when you compile somethin < 1294459384 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :g < 1294459386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: indeed, in a sufficiently advanced implementation, functions would be represented as lists in this kind < 1294459387 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294459399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah so since it's useless, let's make it good and useless < 1294459434 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw i was close to adding higher order functions to the impl, not really any more work, but would be fucking awesome < 1294459445 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean just think about the clue definition of map < 1294459460 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mmmm < 1294459465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: see, like i said, do functions as lists < 1294459472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: then you already have it all :D < 1294459476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just have an apply function < 1294459480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :taking an object and an objects < 1294459485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :object = pair object object | nil < 1294459498 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1294459498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and "foo" in examples is just a reference to that object ofc < 1294459504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: whyever not :D < 1294459521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it's pretty much perfect now < 1294459530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it just needs MORE stuff, and a better conditional < 1294459542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: this would be more stuff < 1294459542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :done < 1294459544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with LESS stuff < 1294459545 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: the rule -(a*b) = (-a)*b holds for more than just ordinary numbers, it holds for any ring including those where you cannot distinguish positive and negative elements. < 1294459647 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :> all [ -(a*b) == (-a)*b | a <- [0 .. 255::Word8], b <- [0 .. 255::Word8]] < 1294459648 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't match expected type `a -> GHC.Bool.Bool' < 1294459648 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : against inferred ... < 1294459651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek < 1294459657 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294459659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heeeeeeey < 1294459661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :CLUE BOT :D < 1294459663 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :> and [ -(a*b) == (-a)*b | a <- [0 .. 255::Word8], b <- [0 .. 255::Word8]] < 1294459664 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : True < 1294459674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but you have no expression syntax :D < 1294459678 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so how ya gonna test things < 1294459685 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: Word8 being one such ring, arithmetic mod 256 < 1294459705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i'm not proud of this but... clue was supposed to have main < 1294459714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...i'm disgusted < 1294459715 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you think there should be any BytePusher related stuff in the esoteric programming files archive? < 1294459715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fuck off < 1294459754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no u < 1294459757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but yeah < 1294459771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: all you have to do is write another parser then < 1294459771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OMG < 1294459773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's a bit... impure, really i'd prefer that you can't actually run the programs! < 1294459775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: or reuse the existing one < 1294459775 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...like now! < 1294459794 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i was thinking < 1294459800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just give the bot definitions < 1294459805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: func~{1,2} < 1294459807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and then you can give it mains which are expressions < 1294459808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :will the parser parse that? < 1294459813 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294459814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or maybe func ~ 1; 2 < 1294459817 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right you would need to parse... < 1294459831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: basically, what can the parser parse that's nested reasonably :D < 1294459835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :apart from list literals < 1294459851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nothing else i suppose < 1294459856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clue doesn't have logical nesting < 1294459870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: recursion duh < 1294459876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok if you just extend the parser a tiny bit < 1294459877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we can have < 1294459878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean in syntax < 1294459884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :every expression is parsed as < 1294459886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :foo~{...} < 1294459887 0 :azaq231!~derivecto@p4FF68394.dip0.t-ipconnect.de JOIN :#esoteric < 1294459888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where ... is the expr < 1294459889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so you can enter < 1294459890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and by logical i meant control < 1294459900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or what's it called < 1294459903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :non-data < 1294459918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. func, 1, x, 2 -> result; func2, 34 -> x < 1294459919 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's < 1294459923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :func(1, func2(34), 2) < 1294459927 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294459930 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. func, 1, x, 2 -> result : func2, 34 -> x < 1294459931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ofc < 1294459959 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah you could have something like that in a bot < 1294459970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i mean all you have to do is keep strings you can't parse < 1294459975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then 'foo~{'+x+'}' < 1294459978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i mean you don't need to write a parser < 1294459984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this gives you expressions for FREE < 1294460006 0 :azaq23!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1294460033 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or you could just have somekinda ugly sexp syntax < 1294460040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in the bot i mean < 1294460047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is that not what you're talking about < 1294460055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well yes < 1294460061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but this way you get to reuse almost the existing parser < 1294460066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's SO MUCH MORE CONVENIENT? < 1294460083 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well right, so do it :P < 1294460085 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i want the bot! < 1294460117 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heeeey i could implement quicksort! < 1294460125 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder when i implemented that last < 1294460146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is that even possible in clue < 1294460156 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm, why wouldn't it be? < 1294460162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's a pretty high-level language < 1294460176 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(;;;;;;;;;;D) < 1294460300 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, why can functions only return one value < 1294460301 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294460306 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's fucking stupid < 1294460309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: workin on the bot < 1294460310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and lol < 1294460311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just return a list < 1294460327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah i sort of came up with that < 1294460337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just fucking stupid < 1294460412 0 :azaq231!unknown@unknown.invalid QUIT :Changing host < 1294460412 0 :azaq231!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1294460424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: take a look at my amazing ast representation < 1294460428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?('#0')] <>(0) =>{0,0}:['inc', '#0'] ; {0,1}:['inc', ['inc', '#1']] ; ;; <= '#2' ;; !.(1) => '#1' ;; < 1294460437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :irc optimised < 1294460448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hahahaha wow that is the worst ever :D < 1294460454 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294460462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes less ghetto < 1294460608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is negative?('#0')] .(1) => ['negate negative', '#0', '#0'] | .(0) => ['negate positive', '#0', '#0'] < 1294460611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's getting better! < 1294460641 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nicenice < 1294460693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what _is_ the "main ast" anyway, for a recursion < 1294460728 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think it's default branch, but... umm.... < 1294460733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait waht < 1294460750 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess it's the part that calculates actual result < 1294460765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what :) < 1294460767 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then there's special asts that calculate subinputs from input < 1294460769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294460798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, i can't get pivot to compile, and i'm not sure it's a coding error...... :D < 1294460891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate positive < 1294460891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?('#0')] < 1294460891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(0) => '#2' <= {(0,0): ['dec', '#0']; (0,1): ['dec', ['dec', '#1']]; } < 1294460893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => '#1' < 1294460896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: this is actually a nicer syntax in general xD < 1294460940 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294460955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually it was a coding error, and it compiles in a microsecond < 1294460956 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what do oyu mean < 1294460959 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*you < 1294460962 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nicer than what < 1294460981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: than get_ast < 1294460983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is hideous < 1294460984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is my replacement < 1294460985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ghetto_ast < 1294460989 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, well surely < 1294461006 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :get_ast is horrible < 1294461027 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was just a quick thingie so i could see what was going on, i think < 1294461029 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294461048 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or maybe i did give it some thought, don't really remember, if i did, it was bad touhght. < 1294461050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*thought < 1294461070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- is zero? < 1294461070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id('#0')] < 1294461070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => '#1' < 1294461072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(_) => '#0' < 1294461074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is actually starting to make sense :D < 1294461086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do Clues know what their constants are? < 1294461087 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294461087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'd like to show them < 1294461105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294461114 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :look in the bag? < 1294461119 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294461304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1294461305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- subtract < 1294461305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[_(#0)] < 1294461306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(_) => add(#0, negate(#1)) < 1294461310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate < 1294461310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is negative?(#0)] < 1294461312 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => {negate negative}(#0, #0) < 1294461314 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => {negate positive}(#0, #0) < 1294461320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think i win < 1294461327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :<- like < 1294461327 0 :Mathnerd314!unknown@unknown.invalid QUIT :Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630] < 1294461358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate positive < 1294461358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294461358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(0) => #2 <= {(0,0): dec(#0); (0,1): dec(dec(#1))} < 1294461359 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #1 < 1294461363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i can even understand that if i try hard enough :D < 1294461382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so um constants are _not_in the bag < 1294461384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*_not_ in < 1294461402 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1294461403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :helper_objs < 1294461419 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh lol < 1294461448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somehow i think i should optimize this thing, i've been compiling pivot for a couple minutes now < 1294461483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's incredibly hard to rip a list open, since from the program's standpoint that's not in anyway more sensible than adding stuff to it. < 1294461507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to make it more sensible, but because i need to do it in a pure an extensible way, that's easier said than done < 1294461538 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: could i actually rewrite these constanty things to their val... nah < 1294461540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :too lazy < 1294461632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] |^(0) => #2 <= {(0,0): dec(#0); (0,1): dec(dec(#1))} |.(1) => #1 < 1294461636 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(#0)] <= [0, 1] |.(0) => #1 |.(_) => #0 < 1294461639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :think that's about as nice as these are gonna get < 1294461771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so um < 1294461774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: wanna write a parser for this < 1294461783 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.D < 1294461814 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeeeeeeeeeah totally < 1294461829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: expr := '#' nat | int | (string_without_spaces | '{' string '}') '(' args ')' < 1294461835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where args is comma-separated expr < 1294461838 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Where is the lid? < 1294461839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: c'mon, it'll be fuuun :D < 1294461841 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh where is the lid? < 1294461849 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Where is the, where is the, where is the liiiid? < 1294461889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok i'll write the parser, but you have to tell me how lovely i am for four days after that < 1294461950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :will do man < 1294461965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: liiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii < 1294462088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need a better computer < 1294462108 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no but seriously i need to optimize this thing, it's kinda ridiculously slow atm :D < 1294462121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(or my code is wrong) < 1294462130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i just realised that your language is so awesome that you don't even need {} < 1294462133 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to group spacey names < 1294462159 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed you don't < 1294462165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is negative?(#0)] |.(1) => negate negative(#0, #0) |.(0) => negate positive(#0, #0) < 1294462168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :flexibility yo < 1294462269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return ('a',n,a),s < 1294462269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anas :D < 1294462426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>> park('is zero?(#0) this is a comment')[0] < 1294462426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :('a', 'is zero?', [('v', 0)]) < 1294462434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: note my cunning disregard for trailing text providing useful comment functionality < 1294462449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm wait don't actually need #n here < 1294462461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :YES < 1294462471 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i managed to compile a tiny helper function for pivot < 1294462485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: should i require commas between arguments < 1294462488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's so last year? < 1294462495 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's kinda last year yeah < 1294462511 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should probably remove some commas from clue < 1294462536 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean from data < 1294462550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i will in ghetto_ast < 1294462640 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(compare(#0 compare(#0 #0)))] <= [0 1] |.(-1) => #1 |.(0) => #0 |.(1) => #0 < 1294462642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pure beauty < 1294462696 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why does it consistently add that extra computation, i will never understand < 1294462717 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you didn't punch me. Why didn't you punch me? < 1294462744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :arrrrrrrrrrrrrrrrrrgh < 1294462762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need to reimplement this fucker in a faster language, with a less brute force algo < 1294462794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok quick does clue support adding things to a funcs dict < 1294462794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like < 1294462796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :incremental compilation < 1294462827 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you get cons to caaar 0, [[1], [2], [3]] -> [[1], [2], [0, 3]] to compile? < 1294462853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what :D < 1294462855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the funcs dict is a python dictionary.... < 1294462859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yesyes < 1294462860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294462862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have some func < 1294462863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :s < 1294462865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have some new clue code < 1294462869 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can i add its compilation to func < 1294462870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cons to caaar ~ {. 0, [[1], [2], [3]] -> [[1], [2], [0, 3]] } < 1294462875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :assuming it uses the stuff always in funcs < 1294462882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you can compile that, you're my hero < 1294462888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well my impl is the same as yours, or do you want me to fiddle with hints < 1294462895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if so, i will, just as soon as i get cluebot working, which will be soon < 1294462905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have an impl for that? < 1294462929 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but yeah i do want you to fiddle with hints < 1294462952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i always meant for it to be really hard to get things to compile, but i just plain can't come up with a way to do that :D < 1294462962 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, maybe some reeeeeeeally roundabout way < 1294462993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean you can write sequential code if you like ofc < 1294463000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh fucking god, compile_all is a bitch < 1294463001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's just kinda tedious < 1294463013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure it is, why? :D < 1294463013 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: isn't there something to like...fuck < 1294463016 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay question um < 1294463032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: compile_all... can you use it on a predone funcs? < 1294463033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think so < 1294463065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think you can separate parsing if you like < 1294463072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know what you're supposed to call then < 1294463145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def run(coeducational): < 1294463145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : asts.update(clue.compile_all(coeducational, funcs)[1]) < 1294463148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thought koed was too cliche < 1294463201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, now it compiles in 4 seconds < 1294463218 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cons to caaar that is.... < 1294463253 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used to use koed because it's nice to write < 1294463260 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :koedkoedkoedkoedkoedkoedkoedkoedkoed < 1294463295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>>> cabinetoflaughter('is negative?(-1)') < 1294463295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'s' < 1294463298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evaluation function: not so good < 1294463327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294463338 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Do you know the Unolympics? < 1294463434 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what Inventables stuff are good to just have fun with < 1294463467 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cluebot starting < 1294463502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: nope < 1294463504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: cluebot nick is taken :D < 1294463505 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: let's try us < 1294463507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*uh < 1294463515 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: larc < 1294463526 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: cluebot -> cluebat -> luser attitude readjustment clue < 1294463546 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's...... perfect., < 1294463574 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: That's OK, I don't know either. < 1294463601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: what do you know then? < 1294463626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: larc is registered :D < 1294463637 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: luatre then < 1294463642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LUser ATtitude REadjustment clue < 1294463762 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so I'm thinking, for luatre commands, < 1294463764 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: It is just idea... make Unolympics with difference from Olympics, with events such as: * Circular reasoning * Judge bribing * Flagpole sitting * Beer drinking contest * Watch TV all channels at once by changing the channels really fast * You are allowed to use any drugs you want in order to win < 1294463772 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: three dots evaluates, four dots defines < 1294463774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: five dots looks up < 1294463852 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :six dots is just for testing < 1294463860 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :seven dots means you win immediately < 1294463872 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: um it's lart not larc < 1294463876 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :t for tool < 1294463878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: luser attitude readjustment clue < 1294463881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you silly < 1294463886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cluebot -> cluebat -> luser attitude readjustment clue < 1294463891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ARRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRGH FUCKING CLUE IMPLEMENTATION < 1294463896 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but lart is already the same as a cluebat < 1294463898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :who the fuck as written this piece of shit < 1294463910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no shit < 1294463911 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm gonna kill that little homo < 1294463913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it's a pun < 1294463916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: heard of them? < 1294463941 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :NO SUCH THING < 1294463952 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294463956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. butts < 1294463965 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294463970 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294463971 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. butts < 1294463975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... buts < 1294463978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::(( < 1294463986 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294463990 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294463992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. sdfsdfsdf < 1294463994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294463997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294464016 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464020 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464022 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. asdf < 1294464025 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294464041 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294464056 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464060 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. asdf < 1294464064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ffwef[kgsfdhiok < 1294464070 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464074 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. a sdf < 1294464078 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what\ < 1294464081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. asdf < 1294464097 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: luatre will not respond < 1294464126 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :O, I didn't know that. < 1294464130 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464136 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. abc < 1294464137 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :lookup! < 1294464141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294464147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... abc < 1294464147 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :lookup! < 1294464151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :.... abc < 1294464155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...:D < 1294464161 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464164 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464166 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Lookup what? < 1294464169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah umm okay the pivot function may not be implementable :D < 1294464171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. x < 1294464171 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :lookup! < 1294464176 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, in any sensible way at least < 1294464196 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fucking hell :D < 1294464205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294464208 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464212 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. tarski < 1294464214 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :eval! < 1294464214 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :tarski < 1294464218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: foo < 1294464218 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :define! < 1294464218 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1294464220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :::. lookup < 1294464220 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :lookup! < 1294464220 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :lookup < 1294464222 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't really have to do all that much... < 1294464235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what, the bot? < 1294464245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no i mean pivot < 1294464247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294464318 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464331 0 :zzo38!unknown@unknown.invalid QUIT :Quit:  < 1294464333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 []) < 1294464334 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464347 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 []) < 1294464350 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :maximum recursion depth exceeded in cmp :( < 1294464361 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464365 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464366 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 []) < 1294464367 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464379 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. add(1 2) < 1294464410 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464417 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. add(1 2) < 1294464419 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :: cannot concatenate 'str' and 'int' objects :( < 1294464476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1294464477 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464515 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wtf http://i.imgur.com/vymTu.jpg < 1294464522 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(r/pics) < 1294464568 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::DDDD < 1294464578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that is the best < 1294464580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at 5:30 < 1294464664 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464665 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. add(1 2) < 1294464665 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1294464669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 []) < 1294464670 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :exceptions.RuntimeError: maximum recursion depth exceeded in cmp :( < 1294464676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1294464742 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464747 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464748 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as far as pieces of shit go, this program is one; i don't mind the lack of error messages really, but fucking hell i can't anything compiled :D < 1294464748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 []) < 1294464748 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :[1] < 1294464753 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 [2 3]) < 1294464753 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :exceptions.RuntimeError: maximum recursion depth exceeded in __instancecheck__ :( < 1294464771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i compiled stuff more complicated than pivot at some point < 1294464774 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno what happened < 1294464775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. [1 2 3] < 1294464776 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :exceptions.RuntimeError: maximum recursion depth exceeded in __instancecheck__ :( < 1294464778 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294464791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::.sdjfkdjfkjsdf < 1294464795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::SD:Sd.fDD:DDDD < 1294464838 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464842 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464845 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons (1 [2 3]) < 1294464846 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :[1 2 3] < 1294464866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :neato < 1294464871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: is zero? ~ {.0->1} is zero? ~{.1->0 .2->0} is zero? ~ ; #0; #1 < 1294464872 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is zero?: [id(#0)] <= [0 1] |.(0) => #1 |.(_) => #0 < 1294464881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. is zero? (-1) < 1294464881 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to compile pivot overnight and see if something happens < 1294464882 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294464883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. is zero? (0) < 1294464884 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1294464885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. is zero? (1) < 1294464886 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294464891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :::. is zero? < 1294464891 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is zero?: [id(#0)] <= [0 1] |.(0) => #1 |.(_) => #0 < 1294464893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :::. cons < 1294464894 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :exceptions.KeyError: 'cons' :( < 1294464896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294464898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :::. is zero? < 1294464898 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is zero?: [id(#0)] <= [0 1] |.(0) => #1 |.(_) => #0 < 1294464902 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: admire please? < 1294464922 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1294464936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fiddles < 1294464939 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294464944 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294464947 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: did i mention that my expression syntax is awesome < 1294464955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's literally just < 1294464958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[id(#0)] <= [0 1] <<< this is like what args it gets or? < 1294464961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or constants < 1294464963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: constants, yeah < 1294464969 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: feed it something recursive < 1294464988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :expr := int | '[' expr* ']' | name '(' expr* ')' <----- the entire expression syntax < 1294464990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's rather verbose, but k < 1294464993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with whitespace being irrelevant except to separate < 1294465001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1294465004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what is, recursive stuff? < 1294465008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or the way to show constants < 1294465017 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :recursivity is verbose < 1294465020 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in clue < 1294465021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in general < 1294465021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah well :P < 1294465027 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but yeah let's see < 1294465060 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm so i don't really see how that syntax works if i'm supposed to use that for def as well < 1294465069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :: foo < 1294465071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: just remove all newlines < 1294465071 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or do i just write normal code < 1294465073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294465080 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... 2 < 1294465081 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1294465085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: threedots = expression < 1294465087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: fourdots = clue < 1294465093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rrright < 1294465094 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: fivedots = look up the ast of this function i give < 1294465102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: guess how many lines cluebot.py is, note that my replacement for get_ast is in there (not in clue.py), also the parser and evaluator for my expression language, and all the irc code :| < 1294465107 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION coding skillz < 1294465280 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.:. parity helper ~ { . 0, 0 -> 0 . 0, 1 -> 1 } parity helper ~ { :. 5, 1 -> 0 : 4, 0 -> 0 :. 3, 0 -> 1 : 2, 1 -> 1 } parity helper ~ ; compare; #0; #1; sub < 1294465280 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile parity helper(sub) :( < 1294465284 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that'll never compile < 1294465323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no sub < 1294465327 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i can add it if you want me to cheat < 1294465331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do < 1294465358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: sub ~ {.1,3->-2 .2,1->1 .-3,-2 -> -1} sub ~ <_>; add; negate < 1294465359 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile sub(negate) :( < 1294465363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294465369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this will be fun < 1294465405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: is negative?~{.-1->1 .-2->1} is negative?~{.0->0} is negative?~{.1 -> 0 .2 ->0} is negative? ~ ; compare; #0; #1 < 1294465406 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is negative?: [id(compare(#0 compare(#0 #0)))] <= [0 1] |.(-1) => #1 |.(0) => #0 |.(1) => #0 < 1294465427 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can't you just add it as a primitive :D < 1294465436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :: negate negative ~ {:. -5, -5 -> 5 : -4, -3 -> 5 :. -4, -3 -> 5 : -3, -1 -> 5 :. -3, -1 -> 5 : -2, 1 -> 5 } negate negative ~ {. 0, 1 -> 1 . 0, 2 -> 2 . 0, 3 -> 3 } negate negative ~ ; inc < 1294465439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :shit < 1294465441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative ~ {:. -5, -5 -> 5 : -4, -3 -> 5 :. -4, -3 -> 5 : -3, -1 -> 5 :. -3, -1 -> 5 : -2, 1 -> 5 } negate negative ~ {. 0, 1 -> 1 . 0, 2 -> 2 . 0, 3 -> 3 } negate negative ~ ; inc < 1294465441 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile negate negative(is zero?) :( < 1294465460 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: is zero? ~ {.0->1} is zero?~{.1 ->0 .2->0} is zero?~; #0; #1 < 1294465461 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is zero?: [id(#0)] <= [0 1] |.(0) => #1 |.(_) => #0 < 1294465463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative ~ {:. -5, -5 -> 5 : -4, -3 -> 5 :. -4, -3 -> 5 : -3, -1 -> 5 :. -3, -1 -> 5 : -2, 1 -> 5 } negate negative ~ {. 0, 1 -> 1 . 0, 2 -> 2 . 0, 3 -> 3 } negate negative ~ ; inc < 1294465464 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :negate negative: [is zero?(#0)] |^(0) => #2 <= {(0,0): inc(#0); (0,1): inc(inc(#1))} |.(1) => #1 < 1294465476 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294465478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is beautiful < 1294465492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate positive ~ {:. 5, 5 -> -5 : 4, 3 -> -5 :. 4, 3 -> -5 : 3, 1 -> -5 :. 3, 1 -> -5 : 2, -1 -> -5 } negate positive ~ {. 0, 1 -> 1 . 0, 2 -> 2 . 0, 3 -> 3 } negate positive ~ ; dec < 1294465492 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :negate positive: [is zero?(#0)] |^(0) => #2 <= {(0,0): dec(#0); (0,1): dec(dec(#1))} |.(1) => #1 < 1294465504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i like how the ast dumps are nicer than the actual code < 1294465512 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no they aren't < 1294465519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate ~ {. -1 -> 1 . -2 -> 2 . -3 -> 3 }negate ~ {. 0 -> 0 . 1 -> -1 . 2 -> -2 }negate ~ ; negate positive; negate negative < 1294465520 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :negate: [is negative?(#0)] |.(1) => negate negative(#0 #0) |.(0) => negate positive(#0 #0) < 1294465526 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: sub ~ {.1,3->-2 .2,1->1 .-3,-2 -> -1} sub ~ <_>; add; negate < 1294465527 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :sub: [_(#0)] |.(_) => add(#0 negate(#1)) < 1294465528 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: enjoy sub < 1294465531 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they are not nearly as nice < 1294465536 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thx < 1294465543 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.:. parity helper ~ { . 0, 0 -> 0 . 0, 1 -> 1 } parity helper ~ { :. 5, 1 -> 0 : 4, 0 -> 0 :. 3, 0 -> 1 : 2, 1 -> 1 } parity helper ~ ; compare; #0; #1; sub < 1294465544 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :parity helper: [id(#0)] <= [0 1] |.(0) => #3 |^(_) => #4 <= {(0,0): sub(#2 #1); (0,1): compare(#1 #3)} < 1294465549 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm what < 1294465553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :happened < 1294465570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :huh. < 1294465590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: look right? :P < 1294465612 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (5, 3) < 1294465613 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :ValueError: substring not found :( < 1294465623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294465625 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm... too tired < 1294465628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper(5,3) < 1294465628 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :ValueError: substring not found :( < 1294465629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294465631 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294465632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: commas duh < 1294465634 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (5 3) < 1294465634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we don't do commas ere < 1294465634 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :here < 1294465639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (5 4) < 1294465640 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (3 4) < 1294465643 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465644 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (5 1) < 1294465644 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465645 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (0 0) < 1294465646 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465648 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (5 0) < 1294465649 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1294465649 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (-2 1) < 1294465649 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :RuntimeError: maximum recursion depth exceeded in __instancecheck__ :( < 1294465653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...:D < 1294465656 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (3 0) < 1294465656 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1294465659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::. parity helper (3 1) < 1294465659 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay it works < 1294465663 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's parity helper(-2 1) meant to be < 1294465668 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an error < 1294465708 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh good < 1294465729 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::: parity ~ {. 3 -> 1 . 2 -> 0 . 1 -> 1 } parity ~ <_>; #0; parity helper < 1294465730 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :parity: [_(#0)] <= [0] |.(_) => parity helper(#1 #0) < 1294465737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... parity ( 5 ) < 1294465738 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :ValueError: substring not found :( < 1294465742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... parity (5) < 1294465742 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1294465745 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294465745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... parity (8) < 1294465746 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294465748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's a bug for sure :) < 1294465760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno about that, but i love clue again < 1294465770 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i could just hack up some crappy special casing for lists < 1294465783 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because those are impossible to brute force together < 1294465809 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whereas in numerical algos, i always completely underestimate the speed < 1294465834 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like, when that parity helper compiled, i assumed it was an error message because it was so fast, never seen anything happen that fast with lists < 1294465846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294465992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i should sleep now < 1294465998 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can have cluebot.py tomorrow or something < 1294466016 0 :elliott!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294466025 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294466047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clue cluecleucluceluceluceluceluceluclueclueclue < 1294466061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tomorrow's retro language: toi < 1294466080 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric ::> < 1294466127 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :have you been here before oklopol? < 1294466150 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION blinks at hagb4rd  < 1294466188 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :yess.. im the noob i know < 1294466208 0 :TLUL!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1294466221 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have, yes :P < 1294466245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :been ircing kinda lazily lately < 1294466252 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :ah.. < 1294466258 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i have irl stuff i should be doing < 1294466262 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1294466316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...or maybe graphica :D < 1294466347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just realized graphica has kind of a similar syntax as clue < 1294466378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or maybe ef, although i have no idea how that thing works....... < 1294466404 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :a good point to start < 1294466466 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :isnt it? :) < 1294466518 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it's a verrry old language < 1294466864 0 :TLUL!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1294467199 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :i really like this chan..must admit i haven't found anything comparable on the whole wide irc net < 1294467280 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, didn't mean to accidentally offend you < 1294467287 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's just that oklopol has been here for a long time < 1294467297 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION continues to fail to eat < 1294467298 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :u didn't :> < 1294467327 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Glad to.. see that < 1294467334 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION emotion-ills < 1294467433 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hits Sgeo with the saucepan ===\__/ < 1294467442 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :HOPE THAT HELPS < 1294467544 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: when did you come? < 1294467563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was a very rare moment of sanity you saw there, i arranged it just for you < 1294467576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we were talking about porn when you entered < 1294467590 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :yes.. thanks for that :) < 1294467598 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes home < 1294467601 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :its up to a month or sth < 1294467602 0 :copumpkin!unknown@unknown.invalid QUIT :Quit: Computer has gone to sleep. < 1294467607 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :not longer < 1294467619 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :and i still dont understand anything < 1294467638 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :but, thats kind of good news < 1294467666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :have you seen any of my definition listings < 1294467667 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :looking for teachers and friends ya know < 1294467678 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1294467681 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i sometimes just define random math concepts < 1294467733 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: If you logread, I think I accidentally left Station V3 [and sister comics on occasion] off the list < 1294467758 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :where do i have to look? < 1294467824 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :the logs? < 1294467908 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh i dunno about that < 1294467911 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was just wondering < 1294467919 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mainly to know whether i've been doing that lately < 1294468180 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :thats far behind my person insight so far..but it wouldnt surprise me at all < 1294468314 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :damn, my corroded-schoolenglish must be insulting, so please excuse.. im tryin to fix this < 1294468384 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*trying >:) < 1294468692 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :and oerjan is send by the goodlord himself.. the good soul ..a real philanthrope :D < 1294468747 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :please just shut up and don't refuse ;) < 1294468794 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1294468800 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric ::> < 1294469057 0 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1294469431 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1294469581 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm tired < 1294469588 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm about to start falling asleep on people < 1294469668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that may not be advisable < 1294469819 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :have you considered taking a vacation sgeo? < 1294470105 0 :Zuu!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1294470173 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :drink sangria in the park < 1294470185 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :or feed some animals in the zoo < 1294470637 0 :Zuu!zuu@unaffiliated/zuu JOIN :#esoteric < 1294472487 0 :cal153!~cal@c-24-4-207-72.hsd1.ca.comcast.net JOIN :#esoteric < 1294473021 0 :zeotrope!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1294473599 0 :clog!unknown@unknown.invalid QUIT :ended < 1294473600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1294475718 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1294475874 0 :zzo38!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294475969 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1294476364 0 :j-invariant!~aaaa@unaffiliated/j-invariant JOIN :#esoteric < 1294478161 0 :copumpkin!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1294478186 0 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1294478415 0 :azaq231!unknown@unknown.invalid QUIT :Quit: Leaving. < 1294479165 0 :Phantom_Hoover!~phantomho@cpc1-sgyl29-2-0-cust788.sgyl.cable.virginmedia.com JOIN :#esoteric < 1294479165 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Changing host < 1294479165 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1294479573 0 :impomatic!~chatzilla@146.88.113.87.dyn.plus.net JOIN :#esoteric < 1294479578 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Hi :-) < 1294479596 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Does anyone know when BF Joust and FYB were added to EgoBot? < 1294480042 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1294480190 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :For BF Joust, i think it was approximately the same time as it was added to the wiki < 1294480217 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/w/index.php?title=BF_Joust&diff=14558&oldid=14535 < 1294480340 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :for fukyorbrane, i have a vague idea that it was in the previous version of EgoBot as well. the wiki article is from before i joined here. < 1294480532 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course Gregor is the appropriate person to ask < 1294480663 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :FYB was in EgoBot as long as both existed, more or less, but that was in the pregobot. < 1294480685 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's been in this EgoBot for considerably less time, the hg log is sure to elucidate: https://codu.org/projects/egobot/hg/ < 1294480738 0 :MigoMipo!~John@84-217-6-114.tn.glocalnet.net JOIN :#esoteric < 1294480775 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :20 months for FYB, 19 months for BFJoust. < 1294481495 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1294481564 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :pregobot? < 1294482233 0 :cheater00!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294482302 0 :cheater00!~cheater@e181128130.adsl.alicedsl.de JOIN :#esoteric < 1294482792 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, somehow I read that as "pogobot" first. (as in pogo-stick) < 1294482809 0 :Wamanuz!~Wamanuz@78-69-168-43-no84.tbcn.telia.com JOIN :#esoteric < 1294483865 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Thanks :-) < 1294485864 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: 19 months is for the new version of BFJoust. Can you remember when it supported the original? < 1294485898 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :This was the only version it ever supported. < 1294485904 0 :impomatic!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1294485908 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294485942 0 :impomatic!~chatzilla@146.88.113.87.dyn.plus.net JOIN :#esoteric < 1294485971 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Firefox always crashes when I click a link in ChatZilla :-( < 1294486022 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :impomatic, strange. < 1294486087 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : Gregor: 19 months is for the new version of BFJoust. Can you remember when it supported the original? < 1294486087 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : This was the only version it ever supported. < 1294486106 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: sorry, I was thinking of the hill that used to be at http://faculty.washington.edu/kerim/nomic/bf/ :-) < 1294486119 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Snot mine! < 1294486127 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Besides, my BFJoust hill is more fair :P < 1294486738 0 :cheater00!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1294486908 0 :cheater00!~cheater@e181137192.adsl.alicedsl.de JOIN :#esoteric < 1294486966 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294487745 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294488017 0 :cheater00!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294488132 0 :MigoMipo_A!~MigoMipo@2.68.9.75 JOIN :#esoteric < 1294489047 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1294489060 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION boggles at the stupidity of Windows anti-virus software. < 1294489117 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's not unknown for Norton to identify itself as a virus, and both McAfee and AVG have deleted essential Windows files which they thought were viruses. < 1294489575 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, *McAfee, AVG and Norton < 1294490557 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1294490998 0 :cheater00!~cheater@g230229133.adsl.alicedsl.de JOIN :#esoteric < 1294491056 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: got any screenshots of Mt. Hoover? < 1294491068 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, I might... < 1294491329 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://imgur.com/d1Df9 < 1294491363 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's from a while ago; I've put a better lighting system in since and removed that small amount of dirt to the back of the room. < 1294491394 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, did you read logs? < 1294491399 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[Nothing important] < 1294491402 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :huh thato's cool < 1294491427 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I love how this game is like lemmings: Stuff does not just fall down < 1294491439 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Sand and gravel does! < 1294491444 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :(The better lighting system in question is a layer of glass with lava on top. < 1294491446 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*) < 1294491451 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I haven't read the logs, but I will now. < 1294491456 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And water and lava... are water and lava < 1294491459 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, sand and gravel falls though < 1294491500 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Which is more worthless? Gravel or gold? < 1294491537 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, probably gravel, unless you are draining. At least gold can be used for watches and you can also built nice looking thrones out of gold blocks < 1294491560 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, gravel is the only source of flint, which is very useful. < 1294491564 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :huh, seems like it snows, rains and hails at the same time. < 1294491574 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Gold can be used for nothing but watches and decoration. < 1294491575 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, hm true < 1294492277 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And golden apples! < 1294492287 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, ahahahahahahahaha < 1294492321 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Golden apples are good for bragging rights; that's it. < 1294492432 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That sounds almost like a quote from the wiki < 1294492632 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Case in point: Vorpal getting his hands on one. < 1294492687 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, found it as a golden apple in a dungeon < 1294492702 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes, and you went on about it for half an hour. < 1294492703 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :never found even a normal apple in any local game or on SMP < 1294492713 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, no I mentioned it once. That was all < 1294492741 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :You've probably secreted it in one of your super-secret underground bunkers in the wilderness. < 1294492785 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, nah, it is pretty useless really. Who would want it? < 1294492851 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If golden apples didn't require as much gold to make, would they be worth it? < 1294492935 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I never found a normal apple yet and iirc they don't stack anyway < 1294493164 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, no, because you can just go out and punch some pigs if you need gold. < 1294493188 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Are pigs a renewable resource? < 1294493214 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=wwo8qxUit00 < 1294493225 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: what do you do all night>? < 1294493255 0 :impomatic!unknown@unknown.invalid PART #esoteric :? < 1294493260 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Sgeo, no, because you can just go out and punch some pigs if you need gold. <-- ?? < 1294493269 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Er, *food < 1294493298 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, unless you're on the move, setting up a mine would be worthwhile. < 1294493316 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oh but I have a treehouse < 1294493349 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, and they don't stack either. I suggest carrying a work bench and a stack of wheat when exploring. Maybe one or two ready breads in case you need them urgently < 1294493354 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :saves space < 1294493470 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, if you aren't in a hurry to smelt and/or craft stuff, then deferring it to the night might relieve some boredom (and also let you get more stuff that needs daylight done during the day) < 1294493494 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oh I don't have any thing to smelt but I guess that's my problem < 1294493500 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :P.S. wyh is coal so hard to find?? < 1294493509 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I keep finding it before I learned how to make chests < 1294493511 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, are you mining for it? < 1294493515 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :now I can store it I don't have any < 1294493524 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I am not sure < 1294493530 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I do dig into the cobblestone < 1294493535 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, why not go back to the coal you found back then? < 1294493550 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :it's gone < 1294493555 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I already took it all < 1294493561 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, right then you used it I guess? < 1294493570 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :well I got kileld < 1294493574 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294493633 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, well you are likely to find more underground than when wandering the surface. As long as you have some torches (if you don't and can't find any surface coal you might be in a bit of a deadlock) it should be reasonably safe to mine < 1294493648 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :get some iron too, and make armour < 1294493650 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :yes it's a deadlock < 1294493696 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, well try mining in the open. As in, dig down so you have sky visible at all times, rather than digging tunnels. < 1294493724 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :clever < 1294493731 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, a lot more work though < 1294493742 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :but you will probably find coal soon enough < 1294493762 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Also, if you have monsters on securing the thing will be a pain. < 1294493781 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, do this at close to sea level btw, not at a mountain top. Reason for this is that you won't find iron above a certain altitude < 1294493830 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, you mean for the open thing. Well as soon as you find enough coal to make a handful of torches you can switch to a different mining system < 1294493856 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, however, it seems a decent way to break the deadlock :P < 1294493908 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm to have one chest for every block id define you would need 173 chests (twice if you want double chests of course) < 1294493918 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :however, not all are possible to get < 1294493962 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(such as fire, redstone ore, redstone-placed-on-ground, or similar) < 1294494008 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :<3 Fry & Laurie < 1294494016 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And elliott will kill me for liking something good < 1294495212 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :what the hell < 1294495258 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, ? < 1294495504 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I loaded up the game in the spawnpoint instead of my treehouse :( < 1294495521 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :don't know why that happened < 1294495548 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, did you die? < 1294495552 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so < 1294495824 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How do you avoid getting bored when hauled up in a 2x2x2 house at night? < 1294495864 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, if I'm on Peaceful, I don't need to bother with that, do I? < 1294496000 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: my question exactly :P < 1294496305 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1294496423 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, you mine. < 1294496489 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how many bug reports he gets a day... < 1294496504 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, while trying to keep the house small so mobs don't spawn? < 1294496516 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, do you have no coal? < 1294496516 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[Note: I have hard times finding coal in a rush] < 1294496521 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1294496567 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Pass, then: I've never stuck at it in a world where I didn't get coal quickly. < 1294497457 0 :TLUL!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1294497635 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hah, the fastest way to load all of minecraft world data into memory for map generation when it isn't cached into ram seems to be to prefetch it using find whatever/ -type f | xargs -P 4 -n 100 head -c1 > /dev/null. The files are small enough that this seems to load the entire files. And the parallel processes make it faster somehow (about 3.5 times as fast) . Could be NQC maybe, since I doubt a single < 1294497635 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :head process would try to read one file while waiting for the previous one. < 1294497787 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :err NCQ* < 1294498667 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I love teh way you make symbols in minecraft < 1294498692 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: are you a newbie at minecraft too? < 1294498711 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :or haveu you had it for a while < 1294498885 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Symbols? < 1294498892 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, you mean the crafting interface. < 1294498914 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :yies < 1294499936 0 :TLUL!unknown@unknown.invalid QUIT :Quit: *disappears in a puff of orange smoke* < 1294500309 0 :MigoMipo!~John@84-217-6-114.tn.glocalnet.net JOIN :#esoteric < 1294501069 0 :TLUL!~TLUL@wikia/The-last-username-left JOIN :#esoteric < 1294501793 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294502003 0 :augur!~augur@c-71-196-120-234.hsd1.fl.comcast.net JOIN :#esoteric < 1294502183 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1294502393 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294502459 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Client Quit < 1294502611 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1294502714 0 :augur!~augur@c-71-196-120-234.hsd1.fl.comcast.net JOIN :#esoteric < 1294503233 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294503525 0 :cheater00!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294503633 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1294503641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :21:55:27 have you been here before oklopol? < 1294503644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: no, he's very new < 1294503675 0 :aloril!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1294503735 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1294503753 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :a whole bunch of creepers blew up in my face and killed me < 1294503756 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :hi elliott < 1294503768 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :but I went back to the spot to get my pick and they had revealed some coal < 1294503814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :03:28:47 Besides, my BFJoust hill is more fair :P < 1294503818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: They're MYYY rules! < 1294503821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: :D < 1294503828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: they destroy like 70% of blocks though < 1294503843 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: p.s. you know you can fight from behind a door? < 1294503856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if you place a door from the outside of your house, not the inside, then you can walk right up to it and hit things from there < 1294503863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with a creeper you just keep whacking it with a sword until it goes away < 1294503889 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :hah cool < 1294503974 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: btw as far as finding coal goes < 1294503983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: you probably *really* want a mine of some kind < 1294503994 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I have a "mine" < 1294504000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a proper mine, I mean :) < 1294504007 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :yeah I don't know what that is I guess < 1294504012 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: the simplest kind is: just dig a shaft (doesn't matter how wide), diagonally, to bedrock (watch out for lava lakes near the bottom; you could stop there if you're lazy) < 1294504021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: then, you build 1-wide shafts off to the sides < 1294504027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: and then 1-wide shafts on both sides of *that* < 1294504031 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :separated by, iirc, three blocks < 1294504044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or no wait < 1294504047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :separated by one block I think < 1294504052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: and basically you just dig along _those_ shafts, and whenever you find ore, you dig out that area < 1294504054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :watch out for caverns though < 1294504061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: you get much more ore like 10 above bedrock < 1294504066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: this method of mining is a bit tedious though < 1294504073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: another way to do it is just spelunking < 1294504080 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: find caves, light them all up, get all their ore < 1294504096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: in fact, you can even use a staircase mine to find caverns... they often appear underneath the shafts, and you fall down :> < 1294504208 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: http://www.minecraftwiki.net/wiki/Tutorials/Mining_Techniques < 1294504211 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : separated by one block I think <-- err, 2 blocks seem saner < 1294504217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, twob < 1294504220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*two blocks. < 1294504221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1294504231 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :more if you do a zip like layout < 1294504245 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :where you alternate two alts, this stacks well < 1294504266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no, that's overcomplicated < 1294504278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: the staircase mine method I mentioned, if done correctly, can have you see every block in the entire area < 1294504299 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, not if you want to cover a specific altitude. sorry bbl < 1294504310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sure, you do see everything < 1294504466 0 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1294504695 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well yes but if you want to cover a narrow altitude range but one that is larger than 2 blocks high you have to dig away more blocks with your 2 wide separation scheme < 1294504720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :irrelevant, you still see it all < 1294504720 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, also, do you shift the layers relative each other, or how do you take care of the non-visible corners? < 1294504732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes, each layer gets shifted right by one (IIRC) < 1294504779 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm you need a separation of one for that to work < 1294504780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have this feeling that normal mining isn't too practical in general though < 1294504783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it takes ages to get ore < 1294504886 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, actually the high density scheme works fairly well. Also it turns out that if you have a large area at your disposal, a less dense mining scheme which might miss some ores will yield more per dug away block. Due to that ores often comes in clumps. < 1294504917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :my staircase mining method is just as high density, but easier to keep track of :) < 1294504941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1294504944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think spelunking is easiest < 1294504949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :caverns have shitloads of ore < 1294504999 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, anyway this is why shifting by one won't work with separation of two: http://sprunge.us/TIUA < 1294505033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right, so separate by two like i said < 1294505041 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, err by one you mean < 1294505047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm. yes. < 1294505070 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the problem is finding good caverns. Some games you find lots in that go deep. Sometimes you hardly find any that goes deep enough to need torching < 1294505135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and sometimes your mountain has little ore < 1294505137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sucks 2b u < 1294505347 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, quite < 1294505365 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I have some single player games with awesome cavern systems though :) < 1294505408 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, btw, my basic mining scheme is this: http://sprunge.us/gMZH While it is indeed more complicated and requires some care to get it right, it is faster due to mining far fewer blocks per blocks seen. < 1294505424 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :of course, spelunking is probably the nicest way, at least on peaceful < 1294505444 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(not so good if the cavern is overrun with monsters) < 1294505576 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, there was a quite interesting thread on the minecraft forums analysing this. I don't seem to be able to find it again though < 1294505647 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Someone needs to figure out the big-O of these mining schemes! < 1294505653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So that the forum can say "lol 0x=0 u stupid" < 1294505658 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, I think that mining scheme is implementable in a staircase mine. < 1294505661 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, XD < 1294505679 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, yes, I don't see any problem combining them < 1294505682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Staircase mines with a drop shaft to the bottom are p. much the best! < 1294505701 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Although seeing *every* block isn't really necessary. < 1294505722 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think I might start playing MC in a new way: on peaceful until I get an iron sword and armour, and then on hard. < 1294505727 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Everything comes in clumps, so you can leave a line unchecked and not miss anything. < 1294505743 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover is right < 1294505747 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, anyway, I wouldn't use it except for the diamond ore altitude range. Because other ores tend to have large deposits so in practise you don't need to see every block to find a deposit. And the few 1x1 coal deposits out there aren't really worth the extra diggign < 1294505749 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :digging* < 1294505760 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, so it's a ratio blocks seen/blocks mined that you want to maximize? (and the limit of that as you mine to infinity, of course) < 1294505772 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :gah, don't say what I intend to say while I'm writing it. ;P < 1294505781 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :minecraft is so addictive some people actually DO mine to infinity < 1294505804 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, can't in this case since it is a side view. And that has a limited range < 1294505840 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :at some point you'll want to factor in whatever random algorithm is used to place valuables in the ground < 1294505863 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I have this huge tunnel to a good place from the spawnpoint// < 1294505867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: stop making DCSS fanboi comments that i have to reply to < 1294505869 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, yes quite. we did that :P < 1294505869 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :but the stream in it goes the wrong way < 1294505880 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, when we noted the thing about those clumps < 1294505931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i live on as little ore as possible due to laziness but let's pretend it's just my style < 1294505941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if i need it i'll go get it! < 1294505946 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wait, is Sgeo speaking? < 1294505969 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: http://www.reddit.com/r/gaming/comments/eydlc/as_a_gamer_without_a_steady_internet_connection/c1bwz27 < 1294505976 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm, doesn't that actually *make* it your style to use as little ore as possible? < 1294505991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Worse — he's replying to threads about NetHack on reddit with random factoids about how Dungeon Crawl Stone Soup is so great. < 1294506000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Which is just irritating, because (1) that's irrelevant and (2) it's a terrible game. < 1294506001 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yeah personally I do it like mplayer buffers (or at least how you claimed it appears to be buffering) < 1294506005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: INDEED < 1294506023 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I thought yu were talking about the decryptomatic thing. < 1294506026 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*you < 1294506030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: that's DeCSS :P < 1294506032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mining is pretty much the most boring thing ever, so yeah i don't really do that < 1294506038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :spelunking can be fun once in a while < 1294506148 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's slightly sad that this channel is now all about minecraft < 1294506163 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, yeah < 1294506167 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol's random walk method is great, I just found the Stairs accidentally < 1294506170 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: >:) < 1294506175 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :unless you're using minecraft for computation, because then it's suddenly on topic < 1294506183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: we did interesting stuff yesterday! esolang i mean < 1294506183 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, there is that red stone CPU in it < 1294506198 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and yes, we d id interesting mc computation stuff yesterday < 1294506198 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*did < 1294506204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :me and Phantom_Hoover invented THE BEST CIRCUIT SYSTEM EVER < 1294506212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because redstone is shit < 1294506216 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1294506221 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how is redstone shit as such? < 1294506229 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It also allows you to make nuclear reactors. < 1294506231 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oh, not *the* shit, but shit? < 1294506235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yes < 1294506237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :redstone is crappy < 1294506241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we redesigned it ... and half the game, but < 1294506244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it can hardly interact with the environment < 1294506248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it has infinite power which is just no fun < 1294506255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and every circuit is gigantic < 1294506258 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well true. There are mods for interacting with environment though. < 1294506267 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and yes circuits are large < 1294506267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :our way is the best :> < 1294506299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I am sad that civilisation gets little love now ... anyway < 1294506309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: we'd talk about interesting stuff if someone said anything, but nobody does :) < 1294506313 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, one think I would like is a lever that affects a wire to blocks below. So you can place a lever on ground and hide the wires < 1294506345 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: hmm < 1294506348 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I know, sans the minecraft spam it'd just be completely quiet in here, and that could be more boring < 1294506352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: easy, since you can cover bluestone'd blocks with other blocks < 1294506358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so just have a wire going underground and cover it with blocks :) < 1294506376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it's not like we used to be more on topic before, it was just more varied offtopic < 1294506384 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, sure you can use a 3 thick wall currently but that is not always a viable option. Such when I wanted a fire level on top of the wall of that fort. < 1294506390 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :lever* < 1294506407 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yah, probably < 1294506416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so speaking of on topic < 1294506433 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, s/f on/ff/ < 1294506467 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1294506468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :watch < 1294506483 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for on topicness < 1294506488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stupid slow bot < 1294506496 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294506500 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THAT'S ON TOPIC < 1294506506 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 2) < 1294506507 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: can only concatenate list (not "int") to list :( < 1294506508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. cons(1 []) < 1294506509 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :[1] < 1294506512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. add(3 -4) < 1294506513 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :-1 < 1294506523 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, which language? < 1294506524 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :.: is list?([1 2 3]) < 1294506524 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1294506529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... is list?(2) < 1294506529 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294506530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Clue < 1294506534 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: well, Clue plus my expression language < 1294506545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: the actual interesting parts are done with :: (or any combination of : and . resulting in 4 dots) < 1294506558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :five dots looks up the compiled form of a given function < 1294506564 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, an esolang? It looks rather too sane for that < 1294506573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's just the expression language... < 1294506576 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ah < 1294506579 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is oklopol's language :) < 1294506588 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :okay likely extremely weird then < 1294506590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make singleton ~ {. 1 -> [1] < 1294506590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . [1, 2, 3] -> [[1, 2, 3]]} < 1294506590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make singleton ~ ; cons; #[] < 1294506593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ that's a function in clue < 1294506596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :turns x into [x < 1294506597 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :] < 1294506602 0 :cheater99!~cheater@e181130061.adsl.alicedsl.de JOIN :#esoteric < 1294506613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :basically, clue is programmed by giving a bunch of examples, and then telling it what functions it needs to use < 1294506614 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, [x] meaning? < 1294506616 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it solves all the rest by itself < 1294506618 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: um a list containing just x < 1294506619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1294506624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. f x = [x] < 1294506627 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh so why the name singleton then < 1294506630 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :it seemed strange < 1294506633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: because the list is a singleton < 1294506647 0 :TLUL!unknown@unknown.invalid QUIT :Quit: *disappears in a puff of orange smoke* < 1294506652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :another example function < 1294506655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 0 -> 0 } < 1294506655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 1 -> 0 } < 1294506655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 2 -> 0 } < 1294506657 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 3 -> 0 } < 1294506659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ {. 4 -> 1 < 1294506661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 5 -> 1 } < 1294506663 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :more than 3 ~ ; #0; #1 < 1294506677 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so.. how does it do this? Nearest example? < 1294506683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: eh? < 1294506684 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :why are 4 and 5 in the same bracket? < 1294506688 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"nearest example"? < 1294506695 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I mean, how does it extrapolate from the examples < 1294506705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: something almost, but not entirely, like brute force < 1294506710 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it compiles the ski impl in 20 seconds < 1294506719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tehre's special syntax for doing recursion < 1294506720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*there's < 1294506723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: basically, means "branch using id" < 1294506729 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, okay. But that doesn't answer my question on how. < 1294506735 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: so, the first branches are the branches for 0, 1, 2, 3, because it infers the branch as id(param) < 1294506736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is just param < 1294506739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: the last branch is default < 1294506744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and so contains everything above 3 < 1294506749 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how do you define something like sin() in it? < 1294506756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: you don't, it just has integers and lists < 1294506768 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well lets say integer fixed point sin then :) < 1294506784 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: very, very slowly < 1294506804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll show you the compiles form of make singleton < 1294506821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*compiled < 1294506825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: make singleton ~ {. 1 -> [1] . [1, 2, 3] -> [[1, 2, 3]]} make singleton ~ ; cons; #[] < 1294506826 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :make singleton: [id(#0)] <= [[]] |.(_) => cons(#1 #0) < 1294506842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, so that <= [foo] means that it gets [] as the first parameter, because we told it it was a constant it needed < 1294506847 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :What's luatre? < 1294506853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so in the function body, #0 is [] < 1294506860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but in the condition, #0 is the parameter < 1294506864 0 :cheater00!~cheater@e181140108.adsl.alicedsl.de JOIN :#esoteric < 1294506867 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm. Well what I'm trying to figure out is how it extrapolates. One obvious approach would be to use the examples to train an ANN for example. Another would be to compute a hyper-plane that separates the examples properly (this couldn't handle sin, or xor for example) < 1294506871 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I hope you're saving up all these discusfsions, where you show people how Clue works: And saving them into "clue.clue" < 1294506871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so basically, we switch on the argument, but only have a default (this is the same as having no branch) < 1294506878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then it just conses the param with the constant param ([]) < 1294506881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: :D < 1294506884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: clog is doing that for me! < 1294506895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ANN? no, no, this is precise < 1294506904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: the SKI implementation is a _real_ SKI implementation < 1294506908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that can handle any SKI form < 1294506940 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so hm, what does it do when there could be several different alternatives that would fit the given examples? < 1294506955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then your program is bad... but that's why you use hints < 1294506971 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, will it error out or? < 1294506980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i managed to implement subtraction and abs, fwiw, when all there was was add, and no negate < 1294506986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thanks to help from oklopol < 1294507015 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no, if it manages to generate a function using the functions in the bag you specified, using the conditional function you specified, meeting your recursion scheme (if you have one), and fitting all the examples in their corresponding branches < 1294507025 0 :cheater99!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294507026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then it'll use that function, but ... if you write it properly there's only one function it can really generate < 1294507033 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that more than 3, does it handle -1? < 1294507035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's the importance of the bag < 1294507039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: let's find out < 1294507047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think it'll say that -1 is more than three < 1294507052 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294507062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because anything that isn't 0, 1, 2, or 3 gets true, basically < 1294507064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but you could easily fix it < 1294507074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :by having another case ... or even just a wrapper function < 1294507076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that checks for negativity < 1294507081 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, presumably you could make it extrapolate in both directions? < 1294507093 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't "extrapolate"... < 1294507097 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is not guessing, it is very precise < 1294507099 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, okay, bad word < 1294507114 0 :augur!~augur@c-71-196-120-234.hsd1.fl.comcast.net JOIN :#esoteric < 1294507126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: basically, no, because you'd still need to switch on whether it's negative < 1294507128 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that's easy < 1294507129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1294507131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: more than 3 ~ {. 0 -> 0 } more than 3 ~ {. 1 -> 0 } more than 3 ~ {. 2 -> 0 } more than 3 ~ {. 3 -> 0 } more than 3 ~ {. 4 -> 1 . 5 -> 1 } more than 3 ~ ; #0; #1 < 1294507131 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :more than 3: [id(#0)] <= [0 1] |.(0) => #0 |.(1) => #0 |.(2) => #0 |.(3) => #0 |.(_) => #1 < 1294507144 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right, i can see straight away that that will think -1 is more than three < 1294507160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(if you can't, maybe you're not good enough at understanding my compiled syntax form) < 1294507247 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294507247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: here's an implementation of negate, subtract, and abs http://sprunge.us/gOPE < 1294507254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the :. : bit is the recursion schemes < 1294507280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: is negative? ~ {. -1 -> 1 . -2 -> 1 } is negative? ~ {. 0 -> 0 } is negative? ~ {. 1 -> 0 . 2 -> 0 } is negative? ~ ; compare; #0; #1 < 1294507280 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is negative?: [id(compare(#0 compare(#0 #0)))] <= [0 1] |.(-1) => #1 |.(0) => #0 |.(1) => #0 < 1294507284 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294507291 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that compare(#0 #0) is quite amusing, it's 0 obviously < 1294507300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but the brancher can't access the constants < 1294507303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since it doesn't get them yet < 1294507307 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it doesn't use the examples in a very clever way it seems < 1294507307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it couldn't just use teh constant 0 it's given < 1294507308 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*the < 1294507310 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it figured out what 0 is :) < 1294507322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: what do you mean? < 1294507328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you generally don't need many of them at all < 1294507339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there's more in my negating functions because i made a mistake earlier < 1294507362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: take a look at this < 1294507384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative ~ {:. -5, -5 -> 5 : -4, -3 -> 5 :. -4, -3 -> 5 : -3, -1 -> 5 :. -3, -1 -> 5 : -2, 1 -> 5 } negate negative ~ {. 0, 1 -> 1 . 0, 2 -> 2 . 0, 3 -> 3 } negate negative ~ ; inc < 1294507384 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile negate negative(is zero?) :( < 1294507388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh :D < 1294507399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: is zero? ~ {. 0 -> 1 } is zero? ~ {. 1 -> 0 . 2 -> 0 } is zero? ~ ; #0; #1 < 1294507399 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :is zero?: [id(#0)] <= [0 1] |.(0) => #1 |.(_) => #0 < 1294507405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative ~ {:. -5, -5 -> 5 : -4, -3 -> 5 :. -4, -3 -> 5 : -3, -1 -> 5 :. -3, -1 -> 5 : -2, 1 -> 5 } negate negative ~ {. 0, 1 -> 1 . 0, 2 -> 2 . 0, 3 -> 3 } negate negative ~ ; inc < 1294507405 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :negate negative: [is zero?(#0)] |^(0) => #2 <= {(0,0): inc(#0); (0,1): inc(inc(#1))} |.(1) => #1 < 1294507410 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well hard to explain what i mean < 1294507413 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: see negate negative in that sprunge up there < 1294507417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :17:22 luatre: negate negative: [is zero?(#0)] |^(0) => #2 <= {(0,0): inc(#0); (0,1): inc(inc(#1))} |.(1) => #1 < 1294507419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it figures that out < 1294507423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :based on the recursion scheme and base case < 1294507428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is pretty good, if you ask me < 1294507435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to translate that inferred function to haskell: < 1294507449 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294507462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negneg x y | not (isZero x) = negneg (x+1) (y+1+1) < 1294507466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| otherwise = y < 1294507514 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: anyway it is the best and most expressive language ever :D < 1294507517 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just...kinda hard to use < 1294507517 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is puzzled by a clearly visible Sony TV in Red Dwarf. < 1294507522 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well sure. But it takes rather a lot of code to do it < 1294507533 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and yes, sure it is nice. < 1294507539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not really < 1294507540 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Not because of the anachronism, but because I thought that violated the BBC's anti-product-placement rules. < 1294507543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll write negate negative shorter < 1294507559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i added the extra test cases because i was paranoid when it broke once < 1294507577 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294507579 0 :aloril!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1294507614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative 2 electric boogaloo ~ {:. -5,-5 -> 5 : -4,-3 -> 5 :. -4,-3 -> 5 : -3,-1 -> 5 } negative negative 2 electric boogaloo ~ {. 0,1 -> 1} negative negative 2 electric boogaloo ~ ; inc < 1294507614 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not iterable :( < 1294507622 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative 2 electric boogaloo ~ {:. -5,-5 -> 5 : -4,-3 -> 5 :. -4,-3 -> 5 : -3,-1 -> 5 } negative negative 2 electric boogaloo ~ {. 0,1 -> 1} negate negative 2 electric boogaloo ~ ; inc < 1294507623 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :TypeError: 'NoneType' object is not iterable :( < 1294507626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i fail at spelling < 1294507632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: negate negative 2 electric boogaloo ~ {:. -5,-5 -> 5 : -4,-3 -> 5 :. -4,-3 -> 5 : -3,-1 -> 5 } negate negative 2 electric boogaloo ~ {. 0,1 -> 1} negate negative 2 electric boogaloo ~ ; inc < 1294507633 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :negate negative 2 electric boogaloo: [is zero?(#0)] |^(0) => #2 <= {(0,0): inc(#0); (0,1): inc(inc(#1))} |.(1) => #1 < 1294507642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: in long form, that code is just: < 1294507644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {:. -5, -5 -> 5 < 1294507644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -4, -3 -> 5 < 1294507644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : :. -4, -3 -> 5 < 1294507646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -3, -1 -> 5 } < 1294507648 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {. 0, 1 -> 1 } < 1294507650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ ; inc < 1294507673 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm okay < 1294507677 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1294507685 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : negate negative ~ ; inc <-- inc? < 1294507692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :inc is just x->x+1 < 1294507697 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes quite < 1294507702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but what's more, i can prove it < 1294507704 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, but why does it need to increment? < 1294507716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: um because the algorithm works by doing f (x+1) (y+2) < 1294507719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :see the compiled form < 1294507732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::: succ ~ {. 0 -> 1 . 1 -> 2 . 2 -> 3} succ ~ <_>; inc < 1294507734 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :succ: [_(#0)] |.(_) => inc(#0) < 1294507738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PROOF < 1294507746 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh right. < 1294507752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :_ is just _(x) = 0 < 1294507756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::. _([1 2 3]) < 1294507756 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1294507767 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :and if you gave negate negative ~ ; it would fin dhe other program? < 1294507778 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: what do you mean? < 1294507778 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :sqrt(x^2) instead of if x<0 then -x else x < 1294507793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: well you would do <_>; sqrt square < 1294507794 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :although sqrt may be difficult to implement < 1294507796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: but yes, it would probably get that < 1294507804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh you mean sqrt being separate < 1294507807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: well you would do <_>; sqrt; square < 1294507811 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it would probably get it, yes < 1294507812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quite easily < 1294507814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but doing sqrt would be a bitch < 1294507829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: here's the ski impl: http://sprunge.us/gdNj < 1294507834 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :can you do sqrt? :D < 1294507837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*impl: http://sprunge.us/gdNj < 1294507849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: would be much more readable if s, k and i could be something other than constant integers, but < 1294507850 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, heh < 1294507861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: not really :) ... you could probably do newton's method? < 1294507889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it's actually a wonderful program < 1294507891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ski apply especially < 1294507893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is very pretty < 1294507898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also note that :s after the first in a :. are ignored < 1294507900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they're documentation < 1294507909 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well... or i think they are tested < 1294507909 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, just write a soft floating point library in it. In theory it is possible since it is TC. But likely infeasible. < 1294507913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but they aren't used for generating the recursion scheme < 1294507920 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how long did ski take to compile? < 1294507926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i'll measure < 1294507938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: note that the implementation has many, many really stupid things < 1294507948 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :such as? < 1294507952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def is_function(a): < 1294507952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : try: < 1294507952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : a() < 1294507953 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : except Exception,e: < 1294507956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if str(e)[-12:]=="not callable": < 1294507958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return False < 1294507959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return True < 1294507962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :things like that :) < 1294507967 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :python, eww < 1294507968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it also calls functions during compilation like 138917491238912379x more than itn eeds to < 1294507969 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*it needs < 1294507973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's not python < 1294507978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's oklopython < 1294507982 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Did oklopol write it? < 1294507985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294507994 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how does that differ from normal python? < 1294508000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# glue is just a helper for glue_ < 1294508000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# we add recipes to objects < 1294508000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def glue(functions,applier,applicabler,objects,condition): < 1294508002 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : objectswithrecipes=[] < 1294508003 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I expected BETTER < 1294508004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : for i in xrange(len(objects)): < 1294508006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : l=(lambda j:lambda app,*args:args[j])(i) < 1294508007 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, it's crazier. < 1294508008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : objectswithrecipes.append((objects[i],l,"#"+str(i))) < 1294508009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return glue_(functions,applier,applicabler,objectswithrecipes,condition,5,objects) < 1294508011 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's how < 1294508021 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, but it uses the same interpreter as normal python? < 1294508034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is actaully not the most oklo python i've ever seen, that would be the oklotalk-- impl < 1294508048 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :this is how I mine http://sprunge.us/SbMK < 1294508057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def funthatreturnsntharg(i): < 1294508057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return lambda*args:args[i] < 1294508061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's my favourite name for a function tbh < 1294508065 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : # glue is just a helper for glue_ <-- that sounds like a weird naming scheme < 1294508085 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh, he meant wrapper? < 1294508088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll compile ski now < 1294508109 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :always seem to find coal if you just do it for long enough < 1294508120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: 17.8115589619 seconds < 1294508123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to compile everything in that paste i showed < 1294508129 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, on what sort of hardware? < 1294508133 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :nice thing about Clue is you don't have to test the program! < 1294508147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: um 2.1ghz core 2, 4 gigs of ram... i don't think it's ram intensive < 1294508148 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just very slow < 1294508149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: naturally < 1294508152 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, right. < 1294508153 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :"Tested by construction" as opposed to "Correct by construction" that we do in Epigram < 1294508157 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :LOL < 1294508200 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :it's a whole program paradigm based around testing: I can hardly beleive it's not subsumed java/C# etc by now < 1294508203 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: recompiling ski now so i can show the asts in my form < 1294508204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(ghetto ast) < 1294508213 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, knowing python you would probably get a 3x speed improvement if you switched to another language. < 1294508220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is actually less ghetto than oklopol's: < 1294508221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- depth of first < 1294508222 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Condition: is list?('#0') < 1294508222 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Base branch (0) < 1294508224 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'#0' < 1294508225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Rec branch (1) < 1294508228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Subast(0,0):['car', '#1'] < 1294508230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Main ast: ['inc', '#2'] < 1294508232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: you would get a 3x speed improvement just removing all the stupid shit from the impl < 1294508241 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hah < 1294508267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: < 1294508270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- ski apply < 1294508270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[ski type?(#0)] < 1294508270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => #0 < 1294508271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(1) => #1 <= {(0,0): car(cdr(#0))} < 1294508272 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, try it with pypy? < 1294508273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(2) => #1 <= {(0,0): cadar(#0)} < 1294508275 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(3) => #3 <= {(0,0): pair(cadaar(#0) car(cdr(#0))); (1,0): pair(cadar(#0) car(cdr(#0))); (2,0): pair(#1 #2)} < 1294508277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(4) => #2 <= {(0,0): car(#0); (1,0): pair(#1 car(cdr(#0)))} < 1294508279 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maybe. :p < 1294508282 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :some simple memoisation would help. < 1294508289 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also impressive: < 1294508290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- ski type? < 1294508290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(cons(deep first(#0) make singleton(depth of first(#0))))] <= [0 1] < 1294508291 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.([1, 0]) => #0 < 1294508293 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.([2, 0]) => #0 < 1294508295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.([3, 0]) => #0 < 1294508297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.([2, 1]) => #0 < 1294508299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.([3, 2]) => #0 < 1294508301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.([3, 1]) => #0 < 1294508302 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :uh < 1294508303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(_) => deep first with cutoff(#2) < 1294508307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's pretty good at figuring out conditions :) < 1294508312 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294508319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the id(x) thing is just because this version of the lang is stupid < 1294508324 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the stuff is... basically totally unnecessary < 1294508342 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it should be able to automatically strip id() off anything < 1294508351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no, it should just not need < 1294508356 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the reason it has id there is because oko did < 1294508359 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :; ... < 1294508363 0 :aloril!~aloril@dsl-tkubrasgw3-fe7ef900-153.dhcp.inet.fi JOIN :#esoteric < 1294508365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because the normal conditional form can only handle one argument and shit < 1294508367 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because it's stupid < 1294508375 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294508421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- depth of first < 1294508421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is list?(#0)] <= [0] < 1294508421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => #0 < 1294508424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(1) => inc(#2) <= {(0,0): car(#1)} < 1294508424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- deep first < 1294508426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is list?(#0)] < 1294508429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => #0 < 1294508430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(1) => #1 <= {(0,0): car(#0)} < 1294508432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- deep first with cutoff < 1294508434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(more than 3(depth of first(#0)))] <= [4] < 1294508436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => deep first(#1) < 1294508438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #0 < 1294508440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ that's quite an interesting block of functions. < 1294508449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :remember that in the body, rather than the brancher/conditional, the args are all N forward < 1294508452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where N is the number of constants < 1294508457 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because the first N are the constants shown :) < 1294508533 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294508561 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i should probably explain the ast format < 1294508562 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't i < 1294508585 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :sure why not, got a bit busy RL now though < 1294508620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll wait then, gotta have someone hearing my blabbering < 1294509451 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294509458 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :how the thell do I take a screenshot of minecraft/ < 1294509567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: F1+F2 < 1294509570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :F1 to turn on camera, F2 to screenshot < 1294509574 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :goes in ~/.minecraft/screenshots < 1294509746 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :morning < 1294509793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hi oklopol < 1294509799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :do you want cluebot.py < 1294509958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" Which is more worthless? Gravel or gold?" <<< gravel, you can make armor out of gold. < 1294509975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: gold armour lasts like 0 seconds < 1294509976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is useless < 1294510305 0 :hagb4rd!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294510784 0 :Slereah!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1294510804 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's *slightly* better than leather IIRC. < 1294510934 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" also note that :s after the first in a :. are ignored" <<< that's not true! < 1294510950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i clarified < 1294510956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: they're tested but don't go towards making the recursion scheme < 1294510957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1294510966 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they are when recursion branches multiple times, like you'd expect < 1294510994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well...whatever :D < 1294511006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :negate negative ~ {:. -5, -5 -> 5 < 1294511006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -4, -3 -> 5 < 1294511006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : :. -4, -3 -> 5 < 1294511008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -3, -1 -> 5 < 1294511010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : :. -3, -1 -> 5 < 1294511012 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : -2, 1 -> 5 } < 1294511014 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so is there a better way to write that < 1294511031 0 :Slereah!~butt@ANantes-259-1-71-195.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1294511200 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :can you write prime factorization? < 1294511215 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: um :D < 1294511218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do prime factorisation < 1294511230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: you can do pretty much any recursive algorithm ... as long as each step can also be done ... prolly < 1294511254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" oklopol: gold armour lasts like 0 seconds" <<< not really < 1294511262 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :twice as good as leather < 1294511267 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they always double < 1294511269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: don't you have...iron < 1294511275 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and chainmail is between gold and iron < 1294511275 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :iron is 100000x superior to gold < 1294511278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and lasts like 100000x longer < 1294511279 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what < 1294511286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: chainmail is impossible to get without inventory editing < 1294511292 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and also stops all damage < 1294511315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" well...whatever :D" <<< it's just the way you explained it sounded like things like quicksort would indeed not be possible < 1294511324 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294511337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought you thought you can't recurse multiple times, but just tail < 1294511348 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm except not tail because many examples are non-tail < 1294511364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : oklopol: so is there a better way to write that <<< one or two examples is enough < 1294511371 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh yes indeed < 1294511373 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I just meant would : be useful < 1294511402 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" can you write prime factorization?" <<< i believe it's possible to compile a simple imperative language to this, and prove some sort of bound on compilation speed < 1294511410 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm, referenced bad line maybe < 1294511448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" oklopol: don't you have...iron" <<< i have iron, yes. all i'm saying is if sand was much easier to find than gravel, would you say gravel is worthless because it doesn't fall < 1294511464 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(because sand is easier to get and falls oh so much nicer) < 1294511477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well sure < 1294511481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you have gold and gravel, and a bunch of creepers coming, gold is better. < 1294511497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: certainly, but if i have iron and all the usual necessities, < 1294511501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and your life is more precious than emptying seas < 1294511504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: then i'd rather have a bunch of gravel than gold ... probably ... maybe not < 1294511508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only cuz of the cube :) < 1294511575 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's clear that gold has no actual use, usually < 1294511582 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except the exeptions < 1294511585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*exc < 1294511616 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway personally i'm more happy finding gold than gravel < 1294511624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i'm sure i would be even if gold wasn't valuable irl < 1294511639 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :gold blocks are pretty, and gold is rare, that's enough. < 1294511698 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but yeah i'm sure you all wouldn't even mine gold, just like you don't mine anything else you find < 1294511725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cuz you already have a lifetime stock of almost one whole stack of it < 1294511751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so seriously, i slept all day < 1294511764 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i went to sleep at sunrise, and it's now been dark for a while < 1294511774 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have an exam on monday :( < 1294511779 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll probably fail AS USUAL < 1294511790 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/Q0GSe.jpg < 1294511790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw checked < 1294511805 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :after looking at the numbers, i notice chainmail is actually weaker than gold < 1294511808 0 :azaq23!unknown@unknown.invalid QUIT :Quit: Leaving. < 1294511813 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you fail exams? :P < 1294511823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, yeah, chainmail is weak, but ... dude, it stops all your damage < 1294511851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually failed an exam once, it was about using windows and unix < 1294511866 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you had to get everything right, apparently i fucked something up in the excel part < 1294511881 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or was it the unix part, maybe i wasn't able to unzip something < 1294511892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :don't remember, i hate computers anyway < 1294511903 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1294511932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but anyway not being able to solve a problem in the exam is as good as failing, and that i've done a lot < 1294511955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for instance, in a recent exam, there was this problem that i couldn't solve (and later proved impossible) < 1294511959 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: really? < 1294511976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so everyone got a 100% from the prob < 1294511996 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really what < 1294512000 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i said a whole bunch of things < 1294512141 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, basically what i could do is, instead of doing brute force search (which already discards multiples), i do a kind of variant of a*, so that if an operation *simplifies* another object, it's applied first < 1294512154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where list simplicity is just its size as a tree < 1294512160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: um are you talking about clue now < 1294512175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this will later be made pure, since this is just a special case of a strategy < 1294512184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but for now, it's let me write things like quicksort < 1294512200 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: why not < 1294512210 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i meant that as in < 1294512219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"yeah sure, you may interpret this as clue talk" < 1294512243 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but surprisingly, there's also an implicit "yes" < 1294512250 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh shit shoppe -> < 1294512381 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, hm, couldn't means-ends analysis work for clue (if that was it was about) < 1294512719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: so can i tell you ast yet < 1294512720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*so can < 1294512723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or are you still real-life-crapping < 1294512731 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :"crapping"? < 1294512746 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like < 1294512747 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thingsing < 1294512751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :except life is boring so things=crap < 1294512753 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's crapping! < 1294512770 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, sure, tell me. < 1294512777 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is now known as /dev/null < 1294512796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: psht fine then i won't < 1294512798 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, or why not tell someone else, sure clue was interesting, the ast not so much < 1294512811 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: the ast is just the shit that shows you waht it actually compiles to < 1294512814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is the only way to understand it < 1294512823 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh okay < 1294512838 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so it compiles to ast? (what?) < 1294512846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yes, before it compiles to a python function < 1294512847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay so < 1294512849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(#0)] <= [0 1] < 1294512849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => #0 < 1294512850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #0 < 1294512852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(2) => #0 < 1294512854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(3) => #0 < 1294512856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(_) => #1 < 1294512858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1294512861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :every clue function is of the form < 1294512890 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1294512907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :\a1 a2 a3 ... -> (\c1 c2 c3 ... a1 a2 a3 ... -> case B of x -> ...; y -> ...; z -> ...; [and optionally] _ -> ...) cv1 cv2 cv3 ... a1 a2 a3 ... < 1294512913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :c1,c2,c3 are the constants < 1294512916 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294512917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and cv1,2,3 are their values < 1294512923 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, this is pseudo-haskell? < 1294512924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :B is the branching expression < 1294512926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294512929 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294512938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, here, in this ghetto ast form, [x] in the top line is the branching expression (B) < 1294512951 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there are two constants; c1's value is 0, and c2's value is 1 < 1294512957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and these get passed as the first two arguments to the function itself < 1294512963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :whereas the branching expression just sees the actual arguments < 1294512965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem with inference atm, is that you have things that build bigger things in your bag, now say you want to find a certain thing inside a list, should be easy because even though you need a depth 3 expression for that, there's only a finite amount of sublists, so just look at them all; unfortunately, by simply using cons, at level 3, you'll be looking at millions and millions of lists < 1294512971 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you don't indent the ast to make it easier to follow? < 1294512977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, this switches on id(first arg), i.e. the first arg < 1294512987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0 to [first arg], same with 1 2 3; anything else to [second arg] < 1294512992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in this case, the first arg is 0, and the second 1 < 1294512994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :those are the two constants < 1294513001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can see this because after the branching expression it has "<= [0 1]" < 1294513003 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is the list of constants < 1294513007 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294513008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: doesn't need it? < 1294513009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so really i could probably make it faster by *adding every sublist* in the set of objects currently usable in expressions < 1294513013 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :functions all follow this form < 1294513050 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: oh and function arguments are just written adjacent < 1294513051 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no commas < 1294513052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: so, now, considering some recursion < 1294513060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294513060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(0) => #2 <= {(0,0): inc(#0); (0,1): inc(inc(#1))} < 1294513060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #1 < 1294513064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :booleans are just done as integers here < 1294513069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ means it's a recursive branch < 1294513073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there are no constants here < 1294513082 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but we can see, if the parameter is zero, we just return the second parameter < 1294513086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because #n is the nth parameter < 1294513092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if it's not, we get recursion < 1294513102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, there's 1 recursion here < 1294513108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so the first element of the recursion pairs is always 0 < 1294513110 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :meaning first recursion < 1294513119 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, this isn't the AST. This is a human representation of the AST. Or if it is the AST, why the hell are you working on it in a textual form in the program ;) < 1294513120 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(consider fib, which would have two, and so would have first-elements of 1) < 1294513127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yes, it's the representation of the ast < 1294513131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is important for figuring out what the function does < 1294513146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ok, so that list basically says: the first recursion has first parameter inc(#0) and second parameter inc(inc(#1)) < 1294513152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is first param + 1, and second param + 2, respectively < 1294513155 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wouldn't looking at the compiled result work? Or is that unreadable? < 1294513173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the result of this recursion is treated as an extra parameter to the function < 1294513183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and in this case, we just return the subrecursion with no processing -- i.e. it's tail recursive < 1294513189 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so if ^ is recursive then . is a base case? < 1294513190 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294513191 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: this IS the compiled result < 1294513203 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: the ast is hard to follow because instead of writing it in sexp-like form, you name subtrees, and just say (cons #4 #6) where #4 and #6 are the fourth and sixth expressions defined < 1294513204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: the compiled-compiled result is just a python function which processes the ast list when called < 1294513206 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I can't deal with Haskell - Ishould program in Scheme < 1294513216 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294513220 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ew < 1294513230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php#Implementation proof that scheme is best language < 1294513231 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why not compile it to haskell or something < 1294513235 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1294513243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: um because the impl is written in python < 1294513244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's an interpreter < 1294513258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: also because the language isn't lazy/ < 1294513260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :* < 1294513261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*? < 1294513264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's a kinda stupid question. < 1294513267 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, but the actual interpretation doesn't look complicated? < 1294513274 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :of the ast I mean < 1294513277 0 :augur!unknown@unknown.invalid NICK :fum < 1294513280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes, that's why most of the code is the other parts. < 1294513290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think i'm going to change the ghetto_ast to show recursion normally < 1294513296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in, as actual applications < 1294513298 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh I thought it was. Well compiling to scheme then? < 1294513313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: that would require a python implementation _and_ a scheme implementation and vastly complicate everything < 1294513334 0 :fum!unknown@unknown.invalid NICK :augur < 1294513337 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, we could move away from python. This alone would speed it up < 1294513345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: do you drop the main branch? i can't see it in "is zero?" < 1294513349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yeah cuz scheme is sooooooooooooo fast < 1294513361 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well there is one compiler < 1294513362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the main branch being what in particular? < 1294513366 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, forgot the name of it < 1294513370 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tbh that was the first nontrivial one i actually gave some thought to, apart from "mm correct general feel" < 1294513378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: restricted subset of r4rs. also, oklo python is beautiful < 1294513391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what was the fisrt nontrivial one you actually gave some thought to < 1294513391 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm what < 1294513391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*first < 1294513397 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"is zero?" is, i just realized < 1294513399 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what is it that makes it oklo? < 1294513405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294513405 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"is zero?", and not "negate negative" < 1294513408 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the weird thing with exception handling? < 1294513409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: oklo < 1294513419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the main branch is between => and <= < 1294513420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no < 1294513425 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed it was negate negative, because of the incing twice < 1294513428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but i'm going to make it so that negate negative looks like this: < 1294513428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no wait what < 1294513431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294513439 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1294513448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(0) => recurse(inc(#0) inc(inc(#1))) < 1294513453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #1 < 1294513457 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :except i'll give recurse a name < 1294513463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: should the recursion function be @ or $ < 1294513468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in the display < 1294513492 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well I don't know what in the code is oklo. Just saying oklo makes it oklo is a tautology.. < 1294513499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: oklopol wrote it < 1294513528 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, okay. But does it differ in coding style or something from normal python? < 1294513541 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, or is it just defined by author being oklopol? < 1294513541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :umm yes < 1294513543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in every way < 1294513547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: link me to your scheme interp again < 1294513547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :on vjn < 1294513576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" oklopol: i think i'm going to change the ghetto_ast to show recursion normally" <<< should be done, yes, just a tiny amt of work so i skipped it < 1294513581 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so just wondering if you can give me some representative example showing what makes it oklo :) < 1294513600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: limme scheme terp vjn prove Vorpal oklopy langue < 1294513633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: so was that thing actually the is zero function or is it a part of negate negative < 1294513634 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, your keyboard seems to have broken < 1294513646 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's negate negative clearly, that's why i'm asking < 1294513673 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i usually have a rather unique way of writing in a language < 1294513687 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it was zero yeah now link me to scheme terp < 1294513690 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :usually it's in the canonical ugly code direction < 1294513694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ill make Vorpal rue day he evr asked < 1294513701 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, yes I understood that. But I was basically wondering unique in what way. :) < 1294513704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: technically i'd prefer to show him the oklotalk-- impl but that's somewhere in space < 1294513705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: scheme interp in what language? < 1294513711 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: your smiling is creepy < 1294513712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: python < 1294513745 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ooh, like a creeper? < 1294513783 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that can not be the is zero function! < 1294513791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(#0)] <= [0 1] < 1294513791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(0) => #1 < 1294513791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(_) => #0 < 1294513793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes it can? < 1294513797 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no but the < 1294513803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : [is zero?(#0)] < 1294513803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : argh < 1294513803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : |^(0) => recurse(inc(#0) inc(inc(#1))) < 1294513803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : |.(1) => #1 < 1294513807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh well yes. < 1294513810 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1294513810 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's negate negative. < 1294513811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1294513817 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :main branch is not in there < 1294513817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as i sedd < 1294513819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's negate negative < 1294513821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: howso < 1294513824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the main branch is just #2 < 1294513826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it gets expanded out < 1294513832 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm fuck < 1294513833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the point is that i'm going to inline all the recursions < 1294513835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah us right < 1294513836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to be, you know < 1294513837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pretty < 1294513840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see what happened was < 1294513844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :unless it does like cons(#2 #2) < 1294513846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't understand how tail recursion works < 1294513846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but who would do that < 1294513848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294513849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294513850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :happens < 1294513852 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it's a very new concept for me! < 1294513854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in life sometimes < 1294513856 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :absolutely < 1294513876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but right, when you write it in recurse(inc(#0) inc(inc(#1))) form, it's rather clear this function does not need cons < 1294513897 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, just remember the linking of code :) < 1294513921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway i want functions to return multiple values, that would fit the scheme so perfectly, especially since you don't actually ever *call* functions < 1294513994 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :trivia: you can write code that looks like you're returning multiple values now, but they are completely ignored in examples by parser < 1294514017 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :win 3 < 1294514019 0 :Sasha2!unknown@unknown.invalid QUIT :Quit: NO U < 1294514044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate negative < 1294514044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294514044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(0) => #2 < 1294514046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #1 < 1294514047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::DDDD < 1294514050 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so elegant < 1294514072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate negative < 1294514072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294514072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|^(0) => @(inc(#0) inc(inc(#1))) < 1294514074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|.(1) => #1 < 1294514077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ^ < 1294514095 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually i should probably drop the ^/. indicator < 1294514102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since it doesn't actually help you understand it now < 1294514104 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :opnz oklopol? < 1294514132 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tusho: can't find it in there < 1294514155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate negative < 1294514155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294514155 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => @(inc(#0) inc(inc(#1))) < 1294514157 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => #1 < 1294514159 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate positive < 1294514161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[is zero?(#0)] < 1294514163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => @(dec(#0) dec(dec(#1))) < 1294514165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => #1 < 1294514167 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...are you back in time? < 1294514175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HEY i JUST REALISED, i can replace constants like this < 1294514199 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i was reading contents of vj.fi < 1294514201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*vjn.fi < 1294514203 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean scp < 1294514206 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is tusho there a lot? < 1294514217 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i saw a folder named tusho... < 1294514223 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::Ddddd what's in there < 1294514264 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah the redirecting service < 1294514278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where does it go < 1294514296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=OYws8biwOYc someone has redirected "awesome" to this < 1294514296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294514317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i... have seen that < 1294514340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so even more 100% sure that it was not just a random internet guy < 1294514357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tusho goes to google.com < 1294514369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294514378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.wellnowwhat.net/transfers/Tusho%20is%20a%20girl%20part%201.mov < 1294514382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is tusho1 < 1294514386 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294514398 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1294514401 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh god not that < 1294514405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why can't we forget i was ever proved female < 1294514443 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1294514516 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[id(compare(#0 compare(#0 #0)))] < 1294514516 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| -1 => 1 < 1294514516 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => 0 < 1294514518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => 0 < 1294514521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...can't believe this is actually kinda working :D < 1294514537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :( my ast is getting readable enough that i can't explain how amazing it is < 1294514568 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that statement made no sense < 1294514580 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :unless unreadable == amazing < 1294514582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :before i could give a lesson on what each part ment and how it switched and stuff < 1294514584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :made a bit tho < 1294514586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but now anyone can make sense of it... < 1294514592 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: made a bit what < 1294514596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sens < 1294514649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i agree that's kind beautiful, as long as you have #x actually mean constants and arguments, and not named expressions < 1294514661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and actually write a tree < 1294514664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294514684 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait i guess it's just when the subrecursion inputs are calculated that new things are named? < 1294514702 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bleh, i'll just let you figure this out, and complain about the obvious problems if there are any < 1294514734 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhh < 1294514747 0 :coppro!unknown@unknown.invalid QUIT :*.net *.split < 1294514750 0 :lambdabot!unknown@unknown.invalid QUIT :*.net *.split < 1294514755 0 :Leonidas!unknown@unknown.invalid QUIT :*.net *.split < 1294514757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah i guess the reason for named things is that that's actually how the computation goes, since it's faster not to compute things multiple times < 1294514765 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of course, usually the named expression is only used once < 1294514803 0 :coppro!~scshunt@taurine.csclub.uwaterloo.ca JOIN :#esoteric < 1294514804 0 :lambdabot!~lambdabot@li85-105.members.linode.com JOIN :#esoteric < 1294514804 0 :Leonidas!~Leonidas@unaffiliated/leonidas JOIN :#esoteric < 1294514973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1294514975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[ski type?(#0)] < 1294514976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => #0 < 1294514976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => @(car(cdr(#0))) < 1294514977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 2 => @(cadar(#0)) < 1294514979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 3 => @(pair(#1 #2)) < 1294514981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 4 => @(pair(#1 car(cdr(#0)))) < 1294514986 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, is this for the compiled output or for the process of compilation? If it is for the compiled output, couldn't you keep a counter for each named expression and inline it just used once? < 1294514986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this shit actually works :D < 1294514988 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: btw i think you can use constants when computing the condition, i think it's more likely that when it tries compare(#0 #0), it actually substitutes that for the code for generating the number 0 (which was the constant zero), because it noticed due to memoization that they have the same results. < 1294515003 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it can't actually measure whether constant 0 or compare(arg1 arg1) is faster < 1294515018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :depth of first isn't working i don't think, it's showing wrongly < 1294515027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no, you can't use such a constant < 1294515030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: because it gets the first param as #0 < 1294515032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :even if you have constants < 1294515038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so clearly it doesn't get constants :) < 1294515040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what are #0 #1 and #2 in that, it's not clear. < 1294515048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :things...i'm trying to work it out < 1294515091 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll look in the code to see if you're right about constants < 1294515099 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm rather convinced you are < 1294515316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294515325 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :glue is not called with that information. < 1294515335 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :compile_cond < 1294515336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : # find the code for determining branch < 1294515336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : _,preprocessing,prepcode=glue(clue.bag, < 1294515336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : stuff.apply_to_visible, < 1294515336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : (lambda f,args:stuff.getarity(f)==len(args)), < 1294515336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : nontestbranchinputs, < 1294515336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : (lambda a:is_partition(stuff.apply_to_visible(clue.cond,[a])))) < 1294515342 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nontestbranchinputes < 1294515344 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*ts < 1294515352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should have constants before it < 1294515376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you should add that :P < 1294515392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: should i patch it up to make it a little bit more efficient? < 1294515402 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, at least the great thing about clue is no programs should break < 1294515442 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not many languages where you can start giving more unnamed args to functions, and they still work the same way < 1294515447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[ski type?(#0)] < 1294515447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => #0 < 1294515447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| aaa1 => @(car(cdr(#0))) < 1294515449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| aaa2 => @(cadar(#0)) < 1294515451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| aaaaaaaaa3 => @(pair(#1 #2)) < 1294515453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| aaaaaa4 => @(pair(#1 car(cdr(#0)))) < 1294515455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now that's what i call debugging output < 1294515467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294515476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm wait what < 1294515484 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should fix it, that's so clearly an error < 1294515497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh man, this is quite impressively broken i think < 1294515512 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i wonder how localized i can make the change, i believe pretty localized, but hmmhmm < 1294515522 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i can do it if you want, this is fun < 1294515534 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well sure < 1294515558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :copy paste the code for fixed_h_objs from some other func, unless you know what invisible_lists are < 1294515580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they are just when you want a vector such that all things are actually applied to their contents < 1294515591 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what xD < 1294515596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so that we can have multiple examples, and functions apply to them separately < 1294515601 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have never once wanted that < 1294515606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nor do i understand, but < 1294515621 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you need it for this < 1294515647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's a rather common thing to need < 1294515666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :NEED, not even want < 1294515674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just as soon as i fix this abomination < 1294515717 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah!!!!!!!!!! < 1294515761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see this way i can write glue (which is the only thing that does any search) in such a way that it doesn't have to know anything about multiple examples, or even what examples are, it's just looking for a path from A to B, for expressions A and B, and given operations for walking (contents of bag) < 1294515802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and yet it's a hideous function < 1294515806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :very true to the Clue spirit i feel < 1294515808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294515855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well there's tons of optimization < 1294515859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :otherwise it's not that many lines < 1294515864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also some debugging stuff i haven't removed < 1294515902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the basic reason is the compiler actually compiles everything into a python function, the asts aren't actually executed < 1294515912 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and of course i do this by building hideous lambdas < 1294515923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : newobjrecipe=(lambda fun_,subsetrecs_ : < 1294515923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : (lambda app,*args : < 1294515924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : app(fun_,map(lambda o:o(app,*args),subsetrecs_))))(fun,subsetrecs) < 1294516005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wtffff < 1294516007 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at this < 1294516049 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I just need a really simple (to specify) program -- but filling the details in (i.e. writing it) is a huge hassle < 1294516058 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: that's why clue is great! < 1294516075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: figures out all the little details for you, so long as you specify them all in an unreadable form underneath the examples < 1294516111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can i have some coffee, i need it to understand clue < 1294516112 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what makes glue hideous is that when it's building objects, it's actually building the actual python object, an ast explaining how it was made, and a python lambda that makes it from the arguments given to the original glue function < 1294516119 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and then i have many lines that do the memoization stuff < 1294516123 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :ahaha I doubt Clue can do what I want < 1294516135 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :you should make a human powered web interface for Clue < 1294516136 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i have a big try catch thing that checks whether applications succeed < 1294516145 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :or maybe a different language all together < 1294516213 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and applying, being applicable, what we're looking for, what functions we may use are abstracted away < 1294516271 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :their exact semantics are not as pretty as they could be ofc, might take 10 minutes to see how to make that thing infer say brainfuck code < 1294516358 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but basically you could have objects be contents of brainfuck tape, and asts be code that generates them, prolly just leave recs empty (or generate bytecode of some sort) < 1294516428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then give a bag of operations like -- could be applicable iff object (the tape) has more than one at current cell, and it would add -- to the end of ast, and would decrement current cell twice to get the new object < 1294516443 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :glue would automatically memoize away multiple ways to get the same tape contents < 1294516470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: am i correct in thinking that hardcoding the brancher/conditional to would be the best thing? < 1294516480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: since it works perfectly fine when you do that, and is also a very common thing to do < 1294516483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and just removing <> entirely < 1294516495 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does it break ski? < 1294516517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ilkka just put everywhere and told me conditions are done in a stupid way < 1294516524 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well yes, in that you'd have to strip <> from it < 1294516525 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i said duh < 1294516530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then also get rid of ; since it'd be redundant < 1294516536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but other than that it should work perfectly < 1294516551 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe have it as backwards compatibility :D < 1294516552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: call it "clue 1.5" :P < 1294516553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DDDDDDDDDDDDDDDDDDDDDDDD < 1294516558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: lol < 1294516559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you joke < 1294516570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the backwards compatibility is the fact that there's a file called clue.py.old < 1294516572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294516580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1294516605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or "that old clue.rar on vjn server if i didn't overwrite it yet" < 1294516612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have that saved :> < 1294516620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: clue 1.5 — more powerful conditions, less thinking about the bag, and OPTIMISED! < 1294516624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and also < 1294516627 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294516627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CONSTANTS IN THE CONDITIONAL < 1294516642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm? < 1294516659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well if i make 1.5, it'll have a completely different condition system, not just dropping < 1294516673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: 1.25 < 1294516679 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294516689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't think that's really necessary, just have for now < 1294516692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I'm going to do it whether you want to bother or not, just tell me what version number to give it :P < 1294516699 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhh < 1294516702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well i'm optimising it anyway...and putting constants in conditions < 1294516703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then you can use 1.5 < 1294516705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*1.25 < 1294516710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i'll actually call mine 1.5 < 1294516710 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i might as well fix the condition system a little bit while i am at it? < 1294516721 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can! < 1294516737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...how? < 1294516747 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: make it always assume is given, remove <> from the parser < 1294516751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then in the ast printer, just ignore condname < 1294516757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and use condast instead < 1294516825 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also how were you planning to optimize? my suggestion is you add a "size" function to glue, and it always makes sure all subobjects are in the bag < 1294516837 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so that you don't make objects bigger, unless you really have to < 1294516859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this would be rather easy to do, and would probably make ski compile in a millisecond < 1294516887 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'll probably do that < 1294516895 0 :luatre!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294516900 0 :luatre!~luatre@91.104.236.154 JOIN :#esoteric < 1294516904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: first bit of optimisation was going to be "fix your stupid fucking is applicable" function though :D < 1294516914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok luatre now has nicer function printing!!! < 1294516925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :feed it something recursive < 1294516926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and gawp < 1294516927 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in fact < 1294516928 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just do it without making glue dependent on the rest of the code, i'm very strict about the conceptual purity of code < 1294516928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i will < 1294516951 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean fix applicable function? < 1294516960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where you call a function to see if it can be called. < 1294516968 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how else would you do it? < 1294516990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: um isinstance(f,types.FunctionType) < 1294516996 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294517000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294517021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's see... < 1294517034 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294517044 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what if the function only works for integers? < 1294517053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: irrelevant, you call it with no arguments < 1294517056 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so you can't find that out anyway < 1294517081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... length ~ {:. [1,2,3] -> 3 : [2,3] -> 2 :. [[],2,[1,2],3] -> 4 : [2,[1,2],3] -> 3} length ~ {. [] -> 0} length ~ ; cdr; inc < 1294517081 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :ValueError: substring not found :( < 1294517087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294517088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294517092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :.:. length ~ {:. [1,2,3] -> 3 : [2,3] -> 2 :. [[],2,[1,2],3] -> 4 : [2,[1,2],3] -> 3} length ~ {. [] -> 0} length ~ ; cdr; inc < 1294517092 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :DepthLimitException: depth limit exceeded (length) :( < 1294517094 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :call it with no arguments? applicabler(fun,subsetobjs) < 1294517096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294517100 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you do not call it with no arguments < 1294517101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :.:. length ~ {:. [1,2,3] -> 3 : [2,3] -> 2 :. [[],2,[1,2],3] -> 4 : [2,[1,2],3] -> 3} length ~ {. [] -> 0} length ~ ; cdr; inc; #0 < 1294517102 0 :luatre!unknown@unknown.invalid PRIVMSG #esoteric :length: [empty(#0)] | False => inc(@(cdr(#0))) | True => 0 < 1294517124 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :applicabler is one of the most important things in the whole system, currently of little use because you can't make your functions fail explicitly < 1294517126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :def is_function(a): < 1294517126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : try: < 1294517126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : a() < 1294517127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : except Exception,e: < 1294517129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if str(e)[-12:]=="not callable": < 1294517131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return False < 1294517133 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : return True < 1294517135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i mean that. < 1294517136 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh you meant that? < 1294517138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohhhhhh < 1294517145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :20:04 elliott: .:. length ~ {:. [1,2,3] -> 3 : [2,3] -> 2 :. [[],2,[1,2],3] -> 4 : [2,[1,2],3] -> 3} length ~ {. [] -> 0} length ~ ; cdr; inc; #0 < 1294517145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :20:04 luatre: length: [empty(#0)] | False => inc(@(cdr(#0))) | True => 0 < 1294517146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dude < 1294517147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol < 1294517147 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought you wanted to remove applicabler from glue :D < 1294517149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has booleans < 1294517153 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and you didn't even realise :D < 1294517166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it uses python types directly < 1294517169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294517169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so sure < 1294517176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok so here's what i'm planning to do for clue 1.25 < 1294517176 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just don't have operations for them yet < 1294517180 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: optimisations and stuff < 1294517185 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: remove <> < 1294517189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: remove commas from lists :D < 1294517197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: rename empty to empty? and make it return an int < 1294517201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah all those i agree with < 1294517205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and maybe add those neg/sub you have < 1294517205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or < 1294517206 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :better < 1294517208 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :have stdlib.clue < 1294517213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which implements them using my impls :D < 1294517225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although i doubt you'll be able to donate that many optimizations < 1294517229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that are actually relevant < 1294517234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :probably not, but who cares < 1294517235 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, except the one i just explained to you < 1294517245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :19:59 oklopol: also how were you planning to optimize? my suggestion is you add a "size" function to glue, and it always makes sure all subobjects are in the bag < 1294517246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294517248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll do that < 1294517249 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if i can :P < 1294517261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it can get slightly hairy, but shouldn't be that hard < 1294517277 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmhmm < 1294517281 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or not... dunno < 1294517361 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1294517363 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :O() wise, it's enough to check if at least one new object was added that was smaller than the ones it was derived from, and if such an object was added, skip adding the big stuff on this iteration < 1294517372 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1294517393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, if not all things are added, it also means you should start checking that you're not doing redundant stuff < 1294517423 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which leads to all kinds of very nice fastenings, but will also make glue also conceptually ugly. < 1294517451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile cadar(), deep first with cutoff(), deep first(), make singleton(), cadaar(), depth of first(), more than 3(), pair(), ski type?(), ski apply() < 1294517452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294517457 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :currently, glue is basically just for all subsets of objects found so far, check what functions can be applied, apply them all, remove duplicates, add to known objects. < 1294517458 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :silly me < 1294517478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"ski type?" ;O < 1294517484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1294517487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i was just using the old ski < 1294517489 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in ski apply < 1294517495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah and? < 1294517502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :A NONTRIVIAL CONDITION! < 1294517508 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :should probably change that < 1294517509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also < 1294517513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait nm < 1294517517 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: nah, you can't tell it's a condition in 1.25! < 1294517517 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also < 1294517519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- succ < 1294517520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[?(#0)] < 1294517521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| _ => inc(#0) < 1294517525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but the code < 1294517526 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ {. 0 -> 1 < 1294517527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 1 -> 2 < 1294517529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 3 } < 1294517531 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :succ ~ _; inc < 1294517535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: clue decided it didn't need _ :D < 1294517537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :isn't that amazing < 1294517537 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well = ; ski type? < 1294517539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's so smart < 1294517550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :very < 1294517567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :would be fun to look at the actual python bytecode generated btw < 1294517580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"fun" < 1294517588 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and perhaps make a version of glue that writes java bytecode instead < 1294517595 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, abstract that away as well < 1294517602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: don't you call clue functions as the lambda < 1294517607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294517609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so the bytecode will just look like... a function call to the interpreter < 1294517623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- negate negative < 1294517623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[#0] < 1294517623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| _ => #2 < 1294517624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1294517624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => #1 < 1294517629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...it decided it didn't need "is zero?" < 1294517630 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :holy shit < 1294517632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is so fucking smart < 1294517645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a function call to the interpreter?!? < 1294517648 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what the fuck man < 1294517651 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :IT ACTUALLY COMPILES TO PYTHON < 1294517658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: to...python strings? < 1294517658 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is not interpretation < 1294517659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does it actually < 1294517661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :NO < 1294517667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's why glue looks ugly < 1294517667 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it manually writes bytecode? < 1294517682 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, it writes a whole mess of lambdas. < 1294517696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok, but the point is that the lambdas don't get inlined inside each other < 1294517704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it's still going to look like a single lambda with a big environment full of lambdas < 1294517719 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well you'll get very fragmented and jumpy python bytecode, yes < 1294517732 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but not a function call the an interpreter, because there isn't one < 1294517739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*to an < 1294517842 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i could, i guess, make glue directly write bytecode, if i abstracted away code generation < 1294517846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which wouldn't be very hard < 1294517884 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i could then change tail recursion to an actual loop ofc < 1294517925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which happens outside glue ofc, glue never recurses into code that hasn't been completely inferred yet < 1294517936 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1294517953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah it doesn't understand recursion, i guess that's what my point was < 1294517980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you'll be pleased to know, i've broken ski somehow < 1294517987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294517993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it wasn't very hard to write < 1294518070 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should write a really simple and stupid version of that glue + size_functions < 1294518086 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i basically just wanna see if pivot starts magically compiling fast < 1294518152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :incidentally why does make singletone exist < 1294518156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can do pair with just #[] and cons < 1294518173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*singleton < 1294518184 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or even just that functions can be neutral, building or demolishing < 1294518200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'll be happy to incorporate those changes into 1.25 :P < 1294518206 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: because it was easier to make things compile that way < 1294518221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294518224 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: see with clue 1.25 it just works < 1294518241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pair ~ {. 1, 2 -> [1, 2] < 1294518241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . [3], [4, 5] -> [[3], [4, 5]]} < 1294518241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pair ~ #[]; cons < 1294518243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294518245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*cons; #[] < 1294518246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for elegant < 1294518248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*elegance < 1294518252 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1294518253 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :building and demolishing could easily be actual concepts you can have for your objects as well, it's clear what they are in general for inductive data structures < 1294518256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what are the terms in cs? < 1294518260 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the correct terms < 1294518262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dunno :D < 1294518263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like building = cons < 1294518264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: erm < 1294518267 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :demolishing = car, cdr < 1294518269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ah < 1294518272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: constructing, destructing < 1294518275 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: introduction and elimination < 1294518275 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah! < 1294518279 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or what j-invariant said < 1294518285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i prefer elliott < 1294518286 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :'s < 1294518288 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because those i knew < 1294518290 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1294518294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mine have a nice balance :P < 1294518304 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :by which i mean oo uses constructing < 1294518307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1294518327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oo doesn't really make inductive data structures very natural < 1294518371 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294518486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should also have some kind of "in-place" changing of things, that is, you don't have to demolish an object, get to one of its subobjects, change it, and build the original back, but instead, you can virtually demolish, and sort of just get an (object, pointer) pair, such that building something out of this new object actually builds something out of the subobject referenced by the pointer, and the actual object is built on top < 1294518491 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294518515 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :as an implementation detail, since elliott claims he might want to do this kinda stuff < 1294518530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well yeah if it's not too hard. < 1294518533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whereas it's clear i'll just do stuff in my head and then go all meeeeeeh code. < 1294518534 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: Which maze? < 1294518544 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: the crazy mirror maze thing < 1294518566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that thing i just mentioned might be a tad complicated to do in a nice way < 1294518566 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : oklopol: introduction and elimination <-- that's more for type systems and logic deductions, isn't it? < 1294518601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the reason i like demolishing is that you actually destroy an inductive data structure *completely* < 1294518604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah < 1294518605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when inferring < 1294518618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you don't just use it once or twice < 1294518632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean you will in the compiled prog, ofc < 1294518663 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :like if x :: a and y :: b then (x,y) :: (a,b) < 1294518665 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: Although the display-mode ("P") function doesn't work here, you can still use bombs and bullets. Also there are various fake walls. < 1294518684 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: or more like, easy to do in a nice way, but not at all easy to see how to actually have it make things fast, instead of just adding another exponential blow-up < 1294518692 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294518700 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or not, but i'm not gonna get into the details maybe < 1294518706 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it's what dependent losers use :D like me! < 1294518796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe i'll add building and demolishing as quick hacks now, as poc < 1294518830 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but the functions are actual python functions, so i can't just quickly add that info to them :( < 1294518834 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or i can, but that sounds ugly < 1294518840 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: I am raelly stunned by this game btw < 1294518853 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: it is very detailed and tricky < 1294518873 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: Yes that level with mirrors is not one of the best levels I have created. The other levels are better. < 1294518885 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :O mean the whole thing < 1294518903 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :did j-invariant mention the mirror room at some point < 1294518912 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just checking < 1294518921 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294518924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294518937 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :would've been so classis zzo38 to guess a specific room you're referring to < 1294518938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294518940 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*classic < 1294519001 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: makes sense < 1294519004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i suggest rewriting it as an ast interpreter so that your structure easily allows compilation :} < 1294519012 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(just because an interp is easiest first) < 1294519058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION suddenly gets the idea of a codependent programming language < 1294519062 0 :Wamanuz!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294519084 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: Still, the mirror maze is solvable with some trial/errors (other levels are better). Just some hints, use bullets/bombs in case you forget where you are. Another way is that some things will push you and you can hear the noise of pushing. And, you can pick up potions, too. < 1294519105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nono i just need to have a function that extracts "construction type" information from functions, unspecified for most functions, but specified as building or demolishing for certain stdlib functions, in glue < 1294519119 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so basically i'd be done if i could just add a string of information to the stdlib functions < 1294519166 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : zzo38: I am raelly stunned by this game btw <-- so it has lots of ufos? < 1294519171 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(If you have a save game, you can restore the save game and try a different level if you don't like that one?) < 1294519187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: read you as oklopol was like, what, that's too real for him to mention < 1294519189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(rael lol) < 1294519270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so when does the depth limit get exceedemated < 1294519357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :return glue_(functions,applier,applicabler,lambda a:None,objectswithrecipes,condition,5,objects) < 1294519361 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in glue < 1294519369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :return glue_(functions,applier,applicabler,cons_typer,objects+newobjects,condition,depth_lim-1,orig_objs,objectlookup) < 1294519371 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in glue_ < 1294519392 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so it only does 5 rounds < 1294519396 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that _doesn't_ make sense < 1294519405 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :later, it will only make 5 *build* rounds < 1294519408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what < 1294519411 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no no no i mean < 1294519415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: if the depth limit gets exceeded < 1294519417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what has clue failed to do < 1294519418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*no no < 1294519420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at a high level < 1294519426 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it has failed to find an implementatoin. < 1294519429 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*implementation < 1294519435 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for something < 1294519449 0 :Wamanuz!~Wamanuz@78-69-168-43-no84.tbcn.telia.com JOIN :#esoteric < 1294519453 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oerjan: read you as oklopol was like, what, that's too real for him to mention < 1294519462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: read your name as oklopol < 1294519463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i was like < 1294519464 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294519469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's too real for him to mention < 1294519480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay, so basically it means "im not smurf enough to this function?" < 1294519481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oklopol; was < 1294519513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where smurf is smart and to is to make < 1294519516 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1294519525 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294519533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in a very precise sense < 1294519535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but that's...bad, yes < 1294519536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ufos are too real for oklopol to mention, gotcha < 1294519538 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that it looks at the size 5 ball. < 1294519541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no but raels < 1294519586 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah i didn't know rael < 1294519600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think that <> is actually needed in some cases :D < 1294519603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g. deep first with cutoff < 1294519607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work without ... < 1294519611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...wait what? < 1294519612 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1294519619 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it should, just slightly slower < 1294519629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's not actually slower, this < 1294519654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well obviously the functions that previously used something other than id will now be slower < 1294519662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because you're giving it the topmost function < 1294519665 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: nonono, this is confusing < 1294519667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :instead of having it do that for you < 1294519675 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294519716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so how do i add a bit of information to a function < 1294519726 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to make my own function class or anything < 1294519735 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that'd take MINUTES < 1294519751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hmm < 1294519764 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: func.foo = 3 < 1294519765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :works fine < 1294519766 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294519800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294519801 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294519846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AND THEN I'LL JUST MAKE A TRY CATCH BLOCK TO CHECK FOR THAT < 1294519859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294519864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: try < 1294519876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1294519878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: getattr(func,'propname',default) < 1294519891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294519895 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :didn't know the name < 1294519900 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aw man, it doesn't print I BARFED UP A YUPPIE < 1294519903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bug isn't there then < 1294519990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what the fuck is happening < 1294520055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD < 1294520059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1294520060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- deep first < 1294520060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[#0] < 1294520061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => #0 < 1294520063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| [[1 2] 3] => #1 < 1294520077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :MAYBE THAT'S THE BUG < 1294520119 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: tl;dr without <>, you need more examples < 1294520124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to stop the silly thing thinking it can do trivial shit < 1294520152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so uh... should i add more examples or restore <> < 1294520236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: EH < 1294520240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294520276 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so erm how did you do the removal of <> exactly < 1294520278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i mean obviously the clue purist in me says, obviously, get rid of <> and just add more examples < 1294520280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: simple < 1294520284 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i hardcoded the cond function to id < 1294520286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and left all the rest as is < 1294520297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so everything has now basically < 1294520302 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and deep first broke what was it using? < 1294520319 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is list k < 1294520335 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah... is list? is in the function list though < 1294520343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it just needs another example in one or both blocks < 1294520347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so that clue realises it needs is list < 1294520349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rather than hardcoding < 1294520365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's okay that it needs two examples for deep first imo < 1294520385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, the correct thing to do is assume the first ones are hard coded things, and the last one is a default branch < 1294520388 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294520399 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you're trying to find the easiest implementation of the given behaviour < 1294520403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- deep first < 1294520403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[#0] < 1294520403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => #0 < 1294520405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| _ => #1 < 1294520406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er what... < 1294520418 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so just add another example for the constant case, and is list? in the bag < 1294520435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is list was already in the bag < 1294520440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but yeah, it's the constant case that needs adding < 1294520452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: maybe if clue can't use all the functions you provide it should error out < 1294520461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"either you have useless code, or i wasn't smart enough" < 1294520493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or at least a warning < 1294520498 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1294520504 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294520532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay ski seems to compile now... I think either deep first or my printing function is broken though :) < 1294520535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :probably my printing function < 1294520540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deep first ~ {. 1 -> 1 < 1294520540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : . 2 -> 2 } < 1294520540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :deep first ~ {:. [[1, 2], 3] -> 1 < 1294520541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : [1, 2] -> 1 < 1294520543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : :. [1, [2, 3]] -> 1 < 1294520545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : : 1 -> 1 } < 1294520547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is what seems to have fixed it < 1294520553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean for instance if you just go "this can prolly be done with car, cons and cdr but i can't ass thinking about it", and turns out you just need two of those, then i wouldn't call that a bad thing < 1294520555 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294520559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah, but < 1294520562 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should say < 1294520566 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"hey, you might wanna remove these: " < 1294520570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294520573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"or else if you know it's needed, lol, i fucked up, be more examply please" < 1294520583 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i mean, see < 1294520588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: omg i just invented SuperClue < 1294520595 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: every function defined so far is put into every bag < 1294520600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SO SIMPLE < 1294520622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah yeah, remove the reason glue actually works, and it'll be even more beautiful < 1294520661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well ... who runs programs < 1294520664 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i just write them < 1294520665 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, anyway that might actually be feasible, when a very nice interp is made by a very smart person, and when there's a bit more stuff you can do to help compilation < 1294520694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :---- ski apply < 1294520694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[ski type?(#0)] < 1294520694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 0 => #0 < 1294520696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 1 => #1 < 1294520698 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 2 => #1 < 1294520700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 3 => @(pair(cadar(#0) ski type?(cdr(#0)))) < 1294520703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| 4 => @(car(#0)) < 1294520704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that looks very suspicious < 1294520709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1294520712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just my broken printing function again < 1294520713 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i'm going to add a rather nice syntax for adding new inductive data structures, at some point. < 1294520714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes back to get_ast < 1294520721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: and then remove built in lists and numbers, yes? < 1294520733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: omg... if it actually did guessing based on the induction scheme of the structure < 1294520736 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rather nice as in, clue should never start to look like an esolang... again conceptually < 1294520742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::}}}}}languagegasm < 1294520758 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yeah that's the idea < 1294520783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: btw < 1294520784 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :62.0739979744 < 1294520789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ski compilation is over 2x slower :D < 1294520791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that you have something like "list tool bag", which is the basic operations of lists, and if you have lists as args, it's unioned with the bag by defauly. < 1294520793 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*defauly < 1294520795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*default < 1294520807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but then again... < 1294520807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not all that surprising < 1294520812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: optimising over language purity is kinda < 1294520813 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BUT IT'LL RUN FASTER NOW! < 1294520813 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yuck? < 1294520816 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bags i can accept < 1294520818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed! :D < 1294520818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but < 1294520823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :conditionals are just < 1294520831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh man, it actually uses my cpu doing this < 1294520838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes. conditionals are you writing actual code, doing some specific thing. < 1294520840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :variable: we've invented your language which takes ages to compile anything < 1294520849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they should not be allowed near clue. < 1294520861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well if conditionals could take multiple arguments. then i wouldn't mind nearly as much < 1294520864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because you wouldn't have to do . < 1294520866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but they can't. < 1294520868 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so vomit < 1294520891 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hrm? which lang? < 1294520892 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i sort of mind them anyway, i mean next thing you know you'll want to say "...and this recursive case should cons two things together" < 1294520896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :variable: cue < 1294520910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*clue < 1294520916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh sertanly, i just meant i wouldn't HATE IT WITH ALL MY GUTS if they could take multiple args < 1294520921 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :right < 1294520922 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :I'll look in a bit - I can't talk now < 1294520923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :same here < 1294520929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also, i am going to add constant support for conditionals now ... < 1294520932 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is working on a unnecessary compiler in haskell  < 1294520933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can we stop calling it a conditional? < 1294520936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"brancher" < 1294520938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that would be better < 1294520943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed it would. < 1294520973 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : condcode=lambda*a:clue.cond(preprocessing(apply,*a)) < 1294520975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1294520981 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1294520995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :preprocessing? < 1294521018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i just wanna know where you create the conditional code :D < 1294521021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i can give it constant access < 1294521026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although the inferrer would have to know about it too < 1294521072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :giving it constant access is not that easy, because you also have to call it with constants then < 1294521078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is done in a different place < 1294521080 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but that should be it < 1294521088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and no, glue doesn't need to know about this. < 1294521099 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :glue has nothing to do with anything around it < 1294521113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it will when i add demolishing check, but glue_ will still not < 1294521147 0 :ais523!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294521156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: clue is so awesome. < 1294521158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i keep tight track of logical dependancies, usually < 1294521166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dancy dancy < 1294521277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you know what, you can add constants in conditionals :D < 1294521307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not actually that hard, but you need to wrap stuff in invisible lists a bit and such < 1294521310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can do it sure < 1294521388 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :essentially it's just giving glue the constants when you call it for conditional, in invisible lists full of that constant (for each example, that constant in the index of the invisible list reserved for that example), and then wait what? < 1294521391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (lambda a:is_partition(stuff.apply_to_visible(clue.cond,[a])))) < 1294521395 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is it safe to turn this into uh < 1294521398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :um < 1294521406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :say that clue.cond doesn't exist any more < 1294521410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but it's assumed to be id < 1294521413 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how can i rewrite that line? < 1294521416 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and yeah then you need to find where the lambda is made that actually computes all of that stuff < 1294521475 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i believe so, you can just check if the actual objects are a partition already < 1294521477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like < 1294521498 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294521539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is_partition is... a bit involved is it... < 1294521544 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*n't < 1294521551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294521560 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1294521566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's because of default branches < 1294521606 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is_partition actually checks if the list you give it is a partition, assuming one of the partition elements can be "default", so for instance [[1, 1, 1], [3, 3], [6, 5], [4, 4]] would be a partition < 1294521613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because only [6, 5] is default < 1294521614 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :....maybe < 1294521629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah i believe that's how it works < 1294521665 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so maybe just have is_partition as cond < 1294521668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okay so i just put the list in there directly. < 1294521679 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :instead of that whole lambda < 1294521684 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294521718 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I THINK. < 1294521761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :61.5558609962 < 1294521764 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is an achievement for me. < 1294521795 0 :Phantom__Hoover!~phantomho@cpc1-sgyl29-2-0-cust788.sgyl.cable.virginmedia.com JOIN :#esoteric < 1294521795 0 :Phantom__Hoover!unknown@unknown.invalid QUIT :Changing host < 1294521795 0 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1294521922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: can i rename inc/dec to succ/pred < 1294521926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>_> < 1294521948 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294521952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ski now compiles in 3 seconds < 1294521957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pivotpivotpivot!!!! < 1294521962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what < 1294521963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it does? < 1294521965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1294521972 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: holy shit give me your new clue.py, i want to see if no-conditions could actually be fast < 1294521980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294521987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: unless you're lying < 1294522011 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294522013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p2721555448.txt < 1294522028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you ... just changed stuff.py? not clue.py? < 1294522037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p1499968214.txt < 1294522039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :both < 1294522040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sry < 1294522128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rather obvious change < 1294522142 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it just does... well exactly what i explained earlier < 1294522147 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but < 1294522162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :+def check_demolishing(f): < 1294522162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :+ if getattr(f,'demolishing',None)==True:return True < 1294522162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :+ return False < 1294522163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: lol < 1294522168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :note that functions are partitioned into demolishing and nondemolishing ones because i just wrote it where my cursor was :D < 1294522170 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeaah :D < 1294522170 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: "return getattr(f,'demolishing',False)" < 1294522171 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294522173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i knwo < 1294522175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*know < 1294522182 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :made me laugh when i saw what my fingers had done < 1294522206 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i wanted to leave it as a surprise for ya < 1294522227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294522261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm.... it's very likely i won't get pivot to work without the pointer idea < 1294522269 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if there's some two line solution for that... < 1294522286 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" note that functions are partitioned into demolishing and nondemolishing ones because i just wrote it where my cursor was :D" <<< you should be laughing at this instead of that two line demolishing check tho < 1294522294 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll fix it now < 1294522315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :+ for (funname,fun) in demolishingfuns+nondemolishingfuns: < 1294522317 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that's the same as functions < 1294522321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that list you construct < 1294522322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294522325 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's really not < 1294522331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh does the order matter < 1294522332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294522346 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately it does, see things are added one functions at a time < 1294522370 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1294522376 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for a reason that is rather irrelevant at this point < 1294522378 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :might i just add that i hate humans < 1294522390 0 :cheater00!unknown@unknown.invalid PRIVMSG #esoteric :thank you < 1294522424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oaky, merged your changes in, time to test < 1294522478 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1294522535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :UnboundLocalError: local variable 'newobjects' referenced before assignment < 1294522539 0 :Phantom__Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294522556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh lol < 1294522558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :indentation :D < 1294522565 0 :pikhq!~pikhq@71-219-197-83.clsp.qwest.net JOIN :#esoteric < 1294522600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ python cluetest.py < 1294522600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1.07862401009 < 1294522601 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ^ < 1294522606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ski without conditionals < 1294522624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: does that mean that removing conditionals has... made it go faster? < 1294522631 0 :sebbu2!~sebbu@ADijon-152-1-65-80.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1294522685 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or maybe it means my computer is very slow < 1294522700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well okay but mine didn't do ski faster than 20s either < 1294522705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: point is: hey removing conditions is practical!! < 1294522707 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it couldn't possibly be faster without conditionals < 1294522710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean compilation couldn't < 1294522712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well eys < 1294522714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*yes < 1294522714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but < 1294522718 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's not a problem < 1294522720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because the rest is so faster < 1294522721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: has pivot compiled yet < 1294522723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yarr < 1294522724 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no :( < 1294522733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'll try with my faster computer? :p < 1294522757 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1294522772 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p2549382249.txt < 1294522777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :go ahead, code might be wrong as well... < 1294522792 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i think i've tested everything except pivot at least < 1294522800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i seriously need to add that :: thing < 1294522802 0 :sebbu!~sebbu@ADijon-152-1-65-80.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1294522803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :test cases < 1294522860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i could make a repl for luatrelang :P < 1294522884 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm.... < 1294522892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Exception: Can't compile caaar pivot helper(), triple(), cons to caaar(), caaar with consed(), make singleton(), car pivot helper(), caaar(), pivot(), cons to car(), caar() < 1294522895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i get to modify your code!! < 1294522899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm what < 1294522900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it can't even compile the things outside pivot now, maybe ski just happened to be faster :\ < 1294522901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1294522905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: lol < 1294522916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i didn't save my old clue.py < 1294522918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you bastard :D < 1294522923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's the only list prog i have so hard to say < 1294522924 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1294522955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can just comment car.demolishing = True. < 1294522966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what does that do. < 1294522968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :make it faster? :p < 1294522978 0 :sebbu2!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1294522983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you comment that out, it's basically the same as earlier < 1294522990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just demolishing funcs are tried first. < 1294523021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :presumably cdr too < 1294523022 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so at all times, you will have, in the list of found objects, every object that's a subobject of it < 1294523030 0 :cheater99!~cheater@g230230244.adsl.alicedsl.de JOIN :#esoteric < 1294523031 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: pivot still going, are you sure this will compile in finite time? < 1294523033 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*for every object, every subobject that's a ... < 1294523037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not relaly. < 1294523038 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*really < 1294523040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see i just realized < 1294523041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that < 1294523053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no wait nm < 1294523059 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah < 1294523060 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like < 1294523065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to compile without pivot < 1294523067 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1294523069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :uh this is... uncharacteristically slow < 1294523105 0 :cheater00!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1294523107 0 :sebbu2!~sebbu@ADijon-152-1-65-80.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1294523109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there should be an simple way to disable compilation of something < 1294523111 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*a < 1294523146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :still churning < 1294523183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmhmm. < 1294523188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i don't think this change was a good idea :D < 1294523195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was < 1294523200 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but hmm < 1294523203 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well this... definitely went faster before. < 1294523219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :huh? you've compiled that before? < 1294523225 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :When a line of text is centered vertically in a box, should it use only the part above the baseline for centering the text? < 1294523228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well no. but it looks trivial. < 1294523231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i mean without pivot < 1294523238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it still hasn't compiled such simple things as "car pivot helper" < 1294523261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1294523262 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1294523263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1294523275 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what i should do, is make glue simply demolish the original objects completely < 1294523279 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but then not demolish any of the new ones < 1294523285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like i said at some point < 1294523302 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1294523304 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then maybe you would get both speedy ski, and speedy other things < 1294523312 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try that < 1294523336 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :my laptop is being a great heater right now < 1294523338 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thanks to clue < 1294523390 0 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1294523611 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :bleh :/ < 1294523624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :changed, ski compiles at essentially same speed, no help with pivot :( < 1294523631 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :spent ages defining polynomials in coq but I got into trouble with equality < 1294523633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe it's wrong. < 1294523677 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :the notion of finite support is ugly < 1294523699 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: 282.139328003 < 1294523704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: to compile all the non-pivot functions in the file < 1294523708 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1294523709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: note that they're all trivial :D < 1294523720 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how long without demolishing? < 1294523735 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: just removing the .demolishing = True stuff for car and cdr you mean? < 1294523741 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1294523746 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just comment those out < 1294523762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then it's what it was before, i recall even i could compile them < 1294523777 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'll try < 1294523801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: compilin' < 1294523864 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: 1.24288511276 < 1294523867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: for all non-pivot functions < 1294523868 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :will try with pivot now < 1294523894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmhmm < 1294523894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :see < 1294523901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pivot should work faster with demolishing. < 1294523904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the others not so much < 1294523914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294523924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: this is without conditionals btw < 1294523928 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i figured it can't actually *hurt* the others that much < 1294523933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although it's equivalent for this file < 1294523933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1294524021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1294524039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so umm, wanna try adding demolishing just before pivot is compiled? :D < 1294524052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no :P < 1294524087 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw, as you may have guessed, that's essentially what strategies are, ugly workarounds so that you can help it look in the right direction < 1294524102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah, i oppose them vehemently < 1294524107 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i do think you should replace the bag with something else though < 1294524111 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although they have much higher ambitions than just guiding the search with utility functions < 1294524132 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like what < 1294524176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: dunno < 1294524183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i think a form of strategies but purer < 1294524188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: like, you describe what kind of algorithm is < 1294524191 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"depth first recursion" might be one < 1294524196 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: or like "fold" < 1294524199 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it uses that < 1294524286 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except that's much less pure than strategies < 1294524328 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :strategies are so abstract and complicated i can't even put my finger on them < 1294524329 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :yay1 I slept all day! < 1294524330 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1294524336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: me too! < 1294524340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :woke up at 8 < 1294524346 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :20 < 1294524350 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :20:00 that is < 1294524381 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah but < 1294524384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it'd be describing the function < 1294524386 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i guess tht's < 1294524388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :icky behaviour code < 1294524409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: pivot still pivotoeing < 1294524414 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294524420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294524428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with or without dem < 1294524429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: are you sure this isn't in an infinite loop < 1294524441 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not an infinite loop, no < 1294524490 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: greater-than-universe loop? < 1294524559 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it's superexponential < 1294524571 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in that depth_lim = 5 < 1294524575 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...it is? :D < 1294524578 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1294524588 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why do you think it's 5 instead of 100 < 1294524588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: why am i even running this then < 1294524592 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1294524602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because it might find the answer before doing the complete search < 1294524623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea how deep the answer lies! < 1294524629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually i could just calculate i guess < 1294524631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's... so poetic < 1294524643 0 :j-invariant!unknown@unknown.invalid QUIT :Quit: leaving < 1294524703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ...you adopted my indentation convention :D < 1294524706 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm so loved < 1294524727 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did < 1294524747 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i have a feeling it's actually harder to read, but who cares it's prettier < 1294524783 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it should just infer constocaaar( car(#2) #3 ) :\ < 1294524793 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe something is very fundamentally wrong somewhere < 1294524804 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, i have no idea what it's finding hard to do < 1294524805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: are you sure your search algorithm is working right :D < 1294524817 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: erm why not put a bunch of prints with the func and its arguments above suspect functions < 1294524821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then just look at what it's doing so much < 1294524825 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCKFUCKFUCKFUCKFUCKUFKCUFKFJDKSF < 1294524829 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FUCKFUFKFUKCUFUUFUCCKCFKJUFCKUCFKUCFUKCFUKCFUKCF < 1294524832 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :CFUJCFUJCFUKCFKCFKCFUKCFKUCFKUCFKUCFKUCFKUCFKUCFKU < 1294524835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294524837 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :LOOK AT PIVOT < 1294524838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :WHAT < 1294524840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :PROGRAMMING < 1294524840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :LANGUAGE < 1294524841 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :IS < 1294524842 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :IT < 1294524843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :WRITTEN < 1294524843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :IN < 1294524845 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BECAUSE < 1294524845 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :THAT'S < 1294524846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :NOT < 1294524847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :CLUE < 1294524854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :um why not :D < 1294524858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what < 1294524860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :'s the condition? < 1294524871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...does it have one? < 1294524873 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::DDD < 1294524889 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well. < 1294524889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: oh my god the poor thing's been sitting there going WHAT CONDITION IS THIS WHAAAAAAT < 1294524899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :run that search up to depth five and it's possible we'll know. < 1294524902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't see it. < 1294524916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so uh. fix it? :p < 1294524919 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's the kind of thing the new conditionals will be able to do < 1294524925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, it needs to be worked around < 1294524935 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: try not to work around it in a way that doesn't work without <> >_> < 1294524953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is i didn't originally realize that i'll need cases for the recursive thing, and then i just split it in two cases without realizing CONDITIONS < 1294524957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :branchers < 1294524967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: right well... go fix < 1294524974 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :will do. < 1294524992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fuck i'm blind < 1294525018 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually have no idea how to fix that :P < 1294525024 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294525026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: rewrite from scratch? :P < 1294525028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually of course i do < 1294525028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1294525042 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what i have to do, obviously, is write the condition function < 1294525047 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and leave pivot as is < 1294525066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: has anyone told you that you behave exactly like a really dim but hyper kitten somehow given silly amounts of intelligene? < 1294525068 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's quite hilarious < 1294525074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*somewhat dim < 1294525078 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*intelligence < 1294525154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm.... < 1294525176 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no! actually no one *ever* told me that! < 1294525209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well < 1294525211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now you know < 1294525216 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1294525222 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it has to be noted that i've been trying to think how to perfectly summarise how you act since, like, 2007 < 1294525228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so maybe everyone else just gave up sooner? < 1294525240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1294525638 0 :augur!unknown@unknown.invalid NICK :|Rassilon| < 1294525676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :|Rassilon|: what < 1294525692 0 :|Rassilon|!unknown@unknown.invalid NICK :augur < 1294525762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well fi:rassi is something you use to clean pipes < 1294525777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so isn't it fitting since augur is, well, you-know-what < 1294525802 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :sorry, i was reenacting the formation of timelord society in another channel < 1294525802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1294525804 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what i did was < 1294525811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :augur: ah, that was my second guess < 1294525851 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for first night in first minecraft game on hard < 1294525856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i told my computer hey you silly little thing that cannot handle most flash games, have here this python program that constantly allocated more and more memory while doing this impossible search for a nonexistant thing < 1294525857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i have a tiny house and no torches < 1294525864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll go do something else < 1294525871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :( < 1294525871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*allocates < 1294525872 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but i want fix < 1294525879 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah yeah once my computer starts working < 1294525981 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i meant i told my computer i'll go elsewhere btw, in case that was what you were :(ing about < 1294525981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol im afraid of creepers < 1294525985 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :who isn't < 1294525986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and thinks taht make noise < 1294525988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*that < 1294525990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*things < 1294525998 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what i'm saying is < 1294525999 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :"creepers" < 1294526001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HOW DO I MAKE NIGHT BEARABLE < 1294526016 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i find creepers even scarier during the day < 1294526026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also how do i get the courage to run outside on the first day < 1294526028 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :whats a creeper < 1294526030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :all i have is a wooden fucking sword < 1294526043 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :in american parlance, a creeper is any guy who you're not attracted to who is attract to you < 1294526049 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :auhttp://4.bp.blogspot.com/_oaOBSdwJP7k/TFfZbw0Py8I/AAAAAAAABFQ/crE_sdzUIR4/s1600/Twocreepers.png < 1294526050 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: http://4.bp.blogspot.com/_oaOBSdwJP7k/TFfZbw0Py8I/AAAAAAAABFQ/crE_sdzUIR4/s1600/Twocreepers.png < 1294526057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in american-post-minecraft parlance < 1294526058 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a creeper < 1294526061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is the worst thing in the world < 1294526066 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh, a mindcraft thing < 1294526067 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"D:" < 1294526067 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :mine** < 1294526076 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :augur: yeah creeper is a special case of that < 1294526081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also i have no food! < 1294526093 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean mc creeper is < 1294526096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hi skeleton out the window < 1294526121 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh god it got up here < 1294526130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol < 1294526131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can skeleton shots < 1294526134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :get through my door < 1294526145 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when's the hard server up < 1294526152 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol no < 1294526166 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you mean my server? when i learn how not to be a pussy < 1294526180 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :augur, hm what would a game called mindcraft do? < 1294526189 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python is using 650mb :D < 1294526195 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: also also how do i look outside the window without getting scared shitless < 1294526200 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and that's a fuckload for this computer < 1294526212 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it'd be like minecraft only instead of building castles you stop being lame. < 1294526216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"In SMP, other people can't see your pictures." :D < 1294526225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: excuse me, minecraft is awesome? < 1294526229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :castles are for losers < 1294526235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :uncreative poops build castles < 1294526239 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of course augur hates mc < 1294526246 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :the only awesome thing about mincraft is that CPU someone built < 1294526246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :too straight for him. < 1294526257 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :and maybe some other shit i dont know about < 1294526263 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but the overwhelming majority of minecraft is lame < 1294526263 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: excuse me i believe i am working on a 128x128x128 cube made out of glass lit by lava? < 1294526265 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : "In SMP, other people can't see your pictures." :D <-- further if the chunk unloads from your client the painting will be gone. If that is what you meant. < 1294526267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that is half underwater? < 1294526274 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: sounds pretty lame to me < 1294526285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :funny, 'cuz so do you < 1294526299 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i dont sound lame to me < 1294526314 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah, you do to me < 1294526323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, the majority of mc is lame from the outside, that's rather irrelevant. how much have you actually played? < 1294526329 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :yeah but you're lame so your opinion doesnt count < 1294526336 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : oklopol: also also how do i look outside the window without getting scared shitless <-- by making the walls out of obsidian and so on < 1294526347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mc < 1294526355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no i'm just scared of seeing things < 1294526355 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :'s contributions to the world are mostly uninteresting < 1294526360 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i've played absolutely none, which is why my opinion is valid. its objective and untainted by the brainwashing of minecraft usage < 1294526363 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1294526372 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: gay sex is lame! < 1294526381 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i can say this 'cuz my mind is untainted < 1294526383 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :no but it is gay < 1294526384 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, make a obsidian window shutter on the outside then. Then you can see through the window and see nothing scary < 1294526393 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :an* < 1294526396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: BUT THINGS ARE MAKING NOISJEFOISNKGDFH;S] < 1294526398 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :besides, everyone knows you're a gay, elliott < 1294526405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah i'm a gay woman < 1294526408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well known fact < 1294526418 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm. Make your house large enough that you can't hear anything outside when near the middle < 1294526419 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oh thats right < 1294526420 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1294526423 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :then never go near outer walls < 1294526427 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :are you a gay boy or a straight woman < 1294526428 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :augur: right, you should clarify that tho < 1294526430 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :girl < 1294526434 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :hmph! < 1294526436 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :both i should think < 1294526455 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :a superposition of both states, using the Quantum monad! < 1294526463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :your mother is a monad < 1294526473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm fine with people hating on mc because you can't actually build anything interesting in it, it's just actually a fuckload of fun to do it, which is what makes the game a good one < 1294526477 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :is that a complement or a slight < 1294526480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who knows < 1294526481 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its hard to tell < 1294526487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: there is a skeleton like 5 blocks away from me fuck i can't see it aargh < 1294526489 0 :j-invariant!~aaaa@unaffiliated/j-invariant JOIN :#esoteric < 1294526500 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i actually dont give a shit about minecraft, i have no opinions of it < 1294526501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant what did you do on your first night before you had stuff to make tools and shit < 1294526505 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, not enough windows then! < 1294526510 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :augur, your mother is the linguistic analogue of a monad. < 1294526511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm in a really tiny house with a wooden sword looking scared out of my door with not orches < 1294526513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*no torches < 1294526517 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1294526521 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: so a .. monad? < 1294526535 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and that is a problem. < 1294526536 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I died every night for the first 10 nights or something < 1294526553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: that's the best solution to my previous problem that i could cook up in ten minutes < 1294526564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: the previous problem was that i was in a dense forest with no good place for a house and basically nothing apart from wood and dirt. < 1294526568 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :my world is quite habitable now, if you know the right places to go < 1294526572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :did i mention my house's bottom layer is made out of dirt < 1294526588 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wait, didn't you spawn on a beach?! < 1294526601 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :I Spawned on a beach < 1294526603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes i did < 1294526605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :augur: i know < 1294526606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but it was right next to a forest < 1294526611 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, also digging down a few blocks will aways get to stone < 1294526613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O FUCKING GOD THE SKELETON JUST WALKED PAST MY DOOR < 1294526620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: couldn't have got enough stone in time < 1294526620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1294526621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh god < 1294526622 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can it see me < 1294526624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :through the door < 1294526627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it can can't it < 1294526632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if so: can it hurt me < 1294526636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :" j-invariant what did you do on your first night before you had stuff to make tools and shit" <<< it takes about 3 minutes to get rock tools < 1294526637 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, on Peaceful, I shouldn't bother with lighting, should I? < 1294526639 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh, you have 10 minutes from starting the first day until the first dusk < 1294526641 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :stone < 1294526645 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what were you waiting for < 1294526653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: well. if you don't care about being able to see at night, sure. < 1294526663 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: well first i had to walk to where there were trees, 30 seconds < 1294526681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then i cut down two trees, waited for the saplings, and replanted (second one i looked for a big one) - 2 minutes about < 1294526687 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, funny definition of "right next to" ;) < 1294526695 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :is there a way to list you XYZ coordinates? or would that be cheating? < 1294526695 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok it was actually 10 seconds. < 1294526697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then i walked until i found some land that wasn't a fucking forest < 1294526699 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: like 2 minutes < 1294526701 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: F3 < 1294526713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then i climbed to the top of it < 1294526715 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: like 2 minutes < 1294526716 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, waiting for the saplings would be wrong thing to do at that stage unless it is the only tree near it < 1294526721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then i cut down a biiig tree to make space for a house < 1294526723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"waited for the saplings"? < 1294526724 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :about 2 minutes < 1294526728 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: to generate < 1294526729 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :ah great! that will make coordinate two tunnels much easier < 1294526740 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that was wasted time < 1294526741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: then i started building my house, about 2 to 3 minutes < 1294526755 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :generate what? < 1294526758 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: finally it was done, then all the way through this i crafted a few things < 1294526759 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :new trees? :D < 1294526764 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pick, sword, bench < 1294526768 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that was about 2 minutes in total then < 1294526774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so yes, it started getting dark soon after. < 1294526781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: umm saplings spawn on leaves if you cut down a tree < 1294526785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: then the leaves decay and they fall < 1294526785 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, crafting takes 2-5 seconds usually < 1294526790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why didn't you just hack them? < 1294526791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i meant crafting in total. < 1294526794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what < 1294526797 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294526798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the leaves? < 1294526798 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well < 1294526812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i did < 1294526819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: but you have to wait for the saplings to generate to get more < 1294526820 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, sure that takes some times. But point is, you wasted time on waiting for saplings < 1294526829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: i.e. logs -> wood, wood -> sticks, -> workbench, -> pick, -> sword < 1294526830 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ignore them until you have a good shelter < 1294526833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who cares, saplings took like 20 seconds in total < 1294526834 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so stfu < 1294526842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also the craftings above weren't done all at once < 1294526843 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so yeah < 1294526848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pretty much didn't stand around for a second. < 1294526860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you will get at least 2 saplings from a tree without any waiting < 1294526861 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Goddamn it Sam Hughes, update your blog more. < 1294526872 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :come back you fucking skeleton i want to kill you < 1294526882 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :usually, that is < 1294526898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i did it < 1294526899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :omg < 1294526901 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i am a hero < 1294526918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :did i mention i am on hard < 1294526932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :skeletons are the same on hard < 1294526947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...i mean CONGRATULATIONS! :) < 1294526950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: shut up < 1294526957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: their arrows deal greater damage < 1294526959 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, suggestion for better first day handling: craft bench with first log, then axe with the next few. Cut down some more, craft pickaxe. Now build a shelter around the bench you placed, use wood and/or dirt or whatever is around. Doesn't matter if it is in wooded area, Way better that it is near spawn in case you die. Then you will have a nearby shelter < 1294526960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true. < 1294526971 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, then hunt coal < 1294526974 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but that's less discouraging < 1294526991 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, now, second day you look for a nice place for actual main base < 1294526996 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also i didn't remember that, but that's not important. < 1294527035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :another way to do things: take random direction, RUN < 1294527041 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you can craft the sword during the first night. Also keep track of time so you can get back to shelter in time < 1294527050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :work all day, run all night < 1294527065 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :shelters are for wimps < 1294527088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I did that once < 1294527096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: except < 1294527100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: a creeper exploded me in the water < 1294527105 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and i had to get onto land or shit would happen < 1294527109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because another was coming < 1294527111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i got onto land < 1294527115 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then a zombie appeared < 1294527118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and the creeper got there < 1294527123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i died, pretty much < 1294527208 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i would've survived all that. < 1294527210 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all of it. < 1294527216 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm you never see any live humans. But there are skeletons and zombies. Presumably you are like the last man on earth. Post-apocalypse. Except scenery looks too untouched for that. < 1294527220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what would you have done, then < 1294527225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: there is one other ... < 1294527230 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, a hoax yeah < 1294527234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well you know, the usual i woulda killed them all < 1294527238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: h e r o b r . . < 1294527243 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with my BARE HANDS < 1294527246 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the hoax yes < 1294527251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah i tried that, but they killed me < 1294527254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Stop. < 1294527260 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, stop what? < 1294527266 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to explain, i'd have to show you < 1294527302 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh wait, do you use that mod that adds him? IIRC there was some human-mob mod too. That added both friendly and enemy humans. That built stuff even. < 1294527329 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :any mod to do it is probably not as good as it should be < 1294527340 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i doubt he cuts down trees, for instance < 1294527344 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, they did < 1294527350 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, they didn't add doors though iirc < 1294527351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they, i mean a herobrine mod < 1294527356 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the human mob stuff you can go up to < 1294527361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :herobrine you can't get near < 1294527371 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1294527400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: he's always just out of reach. < 1294527404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :okay why do all the enemy mobs have such fucking terrifying noises < 1294527435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1294527438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :two hours ago: < 1294527439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://twitter.com/notch/status/23849639551700992 < 1294527443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :suspiciously < 1294527444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SPECIFIC < 1294527445 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :denial < 1294527446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't you think? < 1294527476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Oh no, I don't have a sister called Sandra who killed 10 people and then became web-famous by pretending to be a fish. And she definitely isn't secretly half-black." < 1294527484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(i feel this situation is comparable) < 1294527509 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: http://manicdigger.sourceforge.net/news/ < 1294527543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :someone showed that to notch on twitter and he's all ":|||" < 1294527562 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1294527564 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what does it do? It doesn't really say. Just news. < 1294527570 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: um look at screenshots < 1294527571 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's a MC clone < 1294527575 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1294527576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :seems to be compatible with MC servers too, well, circa july < 1294527597 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :doesn't seem updated < 1294527603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh apparently it's actually about as old as mc... presumably they, eh, realigned their priorities after MC got popular though < 1294527609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :probably better coded mind you < 1294527615 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1294527648 0 :pikhq!~pikhq@71-219-214-21.clsp.qwest.net JOIN :#esoteric < 1294527660 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : (i feel this situation is comparable) <-- not really no < 1294527666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294527697 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, so is that the semi-mythical Minecraft Clone With A Chance? < 1294527708 0 :invariable!~variable@unaffiliated/variable JOIN :#esoteric < 1294527711 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :no < 1294527713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: It doesn't look good mind you. < 1294527714 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, he stated he never had a brother except a half-one he never met. And that herobrine isn't real. Presumably in reply to someone? < 1294527717 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And Notch seems pissed. < 1294527718 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1294527721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Herobrine is real. < 1294527725 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Yeah, I pretty much live by XKCD" ————————————————————Notch~~~~~ < 1294527728 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(1) it's lowercase < 1294527730 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2) ha ha ha ha ha die < 1294527731 0 :invariable!unknown@unknown.invalid QUIT :Remote host closed the connection < 1294527733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(3) did i mention i hate you < 1294527737 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(4) oh how i hate you < 1294527749 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why not boycott the game then! < 1294527756 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes, but he's *Notch*. He always hates people who build on his work. < 1294527756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :too addictive < 1294527760 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, Herobrine is real? < 1294527762 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Evidence? < 1294527769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if notch were a drug dealer < 1294527772 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover, none whatsoever :P < 1294527772 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he would b... < 1294527773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1294527774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :uh < 1294527775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he kind of is. < 1294527788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: http://www.minecraftwiki.net/images/6/68/1283223082465.jpg has photographic proof. < 1294527809 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover, well know hoax :P < 1294527818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal is wrong. < 1294527819 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, "photographic proof" is completely useless here. < 1294527829 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Hell, there's an hMod plugin that adds Herobrine. < 1294527847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: did you know: talking to people who refuse to not take anything seriously is like talking to Vorpal < 1294527874 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1294527877 0 :drakhan!~drakhan@c34-243.icpnet.pl JOIN :#esoteric < 1294527884 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That parses weirdly for me. < 1294527890 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I don't take things too seriously < 1294527898 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I don't take things seriously enough... < 1294527903 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Am I the anti-Vorpal? < 1294527927 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, are you saying that you aren't being serious about Herobrine? < 1294527939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :absolutely not < 1294527941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :herobrine is real < 1294527946 0 :Sgeo!unknown@unknown.invalid NICK :AntiVorpal < 1294527957 0 :elliott!unknown@unknown.invalid NICK :Sgeo < 1294527965 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :[Note: This nick should not be construed to mean that I hate Vorpal] < 1294527965 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Factor < 1294527985 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :AntiVorpal, you should ghost elliott now :P < 1294527987 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hmm, guess it broke again :D < 1294527995 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: just steal my nick :{ < 1294527998 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :that is punishment enough < 1294528002 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :to know the evil Vorpal is using my nick < 1294528009 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, har, as if I would let myself be ghosted < 1294528027 0 :Sgeo!unknown@unknown.invalid QUIT :Disconnected by services < 1294528035 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1294528054 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1294528054 0 :Sgeo!~elliott@unaffiliated/elliott JOIN :#esoteric < 1294528062 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :so that's your password sgeo? < 1294528068 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION promises not to do that again, unless you actually get on my nerves < 1294528074 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :+ Sgeo (~elliott@unaffiliated/elliott) has joined #esoteric <-- except you aren't logged in as him < 1294528080 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :i didn't bother < 1294528105 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :(FWIW, the only evidence I would actually accept of Herobrine (or any other ultra-rare events in a moddable game) would be if someone actually pointed me to the exact line where it says addHerobrine() in the MC jar.) < 1294528125 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :Herobrine? < 1294528127 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover, would you accept add_herobrine() instead? < 1294528147 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :AntiVorpal, widespread Minecraft myth. < 1294528152 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, NO. < 1294528203 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Phantom__Hoover: you DO realise that nobody believes herobrine? < 1294528209 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :it is, and always has been, a joke < 1294528235 0 :Phantom__Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, well, I do now. < 1294528241 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, this one: http://www.minecraftforum.net/viewtopic.php?f=25&t=111753 < 1294528248 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :Hey, when you pulled similar BS on me, you didn't admit it until I directly asked another channel and made a fool of myself there < 1294528267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AntiVorpal: yes, because you believing that was hilarious in a pathetic kind of way. < 1294528270 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: done it yet? < 1294528273 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :AntiVorpal, what do you expect from elliott? < 1294528284 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, is consistency too much to ask? < 1294528297 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: dude, he reacted to "#machomebrew" by asking whether Apple _really_ didn't let people run unsigned code on their computers < 1294528310 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and then kept believing it when me and Phantom__Hoover told him how, yes indeed, there were only a few interpreters and they only ran signed code < 1294528323 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, what makes you think I actually believed it? < 1294528324 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I presume that channel is for their locked down products then? < 1294528333 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AntiVorpal: um because you've been offended by it ever since? < 1294528336 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no, it's a package manager. < 1294528348 0 :Phantom__Hoover!unknown@unknown.invalid NICK :elliott < 1294528350 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, well okay. Did he know this? < 1294528360 0 :elliott!unknown@unknown.invalid QUIT :Disconnected by services < 1294528369 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no. but it was damn obvious that we were mocking him. < 1294528380 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :beyond even "moron in a hurry" level. < 1294528387 0 :elliott!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1294528388 0 :elliott!unknown@unknown.invalid NICK :Phantom_Hoover < 1294528395 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :darn, one second too quick < 1294528396 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, that was not very nice. < 1294528402 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Changing host < 1294528402 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1294528410 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: sgeo did it to me :) < 1294528414 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I have it on secure in any case. < 1294528424 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :don't care, i just wanted to ghost you < 1294528431 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :like herobrine < 1294528432 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric : darn, one second too quick < 1294528450 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1294528451 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :Hey, I'm not threatening to ghost you again... until I get bored of this nick, at any rate < 1294528453 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :i could have ghosted you again < 1294528468 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :And I'll likely give you warning < 1294528481 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :how do you screenshot? < 1294528491 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: F1+F2 < 1294528493 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :didn't i tell you that < 1294528494 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :whoever is the real elliott atm: http://www.minecraftforum.net/viewtopic.php?f=25&t=122479 < 1294528500 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :that's Phantom_Hoover < 1294528500 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :you might be interested in that < 1294528519 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1294528527 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :does it still authenticate you if you choose to stay back < 1294528527 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :no idea if it logs in < 1294528532 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I haven't tried it < 1294528541 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.minecraftforum.net/download/file.php?avatar=49238_1293764836.jpg omg what are these, they look delicious < 1294528561 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/c50oW.png < 1294528564 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol one of the idlers in here replied to that thread < 1294528565 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :okay sgeo is ehird I guess. *checks /whois* < 1294528577 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, yes? < 1294528580 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, you weren't paying attention to the nick changes? < 1294528591 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :reminds me of when Gregor and I were each other for like < 1294528591 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hours < 1294528593 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: :D < 1294528595 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: tree hideaway < 1294528599 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :AntiVorpal, well not after "+ elliott is now known as Phantom_Hoover" < 1294528605 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :can yu see the creepers < 1294528614 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :they watch me at night :( < 1294528623 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, switch to peaceful? < 1294528629 0 :AntiVorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is now known as JesusChrist < 1294528647 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION downloads the untested os x version < 1294528653 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: why not build a house :P < 1294528684 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :How do we end up with such an insane number of lurkers? < 1294528705 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :aww hi creeper :3 < 1294528708 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :creepers are kinda cute < 1294528710 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :i actually don't mind them < 1294528717 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :i'd rather have all creepers and no zombies/spiders/skeletons < 1294528719 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :creepers don't make scary noises < 1294528722 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and are relatively easy to deal withi < 1294528724 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*with < 1294528742 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :question < 1294528747 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :how do you guys pick up enemy drops at night < 1294528752 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :like i don't wanna lose this sulphur < 1294528815 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: is there a way to deal with this?? http://i.imgur.com/KqQ16.png < 1294528825 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: sure < 1294528825 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :he is going to destroy D: < 1294528830 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: get close to it, bash with sword < 1294528832 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :he'll retreat < 1294528833 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :go up to him < 1294528834 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :repeat < 1294528842 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :either he'll die or, worst case, explode further away from your structure < 1294528907 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Sgeo: is there a way to deal with this?? http://i.imgur.com/KqQ16.png <-- your structure looks insufficiently secured? < 1294528914 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh shut up < 1294528920 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :it's easy enough to deal with creeper < 1294528920 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :s < 1294528922 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I mean, no walls < 1294528924 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and beauty takes priority < 1294528924 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :no roof < 1294528926 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1294528927 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :so what < 1294528928 0 :MigoMipo_A!unknown@unknown.invalid QUIT :Quit: Bye < 1294528928 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :who cares < 1294528942 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well, what is it? not a shelter at least < 1294528952 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :i think i'm going to build a house on top of a high stack of dirt < 1294528964 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, and beauty comes second place to "does it's job well" < 1294528976 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: it is obviously not meant for use at night < 1294528987 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: cool! it worked < 1294528995 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, indeed. < 1294529000 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: :) < 1294529003 0 :Sgeo!unknown@unknown.invalid NICK :elliott < 1294529009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't wanna not get credit for all this good advice < 1294529039 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, and if being beautiful is the job then of course it comes in first place. By the same definition. < 1294529059 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ^ < 1294529080 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1294529086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't see the relevance < 1294529105 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you know what would be cool? an smp server which spawns everyone really far away from each other < 1294529111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with monsters that it < 1294529124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to set up a little empire and fort before you have enough materials and stuff to start finding other people < 1294529176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"At the end of 2010, the "open-source" software movement, whose activists tend to be fringe academics and ponytailed computer geeks" — wall street journal. ha < 1294529191 0 :AntiVorpal!unknown@unknown.invalid NICK :Sgeo < 1294529196 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :/ns ghost sgeo < 1294529207 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, somehow, I'm not scared < 1294529207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stop stealing Sgeo's nick, antivorpal < 1294529229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :seth, gold, activeworlds... no passwords found yet < 1294529237 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1294529240 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric : Sgeo, and beauty comes second place to "does it's job well" < 1294529247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*its < 1294529277 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, there is no actual need for walls when you're in the air. < 1294529291 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, true. But how did the creeper get up? < 1294529347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's not on the structure. < 1294529351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :As can be plainly seen. < 1294529366 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Omg, I should make a wall-less house. < 1294529369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Just floor and ceiling. < 1294529372 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In the air. < 1294529382 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, I gave Vegastrike a try and found it supremely boring. < 1294529382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that was a power cut < 1294529466 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : It's not on the structure. <-- it is up in the tree however < 1294529494 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and actually very near the structure. In fact I think it is in it, it looks like it dips down there < 1294529521 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yay at my step-mother calling me mentally ill < 1294529524 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION angers < 1294529535 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lolllllll < 1294529545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sgeo home of stability < 1294529549 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, it feels like it had potential to be a good game, but the project seems to have more or less died. Or seemed to when I last checked. < 1294529558 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, my step-mother doesn't live here < 1294529562 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If she did, I'd go insane < 1294529567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*sgeo, < 1294529578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's a slogan < 1294529597 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, how have you not murdered your stepmother yet < 1294529608 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i found an actual, meaningful error in the compile < 1294529608 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :r < 1294529622 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D < 1294529624 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :one that's not a missed typo, but a complete failure of brianing < 1294529626 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*braining < 1294529653 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, yes... I think it's just a general lack of interest in space sims. < 1294529664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless i'm mistaken, everything is completely wrong, although it's very hard to notice. < 1294529671 0 :augur!unknown@unknown.invalid NICK :augur[food] < 1294529696 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like, i'm not sure multiple examples have actually helped the brancher at all, or something :D < 1294529703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not sure what the situ is yet < 1294529730 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Literally the only two I can think of in active development are Oolite (held afloat on a raft of nostalgia) and Infinity (depressingly near being vapourware). < 1294529765 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, realistic space sims: too small market segment < 1294529769 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :EVE does not count as a space sim here, since it's more of a MMO RTS. < 1294529789 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, no, I mean generic space flight sims. < 1294529804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the great thing about asteroids ii is that it has great market potential! < 1294529809 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, generic as in including unrealistic ones too? < 1294529816 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, yes. < 1294529820 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1294529822 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's basically an insane shooter! but awesome! < 1294529834 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, that's stranger. < 1294529857 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm defining space sim as "you have a spaceship which you fly around in a non-automated fashion". < 1294529877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is minecraft in that definition? < 1294529878 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Which excludes EVE etc. in one fell stroke, since their flight system is "right click". < 1294529907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Have I mentioned that I am terrible at Asteroids? < 1294529909 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :<3 MMORTS < 1294529913 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you haven't < 1294529916 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should get involved with EVE? < 1294529932 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I like Shattered Galaxy a lot, except for having to decide what stats to put points into < 1294529932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: If you like spreadsheets. < 1294529934 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, do you enjoy fiddling with Excel? < 1294529938 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: EVE has a lot of that. < 1294529946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You "learn" automatically. Somehow. < 1294529947 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I don't like the thought of applying math < 1294529950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But it takes time. < 1294529961 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, well, there's none of *that*. < 1294529963 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Math for math's sake is fun. Math for gaming purposes is not. < 1294529966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If you're not good at accounting EVE is probably going to be a bit of a drag, though. < 1294529983 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :No EVE, then. Ok. < 1294529986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: BTW, if you're good enough, you can play for free. You can buy the monthly subscription with in-game money. < 1294530007 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You'd probably have to spend a few months paid and also be amazing to be able to do that exclusively, though. < 1294530022 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And you might have to blow up some ships and steal their money to do it. < 1294530035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Yes, this is legal in EVE.) < 1294530047 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's sad, really: space sims are a venerable genre with a history going back nearly as far as the idea of using a computer to play games. < 1294530084 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION <3 Microsoft Allegiance < 1294530136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Allegiance, the multiplayer space-combat game from the minds of Microsoft Research, combines the challenges of tactical squadron-based combat, intense one-on-one space dogfights, and amazing graphical and sound effects into a space-action experience like nothing you've seen before." < 1294530139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Like Asteroids II, but worse. < 1294530178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh is it 3d? lol < 1294530181 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :crap < 1294530202 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I also get the sense that I am the only person under the age of 40 in the Oolite community. < 1294530204 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that website is dead < 1294530219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: It's probably not Newtonian, and it's also 3D. < 1294530219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://freeallegiance.org/ < 1294530231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: It is, therefore, *vastly* inferior to Asteroids II. < 1294530243 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, Newtonian 3D flight is not something with a good reputation. < 1294530248 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :cf. Frontier. < 1294530253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: That's why Asteroids II isn't 3D. < 1294530268 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: As far as I know a 2D Newtonian space shooter just hasn't been created yet. < 1294530272 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You do realize it's not a single-player game? < 1294530284 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Asteroids II doesn't even have a single player mode ... or if it does it's a very low priority. < 1294530292 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1294530293 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :(I *really* want to give the ICP a spin, but it's Windows only and even on Wine it falls afoul of the Evil Graphical Glitch. < 1294530295 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*) < 1294530303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: ICP? < 1294530320 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the prototype of Infinity's combat. < 1294530326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1294530342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Um, do you actually know what Asteroids II is? < 1294530345 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Notable for a) being the only solid evidence of progress and b) being Newtonian and 3D. < 1294530346 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :No < 1294530352 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Asteroids II? < 1294530354 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, http://au.gamespot.com/gamespot/features/pc/bestof_2000/p2_15.html < 1294530380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: It's a 2D multiplayer space shooter based on Newtonian mechanics with gravity (including orbits) and localised physics distortions (e.g. slowing down the speed of light to trap someone, then shooting the hell out of that bubble before they can escape). < 1294530387 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, why newtonian? < 1294530388 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's the awesome physics-based space shooter that me, elliott and (sort of) oklopol came up with. < 1294530400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Because orbits. < 1294530408 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why not base it on general relativity? < 1294530410 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, in the case of ICP, who knows. < 1294530415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Ha ha ha ha ha ah a ha ha ha hahahaahahahahahahahaha < 1294530432 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, because I do not actually have any idea what the hell a tensor is or what they do. < 1294530433 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I don't think Astroids II and Allegiance are in competition < 1294530441 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, ah < 1294530442 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[Says the person who always abandons one language for another] < 1294530447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Yes, sure they are. < 1294530456 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Allegiance is a bad shooter that is neither Newtonian nor 2D. < 1294530459 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Asteroids II is therefore superior. < 1294530468 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why is being 3D bad as such? < 1294530477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Because movement in 3D is a bitch and distracts from shooting shit. < 1294530481 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oi, those criteria include FS2 which was good. < 1294530482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also you can't do Newtonian well in 3D. < 1294530485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It ends up not being fun. < 1294530485 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh. Joystick? < 1294530493 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: >_> < 1294530498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Still not nearly as smooth as 2D. < 1294530502 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it was! < 1294530515 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, 3D is perfectly navigatable with joystick. Though not very much with just keyboard and mouse < 1294530521 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's cathartic when you need to blow stuff up! < 1294530543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Regardless, 3D Newtonian is a bitch. < 1294530545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And Newtonian is <3. < 1294530549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ergo 2D. (Or 4D!) < 1294530549 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, to code or? < 1294530553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: To play. < 1294530556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's not very fun. < 1294530573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2D Newtonian hasn't been reacted-to yet because as of yet nobody has done it, as far as we know. < 1294530581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :However it's probably going to be superficially similar to Asteroids in how flight works. < 1294530584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Thus the codename. < 1294530585 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm. Do you dislike realistic 3D sims in general? < 1294530591 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, such as flightsims. < 1294530594 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, erm, Asteroids is 2D Newtonian. < 1294530598 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(In that turning around doesn't actually stop you flying in the way you're flying.) < 1294530601 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Is it proper Newtonian? < 1294530604 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Spacewar is 2D Newtonian. < 1294530609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or just a vague approximation? < 1294530610 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Star Control is 2D Newtonian. < 1294530617 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, define "proper". < 1294530623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: As proper as gravity.lisp. < 1294530633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :star control had that yeah < 1294530633 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, similar thing happens in Alleg. It's not Newtonian though, need thrusters to keep moving etc < 1294530633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If not, as far as I'm concerned, gravity basically changes a lot. < 1294530635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in fights < 1294530643 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no, but the essential features are there, other than unlimited acceleration. < 1294530656 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Well, it's the little bits that'll be innovative. :p < 1294530656 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least it rings a bell < 1294530657 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, why not a relativistic 2d game, instead of newtonian? < 1294530662 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : (In that turning around doesn't actually stop you flying in the way you're flying.) <-- well duh. Even EV Override does that. It's 2D. And it is hardly realistic when it comes to other stuff (no gravity from planets and so on) < 1294530663 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And Spacewar and Star Control both have (limited) gravitation. < 1294530664 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Because we're doing it on computers. < 1294530676 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh? < 1294530676 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, because the calculations for that are sodding difficult. < 1294530680 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Ours isn't limited. :p < 1294530682 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1294530686 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Additionally multiplayer would be impossible. < 1294530690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You need, like, perfect sync. < 1294530692 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :"I cannot understand the equations" difficult. < 1294530704 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :"I cannot get even the vague gist of the equations" difficult. < 1294530710 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Anyway, physics distortion is innovative. :p < 1294530722 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :"I do not understand the concepts behind the equations" difficuly. < 1294530725 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, IS IT < 1294530727 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there any way I can help? < 1294530744 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : If Sgeo gets involved, I'm quitting < 1294530753 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Can you program in Amber? < 1294530762 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm sure I can learn Amber < 1294530765 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, not fair. It is a new language you invented for this. < 1294530765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK, it's day. I'm going to go out there, sword in hand, try not to die, and punch some trees. < 1294530771 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, see that too ^ < 1294530779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: My, my, life isn't fire, Vorpal. < 1294530782 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*fair, < 1294530782 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : elliott, I'm sure I can learn Amber < 1294530784 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It _is_ fire. < 1294530788 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, *I* cannot program in Amber. < 1294530797 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: No, but I hired you on other criteria. < 1294530799 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, wha? < 1294530810 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is only elliott _capable_ of programming in Amber? < 1294530815 0 :augur[food]!unknown@unknown.invalid NICK :augur < 1294530818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Anyone can, it's a trivial language :P < 1294530818 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That makes no bleeding sense < 1294530821 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, elliott is making a new language just for this project < 1294530821 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I know nothing of it other than "it's C with GC and lambdas". < 1294530835 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :C with lambdas ooh < 1294530837 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott has not actually defined it beyond some code snippets. < 1294530838 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, thus only he knows it yet. < 1294530848 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, "making", not "made" < 1294530851 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, is he slacking? < 1294530853 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :adding GC doesn't really have to change anything < 1294530859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for the progger < 1294530868 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yeah it's just that the GC is precise < 1294530870 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :He has concluded that CL is TOO SLOW and that I need to program 3 inches from the metal. < 1294530874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: which you can't do in C without ugly annotations < 1294530884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Too slow, not really, but without bindings to things we need, yes. < 1294530887 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, based on profiling? < 1294530893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Too slow, not really, but without bindings to things we need, yes. < 1294530894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ^ < 1294530904 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes it arrived same second < 1294530905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also, as much as you love profiling, it is possible to use reason as well as blind testing. < 1294530905 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, erm, one can always bind with CL's FFI. < 1294530911 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, there are no good CL implementations with good ways to bind to ... what Phantom_Hoover said < 1294530916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: ...which is a large project in itself. < 1294530927 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Amber is explicitly designed to not require bindings. < 1294530939 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, larger than writing your own language and using the C interface? < 1294530947 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Making it a perfect language for Active Worlds bots! < 1294530956 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Amber is also a nice language. :p < 1294530968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: ALSO: GC time. < 1294530977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :_Any_ GC that causes _any_ significant pause is completely unacceptable. < 1294530982 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because the game will freeze. < 1294530990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor's generational GC is much faster than boehm. < 1294530999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So hopefully it won't cause noticeable pauses. < 1294531010 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And current CL GCs? < 1294531012 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(If it does, I'll have to see if I can get a parallel GC.) < 1294531015 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Are stop-the-world. < 1294531027 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what about haskell gc < 1294531027 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, all of them? < 1294531035 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, HAHAHAHAHAHAHAHA < 1294531044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: A Haskell game would spend an upsetting amount of time in IO without FRP. < 1294531045 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, I do not know the model of haskell's gc < 1294531048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Yes. Well, maybe not Franz's. < 1294531057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: GHC's garbage collector is concurrent but I do not know that it's parallel. < 1294531067 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what's the best way for me to learn FRP? < 1294531073 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm < 1294531079 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Don't. < 1294531084 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :There are no useful implementations yet. < 1294531085 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why not? < 1294531086 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1294531087 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and why not use FRP then? < 1294531097 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: There are no useful implementations yet. Well, a few contenders, but. < 1294531099 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :what is FRP? < 1294531101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Definitely nothing commercial-ready. < 1294531102 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ah < 1294531105 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: functional reactive programming < 1294531107 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1294531113 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :thanks for clearing it up < 1294531115 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: did i mention i don't know where my house is < 1294531116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: YW < 1294531120 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Racket has an implementation? < 1294531121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yeah umm, can you get a "greater than?" function to compile? :D < 1294531126 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i sure can't. < 1294531127 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, fail < 1294531128 0 :j-invariant!unknown@unknown.invalid PRIVMSG #esoteric :how can you not know? < 1294531130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I CAN TRY < 1294531140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant: because i had to walk to somewhere with enough space for a house first day < 1294531141 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :coppro, apparently it will make the entire world into kittens. < 1294531145 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems conditions vs multiarg is completely wrong < 1294531151 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, he can get lost inside a 3x3x3 room in minecraft :P < 1294531159 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FRP is what makes functional programming possible. < 1294531165 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Rather than functional core with imperative interface code. < 1294531183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ok i will < 1294531184 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :j-invariant, he is THAT bad at navigating. (Okay, slight exaggeration, but not much) < 1294531184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: sec < 1294531185 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :rofl < 1294531192 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Going to try MC again < 1294531194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: what < 1294531196 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Goddamn it, I have the Star Control 2 Ur-Quan theme stuck in my head