< 1194048200 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :someone come up with a run length encoding of brainfuck < 1194048204 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's still brainfuck < 1194048215 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ie a brainfuck->brainfuck transformation < 1194048228 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :isn't that er, impossible < 1194048234 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1194048243 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you might have to embed an interpreter < 1194048252 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what would be cool is just a BF->BF compiler < 1194048259 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i.e. implementing it like you would a BF->C compiler < 1194048276 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you could call it pfsdbfs (Program For Slowing Down Brainfuck Sources) < 1194048290 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's been done < 1194048295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :seriously? < 1194048296 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ohmigawd < 1194048299 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show me < 1194048318 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1194048343 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :DOOO EEET < 1194048362 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you can just do ${code to load program onto tape}${bf-in-bf interpreter} < 1194048375 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, that's not what i mean < 1194048381 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1194048386 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's like writing a bf->c program that does "bf("...")" < 1194048390 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and an implementation of bf < 1194048397 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194048406 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which isn't what i mean < 1194048416 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1194048424 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no it isn't, stop pretending you know what my mind is thinking < 1194048466 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :here's a compiler: sed 's/x/x/' < 1194048477 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1194048491 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you can't compile x->x without some restrictions on the target language < 1194048508 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :x->x' where x' is restricted x < 1194048515 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BF->BF, without a 1-1 translation or simple variant thereof, and without embedding an interpreter < 1194048532 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :all bf compilers are 1-1 translations < 1194048544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, use GregorR's tape/stack thingy (i.e. E1E1E1 where E is an element) for the tape < 1194048555 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's very simple what i'm explaining < 1194048564 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i know what you mean < 1194048573 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so you're just arguing for the sake < 1194048577 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1194048598 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1194048609 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :write a bf->unlambda and an unlambda->bf < 1194048614 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there you have it < 1194048621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1194048629 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1194048641 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that would do it < 1194048682 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in an incredibly convoluted fashion < 1194048683 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194048699 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1194048747 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :in an incredibly increasing code size fashion < 1194048750 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :which is what you want < 1194048768 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i kind of meant something simple < 1194048769 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1194048773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :take the BF->C paradigm < 1194048777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and apply it but replacing C with BF < 1194048788 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bf->c is nothing, 1-1 < 1194048820 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1194048827 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: how good is c2bf? < 1194048833 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: it is NOT 1 to 1 < 1194048837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because you allocate an array on the stack < 1194048842 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :char bf[3424234] < 1194048847 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1194048852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the idea is to do that, in BF < 1194048861 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Not as bad as getting shot, not as good as fine champagne. < 1194048901 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :can it compile the output of a bc->c compiler? < 1194048929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's not really the same but ok :P < 1194048934 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :arrays, pointer manipulation, i/o? < 1194048936 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: how does bf2c handle libs? < 1194048944 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :c2bf < 1194048952 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes yes < 1194048955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what does it do with, e.g. malloc? < 1194048962 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... what about if you tried to use sockets? you know. < 1194048972 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It has no libc :P < 1194048989 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so can you not malloc? how does printf work? < 1194049002 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :printf can be implemented in C < 1194049019 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :given write_char or somesuch < 1194049026 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and varargs :P < 1194049027 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is there a write_char? :) < 1194049028 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :presumably < 1194049035 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :There is a putchar. < 1194049042 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what about malloc < 1194049043 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's something like: asm("."); :P < 1194049045 0 :cpressey!n=Chris@bas1-windsor12-1128691432.dsl.bell.ca JOIN :#esoteric < 1194049048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is there a way to do tape manipulation? < 1194049052 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if so i could implement malloc i guess < 1194049060 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1194049066 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it'd be a lot easier if you could access the tape as an infinite pointer < 1194049068 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1194049068 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :given sbrk you can implement malloc in C < 1194049074 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the space of tape not being used by c2bf < 1194049078 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i.e. no-mans-land < 1194049088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because, a basic allocator is really simple of course < 1194049103 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reappears. < 1194049123 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It divides the tape using that whatsisname's hotel rooms problem. < 1194049130 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Infinite hotel rooms, all full, add more people) < 1194049151 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :malloc without free: int top = 0; void *malloc(int size) { void *res = no_mans_land[top]; top += size; return res; } < 1194049157 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with free requires a bit more, but meh < 1194049170 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :assuming no_mans_land is c2bf's no-mans-land (i.e. tape not used for c2bf stuff) < 1194049178 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you don't need free when compiling to bf... < 1194049189 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if there are any bf-hosted languages on at least PEBBLE's level, or if it will be the first when ehird` is finished... < 1194049204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: bf hosted = compiler in BF? < 1194049205 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if so, i doubt it < 1194049211 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pebble.bfm will probably be the first < 1194049212 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :compiler + result < 1194049240 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i.e. you need essentially nothing more than a bf interpreter to use it < 1194049309 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess i mean, the compiler is self-hosting + compiles to bf < 1194049352 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: is there a no_mans_land? :) < 1194049382 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Sort of ... not really. < 1194049397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :How could I get one? :P < 1194049399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Well, I mean < 1194049405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how can I get some unused space in c2bf? < 1194049407 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or rather < 1194049408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :any space < 1194049411 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that isn't reserved for stack etc < 1194049419 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Once a libc is implemented, you'd just up the sbrk. < 1194049425 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :In short: malloc. < 1194049434 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Right now, you don't, C2BF is far from far from far from complete :P < 1194049460 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So right now any memory allocation is impossible in c2bf < 1194049462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Right? < 1194049478 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Wrong, but you'd have to roll-your-own sbrk. < 1194049487 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Right now, the heap is your no-mans-land :P < 1194049493 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's just reserved for the heap in the future. < 1194049494 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ok. < 1194049497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Bah < 1194049498 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ok :P < 1194049504 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So, nothing uses the heap right now. correct? < 1194049512 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Correct. < 1194049524 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Can I programmatically access it? < 1194049526 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :That is, as a pointer < 1194049577 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i.e. can you write c2bf malloc in the C part? < 1194049582 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: obviously < 1194049586 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1194049586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but can you, GregorR? :) < 1194049588 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Woot < 1194049588 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how < 1194049602 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :You don't want to hear this, it's so hacky X-D < 1194049605 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OK, here 'tis: < 1194049617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I just want to know how to get at the heap, with c2bf < 1194049617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1194049625 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Traditional (correct) C: Heap is in one place, stack is in another. < 1194049636 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :c2bf... intertwined? < 1194049637 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :C2BF: Heap and stack are in the same place, all pointer math is modulo-2. < 1194049643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Aieeeeeeeeeeeeeeeeee! < 1194049651 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :SO, the heap is 1, 3, 5, 7, 9, 11, etc. < 1194049653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ok, while I'm having a seizure, tell me how to programmatically mess with the heap :P < 1194049655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ahh < 1194049656 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ok < 1194049661 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So just cast 'em to a pointer? < 1194049677 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So (void *)5 = third heap entry? < 1194049679 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah - but no guarantees it'll actually work, I don't really remember how complete C2BF is :P < 1194049738 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :void *top = (void *)0; void *malloc(int amount) { void *ptr = top; top += amount*2; return ptr; } < 1194049741 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :And why are you so interested in this? < 1194049761 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Run bf2c translator on brainfuck code, use c2bf to get significantly larger, slower program < 1194049767 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Remember what I said? All pointer math is modulo-2. < 1194049783 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1194049791 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ok, that makes things harder < 1194049792 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194049793 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's like how: int *a = &foo; a += 1; // a is increased by (e.g.) 4 < 1194049800 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No, it makes things easier. < 1194049803 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1194049807 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I just need top += amount then < 1194049812 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yuh < 1194049820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't think modulo-2 is the right word < 1194049822 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :void *top = (void *)0; void *malloc(int amount) { void *ptr = top; top += amount; return ptr; } < 1194049827 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah, i got confused by that < 1194049837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: does c2bf work in cygwin? < 1194049837 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it isn't, hahah X-D < 1194049845 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Idonno, probably? < 1194049853 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :modulo-2 would mean there are two cells of memory :P < 1194049859 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1194049872 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So < 1194049875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :svn.sourceforge.net is down < 1194049877 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Who wants to give me c2bf < 1194049895 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I even have a copy on my home computer :P < 1194049909 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Who else wants to :P < 1194049928 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's not in the file archive? < 1194049938 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No, there are no releases. < 1194049988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :And, it could use a rewrite - the method by which I did this nasty stack/heap trick needs to be replaced :) < 1194050008 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I JUST WANT A TAR :( < 1194050017 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I JUST WANT TO TAR AND FEATHER YOU < 1194050124 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: if stack and heap are in the same place, why not just allocate (chunks of) the stack, on the heap? < 1194050137 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :makes push and pop a bit more involved i suppose < 1194050149 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyone? :( < 1194050161 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Because then you would have either a fixed stack size, or have to maintain multiple stacks >_> < 1194050171 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gives ehird` Jeffry's BASIC-to-Brainfuck compiler instead < 1194050193 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I was thinking, store it in chunks, with the chunks linked together... when you run out of stack space in one chunk, allocate another < 1194050194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i want c2bf < 1194050194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1194050352 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Hence multiple stacks. < 1194050378 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: ok -- i thought you meant multiple seperate stacks < 1194050394 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :instead of what i would call just one stack, broken up :) < 1194050399 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh, no, just multiple "physical" stacks for one "virtual" stack :) < 1194050401 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1194050430 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :wow, c2bf is hex for 48955 < 1194050455 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so? < 1194050465 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyone have c2bf? < 1194050469 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Wow, that's ... a number with no real significance :P < 1194050479 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I do believe you'll find that nobody has it :) < 1194050484 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: why =( < 1194050489 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: i did a web search for c2bf and got hex values :) < 1194050493 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Because it's old and crap? :P < 1194050500 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it's fun < 1194050518 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Sure, but until this day nobody has mentioned it for months and months and months :P < 1194050525 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Therefore I'm not particularly inclined to finish it. < 1194050546 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: finish it! < 1194050558 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :FINISH YOUR FACE < 1194050559 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(burn) < 1194050562 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've always found c2bf interesting < 1194050565 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just want a copy < 1194050568 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194050574 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants a hs2bf < 1194050586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that will NEVER happen < 1194050588 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guarantee it < 1194050594 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's already hs2c < 1194050594 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if that ever happens, i will pay you £100 < 1194050598 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Probably easier to do hs2c and c2buf :) < 1194050599 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Fuck. < 1194050603 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Erm, c2bf ... < 1194050605 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so when GregorR finishes c2bf... < 1194050607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Uh, I was just joking <.< < 1194050612 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hashahaha < 1194050617 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Damn it, typos X_X < 1194051212 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :doing a garbage collected language with lots of pointer indirection in bf will _not_ be pretty. < 1194051244 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: like said above there's a hs2c < 1194051260 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but beh < 1194051262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want c2bf < 1194051627 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you don't _have_ to implement garbage collection < 1194051730 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :running haskell without garbage collection will _not_ be pretty, either. < 1194051763 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :who cares, it's in brainfuck anyway < 1194051868 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :"The simplest garbage collector is no garbage collector" :P < 1194052082 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is trying to implement a garbage collector in 6502 asm on the C64 < 1194052163 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :one thing i have always wanted to do is build a system from scratch < 1194052172 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :homebrew a CPU and put some ram there < 1194052177 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :PNEUMATIC < 1194052179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :get an instruction set working < 1194052186 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1194052186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :implement some form of an OS < 1194052192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :add a programming language < 1194052196 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :One thing I've always wanted to do but don't have the skills or resources is to make a pneumatic CPU :) < 1194052202 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :put a simple video card in, attach it to a monitor < 1194052209 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :make keyboard+mouse work < 1194052218 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :invent new gui paradigm, code to work on OS with video card in programming language < 1194052221 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :write software < 1194052227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :voila, system from nil < 1194052229 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, nearly nil < 1194052245 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :You forgot about forging the atoms from the ether. < 1194052253 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1194052258 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll start at the cpu level i think < 1194052259 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, that would be fun < 1194052263 0 :i4nic8!n=i4nic8@CPE-121-217-159-232.nsw.bigpond.net.au JOIN :#esoteric < 1194052281 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i wanted to build a brainfuck CPU out of TTL chips once < 1194052289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I mean, you might even get interesting results < 1194052297 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i also wanted to build an OISC CPU out of discrete transistors < 1194052298 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :howzit < 1194052306 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A fun experiment would be to connect it to the net and use it and only it for e.g. a month < 1194052317 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :try and have no preconceptions about what software should be like < 1194052327 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i.e. don't mimic anything, just let it work how you think it should intuitively < 1194052343 0 :ihope!n=ns@tapthru/resident/ihope JOIN :#esoteric < 1194052357 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also, using a computer with a whole stack - cpu, isa, proglang&os, gui, software - that you made yourself, would be pretty 1337 :P < 1194052395 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :There's a limit to how much one can make oneself. < 1194052400 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Are ICs allowed? < 1194052405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ICs being? < 1194052408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sorry, i'm n00b :P < 1194052414 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Integrated circuits. < 1194052441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I dunno, whatever most homebrew CPUs are < 1194052451 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :valves < 1194052462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you could safely say every part of it was made by you (transisitors, etc withstanding) then i guess it'd be ok :P < 1194052464 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Again, pneumatic CPU = whoot ^^ < 1194052474 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yay, fluidics. < 1194052496 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I just think watching a pneumatic CPU extremely-slowly calculate 1+1 would be awesome. < 1194052526 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Extremely slowly? Just blow into it and the result blows out the other end. < 1194052538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :One thing I imagine would emerge from a system like I describe < 1194052540 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I mean a real CPU - programmable. < 1194052540 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is extreme mouse-use < 1194052544 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1194052554 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mice actually tend to come out /faster/ than keyboards, in practice, when the interface is good < 1194052559 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :contrary to actually most research < 1194052570 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You know, I think I'm comfortable just making the software myself. < 1194052576 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1194052579 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Touchscreen > both < 1194052591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: OK let's assume this custom computer has a budget < 1194052594 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A very small budget < 1194052596 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahaha < 1194052605 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Let's assume that everything should be as low powered as possible while still producing a useful machine < 1194052609 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I would just try to build LCARS :P < 1194052620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(of course every part of current computers are bloated so you can't really use their specs to compare:P) < 1194052634 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :The more I use a tablet PC, the more I realize that LCARS is the best UI imaginable. < 1194052664 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :LCARS? < 1194052666 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants to know whatever happened to light pens < 1194052676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I might try that from-scratch computer < 1194052676 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Is that a type of brain interface? < 1194052679 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :PROBLEM: I suck at everything < 1194052681 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ihope: LCARS is the computer system on Star Trek (>NG) < 1194052698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I could never make a cpu, I would probably stumble designing an ISA, I would have much trouble programming it - especially a full OS < 1194052699 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :etc :P < 1194052755 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Don't make a CPU; use a really cheap one. < 1194052765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :No < 1194052767 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :That's not from scratch < 1194052768 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194052779 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I mean, using an external CPU you get locked into an ISA etc < 1194052788 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :That forces you into a certain other-persons model of thinking < 1194052792 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :That's against the spirit of the idea < 1194052794 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I see. < 1194052805 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Make it be cellular automata, then! < 1194052813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :xD no < 1194052845 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :No? < 1194052860 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Quit ridiculing my greatest idea! :-P < 1194052865 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194053079 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :oh snap someone wrote a quine for my esolang rofl < 1194053100 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Which esolang is that? < 1194053104 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :http://koti.mbnet.fi/yiap/programs/phawn/kquine.phn < 1194053107 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :phawn < 1194053124 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1194053135 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :somebody likes your language apparently < 1194053145 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1194053147 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/PHAWN < 1194053157 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahh keymaker < 1194053173 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :is he a regular on the wiki? < 1194053189 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :or, enjoys writing quines? < 1194053190 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he just writes an awful lot of quines etc < 1194053214 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1194053252 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :he helped me fix the interpreter too < 1194053538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So < 1194053546 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Who thinks I should try that from-scratch idea? ;) < 1194053591 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :the brainfuck cpu? < 1194053598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :naw < 1194053667 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :which one? < 1194053692 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you weren't in here for it < 1194053749 0 :bsmntbombdood_!n=gavin@75-166-169-105.hlrn.qwest.net JOIN :#esoteric < 1194053870 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1194054002 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyone have comments? ;) < 1194054123 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: "cheap" and "simple" and "low-power" and "non-preconceived idea of an isa" are conflicting requirements < 1194054135 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :although i guess you didn't say "simple" < 1194054167 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: ;) < 1194054175 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :if cheap, i'd go with a Z80 cpu and maybe wire it up after i've had a few, to make it interesting < 1194054224 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :megh < 1194054225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1194054228 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm going now < 1194054230 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :if non-preconceived... use a FPGA or discrete ICs... depending on how much soldering you want to do < 1194054232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :see you all tomorrow :) < 1194054235 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ok, cya ehird` < 1194054239 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and porbably fpga < 1194054260 0 :bsmntbom1dood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1194054288 0 :bsmntbombdood_!unknown@unknown.invalid PRIVMSG #esoteric :how to get rid of all this <<<<<<.>>>>>> < 1194054306 0 :i4nic8!unknown@unknown.invalid PRIVMSG #esoteric :ounch a child < 1194054339 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1194054393 0 :bsmntbombdood_!unknown@unknown.invalid QUIT : < 1194054428 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Nick collision from services. < 1194054433 0 :bsmntbom1dood!unknown@unknown.invalid NICK :bsmntbombdood < 1194054492 0 :i4nic8!unknown@unknown.invalid QUIT :"ChatZilla 0.9.78.1 [Firefox 2.0.0.9/2007102514]" < 1194055479 0 :Tritonio!unknown@unknown.invalid QUIT :Remote closed the connection < 1194058641 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194060276 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1194065726 0 :cpressey!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194072155 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194076799 0 :clog!unknown@unknown.invalid QUIT :ended < 1194076800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1194078514 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1194079110 0 :ttm!unknown@unknown.invalid PRIVMSG #esoteric :Here's a simple program that outputs 2^(2^65536) bytes. Add another '+' to the start and it will output 2^(2^(2^65536)) bytes, and so on. < 1194079124 0 :ttm!unknown@unknown.invalid PRIVMSG #esoteric :+++++++[>>+<[>[>+<-]>[<++>-]<<-]>[<+>-]<<-]>[.-] < 1194079267 0 :ttm!unknown@unknown.invalid PRIVMSG #esoteric :(Naturally, this assumes integer cells as in ihope's challenge. And it's way too tidy to be the best answer for this length.) < 1194080359 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1194082973 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1194083891 0 :bartw!unknown@unknown.invalid QUIT : < 1194084270 0 :bartw!n=Bluelive@bwerf.xs4all.nl JOIN :#esoteric < 1194086734 0 :ttm!unknown@unknown.invalid PRIVMSG #esoteric :Hey bsmnt. >>>>>>>>>++++++++[<[++<]++[>]<-]<[<]>[[<++++++++>-]>] < 1194086893 0 :ttm!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood and depending on what context you need it in, you may be able to lose the >>>>>>>>> and/or the <[<] part. < 1194088251 0 :bartw!unknown@unknown.invalid PART #esoteric :? < 1194090176 0 :jix!n=jix@dyndsl-091-096-048-157.ewe-ip-backbone.de JOIN :#esoteric < 1194091392 0 :SEO_DUDE56!unknown@unknown.invalid QUIT :Remote closed the connection < 1194091999 0 :RedDak!n=dak@host107-85-dynamic.10-87-r.retail.telecomitalia.it JOIN :#esoteric < 1194092586 0 :SEO_DUDE56!i=Deee@gateway/tor/x-fcd1dbc3e308c317 JOIN :#esoteric < 1194095268 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1194096981 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1194096996 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1194097092 0 :ihope!unknown@unknown.invalid QUIT :Client Quit < 1194098740 0 :RedDak!n=dak@host107-85-dynamic.10-87-r.retail.telecomitalia.it JOIN :#esoteric < 1194099637 0 :ehird`!n=test@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194099655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ooh, ololobot < 1194099658 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: anything changed with it? < 1194100301 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1194100972 0 :ihope!n=ns@tapthru/resident/ihope JOIN :#esoteric < 1194102097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: not really. < 1194102105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> numbda "o\no" < 1194102106 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :o\no < 1194102114 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i added that, but it's on the other ololobot < 1194102115 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :defmacro? :P < 1194102115 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1194102123 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, added multiple lines < 1194102130 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :other ololobot? < 1194102141 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on my other comp, the real ololobot < 1194102153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this one is just an old version i opened since you asked < 1194102186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hahah < 1194105425 0 :ihope!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1194107344 0 :Tritonio!n=Tritonio@150.140.227.205 JOIN :#esoteric < 1194108598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I'm implementing a GC in Python, am I crazy? < 1194108609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(it's for something similar to oklopol's lisp, but more complete :)) < 1194108704 0 :puzzlet!unknown@unknown.invalid QUIT :"Lost terminal" < 1194110126 0 :bsmntbom1dood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1194110650 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1194110774 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194110866 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1194110874 0 :jix!n=jix@dyndsl-091-096-039-179.ewe-ip-backbone.de JOIN :#esoteric < 1194111136 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hey, how do i set values in scope with olololisp < 1194111140 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (set a 1) < 1194111143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> a < 1194111157 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1194111172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define a 1) < 1194111173 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194111175 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch a < 1194111176 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1194111179 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1194111180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :define is global < 1194111182 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no? < 1194111187 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ya < 1194111192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what about local < 1194111193 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... < 1194111193 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194111211 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(set a 1) would set a in the very topmost scope < 1194111215 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((lambda () (define a 1))) < 1194111216 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194111216 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i.e. local var < 1194111220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like that. < 1194111225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch a < 1194111225 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1194111229 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :O RLY < 1194111230 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((lambda () (define a 4))) < 1194111231 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194111232 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch a < 1194111233 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1194111234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1194111235 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194111236 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thanks :) < 1194111259 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :isn't it always like that? < 1194111275 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define test (lambda () (define test2 (lambda () x)) (define x 2) (test2))) < 1194111276 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194111280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (test) < 1194111281 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194111291 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm... pretty sure that's not right < 1194111295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it should give a variable definition error < 1194111298 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since in the scope x is not defined < 1194111307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194111309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch drhg < 1194111310 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1194111483 0 :ttm!unknown@unknown.invalid QUIT :"Seeeeeya" < 1194111490 0 :ttm!n=daniel@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1194111511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :phew < 1194111513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just implemented my lisp < 1194111520 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, all of the types < 1194111524 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now i need to do some minimal eval stuff < 1194111528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the stdlib < 1194111622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fast < 1194111667 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1194111679 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :technically, i still need to do the gc < 1194111684 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i'm leaving that for later < 1194111700 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(i've stopped python collecting itself by pushing every object to an array called "heap" :D) < 1194111701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what do you use gc for < 1194111708 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :myeah < 1194111709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :garbage collecting < 1194111712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194111744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :put it on < 1194111761 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1194111767 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need to implement: < 1194111771 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1. some simple scoping functions < 1194111777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :2. parsing < 1194111785 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3. the actual functions - right now you can't actually do anything, but all the code is there < 1194111792 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :won't take long < 1194111795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :scoping was the only part that took time in my implementation < 1194111805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've actually done the lexical scoping for functions < 1194111834 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yar < 1194111836 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my LFunc class is ridiculously simple < 1194111837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/LJGsOA14.html < 1194111915 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Damnit! < 1194111918 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I forgot to make LString < 1194111952 0 :ttm!unknown@unknown.invalid NICK :dbc < 1194112121 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :OK! All done apart from parsing and stdlib (stdlib includes e.g. lambda ;)) < 1194112228 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (1 . 2) < 1194112229 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :not-callable(1) < 1194112237 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you don't support (x . y) syntax? < 1194112237 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :good < 1194112239 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't have to, then < 1194112240 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1194112264 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1194113057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :back < 1194113101 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1194113243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now i'm doing the parser < 1194113399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch "lollerburger" < 1194113400 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1194113403 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1194113406 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no string parsing oklopol? < 1194113607 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope :) < 1194113620 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> numbda "has it" < 1194113620 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :has it < 1194113644 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :numbda isn't lisp though, no? < 1194113648 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> numbda (lambda (x) x) < 1194113649 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :error:syntax:multiple-adjacent-objokens < 1194113670 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> numbda {A->A} < 1194113670 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :lazy:[apply opr:-> to id:A(0) and id:A(0)] < 1194113676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> numbda {A->A}!3 < 1194113676 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :num:3 < 1194113703 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194113705 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :numbda == oklotalk? < 1194113712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1194113726 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although some of it is legal oklotalk. < 1194113735 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since oklotalk is pretty flexible < 1194113762 0 :bsmntbom1dood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194113947 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :2 The earth was without form, and void; and darkness was on the face of the deep. And the Spirit of God was hovering over the face of the waters. <<< what's "being on the face of the deep"? < 1194113980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is something deep, and over it there's darkness? < 1194114005 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the bible isn't meant to make sense < 1194114009 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194114151 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194114152 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bugs in parser < 1194114155 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :((lambda (x) x) 2) is not parsing < 1194114180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah i see < 1194114249 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hehe, my parser recurses like hell < 1194114399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1194114399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :return LCons(parse(string), parse_list(string)) < 1194114409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :parse* modify string, so that is actually right < 1194114409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1194114974 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :( . ( . NIL)) < 1194114977 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not meant to happen! < 1194115199 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :dbc: nice < 1194115374 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch -5 < 1194115375 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :-5 < 1194115378 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (+ -5 1) < 1194115378 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :-4 < 1194115388 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch 5.4 < 1194115389 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1194115395 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i should probably handle - < 1194115614 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: :D it's almost done! < 1194115620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then i can write some functions... < 1194115620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... like lambda... < 1194115662 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lambda isn't a function < 1194115718 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it is in mine :) < 1194115737 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :special forms are just functions with evalargs=false < 1194115868 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :loooool < 1194115868 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :error, not callable: error, not callable: error, unbound symbol: lambda < 1194115968 0 :Tritonio!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1194116189 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :woot < 1194116193 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: parser, evaller, works :) < 1194116195 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now for stdlib < 1194116361 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i actually realized you weren't nearly as fast as i thought < 1194116371 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :time is slipping again < 1194116390 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll translate genesis to my language today < 1194116412 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my interp is currently 324 lines < 1194116412 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1194116563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is that a lot or a little < 1194116564 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1194116599 0 :bsmntbom1dood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1194116766 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1194116766 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194116779 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its quite a mess < 1194116878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yay, writing lambda! < 1194116938 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my code for defining a function written in Python looks like some kind of c calling interface < 1194116939 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :scope[0][SymbolF("lambda")] = LFunc(p_lambda, (-1, ""), False) < 1194117285 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194117476 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :woot!! < 1194117480 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it works! :) < 1194117527 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: http://rafb.net/p/ijMepf32.html < 1194117541 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :time for a gc < 1194117543 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :methinks < 1194117562 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION want in bot it. < 1194117575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all it has right now is lambda :P < 1194117576 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but ok < 1194117582 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hooks up quick irc bot < 1194117587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's the IRC message syntax again? < 1194117588 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's: < 1194117599 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :PRIVMSG #channel :sadoijfoidjhitr eotihjerg iajergoi < 1194117605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :orrr whutta ya mean? < 1194117609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :You have stuff in front of it too < 1194117610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1194117615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1194117616 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ioh < 1194117617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::asdfsdf PRIVMSG #channel :adbsad < 1194117620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194117621 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah, when you receive < 1194117621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you do < 1194117631 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's PRIVMSG #channel :asdfiugh aeuhg < 1194117638 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric : is teh hostmasker < 1194117936 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :almost done with the bot oklopol < 1194118155 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: is there a way to read one line from a socket? :| < 1194118435 0 :bsmntbombdood!n=gavin@75-166-169-105.hlrn.qwest.net JOIN :#esoteric < 1194118621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194118623 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :here he comes < 1194118626 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> code < 1194118628 0 :lithp!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118628 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to eval lisp code < 1194118636 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :arg < 1194118638 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :registered < 1194118639 0 :lithp!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118645 0 :ehird`!unknown@unknown.invalid NICK :lithpbot < 1194118686 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194118688 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :here he comes < 1194118694 0 :lithp!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118695 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: > code means "eval code" < 1194118697 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :> 2 < 1194118703 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :allow me to rephrase < 1194118705 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :it SHOULD mean that < 1194118716 0 :lithp!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118739 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194118744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1194118747 0 :lithp!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118747 0 :lithpbot!unknown@unknown.invalid NICK :ehird` < 1194118748 0 :lithp!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118750 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :baah < 1194118750 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194118752 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric-blah < 1194118752 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1194118755 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1194118772 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :surry < 1194118830 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118841 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118864 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118890 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118893 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118924 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194118959 0 :ehird`!unknown@unknown.invalid NICK :lithpbo1 < 1194118963 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194118964 0 :lithpbo1!unknown@unknown.invalid NICK :lithpbot < 1194119002 0 :bsmntbom1dood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1194119013 0 :bsmntbom1dood!n=gavin@rrcs-67-53-149-158.west.biz.rr.com JOIN :#esoteric < 1194119033 0 :lithpbot!unknown@unknown.invalid NICK :ehird` < 1194119066 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194119088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: It's done! :D #esoteric-blah < 1194119097 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194119206 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194119219 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194119225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Oops. < 1194119229 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :quitspam :P < 1194119230 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194119234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's all over now < 1194119235 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it works < 1194119275 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120273 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120296 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120318 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120338 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120363 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120398 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120432 0 :bsmntbom1dood!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1194120455 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120480 0 :bsmntbom1dood!n=gavin@rrcs-67-53-149-158.west.biz.rr.com JOIN :#esoteric < 1194120512 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120523 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120526 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120565 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120570 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120603 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120654 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120665 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120689 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120712 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120823 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194120878 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1194120884 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194120953 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121002 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121005 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121069 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn i was just going to test (LITHT (PLUTH 2 2) (TIMETH 3 3)) < 1194121129 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121133 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121179 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121189 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(LITHT (PLUTH 2 2) (TIMETH 3 3)) < 1194121193 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you need > code < 1194121194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not code < 1194121206 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (LITHT (PLUTH 2 2) (TIMETH 3 3)) < 1194121206 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :error, unbound symbol: LITHT < 1194121208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1194121227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :> (PLUTH 2 2) < 1194121228 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :error, unbound symbol: PLUTH < 1194121239 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no arithmetic atm < 1194121283 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :> (CONTH 1 (CONTH 1 NIL)) < 1194121307 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> ul ```skki < 1194121307 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :error, unbound symbol: ul < 1194121313 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> sk ```skki < 1194121314 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :error, unbound symbol: sk < 1194121318 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1194121320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i fail < 1194121322 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sk ```skki < 1194121323 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric : -> i < 1194121332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i don't even hvae cons! ;) < 1194121341 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no p in the repl? < 1194121351 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121357 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :em, does it have any functions at all? < 1194121389 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it does have functions < 1194121391 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (def id (x) x) < 1194121400 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric : < 1194121403 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (id 2) < 1194121403 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194121409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (if #t 1 2) < 1194121410 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1194121416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (set a 2) < 1194121416 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194121418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> a < 1194121418 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194121430 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric-blah if you want to test it, to avoid spamming here < 1194121436 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :don't you mean THET? < 1194121458 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :something tells me this is not quite LITHP < 1194121476 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lithpbot is just a name :P < 1194121490 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define s (lambda (a) (lambda (b) (lambda (c) ((a c) (b c)))))) < 1194121491 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194121505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: my lexical scoping is borked < 1194121506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define k (lambda (a) (lambda (b) a))) < 1194121507 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194121507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :waa, giving us false hopes :( < 1194121513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> ((k 5) 2) < 1194121514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: aww < 1194121517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((k 5) 2) < 1194121517 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1194121526 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: MY LEXICAL SCOPING IS BROKEN < 1194121529 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (((s k) k) 9) < 1194121530 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :9 < 1194121540 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BUT I WAS SCARED I FAILED < 1194121547 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :luckily i didn't < 1194121566 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121570 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :added scoping debug < 1194121575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll find out what's wrong with set < 1194121578 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121580 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kayzorz < 1194121586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Hah. < 1194121608 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION dances a little dance for having made a workind lexical scoping faster < 1194121610 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*working < 1194121623 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1194121632 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121632 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lexical scoping is hard when your implementation sucks < 1194121633 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1194121635 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194121642 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1194121647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :iqkdo gócûsieäegòubue goupeiäeívôifìe dáevôezzdìa góöesemoevôevài gocûeliekuemua liekue goís^yeliehàmäeréylieäedàe gozâolíeöydèiäedáeöynèi viekue miekue deiäösoekue < 1194121722 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that a real language? o_O < 1194121725 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ATTEMPT #45056 < 1194121727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oklopol's < 1194121730 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194121773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah! < 1194121793 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :vocabulary may change completely, but i think semantics are ready. < 1194121796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1194121798 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err < 1194121799 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :syntax < 1194121800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :grammar < 1194121803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whatever :)= < 1194121860 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :polysynthetic? < 1194121889 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :given those long words... < 1194121937 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what's polysynthetic? :) < 1194121980 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :when one word combines what is several words, or even a whole sentence in other languages < 1194122065 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Greenlandic is one example < 1194122103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194122138 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, basically you can just squeeze sentences into single words, since parsing is unambiguous... at least i think (..hope) it now is < 1194122168 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> (define test lambda (a) b) < 1194122169 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Polysynthetic_language < 1194122173 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> (define b 7) < 1194122178 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define test lambda (a) b) < 1194122179 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194122183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define b 7) < 1194122184 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194122192 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (test 6) < 1194122203 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define test (lambda (a) b)) < 1194122203 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194122206 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (test 6) < 1194122206 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :7 < 1194122210 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DDDD < 1194122220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay... i also have dynamic scoping xD < 1194122227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hahahahaha < 1194122253 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194122273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i realized that as i was looking at my implementation, kinda lolled < 1194122320 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so who actually knows how to implement lexical scoping? :p < 1194122370 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's trivially made lexical if you just check every variable is actually bound when you make a lambda < 1194122384 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so like what? < 1194122385 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i'm not gonna add that, since i kinda like it now :)) < 1194122392 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1194122394 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mine isn't? < 1194122396 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1194122399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mine isn't trivially made lexical < 1194122400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1194122403 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i meant mine < 1194122407 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aw < 1194122412 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(ehird`) so who actually knows how to implement lexical scoping? :p <<< i was referring to this. < 1194122427 0 :sebbu!n=sebbu@ADijon-152-1-78-7.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1194122441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194122520 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :does lConst work? < 1194122522 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1194122524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lCons < 1194122530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...LCons < 1194122566 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's a cons structure... < 1194122568 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(a . b) < 1194122574 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(car that) -> a < 1194122577 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(cdr that) -> b < 1194122588 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i kinda guessed that. now does it work? < 1194122588 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a list is (e1 . (e2 . (e3 . ()))) < 1194122600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1194122601 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :look at it < 1194122602 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it works < 1194122612 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what is confusing about it < 1194122613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, actually, how could it not work ;) < 1194122622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i read code very slowly. < 1194122659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lookup has a fun implementation < 1194122673 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have the same stack structure i have < 1194122683 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1194122692 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the stack itself is fine < 1194122696 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it'd the binding that's up < 1194122704 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :presumably LFunc is where I go wrong < 1194122709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :specifically self.closure = scope[:] < 1194122782 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194122793 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you don't need to save *everything* in the closure < 1194122796 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just what's used < 1194122815 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah but that shouldn't be the problem < 1194122817 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.. should it? < 1194122820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope. < 1194122829 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : global scope < 1194122829 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : old_scope = scope[:] # poof < 1194122829 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : scope = self.closure # zoop < 1194122831 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe thats wrong < 1194122840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194122859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you should just push the closure on the scope, methinks. < 1194122875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194122876 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so < 1194122882 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :scope.extend(self.closure) < 1194122899 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then pop off the scope len(self.closure) times? < 1194122917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :scope.extend? < 1194122917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1194122921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :scope is a list < 1194122929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x.extend(y) is x = x + y, for lists < 1194122930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but quicker < 1194122945 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194122947 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1194122949 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i did that < 1194122952 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's see how it goes < 1194122958 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194122967 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (set a 2) < 1194122968 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194122968 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> a < 1194122969 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194122969 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :didn't know that, weird. < 1194122979 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (def get-a () a) < 1194122980 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric : < 1194122983 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (get-a) < 1194122983 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194122984 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> (def s (a) (lambda (b) (lambda (c) ((a c) (b c))))) < 1194122984 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric : < 1194122986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :esesesese < 1194122986 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sto < 1194122987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :stop < 1194122987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :STOP < 1194122988 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :STOP < 1194122994 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (set a 5) < 1194122995 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1194122996 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (get-a) < 1194122997 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :5 < 1194122998 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1194122998 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194123000 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is broken < 1194123001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :correct? < 1194123001 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what a meanie. < 1194123023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(set a 2) (def get-a () a) (set a 5) (get-a) should return 2 right < 1194123026 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well broken in that it's not lexical < 1194123036 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err < 1194123040 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1194123050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, i think i get it < 1194123051 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so < 1194123057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what is the best way to get the closure? < 1194123061 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :loop through, check for symbols? < 1194123064 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's ugly, slow < 1194123073 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it should be correct already. < 1194123077 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and no, it's not slow or ugly. < 1194123090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :of course you have to check what variables a lambda encloses... < 1194123104 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you don't, you *have* to save every variable in the closure. < 1194123112 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194123112 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess < 1194123117 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think my implementation is kinda broken < 1194123119 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :don't you? < 1194123121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can just do that while parsing. < 1194123150 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... well we know it *is* broken in that the closures don't work, but i can't really say what's broken. < 1194123158 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, i mean < 1194123162 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i thought about it the wrong way < 1194123163 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :from the start < 1194123212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rewriting a program is often more fruitful than debugging it. < 1194123231 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you're the anti-joel < 1194123251 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I AM TEH ANTICHRIST < 1194123251 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194123264 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ono < 1194123281 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1194123283 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Lisp, mark two < 1194123291 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric-blah < 1194123356 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ping #esoteric-blah < 1194123416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sheesh < 1194123569 0 :bsmntbom1dood!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1194123582 0 :bsmntbom1dood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1194124414 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i think the word for the time complexity of this algorithm is "fuck-assly slow" < 1194124494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what algo? < 1194124532 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bf text generation < 1194124567 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you specify a bit? < 1194124583 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to explain < 1194124935 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/760176 < 1194124938 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's the code though < 1194124995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sex + pee = heaven < 1194125019 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1194125103 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i think its time complexity is O(l**2 * f**l) < 1194125120 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what's f? < 1194125159 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the length of the tape < 1194125311 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :goddamn < 1194125318 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i started doing hello world like 10 minutes ago < 1194125613 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1194125730 0 :pikhq!n=pikhq@209.248.125.179 JOIN :#esoteric < 1194125787 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> (define a 7) < 1194125790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define a 7) < 1194125791 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194125799 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (lambda (b) a) < 1194125800 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric : < 1194125805 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define c (lambda (b) a)) < 1194125806 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194125809 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define a 7) < 1194125809 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194125812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define a 4) < 1194125812 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1194125818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (c 6) < 1194125819 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :7 < 1194125824 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's lexical alright < 1194125824 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Any progress? < 1194125829 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: on... < 1194125866 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :pebble.bfm < 1194125878 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :STILL going < 1194125886 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: doh < 1194125956 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and i thought EgoBot's algorithm was slow < 1194126108 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, it is very parellizable < 1194126546 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :who wants to set up a cluster for it? < 1194127083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: in scheme, define usually doesn't create a new variable if there is already one in the exact same scope < 1194127090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1194127114 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in other words, (c 6) should have returned 4 < 1194127159 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(ML does it the other way around, btw) < 1194127243 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err hwat < 1194127292 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if there is already an a defined at the same level, (define a 4) in scheme acts as (set! a 4) < 1194127300 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh. < 1194127313 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and any old references to a will get the update < 1194127337 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really know the imperative side of scheme < 1194127348 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1194127353 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't really know scheme. < 1194127371 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :btw bus to catch < 1194127384 0 :oerjan!unknown@unknown.invalid QUIT :"Bus" < 1194127503 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION catches oerjan's quit message < 1194128113 0 :fizzie!n=fis@2001:14b8:113:2:21b:11ff:fe52:dc03 JOIN :#esoteric < 1194128265 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :dbc: how do you generalize that? < 1194128571 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this has been going for over an hour now :( < 1194128706 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this better be one damn good hello world < 1194129535 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1194129562 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if it's okay, i'll lol a bit if EgoBot beats it :) < 1194129598 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Hello, world! < 1194129641 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :... < 1194129641 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :119 +++++++++++++++[>+++++>+++++++>++++++++>+++<<<<-]>---.>----.+++++++..+++.>>-.------------.<-.<.+++.------.--------.>>+. [995] < 1194129663 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1194129669 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty much the same approach i took < 1194129687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haven't you ever seen EgoBot's output? :| < 1194129697 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i've never really looked at it < 1194129714 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :is it random? < 1194129715 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, understandabel < 1194129717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :elele < 1194129717 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Hello, world! < 1194129729 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's genetic, it may not find the same thing every time < 1194129736 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah that's what i meant < 1194129746 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, it usually finds the same thing < 1194129759 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :117 +++++++++++[>++++++>+++++++++>+++>++++<<<<-]>++++++.>++.+++++++..+++.>>.<-.<++++++++.--------.+++.------.--------.>+. [906] < 1194129762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1194129764 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or not. < 1194129781 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and that one's shorter! < 1194129784 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Hello, world! < 1194129790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :2 shorter < 1194129792 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194129792 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or < 1194129823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :impossible to calculate. < 1194129828 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :122 ++++++++++++++[>+++++>+++++++>++++++++>+++<<<<-]>++.>+++.>----..+++.>++.------------.<++++++++.--------.+++.------.<-.>>+. [400] < 1194129832 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"mommy, what's 6*8?" "oh, sweetie, those are two completely different numbers!" < 1194129834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1194129849 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i was hoping it stored the previous one and improved on it < 1194129857 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :like google maps does < 1194129864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, that's a separate program < 1194129950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: hm < 1194129990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: olp? < 1194130670 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :olp < 1194130681 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Hello, world! < 1194130724 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :121 ++++++++++++++[>+++++>+++++++>+++><<<<-]>++.>+++.+++++++..+++.>++.------------.<++++++++.--------.+++.------.--------.>+. [192] < 1194131061 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i once did a bf textgen that produced short output most of the time.... but back then i was trying out lisp .... so i can't read or run that code anymore ^^ < 1194131086 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and it was awfully slow < 1194131151 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i bet it's faster than mine < 1194131162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbom1dood: still going? :D < 1194131191 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: why are you still running it? rewrite it already < 1194131203 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i dunno how to make it faster < 1194131207 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yep < 1194131215 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: don't ruin the fun! < 1194131247 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i should write one in c++... < 1194131257 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: make it print debug output, see what's happening < 1194131264 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :jix: you shouldn't write ANYTHING in c++ < 1194131274 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: tell me a better language < 1194131274 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: why? < 1194131278 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :jix: scheme, c < 1194131281 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :jix: C or something higher level < 1194131288 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you're going for speed, probably C < 1194131304 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :c is a pain in the ass < 1194131305 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: because you'll get even incomplete results asap < 1194131312 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :jix: because you try to use it like c++ < 1194131313 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :dynamic arrays in c... < 1194131317 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... are trivial < 1194131321 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's true < 1194131322 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :are annoying as hell < 1194131327 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i programmed c for years before learning c++ < 1194131336 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: so you'll be able to see if it works well, how it's doing etc < 1194131339 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :so don't tell me i try to use c like c++ < 1194131344 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but i don't want to waste 2 hours of time < 1194131446 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm not going to use c for anything besides linux kernel modules and maybe 4k intros anymore < 1194131447 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: keep running it < 1194131452 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just set its priority lower < 1194131484 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm ok < 1194131527 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how do you renice a running proccess? < 1194131535 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: with renice < 1194131550 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh lol < 1194131562 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood is clinically retarded, news at 11 < 1194131563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1194131602 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but i don't want a language war right now... < 1194131847 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok, now it's going to print the best so far 255 times in its running < 1194132041 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe you should do more than 255 times < 1194132047 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I mean, that's an awful lot considering how long it's taking < 1194132326 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :those are the only places where there is a complete product < 1194132533 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and the only place to print that wouldn't print every single step < 1194132547 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why not print every single step? < 1194132894 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :...because that would print O(l**2 * f**l) times < 1194132898 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so what < 1194132899 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1194132971 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it would spend more time printing than calculating, and that's too much information to be usefull < 1194133003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :alright, make it print every iteration % 1000 == 0 < 1194133007 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or 10000 < 1194133027 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :...that would require a shitload of bookkeeping to number iterations < 1194133038 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's a disadvantage of functional programming < 1194133070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: lithpbot is ready! < 1194133071 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133075 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with REAL LEXICAL SCOPING(TM) < 1194133080 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just, haven't written any functions yet < 1194133080 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> 2 < 1194133081 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194133083 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1194133150 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133150 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the glottal stop in lisp bot is unpleasant < 1194133167 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: even worse in "lithp bot" < 1194133168 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> 2 < 1194133168 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194133173 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (2 2) < 1194133173 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194133175 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :WTF < 1194133179 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1194133179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1194133216 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133217 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (2 2) < 1194133217 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err)not callable: 2 < 1194133231 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lookie what i made: http://abacus.kwzs.be/~bsmntbombdood/book1.jpg < 1194133234 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :> (+ 1 2) < 1194133235 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err)unbound: + < 1194133237 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :book2.jpg, book3.jpg < 1194133239 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :> (add 1 2) < 1194133240 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err)unbound: add < 1194133249 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :jix: i said i didn't impl any functions yet < 1194133254 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it even has a elastic keep-closed strap and pocket in the back cover (not shown) < 1194133257 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the infrastructure is there though < 1194133576 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194133589 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133646 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> lambda < 1194133647 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :#native-function:1 < 1194133649 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1194133653 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1194133661 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (lambda () 2) < 1194133661 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194133668 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :typical < 1194133689 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133690 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (lambda () 2) < 1194133690 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1194133694 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1194133695 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1194133718 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194133750 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133751 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (lambda () 2) < 1194133751 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :#function:8 < 1194133753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (lambda () 2) < 1194133754 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :#function:e < 1194133755 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (lambda () 2) < 1194133755 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :#function:14 < 1194133763 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's... odd growth < 1194133763 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1194133771 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah, no < 1194133772 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's right < 1194133777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ((lambda () 2)) < 1194133777 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194133780 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ifgiushf < 1194133810 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :finally < 1194133810 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fixed < 1194133818 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194133821 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ((lambda () 2)) < 1194133822 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194133825 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1194133826 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ping < 1194133843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pong < 1194133845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (lambda () ((lambda () 2))) < 1194133845 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :#function:14 < 1194133848 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ((lambda () ((lambda () 2)))) < 1194133848 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1194133852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's rewritten < 1194133855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :niec < 1194133856 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1194133857 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ( < 1194133858 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194133864 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: lithpbot! < 1194133872 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (quote 2) < 1194133872 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unbound: quote < 1194133883 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no strings right now either < 1194133883 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> (def s (a) (lambda (b) (lambda (c) ((a c) (b c))))) < 1194133883 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194133887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> (def k (a) (lambda (b) a)) < 1194133887 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194133893 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1194133894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> (((s k) k) 3) < 1194133894 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait, what < 1194133894 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194133894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :asd. < 1194133900 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (2) < 1194133900 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) not callable: 2 < 1194133903 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ((2) 2) < 1194133903 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) not callable: 2 < 1194133906 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ((2 3) 2) < 1194133906 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) not callable: 2 < 1194133908 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :for my lisp textgen i used A* for the 2nd part... i wonder whether there is a better algoritm for that < 1194133912 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :better as in faster < 1194133912 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (((2 3) 2) 4) < 1194133913 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) not callable: 2 < 1194133930 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> (def s (a) (lambda (b) (lambda (c) ((a c) (b c))))) < 1194133930 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194133932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1194133933 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1194133938 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194133940 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my parser is borked, somehow < 1194133946 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i see, darn < 1194133950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1194133952 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no def right now < 1194133953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1194133956 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just lambda < 1194133968 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kay. < 1194133969 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :however < 1194133971 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can do this < 1194133971 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> 2 3 < 1194133972 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1194133981 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> ((lambda () 2)) (lambda () 2) < 1194133981 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :#function:7a < 1194133988 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i really need a gc < 1194133989 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1194134021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :> ((((lambda (a) (lambda (b) (lambda (c) ((a c) (b c))))) (lambda (a) (lambda (b) a))) (lambda (a) (lambda (b) a))) 8) < 1194134021 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134024 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1194134045 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :YOUR MOTHER IS AN UNMATCHED ( < 1194134045 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's broken! < 1194134046 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok! < 1194134058 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (abc def) < 1194134058 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134062 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (abc d) < 1194134062 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134064 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (a d) < 1194134064 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134066 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1194134083 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194134087 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION adds debug calls < 1194134094 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194134097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought just def was, but anyways, gotta sleep soon < 1194134105 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aww < 1194134109 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (a d) < 1194134110 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134128 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194134137 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: after i fix this, i'm doing def etc < 1194134140 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194134143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (a d) < 1194134144 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194134164 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we don't need no steeenking def < 1194134170 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well whatever < 1194134172 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :> 'a < 1194134172 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm fixing this atm < 1194134181 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1194134181 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: 1. it's gone 2. you mean (quote a) < 1194134186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3. quote isn't implemented yet < 1194134189 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1194134198 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol how can quote not be implemented yet < 1194134218 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how can it not not be? < 1194134239 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: the interp isn't that old < 1194134247 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's about an hour old < 1194134248 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1194134257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :interps grow quotes at about 3 hours old < 1194134262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lmao < 1194134323 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194134323 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, this has been studied already? < 1194134326 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (a d) < 1194134327 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134331 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sdfsdjfhsaidfh4i4thdkjbdkjgbxnckl;v < 1194134342 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :> ?1 < 1194134342 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unbound: ?1 < 1194134352 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :> wtf does this lithp have < 1194134352 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unbound: wtf < 1194134362 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :> (let ((x 1)) x) < 1194134362 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched ( < 1194134362 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it has core lisp stuff. < 1194134365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :shut up < 1194134367 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :THE PARSING IS BROKEN < 1194134367 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :THE PARSING IS BROKEN < 1194134370 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :^^^^^^^^^ < 1194134371 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I AM FIXING IN < 1194134372 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no shit < 1194134374 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*IT < 1194134379 0 :lithpbot!unknown@unknown.invalid QUIT :Remote closed the connection < 1194134386 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why do you think it keeps restarting! < 1194134392 0 :lithpbot!n=lithp@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1194134399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (a d) < 1194134399 0 :lithpbot!unknown@unknown.invalid PRIVMSG #esoteric :(err) unmatched (