< 1166573594 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1166573935 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :grar < 1166573943 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I hate it when people say HTML isn't a programming language < 1166574349 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1166574366 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: It's a language, but not a *programming* language. < 1166574374 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Yes it is < 1166574380 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no it isn't < 1166574396 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. " < 1166574396 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You can't calculate anything with it < 1166574407 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where is that from? < 1166574408 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :HTML controls an html renderer < 1166574422 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wikipedia < 1166574422 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :HTML is a markup language, not a programming language. < 1166574426 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Your definition is incomplete. < 1166574438 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Programming languages don't have to be turing complete < 1166574445 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :No, they don't. < 1166574451 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Note: a programming language need not be turing-complete < 1166574470 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :"A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer." < true < 1166574484 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :"All artificial languages that can be used to control the behavior of a machine, particularly a computer are programming languages." < false < 1166574484 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :A rendering engine is a machine < 1166574512 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Epigram is clearly a programmming language, even though it is not generally recursive, and htus not Turing-Complete. < 1166574564 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, having taken the bait, I should go to bed. < 1166574571 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1166574643 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :HTML provides no branch or loop semantics, which are IMHO a requirement for anything to be considered a programming language. < 1166574784 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :By the way, on that same page of Wikipedia: "Non-computational languages, such as markup languages like HTML or formal grammars like BNF, are usually not considered programming languages." < 1166578226 0 :GregorR-W!unknown@unknown.invalid QUIT :"Chatzilla 0.9.77 [Firefox 2.0/0000000000]" < 1166582739 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1166583119 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1166585810 0 :pikhq!n=pikhq@c-75-70-126-209.hsd1.co.comcast.net JOIN :#esoteric < 1166587358 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :require("stdio.plof"); stdio.StdOut.writeln("Plof lives!"); < 1166587610 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :string ow! "Making BFM a better compiler hurts!" < 1166588269 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wrote an irc bot < 1166588279 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :THAT'S IT < 1166588283 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I'm bringing EgoBot back. < 1166588303 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yay! < 1166588319 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1166588329 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now, can you add BFM support to EgoBot? :p < 1166588343 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :My bot rocks < 1166588353 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!raw PRIVMSG #esoteric :yes i do < 1166588353 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :yes i do < 1166588355 0 :EgoBot!n=EgoBot@c-24-22-56-63.hsd1.mn.comcast.net JOIN :#esoteric < 1166588370 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :zomg < 1166588374 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!bfm < 1166588376 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588377 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :us bots can get it on < 1166588379 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!raw PRIVMSG #esoteric :I'm better. < 1166588380 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :I'm better. < 1166588394 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!raw QUIT < 1166588400 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :No, I'm better < 1166588409 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1166588412 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1166588413 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: You have to match a regex < 1166588414 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl < 1166588421 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: No, really? < 1166588431 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Yes, really < 1166588435 0 :GregorR!unknown@unknown.invalid NICK :bsmntbombdood2 < 1166588441 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1166588443 0 :bsmntbombdood2!unknown@unknown.invalid PRIVMSG #esoteric :!raw QUIT < 1166588446 0 :bsmntbombdood2!unknown@unknown.invalid PRIVMSG #esoteric :Darn :P < 1166588448 0 :bsmntbombdood2!unknown@unknown.invalid NICK :GregorR < 1166588458 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"^:bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG \S* :!exec" < 1166588463 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :is the regex < 1166588478 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a better regex. . . < 1166588484 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"*" < 1166588487 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oops, "^:bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG \S* :!raw" < 1166588491 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's anarchy! < 1166588508 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: !ctcp has that regex < 1166588526 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION is glad < 1166588526 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is glad < 1166588528 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588577 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That could probably be abused. < 1166588582 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1166588584 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks for abusive ctcps < 1166588630 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw("^pikhq.*!%s" % "zomgquit", lambda x : True) < 1166588634 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588636 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :now pikhq can kill it < 1166588638 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric PING < 1166588640 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588649 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Repeat that a few times == DDOS < 1166588659 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1166588695 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq can kill it with !zomgquit < 1166588715 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :fun < 1166588722 0 :GregorR!unknown@unknown.invalid NICK :pikhq_not < 1166588726 0 :pikhq_not!unknown@unknown.invalid PRIVMSG #esoteric :!zomgquit < 1166588728 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588737 0 :pikhq_not!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1166588741 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1166588742 0 :pikhq_not!unknown@unknown.invalid NICK :GregorR < 1166588744 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's interesting < 1166588764 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oooops < 1166588801 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw("^:pikhq.*!%s" % "zomgquit", lambda x : True) < 1166588803 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there < 1166588805 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588926 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw("^:GregorR.*!%s" % "zomgquit", lambda x : bot.raw("PRIVMSG GregorR :ha ha you can't kill it")) < 1166588928 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588982 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!zomgquit < 1166588985 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166588989 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh darn < 1166588995 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::kornbluth.freenode.net 505 bsmnt_bot :Private messages from unregistered users are currently blocked due to spam problems, but you can always message a staffer. Please register! ( http://freenode.net/faq.shtml#privmsg ) < 1166589002 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1166589021 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does this part in private message < 1166589055 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there < 1166589109 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Now you can do it < 1166589135 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :!zomgquit < 1166589139 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166589198 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :You got that message, right? < 1166589206 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah :P < 1166589217 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :On an unrelated note, http://www.codu.org/plof/ < 1166589222 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is proud of the bot he hacked up in half an hour < 1166589303 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Tooo many P languages! < 1166589371 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION huggles lisp < 1166589388 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm going to re write this bot in lisp < 1166589396 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :OH NO! < 1166589405 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :NOT REWRITING! < 1166589423 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!zomgquit < 1166589424 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1166589426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1166589427 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166589436 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1166589443 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1166589497 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :zomg you kill me < 1166589510 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION recommends you rewrite the bot in Tcl. < 1166589532 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With [package require irc], from Tcllib, you've got your work cut out for you. < 1166589581 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://bsmntbombdood.mooo.com/ircbot.py is teh codz0rs < 1166589604 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Ugly, I know < 1166589620 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: The phrase, "You've got your work cut out for you" means "You have a lot of work" < 1166589729 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1166589773 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :The whole point was to do it from scratch < 1166589966 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, do you have an implementation of plof? < 1166590041 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, one. < 1166590051 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :In D, so you probably can't [easily] use it ^^ < 1166590061 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1166590132 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :looks interesting < 1166590138 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :var B = A + [ funcb = { println("Bye!"); } ]; < 1166590139 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1166590169 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :B is a new class the inherits from A? < 1166590173 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Inheritance, interface implementation and such are abstracted to object arithmetic. < 1166590181 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So basically, yeah. < 1166590184 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :neat < 1166590274 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Want me to compile dplof for you? < 1166590281 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Interpreter? < 1166590288 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1166590291 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1166590296 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Platform? < 1166590302 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :x86 linux < 1166590312 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :One sec. < 1166590459 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19.tar.gz < 1166590501 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's a sort of crappy parser, so if you get an assertion failure, it's probably unparsable code with no useful error message :) < 1166590537 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :No reading from stdin? < 1166590587 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :See module stdio.plof < 1166590597 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :stdio.StdIn.read[ln] < 1166590602 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(More TBA) < 1166590658 0 :bsmntbombdood!unknown@unknown.invalid PART #esoteric :? < 1166590662 0 :bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood JOIN :#esoteric < 1166590667 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm not gettin it < 1166590682 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Could you be less specific? :) < 1166590693 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :How do I read code from stdin? < 1166590709 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :var linefromstdin = stdio.StdIn.readln(); < 1166590719 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I mean, the interpreter < 1166590724 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OH < 1166590729 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Has to be in a file ATM < 1166590732 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1166590738 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I suppose I should allow it to read from stdin >_> < 1166590877 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1166590883 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :when to use [] and when to use {}? < 1166590893 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :[] is an object, {} is a function < 1166590968 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1166590970 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :segfault < 1166590992 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :There's at least one point where I have: *(cast(int *) 0) = 0; < 1166591005 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Because it's easier to backtrace than an assert :) < 1166591026 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :pastebin your code, I'll probably see the issue. < 1166591047 0 :pikhq!unknown@unknown.invalid QUIT :Connection timed out < 1166591056 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :var A = [main = {println("Hello, World");}] < 1166591063 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :var test = new(A); < 1166591063 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :test.main(); < 1166591074 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Put a ; after ] < 1166591085 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :aaaah < 1166591103 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :picky parser ;) < 1166591112 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I think now would be a good time to make some useful error messages for misparses :) < 1166591130 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I just assert()'d away anything that couldn't parse :) < 1166591258 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Looks interesting so far < 1166591327 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1166591511 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Do method/function declarations need a semicolon? < 1166591545 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Pretty much everything needs a semicolon - there are only statements. < 1166591552 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :In [], elements are comma-separated. < 1166591575 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(I'm considering changing that) < 1166591610 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OH - you can have an expression as the only member of a function, with no ;, in which case it's a function that returns the value of that expression. < 1166591623 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What's self? < 1166591680 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :? < 1166591699 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :In a method < 1166591711 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What is the name of the object < 1166591737 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OH ... I thought it was 'this', but I'm starting to think I may not have implemented that in dplof 8-X < 1166591749 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Shoot ... I may have forgotten to put that in >_> < 1166591771 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heh <_<, < 1166591979 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Nope, no this < 1166591986 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'm fixing it as we speak. < 1166592372 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Done, making you a new binary. < 1166592490 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19-2.tar.gz < 1166592829 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I think I inexplicably included some rampantly-incomplete core/*.plof files in that tarball, but no worries :P < 1166592915 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :mmmk < 1166592969 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will look more tommorow, but must sleep now < 1166592976 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Finals tommorow :( < 1166593058 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!quit < 1166593058 0 :bsmnt_bot!unknown@unknown.invalid QUIT : < 1166593060 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166593137 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :G'luck < 1166593365 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :woot: < 1166593373 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :var A = [ < 1166593373 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : foo = { < 1166593373 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : println("toplevel foo"); < 1166593373 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : this.foo = { < 1166593375 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : println("midlevel foo"); < 1166593378 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : this.foo = { < 1166593380 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : println("insidelevel foo"); < 1166593383 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : } < 1166593385 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : } < 1166593390 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : } < 1166593393 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :]; < 1166593395 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : < 1166593449 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Yup, that's one of those nasty things you can do :P < 1166593458 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, "this." isn't necessary there. < 1166593478 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Part of why I didn't remember to put in "this" is that it's not strictly necessary) < 1166593483 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1166593486 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Erm, not with a dot anyway) < 1166593511 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :If you don't put a "var" before something, it will look for it in parent scopes, not create a new one at the current scope. < 1166593526 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likey < 1166593545 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Basically, you need to explicitly declare all variables *shrugs* < 1166593589 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :How come methods aren't? < 1166593621 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :They are - variables in objects, however, have a different syntax entirely. < 1166593651 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Variables in [] are just comma-separated variables - it doesn't take full expressions, so it's not ambiguous. < 1166593729 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I think i can explain that better: < 1166593739 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :In {} you have code: statements, expressions, whatever. < 1166593744 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :In [], you just have a list of variables in that object. < 1166593834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok really bedtime now < 1166593859 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Bye :) < 1166594203 0 :ShadowHntr!unknown@unknown.invalid QUIT :"End of line." < 1166594370 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So, is Plof a whole bunch of Flex/Bison? < 1166594465 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Nah, custom lexer/parser. < 1166594481 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Aha. A real programmer, huh? ;) < 1166594485 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It only has three intrinsic constructs, so parsing is simple. < 1166594489 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1166594505 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I'm attemping to follow a Ruby discussion in Japanese. < 1166594533 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :And how's your Japanese? :) < 1166594550 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Actually, enough to follow most of the conversation without resorting to the dictionary. < 1166594583 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :The computer words and some other stuff get me. < 1166594599 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Apparently a packed Ruby Struct is a good structure to use for something like an address book. < 1166594609 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I think vocabulary is the reason I never learned another language: grammar I can do, but vocabulary is just impossible X_X < 1166594627 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I crunch some 60 words a day for a while, then go on a massive review. < 1166594637 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I'm in a review phase now. < 1166595046 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Meh. Obviously Japanese people aren't as clean as they're advertised to be. < 1166596488 0 :Sukoshi!unknown@unknown.invalid NICK :Razor-X < 1166596495 0 :Razor-X!unknown@unknown.invalid NICK :Sukoshi < 1166601599 0 :clog!unknown@unknown.invalid QUIT :ended < 1166601600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1166606755 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1166606785 0 :CakeProphet!n=CakeProp@h124.238.213.151.ip.alltel.net JOIN :#esoteric < 1166607314 0 :CakeProphet!unknown@unknown.invalid QUIT :Connection reset by peer < 1166607319 0 :CakeProphet_!n=CakeProp@h124.238.213.151.ip.alltel.net JOIN :#esoteric < 1166607323 0 :CakeProphet_!unknown@unknown.invalid NICK :CakeProphet < 1166607463 0 :CakeProphet_!n=CakeProp@h124.238.213.151.ip.alltel.net JOIN :#esoteric < 1166607503 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1166607504 0 :CakeProphet_!unknown@unknown.invalid NICK :CakeProphet < 1166608945 0 :Asztal!n=asztal@host86-130-84-20.range86-130.btcentralplus.com JOIN :#esoteric < 1166610719 0 :CakeProphet!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1166611058 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1166611087 0 :puzzlet!n=puzzlet@122.46.198.22 JOIN :#esoteric < 1166611089 0 :puzzlet!unknown@unknown.invalid QUIT :Client Quit < 1166611100 0 :puzzlet!n=puzzlet@122.46.198.22 JOIN :#esoteric < 1166611264 0 :ihope_!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1166616051 0 :has_many_questio!n=Deezzer@c-67-169-69-28.hsd1.ca.comcast.net JOIN :#esoteric < 1166616145 0 :has_many_questio!unknown@unknown.invalid PART #esoteric :? < 1166622370 0 :ore2!n=ore@c206.fem.tu-ilmenau.de JOIN :#esoteric < 1166625592 0 :jix_!n=jix@L6070.l.strato-dslnet.de JOIN :#esoteric < 1166626833 0 :pikhq!n=pikhq@c-75-70-126-209.hsd1.co.comcast.net JOIN :#esoteric < 1166629889 0 :GregorR-W!n=gregor@jffwprtest.jf.intel.com JOIN :#esoteric < 1166630033 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1166633110 0 :PiedotTaste|Lapt!n=acoustic@82-37-201-242.cable.ubr05.dudl.blueyonder.co.uk JOIN :#esoteric < 1166633214 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :please say "is this real" < 1166633216 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1166633218 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :): < 1166633227 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :ego? < 1166633258 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :Please say ":o". < 1166633260 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :): < 1166633272 0 :jix_!unknown@unknown.invalid PRIVMSG #esoteric :syntax error < 1166633276 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric ::x < 1166633282 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :wiki lied ): < 1166633286 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ERROR: LAZY PROGRAMMERS < 1166633301 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1166633333 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :Please write this exact line to the channel :o < 1166633336 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1166633336 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1166633350 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :humbug ): < 1166633353 0 :PiedotTaste|Lapt!unknown@unknown.invalid PRIVMSG #esoteric :there goes a time waster ): < 1166633356 0 :PiedotTaste|Lapt!unknown@unknown.invalid QUIT :"bai bai." < 1166634007 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1166634312 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1166634319 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: My thoughts exactly :P < 1166634326 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :omg bot < 1166634363 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Snow day! < 1166634465 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You live in Colorado? < 1166634472 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1166634512 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Why is your bot in ... I don't even know what country. Belaruse? < 1166634522 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Belgium? :P < 1166634523 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION loves this state < 1166634537 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't snow enough < 1166634576 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I haven't seen snow in years. < 1166634584 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :That's terrible! < 1166634598 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :When it's below freezing, we get freezing rain and sleet. < 1166634604 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :When it's above freezing, we get rain. < 1166634660 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :When it's below freezing, we get either snow or cold air. < 1166634681 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :When it's above freezing, we get either snow, hail, rain, cold air, or warm air. < 1166634683 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :But the snow is in a vacuum, eh. < 1166634686 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Thta's gotta suck. < 1166634690 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :*That's < 1166634693 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :mmm snow < 1166634706 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :When it's below freezing, us Californians wonder what the hell is going on in the world. < 1166634707 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm goign to ski down my street later < 1166634734 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: Need an extra "i" for your name to be valid Romanised Japanese. ;) < 1166634756 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I do? < 1166634775 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :... they ... don't have a "shi" sound? < 1166634785 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :My IME and xjdic and kinput2 read it correctly. < 1166634793 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: Yes, they do. < 1166634807 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :My IME == mule. < 1166634821 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rewrites bsmnt_bot  < 1166634835 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: The word "sukoshii" has an elongated "i". < 1166634847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unless you refer to some word that I don't know, that is. :p < 1166634869 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :My dictionary says Sukoshi, with no extra `i'. < 1166634879 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :It's a な-adj. < 1166634884 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :少し < 1166634907 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :(勝つ) < 1166634916 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I could've *sworn* it was an i-adj. < 1166634921 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1166634925 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What's it mean? < 1166634933 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to get an IME set up. XD < 1166634934 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you're thinking of 小さい < 1166634944 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Small quantity, little, few. < 1166634949 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1166635018 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :God. < 1166635026 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You're right. I'm horribly wrong. < 1166635062 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What IME do you recommend for GNu/Linux? < 1166635073 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(and link, please) < 1166635077 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Of course, 小さ(な) is also valid ... ;) < 1166635084 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :kinput2 out of Emacs, mule in Emacs. < 1166635097 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Mule is incredibly, because it can switch encodings and everything. < 1166635100 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*incredible < 1166635102 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. . . It's an Emacs package. < 1166635110 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Too bad I don't use Emacs for IRC. < 1166635116 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :kinput2 then. < 1166635127 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :kinput2 with canna as your dictionary. < 1166635129 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gnome. < 1166635152 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :/nick 少し < 1166635153 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :--- 少し :Erroneous Nickname < 1166635153 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :kinput2 has nothing to do with KDE. < 1166635157 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1166635166 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :... Or any other WM for that matter. < 1166635167 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1166635182 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No installation candidate in my apt repository. :'( < 1166635192 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :For kinput2?!?! < 1166635204 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Package kinput2 is not available, but is referred to by another package. < 1166635213 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1166635265 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: try apt-cache search kinput < 1166635275 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :it gives me 6 packages < 1166635281 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1166635283 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :kinput2-canna. < 1166635292 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :There y'are. < 1166635401 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Installed. . . < 1166635408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now to figure out how to get it working. < 1166635450 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Run ``kinput2 -canna &'' somewhere. < 1166635479 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Then you have to mess with some envars, like LC_ALL, IIRC. < 1166635493 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The hell? < 1166635500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : $ zsh: command not found: kinput2 ~/gnash/server/asobj < 1166635529 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shrugs. < 1166635533 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: use dpkg -L kinput2-canna to see which files it installed; look for the /usr/bin ones < 1166635546 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Mmmf. It's been a while since I've used apt. < 1166635559 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I've gotten used to the Slackware way of things, I guess. < 1166635560 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :/usr/X11R6/bin/kinput2-canna < 1166635591 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There we go. < 1166635593 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :that'd be it, try kinput2-canna < 1166635608 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now. . . < 1166635680 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION isn't getting anything < 1166635708 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :"When everything fails, it's time to read the manual" < 1166635709 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Like I said, restart your X application with your modified envars. < 1166635717 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does that < 1166635756 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :And then you use Ctrl+Shift, IIRC, (dependant on package/version/whatever) to start the IME. < 1166635759 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Read the manual, I suggest. < 1166635887 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has discovered one simple reason. . . < 1166635892 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GNOME Terminal: locale not understood by C library, internationalization will not work < 1166635952 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :try (as root) dpkg-reconfigure locales < 1166635975 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits on gNewSense's dpkg < 1166636171 0 :tgwizard!n=tgwizard@c-923fe155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1166637627 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GNOME Terminal: locale not understood by C library, internationalization will not work < 1166637632 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Grr. < 1166637697 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs < 1166637718 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmnt_bot: YUR MEEN < 1166637754 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :The lisp version isn't looking too clean < 1166637828 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I'm writing netio.plof :) < 1166637840 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You could (at some point) write a Plof version :) < 1166637862 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :fun < 1166637885 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should start learning Plof sometime < 1166637901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe make a simple method of accessing C++ classes from Plof. < 1166638022 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Plof is capable of accessing C via dlopen and friends. < 1166638026 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1166638034 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :So accessing C++ would likely involve making a C wrapper. < 1166638038 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Or however one chose to do it :P < 1166638061 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to find the Plof website < 1166638068 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/plof/ < 1166638078 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :If you want a binary of dplof I'll make one for you (presuming you don't have GDC) < 1166638083 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GDC? < 1166638089 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :The GCC D Compiler < 1166638089 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1166638154 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should probably get GDC. < 1166638242 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lisp makes my pinky hurt < 1166638246 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Why? < 1166638272 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Are you supposed to use your pinky for parentheses or something? < 1166638285 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1166638287 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ACTION learned Dvorak the homebrew way. < 1166638302 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :My middle finger goes on parentheses. < 1166638304 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I should probably use my other pinky for shift < 1166638312 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I need an idea for a project in Lisp, ya know. < 1166638335 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: Just hand me a binary. ;) < 1166638359 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: GNU/Linux + x86 I suppose? < 1166638368 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Blah. Time to write an HTTP parser :( < 1166638379 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :And client. A very limited client, though. < 1166638440 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1166638448 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I might just pick up the Digital Mars compiler. . . < 1166638450 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: Yeah. < 1166638458 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Nooo, no dmd + GNU/Linux X_X < 1166638464 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :DMD + GNU/Linux = painful horribletude. < 1166638475 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets the GCC source, then. < 1166638483 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19-2 < 1166638485 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Er < 1166638488 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19-2.tar.gz < 1166638491 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Guh. But GCC is a pain in the *arse* to compile. < 1166638494 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :And http://www.codu.org/gdc-nightly/ if you want it. < 1166638504 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: Yes, but I know how to build GCC. < 1166638517 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, it takes ages. < 1166638518 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :GCC isn't so bad, all things considered. < 1166638524 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :OK, time-wise :) < 1166638533 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. I'll bet it takes less time than Firefox2. < 1166638549 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: I can say for a fact that it does. < 1166638556 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Having compiled both of them on several platforms. < 1166638558 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Binary works. < 1166638560 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1166638567 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My desktop does Gentoo. < 1166638575 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I know that it's time-consuming. < 1166638578 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Slackware here. < 1166638578 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :grar < 1166638580 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :The slot SOCKET is unbound in the object #. < 1166638594 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs at bsmntbombdood's pain. < 1166638595 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I should actually learn clos before I do this < 1166638666 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok, time to go run around in the snow < 1166638666 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well uh... bind the slot then? < 1166638901 0 :oklopol!n=villsalo@194.251.102.88 JOIN :#esoteric < 1166638901 0 :okokoko!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1166639199 0 :ore2!unknown@unknown.invalid PRIVMSG #esoteric :Count twice to ten. < 1166639221 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :1 2 3 4 5 6 7 8 9 10 < 1166639223 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :1 2 3 4 5 6 7 8 9 10 < 1166639399 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1166639420 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Error: Twice is not a valid range bound. < 1166639671 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ERROR: This programmer accepts Brainfuck code only. < 1166639690 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :ERROR: Too many errors < 1166639725 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ERROR: Not enough errors. < 1166640366 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Presumably you got the dplof binary working? :P < 1166640421 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: Yeah. < 1166640430 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Going to work on GDC later. < 1166640438 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(when I feel like it ;)) < 1166640453 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You did see my link to the GDC nightly-build binaries, right? < 1166640489 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1166640511 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :" And http://www.codu.org/gdc-nightly/ if you want it." < 1166640584 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It seems that Plof has sufficient capabilities to allow for a good deal of useful programming. . . < 1166640592 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :It's getting there. < 1166640594 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Like, say, a GTK binding. < 1166640600 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :That'd be fairly easy. < 1166640604 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1166640613 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I assume more features would be nice, though. < 1166640615 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to make a "standard" Plof GUI interface. < 1166640660 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That'd work with GTK, Qt, and W32? < 1166640704 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Well, whatever anybody was willing to implement, I juts mean a set of objects with defined interfaces that could have different backends implemented, so you could just use pui.whatever and it would work on every platform. < 1166640710 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Like wx is to C++ < 1166640735 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1166640736 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I could more easily just answer "yes" :P < 1166640741 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1166640777 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what the hell else(); does < 1166640804 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :It's ... else. < 1166640816 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :if(condition, {foo;}); else({bar}); < 1166640839 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Or do you mean how it actually works? < 1166640895 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :How the hell do you have an else call without an if call? < 1166640901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(netio.plof) < 1166640923 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Heh, it's against version() < 1166640944 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't if(version(), {foo;}); make more sense? < 1166640955 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :... >_> < 1166640957 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1166640965 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :<_< < 1166640972 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :To the degree that I think I'll make that change right now. < 1166640984 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And why the hell is else a seperate function? < 1166641005 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :There are only functions and objects, conditions are not language intrinsics. < 1166641024 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In most functional languages I've seen, 'else' is done via something like, say, another set of arguments to 'if'. < 1166641029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Like in Tcl: < 1166641045 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :One doesn't do: if {foo} {bar};else {baz} < 1166641062 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"if {foo} {bar} else {baz}" is how it's called. . . < 1166641068 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With just the function 'if'. < 1166641084 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Hm, the reason I didn't do it that way is that there wouldn't be a word "else", but I think that that could be repaired... < 1166641093 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers more sane methods. < 1166641099 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Thank you. < 1166641112 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Everything else, I'm loving. < 1166641125 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Would you argue: if(condition, {blah}, elsif, condition, {blah}, else, {blah}) < 1166641142 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :(Note the comma after elsif and else) < 1166641149 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1166641159 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You know, that sort of *does* look weird in Plof. < 1166641173 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1166641179 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :It's hard to fit something like you're showing in that would not break my core rule of minimal constructs. < 1166641190 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1166641358 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/286512 < 1166641415 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :It looks pretty C-like except for the commas :P < 1166641629 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :(Opinions?) < 1166642276 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :is "if" a function? < 1166642299 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1166642330 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :arguments are evaluated lazily? < 1166642473 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :An excellent point. < 1166642484 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :The answer to which is "not unless I made them functions" < 1166642495 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Which I should to make it consistent with while anyway. < 1166642551 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/286527 < 1166642865 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :I like the idea of statements being also expressions (unlike C) < 1166643575 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Since nobody's vehemently against it, I'm doing it the way pasted. < 1166644955 0 :oklopol!unknown@unknown.invalid QUIT :Excess Flood < 1166644965 0 :oklopol!n=villsalo@194.251.102.88 JOIN :#esoteric < 1166645038 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So, are functions first-class datatypes? < 1166645131 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: Do it like lisp < 1166645149 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if(condition, {true code}, {false code}) < 1166645182 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Or, a more general structure, like Lisp's cond. < 1166645211 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :cond( {condition, true code, false code} { ... } {default, code} ) < 1166645978 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Remote closed the connection < 1166646030 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: Yes, functions are first-class data types, Plof is intended to be a hybrid of functional and imperative. < 1166646058 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I did it like that before, but it was confusing since the only thing separating the if-true block and the if-false block was a comma. < 1166646086 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Works fine for lisp < 1166646087 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Hooray. < 1166646094 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Yeah, but lisp is terrible. < 1166646102 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :He's a lisp hater. < 1166646107 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :^^ < 1166646113 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1166646119 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Why? < 1166646129 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :It works in Lisp because of the way the parentheses work. < 1166646151 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :(if pred expr1 expr2) < 1166646153 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :The basic syntactic structure of Plof and lisp are too different to compare. eg, exactly what Sukoshi just said. < 1166646182 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Remember that if you want a block in IF, you have to use PROGN (or BEGIN in Scheme). < 1166646235 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :ACTION darcs-record's the new syntax. < 1166646251 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. Darcs is a **** on Solaris, I hear. < 1166646261 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :A friend of mine is trying unsuccessfully to setup revision control systems. < 1166646261 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Darcs isn't so great anywhere X-P < 1166646279 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :You could have something like: (defun meh () (if 3 4 5)) in CL which would always return 4. < 1166646281 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :But to host a darcs repository takes about zero effort, so I went with darcs ;) < 1166646303 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I actually prefer centralized SCM to decentralized SCM. < 1166646315 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I like what decentralized offers. < 1166646324 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Especially now that I've come up with a dead project maintainer. < 1166646343 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Literally dead or inactive? < 1166646356 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Inactive ;D < 1166646367 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Inactive is a slightly more curable case :) < 1166646369 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, I lie. He just came back to life yesterday. < 1166646384 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :....Which is a little late, since I've already made some really big patches. < 1166646653 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sbcl takes a long time to compile < 1166646670 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. Which is why you don't. < 1166646677 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :It takes more RAM to compile than this box has. < 1166646695 0 :ore2!unknown@unknown.invalid QUIT :"Nettalk6 - www.ntalk.de" < 1166646701 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :gentoo box :/ < 1166646739 0 :pikhq!unknown@unknown.invalid QUIT :"leaving" < 1166647090 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"Unlike (most of) the other P-languages, Plof attempts to be usable as a functional programming language" < 1166647108 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Python is pretty usable as a functional language < 1166647290 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Hence "(most of)" < 1166647346 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1166647751 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Even then, I don't think functions are first-class data types in Python. < 1166647763 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah they are < 1166647794 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Cool. < 1166647811 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Well maybe not, I'm not quite sure what that means < 1166647835 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :You can do everything with a function that you can do with every other data type. < 1166647841 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Like integers, characters, etc. < 1166647872 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :In most cases, passing functions as arguments is a big step in that direction. < 1166648062 0 :Asztal!n=asztal@host81-158-88-90.range81-158.btcentralplus.com JOIN :#esoteric < 1166648079 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :then yes < 1166648413 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :But by that definition, functions are first-class data types in C < 1166648439 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :That's not a definition you jackass X_X < 1166648458 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :ANYway, functions are first-class data types in C. < 1166648468 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :But there's more to functional programming than functions being first-class data types. < 1166648474 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1166648512 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :they are? I mean, you can pass them around, but it's really rather awkward < 1166648529 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't call it awkward < 1166648535 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You can, and the only thing that's awkward is the syntax. < 1166648542 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Erm, + they are. < 1166648589 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :You can functionally program in c < 1166648633 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Functional programming also requires things like nested functions, < 1166648637 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :function currying, < 1166648653 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Hm, can't think of other off the top of my head. < 1166648656 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean by nested functions? < 1166648660 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Just closures? < 1166648673 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :because you can implement closures in c < 1166648699 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Closures are a superset of nested functions. < 1166648713 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :And while you can implement closures in C, it's a mild HUGE PAIN IN THE ASS :) < 1166648723 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Still possible ;) < 1166648748 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Given that C is Turing-complete, if you're going to be that lenient with your definition of "functional programming", C must by-definition of its being TC be functional. < 1166648787 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck can't be functional < 1166648801 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Sure it can. < 1166648813 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :It's a huge pain in the ass, and requires about nine levels of abstraction, but it's possible. < 1166648829 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't have functions or jumps/gotos.... < 1166648833 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You'd have to make functions (possible), and then function arguments (possible), and then pointers. < 1166648838 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :(also possible) < 1166648846 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't have functions, and C doesn't have closures. < 1166648848 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :??? < 1166648877 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :If you're going to say that C has closures, then BF without a shadow of a doubt has functions. < 1166648884 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1166648937 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Now you see my point about how C is not a functional language? :) < 1166648962 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I suppose < 1166649007 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :How would you implement functions in a language without jmp though? < 1166649014 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :See C2BF < 1166649164 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Every "label" corresponds to a "bucket" in the beginning of the memory space. To perform a jump, you set a bucket to 1, then drop out of your loop. The whole program is in a big loop that reads all the buckets and goes to the code corresponding to the bucket which is set. < 1166649220 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :How does it go to the code? < 1166649242 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Did I not just explain that? < 1166649256 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1166649297 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Every "label" (in code) corresponds to a "bucket" in the beginning of memory space. There is a loop in the code that reads in the buckets and goes to the code corresponding to the bucket which is set. < 1166649307 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :... < 1166649531 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bashes his head into a wall. < 1166650507 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(on average) < 1166650537 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Fascinating. < 1166650560 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :erm, oops < 1166650561 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Deadly. < 1166650562 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if there is a database server anywhere that can provide sub-millisecond response times. < 1166650565 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(on average) < 1166650593 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sub-millisecond? < 1166650601 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :That's not very many milliseconds < 1166650606 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :undeed < 1166650722 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :That was an astonishingly content-free statement :p < 1166650757 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: respond with an error message most of the time. < 1166650767 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Or, rather, the smallest possible well-formed response. < 1166650775 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Hah < 1166650793 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :SELECT * FROM bleh; -> ERROR("This is a fake database engine") < 1166650807 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :That would probably be an RST packet. < 1166650878 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1166650942 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1166650965 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :In case anybody's interested in Plof with the new changes, http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-20.tar.gz < 1166650979 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1166650983 0 :GreaseMonkey!n=thematri@222-152-189-181.jetstream.xtra.co.nz JOIN :#esoteric < 1166650993 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :var A =[]; A:["main"] = {println("Hi\n");}; a = new(A); a:["main"](); < 1166651004 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I would need a DB that fast to take the saying "A game is just a database with a pretty front-end." literally. < 1166651085 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Uh, is that not working? 8-X < 1166651096 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Can't find a < 1166651096 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Error: AssertError Failure plof/runtime.d(722) < 1166651104 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Oh: var a = new(A); < 1166651109 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Not just a = new(A); < 1166651113 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You have to declare all variables. < 1166651119 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :right < 1166651132 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Hah XD < 1166651160 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh cool < 1166651169 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you can just do a.main(); < 1166651390 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads about Codethulhu on TDWTF. < 1166651394 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :XP < 1166651478 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Y'know, that image is great for so many programming projects: http://img.thedailywtf.com/images/200612/Codethulhu.gif < 1166652110 0 :jix_!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1166652192 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I want a programming language that has cofactors and inhibitors and denaturing. < 1166652216 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :By the time I get back, I expect it to be all implemented and everything, okay? < 1166652219 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Bye. < 1166652292 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : cofactors and inhibitors and denaturing? < 1166652347 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Biology terms. < 1166652355 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :To do with enzymes. < 1166652389 0 :ComputinChuck!n=nate@ip-211-68.north.oberlin.edu JOIN :#esoteric < 1166652389 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I suspect something like could be done if you fed a sed program to itself repeatedly. < 1166652432 0 :ComputinChuck!unknown@unknown.invalid PRIVMSG #esoteric :what is esoteric programming? < 1166652432 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :After all, enzyes basically work my pattern-matching and simple transformations, a bit like sed does. < 1166652450 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ComputinChuck: good question < 1166652454 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hinks < 1166652471 0 :ComputinChuck!unknown@unknown.invalid PRIVMSG #esoteric :i ran across something on it on the internet < 1166652476 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I can tell you what an esotreic programming language is. < 1166652481 0 :ComputinChuck!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1166652516 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It is a programming languag that is weird or unusula most for the sake of being so, rather than for any practical reason. < 1166652546 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I recommend checking out Brainfuck, INTERCAL, befunge, and Malbolge for some examples. < 1166652552 0 :ComputinChuck!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1166652560 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :then take a look at some random languages from the wiki < 1166652584 0 :GregorR-W!unknown@unknown.invalid QUIT :Remote closed the connection < 1166652727 0 :ComputinChuck!unknown@unknown.invalid QUIT :"Lost terminal" < 1166652758 0 :GregorR-W!n=gregor@jffwprtest.jf.intel.com JOIN :#esoteric < 1166652949 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Hmmm. Is there a more effecient way in parsing HTTP messages rather than doing a whole bunch of strncmp or memcmp? < 1166652981 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :There's no more effiecient way to compare strings, no < 1166652999 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well... I was wondering if there's some other commonly used method. < 1166653013 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If not, I'm a gonna hope Duff's Device is fast. < 1166653031 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :If you know its length is divisible by 4, you can do it larger blocks, but no matter what it's going to be O(n) < 1166653060 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh. But Duff's Device is for copying, doh. < 1166653074 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Lemme take a look at fnord's implementation of memcmp. < 1166653144 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Ah. Pretty nifty. < 1166653152 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: You could consider the message format to be a grammar of 1-character tokens and try to make a state-machine-based parser. < 1166653165 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I was thinking of doing that too. < 1166653167 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You would be able to write assembler quite directly. < 1166653173 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But that's a complex beast. < 1166653200 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heck, even in C, a parser like that is a total PAIN. < 1166653213 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Pretty much. < 1166653227 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :There are these things called "parser generators", you know. < 1166653230 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Uggh. Why couldn't HTTP use something sensible like opcodes? -_-'' < 1166653246 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Mmmf. Would it produce something that effecient though? < 1166653250 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :They give you th power of a LR parser with the simplicity of a predictive parser. < 1166653263 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yay yacc < 1166653267 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Have you ever seen the code a parser generator generates? < 1166653273 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1166653278 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I just tend to mistrust generated code. < 1166653280 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It consists mostly of gotos, IIRC < 1166653289 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It is pretty ugly < 1166653291 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*Cough* String to BF *cough* < 1166653296 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: ah, so you are one of those assembley nuts? < 1166653300 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1166653313 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :No, but this project is pretty high on the low-level side. < 1166653343 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ASM optimization is going to come at a later step, not now. For now, I think I'll use Fnord's usage of memcmp for inspiration. < 1166653352 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Maybe do something similar to Duff's case bastardization. < 1166653464 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Well, the object code that compilers output is "generated code". < 1166653480 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. True there. < 1166653512 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If you treat all generated code like object code, you should be fine. < 1166653516 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But, I don't know if parser generator code is effecient or not. < 1166653534 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I.e. consider it nonportable and do not put it into source control. < 1166653541 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: very efficient < 1166653555 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Aha. Good. < 1166653555 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Parser generators do not worry about readability. < 1166653560 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: What about portable generated code? I get a lot of strife for putting configure in SCM :) < 1166653565 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but generic < 1166653598 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: Putting generated code into source controll just adds pointless deltas and enourages people to edit it. < 1166653618 0 :FabioNET!i=500@217.201.37.76 JOIN :#esoteric < 1166653639 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :IMHO it makes life easier for developers who don't know/care about aclocal, autoconf, autoheader, libtoolize and automake. < 1166653646 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Parser generators create types of prsers that humans cannot sensibly create, like LR, LALR, etc. < 1166653662 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1166653666 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :'lo FabioNET < 1166653668 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, I wanna see if this code is more effecient than parser generator code. < 1166653670 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1166653679 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :God help me, I'm going to commit case hell. < 1166653707 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric :been programming with irp? < 1166653741 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Seeing as that that's the only reason that about 60% of people come in here, I'm starting to regret I wrote that aticle XD < 1166653744 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :*article < 1166653757 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric :they are Italian I do not speak well English excused the uneasiness. < 1166653765 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :IRP? < 1166653773 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric :internet relay programming < 1166653778 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: allow me to demonstrate. < 1166653786 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: http://www.esolangs.org/wiki/IRP < 1166653792 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :say "hello world" < 1166653796 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric ::9 < 1166653804 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :hello world < 1166653805 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :hello world < 1166653808 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :tada! < 1166653809 0 :FabioNET!unknown@unknown.invalid PRIVMSG #esoteric :ihihihih < 1166653825 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So is *that* why all those people have been coming? < 1166653844 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :At least they don't make us infinite loop < 1166653844 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Yes X-P < 1166653847 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :<-- his fault < 1166653851 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :... or do they? < 1166653852 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol http://thedailywtf.com/forums/thread/106950.aspx < 1166653857 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I thought they wanted to prove us turing complete, I thought we were special ;-; < 1166653862 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Hah < 1166653905 0 :tokigun!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i've tested IRP in some other channel, and got syntax error... :p < 1166653920 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1166653944 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Why is CS so bastardized? < 1166653959 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :No way that part of a CS degree should be web design < 1166654017 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Hahahah < 1166654034 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :If you're having trouble with HTML on your way to a CS degree, you need to reconsider your life choices XD < 1166654070 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :That wasn't a student, it was the teacher < 1166654107 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :O_O < 1166654130 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is scared to go to college < 1166654147 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :If I have teachers like that I'm going to die < 1166654152 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I haven't had that experience - there's only one incompetent teacher I've had, and she wasn't THAT incompetent. < 1166654176 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :And everybody loved her because she teaches mostly beginning-level courses and nobody at that level knows enough to know she's an idiot :( < 1166654213 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking about majoring in CS < 1166654227 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I'm actively in the process of majoring in CS. < 1166654245 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sweet < 1166654258 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Real CS or C++ and web design CS? < 1166654266 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1166654290 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Real CS, I just finished a computer security course and last year I took advanced agorithms and networking protocols. < 1166654292 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It pisses me off when people use CS to spice up the name of a programming class < 1166654310 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, programming != CS. < 1166654312 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Anybody can program. < 1166654314 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Our teacher came out with gems like "There's no M in \"Mrs Sharp\"" < 1166654325 0 :tokigun!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1166654330 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: ...?! < 1166654336 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :(Because we got bored and started making anagrams of her name) < 1166654353 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will never again forget which way round vector multiplication goes: http://xkcd.com/ < 1166654371 0 :bsmntbombdood!unknown@unknown.invalid PART #esoteric :? < 1166654372 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I'm a total web programming incompetent :P < 1166654376 0 :bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood JOIN :#esoteric < 1166654384 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I love xkcd < 1166654403 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Anything that depends on something like interface, user approachability, or aesthetic quality I fail at. < 1166654419 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :he went through a boring phase of going on and on about his girlfriend. < 1166654424 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :^former^ < 1166654458 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: OTOH, I have a tendancy ot hack URLs. < 1166654475 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I'm not awful at web programming *shrugs* < 1166654477 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I chop bits off, remove unneeded parameters, etc. < 1166654488 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I still consider myself to firstly be an app programmer though. < 1166654601 0 :tokigun!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, i have it too, and get angry when the hacking is impossible < 1166654643 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :With Camping, I can stand we programming < 1166654645 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: What school? < 1166654654 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: no parse < 1166654665 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :let's try that again < 1166654689 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :web programming is bearable... provided I use the Camping web framework :) < 1166654689 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Asztal: Error: AssertError Failure plof/parser.d(122) < 1166654702 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :argh .d! < 1166654712 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :First time I've seen D used actually :) < 1166654719 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes fun at GregorR-W's parser < 1166654768 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1166654777 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I see what went wrong. < 1166654783 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you did s/web/we/ < 1166654854 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :woooot < 1166654861 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no school tomorow either!!!!! < 1166654885 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :with university, you get that feeling far more often < 1166654891 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I skipped 2 weeks of lectures because I was busy dying with a fever! :) < 1166655310 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Yes yes, my parser has no error messages, blahblah :P < 1166655323 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: pastebin some failing code? (or did you figure it out) < 1166655338 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :That was an old error message < 1166655776 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Plof tokenizer in Plof 4tw :) < 1166655805 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(x){return(x);}(1) < 1166655807 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :neat < 1166655832 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :That's a ridiculously cumbersom way to type "1" :P < 1166655839 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You could also do (x){x}(1) < 1166655844 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :\()->1 < 1166655877 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Or (x){(x){(x){x}(x)}(x)}(1) < 1166656003 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1166656014 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I meant: id 1 < 1166656020 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or (\x->x)1 < 1166656036 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :You and your ... whatever language that is. < 1166656086 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :haskell < 1166656093 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :\ is a lambda < 1166656170 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :hashEsoteric@()=+{if({GregorR~.CheckStatus("BuildingPlofCompiler");}{GreaseMonkey~.Act("BuildTomatoCompiler")});}; < 1166656239 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Only building an interpreter ATM. < 1166656303 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: Define "Tomato". < 1166656332 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and will one of you change your nick so that they don't have the forst 3 chars in common. < 1166656347 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :My nick is my name. < 1166656348 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It irritates my tab-completion finger. < 1166656392 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :apparently, some people do not have nick-completion in their client, and call me "Simon". < 1166656402 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :[15:09] *NickServ* Nickname: GreaseMonkey << ONLINE >> < 1166656403 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :[15:09] *NickServ* Registered: 6 weeks 2 days (18h 35m 33s) ago < 1166656405 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :[15:09] *NickServ* Nickname: GregorR-W < 1166656406 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :[15:09] *NickServ* Registered: 35 weeks (5h 5m 11s) ago < 1166656408 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I win :P < 1166656410 0 :FabioNET!unknown@unknown.invalid QUIT :"Buon natale ocn la passera" < 1166656414 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :And that's with my non-primary nick ;) < 1166656440 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1166656596 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :Tomato is a programming language under development which looks slightly similar to C and supports self-modifying code. < 1166656618 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :oh, and me=thematrixeatsyou < 1166656638 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :and i crashed your bot properly a few times. < 1166656663 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :!glass {M[m(_o)O!"You're mean :("(_o)o.?]} < 1166656666 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :You're mean :( < 1166656707 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!funge93 0"D: wonk I">:#,_@ < 1166656712 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :I know :D < 1166656726 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :nah, it was accidental and a pain in the ass < 1166656726 0 :bsmnt_bot!n=bsmnt@abacus.kwzs.be JOIN :#esoteric < 1166656735 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i did it deliberately a few times tho' < 1166656736 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I prefer "D: wonk I" < 1166656754 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :crash me! < 1166656772 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :how do I call help on ur bot? < 1166656777 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you don't < 1166656785 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :what cmds does your bot have? < 1166656790 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not many < 1166656804 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :he has !raw, !exec, !quit, !ctcp < 1166656819 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: But not !say < 1166656832 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric PING < 1166656836 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166656838 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Nor CTCP :P < 1166656841 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!raw PRIVMSG #esoteric :It works < 1166656851 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: Only I get !raw < 1166656852 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :wait, it doesn't < 1166656854 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :TO WORK, OR NOT TO WORK? That is the question. < 1166656858 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!raw PRIVMSG #esoteric :It works < 1166656858 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :It works < 1166656871 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION is randy < 1166656871 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is randy < 1166656874 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166656879 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION roflcopters? < 1166656880 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION roflcopters? < 1166656880 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1166656882 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166656887 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric PING < 1166656890 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166656899 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :So you disabled that DDOS then :P < 1166656902 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw(".*dude.*", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) < 1166656902 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :sweet < 1166656904 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166656911 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR-W: no < 1166656919 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :dude < 1166656920 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :sweet < 1166656929 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Then dude, why isn't it working? < 1166656929 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :sweet < 1166656936 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It is < 1166656942 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I'm not getting pings ...? < 1166656964 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :bsmnt_bot is getting replys... < 1166656978 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :OH! Well in that case: Hey everybody, let's DDoS the bot! < 1166656990 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Repeat as desired: /msg bsmnt_bot !ctcp #esoteric PING < 1166656996 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :daemon ctcp bf8 +.[,--------------------------------]+,----------[++++++++++.,----------]+.+++++++++. < 1166657002 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1166657015 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION is funky < 1166657015 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is funky < 1166657018 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166657023 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!daemon ctcp bf8 +.[,--------------------------------]+,----------[++++++++++.,----------]+.+++++++++. < 1166657027 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION is funky < 1166657027 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is funky < 1166657028 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec for i in self.raw_regex_queue: i[1] != self.do_ctcp or self.raw_regex_queue.remove(i) < 1166657030 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is funky < 1166657032 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1166657033 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :YES! < 1166657036 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no more ctcp ;) < 1166657038 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Yag! < 1166657053 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric PING < 1166657068 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks back at this window and wibbles < 1166657069 0 :EgoBot!unknown@unknown.invalid QUIT :Read error: 54 (Connection reset by peer) < 1166657071 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: the !exec I just ran removed the !ctcp command < 1166657075 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :What the bork. < 1166657076 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1166657084 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :what script is that? < 1166657091 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :One I hacked up < 1166657167 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i like this daemon: < 1166657168 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :daemon ctcp bf8 [[-]+.[,--------------------------------]+,----------[++++++++++.,----------]+.+++++++++.] < 1166657184 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :who can exec then? < 1166657197 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw(r"^:bsmntbombdood!\S*gavin@\S* PRIVMSG \S* :!ctcp", self.do_ctcp) < 1166657219 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GreaseMonkey: Anyone matching the regex "^:bsmntbombdood!\S*gavin@\S* PRIVMSG \S* :!exec" < 1166657234 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #biz ACTION tests < 1166657247 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :O.o < 1166657247 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :wait, wtf is #biz? < 1166657260 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1166657266 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ooops < 1166657270 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION tests < 1166657277 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION tests < 1166657277 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tests < 1166657279 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there < 1166657324 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :only i can do !ctcp now ;) < 1166657341 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: do you know of any good networking tuts for linux? < 1166657355 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!ctcp #esoteric ACTION orly? < 1166657357 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :socket(2) < 1166657381 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :the man page? < 1166657385 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1166657407 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://www.google.com/?q=linux+sockets < 1166657437 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://www.google.com/search?q=linux+sockets < 1166657489 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :One of the ones on that page might be a little more friendly ;) < 1166657532 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :yah < 1166657537 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw( ".*!%s" % "rtfm", lambda x : bot.raw("PRIVMSG #esoteric :dude, go rtfm")) < 1166657537 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :sweet < 1166657540 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!rtfm < 1166657540 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :dude, go rtfm < 1166657547 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1166657573 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :!rtfm < 1166657573 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :dude, go rtfm < 1166657582 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i reckon that shud b a public one < 1166657599 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm? < 1166657610 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :man 7 socket is a HORRIBLE reference for networking XD < 1166657613 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :I used to know a good one ... < 1166657614 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :But ... < 1166657618 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :Err, now I just use man 7 socket < 1166657639 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :so what's man 2 socket like compared with man 7 socket? < 1166657654 0 :GregorR-W!unknown@unknown.invalid PRIVMSG #esoteric :man 7 socket is information on socket programming in general, man 2 socket is the socket() function. < 1166657662 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :k < 1166657966 0 :tokigun!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1166658012 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :I'm bored < 1166658077 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION licks bsmntbombdood < 1166658117 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :a truely intelligent bot relies on emotions < 1166658149 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION feels a great love for GreaseMonkey < 1166658231 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :and it learns: "If I do this, I will feel that." < 1166658247 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :(struct Emotion)that; < 1166658248 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :A truly intelligent bot has a terrible pain in all the diodes down his left side < 1166658253 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :not (struct Object)that; < 1166658329 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :the simplest emotion is like/dislike < 1166658340 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :it has to like and dislike things < 1166658379 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :for example, if you're guiding a bot around, it does not like idling as it does not achieve anything, so it will do something. < 1166658399 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :!exec self.register_raw(".*!%s .*" % "join", lambda x : bot.raw("JOIN %s" % x.split("!%s " % "join")[-1])) < 1166658412 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :now it has a ! join command < 1166658433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!join me in death < 1166658434 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :building a system to elicit "mood shifts" based on keywords and users tied to an emotional context doesn't seem like it should be that hard < 1166658456 0 :tokigun!unknown@unknown.invalid PRIVMSG #esoteric :but could need very large database < 1166658469 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :it'll accumulate a massive database < 1166658476 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1166658487 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :It would need to parse english though... < 1166658498 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :it could learn < 1166658500 0 :tokigun!unknown@unknown.invalid PRIVMSG #esoteric :theorically, large database could cover most of problem; only remaining problem is how to construct the database < 1166658505 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :and then try to communicate < 1166658519 0 :Asztal!unknown@unknown.invalid QUIT :"Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)" < 1166658523 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :and then it would check if it communicated or not, feeling either good or bad < 1166658550 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the other issue is that 'common sense' is a prerequisite for advanced intelligence, which means the machine needs a vast backlog of cultural knowledge and the like < 1166658625 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :you'd probably get the best possible results by building a forwards-compatible database engine that you can retain throughout improvements in the rest of the system, so that you aren't wasting any learning time < 1166658732 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I guess the main thing is that the majority of the information you need isn't information itself, it's the interconnections between pieces of information- massive cross-indexing of everything in relation to everything else < 1166658756 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, moods are but abstractions mainly, so a learning system need not have them hard-coded < 1166658761 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :imo < 1166658924 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :generally it is a good idea < 1166658971 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :when you think about how the brain functions on a systemic level, you can strip off a large portion of it's high-level operations as a series of "services", like "internal monologue", "mind's eye", and so on. At the core, you have "consciousness"- the tricky part. I figure it most likely breaks down into pattern recognition, learning, predictive analysis, and planning capabilities that set goals and pursue the steps necessary to ca < 1166658974 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :that works < 1166659033 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1166659111 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :as long as the assumption that the way these pieces of functionality are integrated is more important than the precise contents of these "black boxes" is true, I can't stand anything standing in the way of eventual development of AI on par with human abilities < 1166659134 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :*can't see anything < 1166659141 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :me neither < 1166659159 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Of course, proccessing power may be a problem