< 1206230882 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :trying to come up with an idea........................................ < 1206231784 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It's a slow day < 1206232066 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :"human imagination can always outstrip the capabilities of machines."? < 1206232543 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206232552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: that's called "AI scares me" theory < 1206232560 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1206232573 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :maybe I should do something AI-ish < 1206232731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: the suicide rate over there is quite high < 1206232739 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i reccomend against doing anything ;) < 1206232763 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ehird you should give me ideas for a logic lang ~_~ < 1206233137 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :cool stuff http://www.cs.ru.nl/~freek/comparison/comparison.pdf < 1206233270 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: make it have just amb and some other primitive stuffaelr < 1206233275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then implement the rest in the language < 1206233279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(make the syntax extensible) < 1206233292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the base of the self-hosted lib should ideally look like crazy stuff < 1206233303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1206233304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :arb < 1206233316 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1206233316 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :amb < 1206233574 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1206233589 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :amb is implemented with call-with-current-continuation < 1206233606 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :and call-with-current-continuation is a specific case of the J operator? < 1206234215 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :wuz J? < 1206234221 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :post-composes a lambda expression < 1206234226 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :what does that, like, mea < 1206234227 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :n < 1206234519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: amb is just a backtracking operator < 1206234542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :amb(a,b,c...) means 'pick one argument from the ones i give you and return it' < 1206234548 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :you can't write amb without call-with-current-continuation < 1206234554 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :in scheme.. anyway.. < 1206234567 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :amb() means 'backtrack and try another argument to a previous amb. if we've tried everything on all of the ambs, yell about it and fail' < 1206234572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so e.g.: < 1206234590 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo = amb(1,2,3); if (foo < 3) then amb() < 1206234594 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo will end up being 3 < 1206234609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :since amb will backtrack until it doesn't get called with no arguments (or is out of arguments) < 1206234613 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :can you write amb in C with longjmp? < 1206234615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :note that it will try every amb in scope < 1206234619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: no. < 1206234623 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1206234629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it needs to call the continuation multiple times < 1206235442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: hmm, my amb in scheme isn't working < 1206235442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very odd < 1206235470 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :show me? < 1206235483 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: only after you look at this: http://homepage.mac.com/sigfpe/Computing/continuations.html < 1206235485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :continuations in C < 1206235486 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very simple < 1206235486 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a (stream based) Prolog in scheme the other day < 1206235514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes amb with it < 1206235526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for integers ;) < 1206235531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm wait < 1206235536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :any type < 1206235536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206235546 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :using a tagged union? < 1206235564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: no, using a typedef < 1206235564 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1206235568 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1206235571 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :heh ok < 1206235573 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :variadic functions in c must be at least one argument < 1206235595 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how unfortunate, still, simple solution < 1206235601 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :define _amb and make amb a macro < 1206235605 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a variadic macro, though, so c99 < 1206235613 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206235620 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#define amb(...) _amb(amb_dummy, __VA_ARGS__) < 1206235620 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1206235636 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why not just call it amb(...) and fail(); < 1206235655 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :the main reason 0 arg amb is good is because of apply < 1206235656 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: because it's va_start(ap, last_param) < 1206235688 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah wait < 1206235690 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :first arg == arg count < 1206235746 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: but you're right < 1206235747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1206235775 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :thats cool < 1206235778 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :the page you linked < 1206235781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1206235837 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :this is actually what goto is for though < 1206235924 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :goto <3 < 1206235956 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: can't do this with goto < 1206235964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this jumps across stack frames, and is just like scheme's call/cc < 1206235969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :recallable too < 1206235969 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1206235978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you could implement scheme using the c-stack then use that to provide call/cc < 1206236001 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so: very impressive, and practically useful too: schemes that go into c, into scheme, into c etc with their ffis generally only provide limited continuiations < 1206236004 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with this you can provide full continuations < 1206236046 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :i = 2; < 1206236046 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :redo0: j = 2; i++; < 1206236047 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :redo1: j++; if(j > i) goto redo0; < 1206236047 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :if(i*j != 483) goto redo1; < 1206236058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: that can't jump across stack frames. < 1206236063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ergo: no amb < 1206236064 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't need to < 1206236104 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I didn't mean goto is for implementing call-with-current-continuation < 1206236119 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I meant that goto is useful for nondeterminism < 1206236361 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: i am modernizing the code in that article < 1206236363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206236539 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: mmrhh, i hate handling malloc errors < 1206236549 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm tempted to just make people define CONT_MALLOC_FAILURE < 1206236549 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206236556 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1206236560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or make them provide a procedure to call on malloc fail < 1206236560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1206236763 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: heh, look at the exit(1) in that code < 1206236769 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a true example of 'offensive programming' < 1206236813 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am considering replacing it with: printf("You SUCK! Go to HELL!\n"); exit(666); < 1206236821 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1206236851 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :is that an else { /* this is impossible */ } ? < 1206236886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's an else { /* the programmer told us to restore the last continuation without making one in the first place. i hope his corpse is eaten by maggots. he is so stupid. */ } < 1206237033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% ./amb < 1206237033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You SUCK! Go to HELL! < 1206237035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well jeez. < 1206237215 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: take a look at my code? < 1206237234 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1206237241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/Ry3AsE59.txt cont.h < 1206237259 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/D3uMKQ39.txt cont.c < 1206237272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/beqVCL71.txt amb.c < 1206237275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :compile like: < 1206237278 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cc amb.c cont.c -o amb < 1206237414 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1206237423 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :1*4 != 8 < 1206237423 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :You SUCK! Go to HELL! < 1206237425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: yep < 1206237429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no idea why that's happening < 1206237434 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cries < 1206237442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as far as I can tell, the FAIL; in (argc == 0) should make it backtrack to the TRY < 1206237446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which pops an argument from arb's list < 1206237453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah wait < 1206237455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :need to argc-- < 1206237466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :before the TRY < 1206237468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :still happens though < 1206237565 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :get_context is returning NULL sometimes < 1206237571 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: yes < 1206237573 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1206237583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, wait < 1206237584 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric : cont_t *c = malloc(sizeof(cont_t)); < 1206237584 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric : long tos; < 1206237584 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric : if (!setjmp(c->registers)) { < 1206237585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's gcont that's the problem < 1206237587 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :is suspect < 1206237589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gcont is sometimes NULL < 1206237601 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :gcont = get_context() < 1206237602 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :when we do our FAIL < 1206237607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which causes it to yell at us < 1206237640 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: this kind of code is almost impossible to reason about because it copies data to the actual stack < 1206237649 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't think even gdb could handle it < 1206237658 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1206237659 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :typedef struct _cont { < 1206237659 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric : jmp_buf registers; < 1206237667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: most of that shizz is from the article < 1206237669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i just cleaned up the code < 1206237670 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :oh sorry nevermind < 1206237727 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :pbos[-i] ? :S < 1206237739 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I should read the whole thing .. < 1206237745 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :any single part of it looks wrong :p < 1206237749 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: the stack grows downwards < 1206237752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that's < 1206237754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*(pbos - i) < 1206238114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: on a plus note, the example code he gives works with my version < 1206238175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: have you noticed that his example resembles a generator? < 1206238181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :indeed, TRY is pretty much yield < 1206238187 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what a generator is < 1206238207 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: google it < 1206238214 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically it's a function that can return multiple times < 1206238216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :python example < 1206238230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :def all_ints(): i = 0; while True: yield i; i += 1 < 1206238243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo = all_ints(); foo.next() => 1; foo.next() = 2; ...etc... < 1206238322 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/EBPm5B37.txt < 1206238350 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why did I write != o O_o < 1206238393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: i'll try that < 1206238462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: yours works! yay! < 1206238481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :declarative C is totally awesome < 1206238504 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :yes :D < 1206238504 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: interestingly when i make his integer(m,n) function just integer() and unbounded (from 0) the factor program crashes < 1206238508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, not crashes < 1206238509 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but infiniloops < 1206238512 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1206238518 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to fix < 1206238532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: what is needed is a robust stack smashing library < 1206238534 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :it's like [(x,y,z) | x <- [0..], y <- [0..], x*y = z] < 1206238542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :loads of different archs, a comprehensive test suite < 1206238543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1206238551 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :infinite loops because it's dfs < 1206238559 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :[(x,y,z) | x <- [0..], y <- [0..x], x*y = z] -- problem solved < 1206238560 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then you can build stuff like this on top of it without worrying about fragile stack smashing < 1206238561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206238571 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why about the CLISP stuff Bruno wrote? < 1206238583 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :maybe you can use that, although it doesn't build on mac last time I tried < 1206238601 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :oh wait that's only the FFI part (not the other stuff) < 1206238740 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eek. my factor program jiust ate the worlds memory < 1206238755 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: for ffi we have libffi < 1206238756 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I prefer #define TRY(i) { amb_t e = i; if (!save_context()) { return e; } } < 1206238766 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: and that's less generic < 1206238772 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :then you can just go while (argc--) TRY(va_arg(ap, amb_t)); < 1206238772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my cont.h/cont.c are not tailored towards amb < 1206238790 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :take a type with it then < 1206238797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: no. name clashes. < 1206238833 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :it works < 1206238841 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :#define TRY(type, i) { type e = i; if (!save_context()) { return e; } } < 1206238853 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: not if i do TRY(type, e) it doesn't < 1206238910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: yay, i got my factor program working < 1206238999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: http://rafb.net/p/FoIwsu63.html < 1206239015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i might make it use gmp sometime, that would be cool < 1206239058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: oh, wait, that only factors into two numbers < 1206239063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :looks like this will be more in-depth than i thought < 1206239063 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1206239064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1206239072 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I wanna post amb to rosettacode < 1206239082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: uh, go ahead, but that continuation lib is biiig < 1206239089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :do i have to license it under anything? < 1206239093 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the continuation code ain't mine < 1206239095 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but the amb code is < 1206239232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: give me a cool thing to program using backtracking < 1206239280 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :generate magic squares in this way http://muaddibspace.blogspot.com/2008/01/generate-test-and-intertwine-aim-here.html < 1206239331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :too much code ;) < 1206239344 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1206239349 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It's easy < 1206239465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: http://en.wikipedia.org/wiki/Continuation i'm trying to implement 'test' here < 1206239609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: it's hard < 1206239615 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :in C? < 1206239623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: yes, using the cont.h funcions < 1206240245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: http://rafb.net/p/U9bYdU35.html fibonacci generator using cont.h < 1206240247 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :going for today, bye :) < 1206240254 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1206240380 0 :ehird!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206241996 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1206243080 0 :adu!n=andrew@pool-71-178-14-80.washdc.fios.verizon.net JOIN :#esoteric < 1206243737 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206244751 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1206244758 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :there's a bug in that amb in C thing < 1206244772 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Solution : Destroy all humans < 1206251872 0 :cherez!n=cherez@CPE-69-76-143-134.kc.res.rr.com JOIN :#esoteric < 1206254874 0 :shinkuzin!unknown@unknown.invalid QUIT :Connection timed out < 1206255892 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1206257975 0 :adu!unknown@unknown.invalid QUIT :Remote closed the connection < 1206258346 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1206259199 0 :clog!unknown@unknown.invalid QUIT :ended < 1206259200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1206271399 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1206278810 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1206279769 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206280176 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206283398 0 :marshmallows!unknown@unknown.invalid QUIT :"Leaving" < 1206283992 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206287909 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206288257 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206289778 0 :cherez!n=cherez@CPE-69-76-143-134.kc.res.rr.com JOIN :#esoteric < 1206290247 0 :p3k!n=p3k@213.129.249.42 JOIN :#esoteric < 1206290301 0 :p3k!unknown@unknown.invalid QUIT :Client Quit < 1206290309 0 :p3k!n=p3k@213.129.249.42 JOIN :#esoteric < 1206290909 0 :jix!n=jix@dyndsl-091-096-028-184.ewe-ip-backbone.de JOIN :#esoteric < 1206292722 0 :Judofyr!unknown@unknown.invalid QUIT : < 1206293076 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206293175 0 :p3k!unknown@unknown.invalid QUIT : < 1206293220 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206295895 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1206296114 0 :Judofyr!n=Judofyr@c0F9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1206296641 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1206298311 0 :Judofyr_!n=Judofyr@c0F9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1206299234 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1206299471 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206299491 0 :Slereah!n=slereah@ANantes-252-1-82-215.w81-48.abo.wanadoo.fr JOIN :#esoteric < 1206300148 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1206300315 0 :atsampson!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1206300451 0 :atsampson!n=ats@7hw.poik.net JOIN :#esoteric < 1206301731 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :From the Latin wikipedia : < 1206301732 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : printf("Salve, munde!\n"); < 1206301733 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1206301757 0 :timotiis!unknown@unknown.invalid PRIVMSG #esoteric :that is so goign to be what I use for hello world programs now < 1206301913 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Ludus Vitae est ludus mathematicus ab Anglico mathematico Iohanne Conway inventus. < 1206301916 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1206301917 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Cute. < 1206302250 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206303266 0 :SimonRC_!n=sc@fof.durge.org JOIN :#esoteric < 1206303343 0 :SimonRC!unknown@unknown.invalid QUIT :Read error: 111 (Connection refused) < 1206304142 0 :Judofyr_!unknown@unknown.invalid NICK :Judofyr < 1206304951 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206305294 0 :jix!n=jix@host-091-096-145-187.ewe-ip-backbone.de JOIN :#esoteric < 1206306287 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206307112 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1206308212 0 :Judofyr!unknown@unknown.invalid QUIT : < 1206309357 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Iota Jot and Zot makes me think of Rice Crispies. < 1206309451 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :http://kuvaton.com/kuvei/sparta2.jpg wow i found a movie reference joke funny < 1206309464 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :slightly < 1206309475 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1206309492 0 :Corun!n=Corun@cpc1-rdng15-0-0-cust168.winn.cable.ntl.com JOIN :#esoteric < 1206309539 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: that would make a great cereal < 1206309640 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1206309703 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :The three combinator elves. < 1206309901 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :"During World War II they posed patriotically in military clothing, urging consumers to "Save Time, Save Fuel, Save Work"." < 1206309912 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Delicious propaganda. < 1206313054 0 :Judofyr!n=Judofyr@c0F9CBF51.dhcp.bluecom.no JOIN :#esoteric < 1206313254 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1206316259 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1206316465 0 :Judofyr!unknown@unknown.invalid QUIT :