< 1176163374 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1176163477 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1176163588 0 :ShadowHntr!unknown@unknown.invalid QUIT :Client Quit < 1176163777 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Any people willing to help with the parser? < 1176164496 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yacc is < 1176164506 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But yacc isn't a person :P < 1176164587 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric : o speed the messaging process, the runtime system caches the selectors and addresses of methods as they are used < 1176164620 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so searching through the superclasses only happens once < 1176164642 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I guess we should write sample code before we judge. < 1176164805 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I want to see the definition of objc_object < 1176164807 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :OSKit, eh? < 1176164857 0 :atrapado!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1176165040 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :objc_class too < 1176165289 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :OSKit? < 1176165336 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :OSKit sounds like a useful thing. < 1176165347 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :A very useful thing. < 1176165371 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i can't find the "objc" include directory < 1176165676 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://svn.gna.org/viewcvs/gnustep/libs/libobjc/trunk/objc/ < 1176165763 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :looks pretty simple < 1176166359 0 :EgoBot!unknown@unknown.invalid QUIT :K-lined < 1176166360 0 :GregorR!unknown@unknown.invalid QUIT :K-lined < 1176166443 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :gnustep is _huge_ < 1176166455 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :...Uh, did GregorR just get K-lined? < 1176166461 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :O.o < 1176166476 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yeah it is bsmntbombdood. < 1176166488 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Hard to find what you're looking for < 1176166511 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That's one of my problems. ObjC has almost no development going in it. < 1176166524 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :maybe it's perfect already < 1176166678 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm looking for objc_msgSend < 1176167033 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1176167603 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it would be nice if instance variables were dynamic like messages are < 1176167905 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1176167964 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :You can't access instance variables if the object is typed id < 1176167966 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://svn.gna.org/viewcvs/gnustep/libs/libobjc/trunk/sendmsg.c?rev=22341&view=auto < 1176167976 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :^^ there's the good stuff < 1176168047 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well that's because it's a class object then. < 1176168364 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's odd < 1176168385 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I think the message sending function looks up the method from a linked list of methods < 1176168388 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not a hash table < 1176168392 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ie linear time < 1176168473 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but it seems classes keep both < 1176168491 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I would hope so, because you can make a tree based on parameters. < 1176168499 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1176168550 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Wait. Nevermind. I was thinking of the system I had in mind. < 1176168576 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :objc_class has both a objc_method_list*, a aaray, and a sarray*, a hash table/sparse array < 1176168579 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :both holding methods < 1176168629 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :named methods and dtable, respectively < 1176168652 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So, are we using libobjc from GCC or GNUStep ? < 1176168660 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Errr, I mean. < 1176168674 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Are we using Foundation from GNUStep or just subclassing from libobjc? < 1176168697 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you mean NSObject or Object? < 1176168707 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1176168713 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :NSObject < 1176168768 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Alright. < 1176168773 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Are we going to use Foundation stuff? < 1176168792 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I don't see any reason not to < 1176168826 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Alright. < 1176168836 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Now. Cellular Automata VM? < 1176168848 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Dunno how that would work < 1176168907 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i assume you mean Virtual Machine rather than Virtual Memory? < 1176168962 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1176169219 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1176169244 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :We'd have to create a set of assembler commands that can define cellular automata. < 1176169268 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Weirdos. < 1176169271 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders adding extra time dimensions to ALPACA. < 1176169291 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I don't think cellular automata are imperative. < 1176169303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed not < 1176169335 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Just build a universal constructor and have the program be instructions to it. < 1176169338 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(and space dimensions too, of course) < 1176169400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION envisions an ALPACA bytecode would do. < 1176169430 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ALPACA? < 1176169444 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the cellular automaton description language < 1176169453 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Link please. < 1176169464 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/ALPACA < 1176169495 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Wait. Is this a practical project? :P < 1176169512 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ALPACA has already been implemented. < 1176169513 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Once "Game of Life" hardware becomes common, you'll really want that constructor stuff. < 1176169522 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :(And "once" is just my fancy way of saying "if".) < 1176169528 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1176169538 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess it could be a practical project. < 1176169552 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That's a fancy way of saying no, isn't it? < 1176169661 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION generally says no to projects. Or at least his hands do. < 1176169750 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what the best way to implement a sparse array is < 1176169762 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1176169766 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I suppose an ordered binary tree would work < 1176169899 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's O(log n) best, O(n) worst though < 1176169959 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :insert "balanced" at appropriate spot. < 1176169979 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then remove "O(n) worst". < 1176169986 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :O(n) if the objects are inserted in sorted order < 1176170035 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1176170048 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which they probably would be if read from a file. But if you know they are sorted you can use a different algorithm. < 1176170075 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's that? < 1176170119 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, suddenly idea. < 1176170130 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :making the tree balanced immediately. < 1176170145 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :(I saw the accidental "ly" before I sent that, but I decided to leave it in.) < 1176170158 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Of course, it's about Abrasax, not this, so... yah. < 1176170169 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: how... < 1176170289 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and O(log n) still isn't good < 1176170322 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :recursively: make 2^n-1 first elements into one subtree, then read middle, then 2^n-1 next into another, then put together. < 1176170479 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1176170598 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you are going to worry about log n, then you need to read serious literature, not ask on IRC. :) < 1176170628 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unless you find a channel with the real experts. < 1176170688 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :chances are at that level you need to worry about things like cache behavior. < 1176170700 0 :graue!i=graue@ip68-100-130-21.dc.dc.cox.net JOIN :#esoteric < 1176170716 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hello, graue? < 1176170719 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :s/?/!/ < 1176170723 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :Hello. < 1176170730 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Did you hear about GregorR getting K-lined? < 1176170731 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :oh, i wondered why you were incredulous < 1176170733 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :no < 1176170746 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :What's this about incredulity? < 1176170763 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1176170792 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Rather: < 1176170796 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :graue: what's this about incredulity? < 1176170810 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :since you said hello with a question mark, i thought you were like "what?! GRAUE is here?! how can this be!!!" < 1176170821 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor got K-lined?1? < 1176170826 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :also, i need to learn to use my irc client, because i just answered you in a different channel < 1176170833 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Ave Graue, Morituri Te Salutant! < 1176170841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1176170844 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :* EgoBot has quit (K-lined) < 1176170844 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :* GregorR has quit (K-lined) < 1176170860 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :why'd that happen? < 1176170867 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Apparently it was for spamming. < 1176170890 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :spamming who < 1176170901 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1176170918 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :No idea. < 1176170926 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i bet it was code. < 1176170945 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Ah, indeed, an EgoBot bug may cause spamming. < 1176170953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1176170958 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's a lot better guess < 1176170968 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Rather, may have caused. < 1176171036 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1176171056 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"Broken client, apparently .. not sure the details", "I'm speculating, but usually that reason means it was disconnecting/reconnecting/etc.. or joining/rejoining/etc.." < 1176171088 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :What's this, now? < 1176171109 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I asked a staffer < 1176171132 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Apparently you got a better answer than I did. < 1176171149 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but there were no disconnections before the k-line. < 1176171196 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Indeed there weren't. < 1176171212 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :That'd be join/part stuff, then, which EgoBot doesn't do. < 1176171226 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :you guys have too much free time. < 1176171238 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :freenode people aren't arbitrary < 1176171244 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure gregor can work it out with them < 1176171258 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Well, the freenode person did say "usually". < 1176171268 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Would the freenode people not being arbitrary mean it wasn't bot spam that caused this? < 1176171279 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :no < 1176171327 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :actually, freenode staff are pretty arbitrary < 1176171384 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :But if GregorR's been K-lined for EgoBot, I'm surprised you haven't been K-lined for bsmnt_bot or something. :-) < 1176171409 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :my bot isn't in any channels that staff are in < 1176171414 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: Not been reported for spamming. < 1176171423 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Nor was EgoBot. < 1176171433 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1176171441 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec while 1: __import__("time").sleep(2); self.raw("PRIVMSG ihope_ :Ya!") < 1176171460 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~ps < 1176171461 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :0: 'while 1: __import__("time").sleep(2); self.raw("PRIVMSG ihope_ :Ya!")', 18.34 seconds < 1176171465 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~kill 0 < 1176171466 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :haha you fail < 1176171472 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Tell me how to kill it, will you? < 1176171478 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~kill 0 < 1176171483 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Pff. < 1176171487 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it was actually sending you messages? < 1176171490 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1176171491 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1176171497 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :someone must have identified it < 1176171509 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I have UNFILTERED set. < 1176171512 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1176171528 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~raw privmsg bsmntbombdood :foo < 1176171553 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :~exec while 1: __import__("time").sleep(2); self.raw("PRIVMSG ihope_ :Ya!") < 1176171567 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric ::orwell.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 ) < 1176171584 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~kill 0 < 1176171586 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'm thinking it's definitely the UNFILTERED. < 1176171591 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1176171935 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :In Curses, if you use mvwaddch, does it go to the absolute y and x, or relative to the origin of the window? < 1176173410 0 :ihope_!unknown@unknown.invalid QUIT :Connection timed out < 1176173619 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :The routines prefixed with mv require a y and x coordinate to move to before performing the appropriate action. The mv routines imply a call to move before the call to the other routine. The coordinate y always refers to the row (of the window), and x always refers to the column. The upper left-hand corner is always (0,0), not (1,1). < 1176173627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(man ncurses) < 1176176419 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :We should design an esolang for human-human communication < 1176176427 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :english is so overrated < 1176176505 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh right, there's english as lisp < 1176176583 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Lojban. < 1176176583 0 :Pikhq!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1176176591 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(need we (no other)) < 1176177353 0 :bsmntbombdood!unknown@unknown.invalid NICK :xor < 1176178101 0 :xor!unknown@unknown.invalid NICK :bsmntbombdood < 1176178261 0 :Sukoshi!unknown@unknown.invalid PART #esoteric :? < 1176180963 0 :Bigcheesegs!n=blah@adsl-152-48-236.asm.bellsouth.net JOIN :#esoteric < 1176182049 0 :graue!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1176184018 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1176184282 0 :digital_me!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1176189921 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1176190739 0 :GreaseMonkey!n=Greasemo@222-154-137-146.jetstream.xtra.co.nz JOIN :#esoteric < 1176191690 0 :maverickbna!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1176191722 0 :maverickbna!unknown@unknown.invalid QUIT :Client Quit < 1176191999 0 :clog!unknown@unknown.invalid QUIT :ended < 1176192000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1176192779 0 :ShadowHntr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1176194419 0 :GregorR-Foo!n=gregor@dsl093-174-249.pdx1.dsl.speakeasy.net JOIN :#esoteric < 1176194443 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :I've been banned O_O < 1176194481 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :from wot? < 1176194513 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :FreeNode < 1176194541 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :bugger. why? < 1176194603 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :Idonno ... apparently spamming. I looked through all the logs for bots-gone-crazy, and there are none, so what the bork :( < 1176194616 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :All my logs suggest that I was not spamming. < 1176194627 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :Nor was a hacked version of me spamming. < 1176194639 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :hmm... what line did you get put onto? z-line? g-line? < 1176194685 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :if it was from more than a fortnight before you got the ban, someone hates you < 1176194685 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :K-line < 1176194690 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :and you should shoot them < 1176194698 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :K-line = how long? < 1176194705 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :Idonno, it doesn't say. < 1176194747 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :k-line==g-line < 1176194762 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :did you ever get z-lined before that? < 1176194788 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :I've never been anything-lined. < 1176194796 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :k < 1176194823 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :it'd be really funny if i got o-lined < 1176194948 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :actually: z-line = ip-block, g-line = ban-on-login < 1176194955 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :dunno about a straight k-line < 1176194969 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bashes his head into the wall. < 1176194974 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :Why have I been K-lined >_< < 1176195045 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :who k-lined you? < 1176195067 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i think GregorR-Wtf would be more appropriate < 1176195106 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, that's what's so confusing - none of my logs have the actual K-line. < 1176195119 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :Just "disconnection", then upon reconnecting it says I'm K-lined. < 1176195133 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :bugger < 1176195150 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :i would advise a raw-log for next time something stupid happens < 1176195169 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :And that would help ... how? < 1176195222 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :you can catch everything that's catchable < 1176195251 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :I doubt highly that the small area of messages that that would catch that I don't currently catch would help. < 1176195275 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :you could catch an ERROR message < 1176195291 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :perhaps: ERROR :You have been K-Lined by renfield < 1176195317 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :(i picked renfield cos he's the worst ircop on bluehell) < 1176195371 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :I sent an email to staff@... < 1176195386 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :The response will probably be: "Idonno, we don't log it. You'll be allowed to connect in seven years." < 1176195396 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1176195398 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :they should < 1176195412 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :otherwise they should jack hyperion up the ass and switch to unreal < 1176195413 0 :GregorR-Foo!unknown@unknown.invalid PRIVMSG #esoteric :I'm just being pessimistic :P < 1176195453 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :oh ok < 1176197704 0 :sebbu!n=sebbu@ADijon-152-1-87-6.w81-49.abo.wanadoo.fr JOIN :#esoteric < 1176198870 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.or.comcast.net JOIN :#esoteric < 1176199051 0 :Sephh!n=blah@adsl-211-251-45.asm.bellsouth.net JOIN :#esoteric < 1176199183 0 :Bigcheesegs!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1176199352 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :so you got it sorted? < 1176201708 0 :meatmanek!unknown@unknown.invalid QUIT :Connection timed out < 1176202800 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :gonna go to bed, gnight < 1176202880 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"YAYS! I achieved something cool today!" < 1176202931 0 :meatmanek!n=meatmane@cpe-65-29-79-179.indy.res.rr.com JOIN :#esoteric < 1176203090 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1176203687 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1176204961 0 :Pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1176204986 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1176205009 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1176205458 0 :jix__!n=jix@dyndsl-091-096-036-048.ewe-ip-backbone.de JOIN :#esoteric < 1176207219 0 :ihope_!unknown@unknown.invalid QUIT :"http://tunes.org/~nef/logs/esoteric/06.08.09" < 1176214119 0 :nazgjunk!unknown@unknown.invalid QUIT :"Bi-la Kaifa" < 1176214246 0 :nazgjunk!n=htitan@tb-reh-1f0cf.adsl.wanadoo.nl JOIN :#esoteric < 1176217165 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1176217631 0 :sebbu!n=sebbu@ADijon-152-1-70-5.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1176218949 0 :CRathman!n=chatzill@69.15.198.171 JOIN :#esoteric < 1176220031 0 :sebbu!unknown@unknown.invalid QUIT :"reboot" < 1176220172 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1176220198 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1176221046 0 :sebbu!n=sebbu@ADijon-152-1-70-5.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1176222042 0 :jix__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1176222077 0 :jix__!n=jix@dyndsl-080-228-188-014.ewe-ip-backbone.de JOIN :#esoteric < 1176225827 0 :Sukoshi!n=user@user-3cf843l.dsl.mindspring.com JOIN :#esoteric < 1176225987 0 :jix__!unknown@unknown.invalid NICK :jix < 1176226923 0 :CRathman!unknown@unknown.invalid QUIT :"ChatZilla 0.9.78 [Firefox 2.0.0.3/2007030919]" < 1176227174 0 :sebbu2!n=sebbu@ADijon-152-1-55-149.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1176227599 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1176229279 0 :sebbu2!unknown@unknown.invalid QUIT :Connection timed out < 1176229559 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I asked a staff they said it was probably spamming/client problems < 1176229719 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I also asked a staff (shocker) < 1176229833 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wow! < 1176229863 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you're one smart guy < 1176229953 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1176230047 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :owtf my internets < 1176230174 0 :nazgjunk!unknown@unknown.invalid QUIT :Client Quit < 1176230205 0 :sebbu!n=sebbu@ADijon-152-1-31-129.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1176230296 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1176231631 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1176233702 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1176233799 0 :sebbu2!n=sebbu@ADijon-152-1-63-71.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1176233973 0 :atrapado!i=opened@71.Red-81-47-10.staticIP.rima-tde.net JOIN :#esoteric < 1176234918 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1176236705 0 :GregorR-Foo!unknown@unknown.invalid QUIT :"leaving" < 1176237203 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1176238248 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1176240882 0 :nazgjunk!unknown@unknown.invalid QUIT :"Bi-la Kaifa" < 1176241082 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1176241191 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Ya here? < 1176241530 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I am now. < 1176241536 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Not for long. < 1176241563 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Did you see my ideas for an OO extension to C? < 1176241594 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I was K-lined for no good reason, so I haven't seen anything in a while (I didn't log my other persona) < 1176241604 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1176241637 0 :Sephh!unknown@unknown.invalid PRIVMSG #esoteric :A usefull OO extention to C? < 1176241640 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I've refined my idea. So here it is, it's a minimal extension to C to support OOP using generic functions. < 1176241654 0 :Sephh!unknown@unknown.invalid NICK :Bigcheesegs < 1176241670 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :It adds 4 keywords to the language, ``generic'', ``specific'', ``class'', and ``continues''. < 1176241686 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If you're familiar with the concept of generic function OOP.... < 1176241702 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will read the log, must leave now. < 1176241707 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :``generic'' defines a function generic ( generic void display(a, b); ) < 1176241734 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :``specific'' specialized on the generic ( specific void display (int a, char b); specific void display (int a, int b); ) < 1176241759 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :``class'' declares a class in struct form ( class Player { int xpos, ypos; } ) < 1176241788 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :``continues'' designates that the specialized generic function calls the next-less-specific specialized method for the generic it is assosciated too. < 1176241790 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*to < 1176241808 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Very simple, and not very hard to implement, if only I knew the GCC parser-foo. < 1176241853 0 :Bigcheesegs!unknown@unknown.invalid PRIVMSG #esoteric :So is there a purpose other than just trying to create it? we already have c++ :P < 1176241862 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :.......... < 1176241867 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Do you know what you're talking about? < 1176241870 0 :Bigcheesegs!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1176241887 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :C++ follows an incredibly different object model, is very unclean, and favors its own big/bulky style. < 1176241906 0 :Bigcheesegs!unknown@unknown.invalid PRIVMSG #esoteric :I don't find it that way, I think it's damn sexy. < 1176241945 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :You may like C++ and its ``Do Everything My Way or NULL way'' philosophy, but this is designed to be a very small extension to C. < 1176241967 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :And the C++ object model is message passing, so it has to have all this annoying stuff like polymorphism/operator overloading. < 1176241996 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Something a C coder can pick up in a few minutes and work with, like everything else in the C language. < 1176242149 0 :crathman!n=chatzill@69.15.198.171 JOIN :#esoteric < 1176242203 0 :Sukoshi!unknown@unknown.invalid PART #esoteric :? < 1176243125 0 :Sukoshi!n=user@user-3cf843l.dsl.mindspring.com JOIN :#esoteric < 1176244257 0 :nazgjunk!unknown@unknown.invalid QUIT :"Bi-la Kaifa" < 1176244343 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1176244352 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1176244771 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1176245396 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1176245652 0 :ihope!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1176245739 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: how do you implement it? < 1176246300 0 :nazgjunk!unknown@unknown.invalid PART #esoteric :? < 1176247059 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Not all that difficult. < 1176247158 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Classes are just structs with type information. Generic methods are determined and then less-specific behavior is inlined if the function is ``continues'', and these are all kept either in a virtual method table or a tree that matches based on parameter. < 1176247195 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I think we need an ``inherits'' keyword too, to subclass. < 1176247228 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Subclassing basically copies the fields of the super-class's struct directly into the derived class. < 1176247240 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so with a generic call, the compiler looks up the correct method based on the objects' type? < 1176247248 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1176247276 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :The runtime has to be able to keep type information. < 1176247283 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it does? < 1176247289 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, actually no it doesen't. < 1176247312 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :We can parse it so that arguments to generics are wrapped in structs that contain type information. < 1176247336 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :defining a method uses some kind of name mangling, then at compile time method(object) is replaced with _method(object) < 1176247393 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not always possible to do at compile time < 1176247413 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1176247435 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because the actual object might be of a subclass. < 1176247475 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :doesn't matter < 1176247505 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if you type an object as one of its superclasses, you can only call methods defined in its superclass < 1176247538 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure, but the actual version of the method may be overridden by the subclass. < 1176247632 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1176247701 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :? < 1176247737 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Remember, this is generic functions based. Subclasses don't override methods. If you mean it defines a wholly different specialization, then, so ? < 1176247746 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1176247785 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's the point of inheritance then? < 1176247810 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however, the specialization depends on the actual runtime class, not the compile time class. < 1176247892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it requires runtime information to select the right specialization < 1176247913 0 :crathman!unknown@unknown.invalid QUIT :"ChatZilla 0.9.78.1 [Firefox 2.0.0.3/2007030919]" < 1176248141 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Inheritance only pulls in fields of the parent struct. < 1176248148 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that it does oerjan. < 1176248203 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Well there's no point if it requires runtime support < 1176248291 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Unless we restrict it away from runtime changing classes. < 1176248301 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So your classes can't be dynamic. < 1176248316 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean dynamic? < 1176248330 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Specifying classes during runtime == dynamic. < 1176248359 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I thought the point was to have classes be static < 1176248372 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Then it should be fine still. < 1176248409 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait a minute. do you mean that a subclass object cannot be passed as an object of the superclass? < 1176248448 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :What's the point? < 1176248449 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it can, but the superclass method will be called < 1176248455 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Exactly. < 1176248461 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Haven't you played with CLOS, oerjan ? < 1176248466 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nope. < 1176248470 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Aha. That's why. < 1176248484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but common lisp is dynamically typed... < 1176248488 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Quick overview of a generic method system. < 1176248509 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Classes only hold slots, basically struct fields. < 1176248536 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Generic functions are defined that only define the number of arguments (and in this case the return type) of a function. < 1176248590 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :After, you define specific implementations of the generic function based on different types. In this case, if you define that specialized function with the keyword ``continues'' it automatically calls the assosciated specialization for the next-less-specific specialization. < 1176248627 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :To simplify things, I want no multiple inheritance, because I can see maybe only a few rare cases where multiple inheritance works, and it's cleaner to simulate it with abstract classes. < 1176248633 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :all of this makes perfect sense with dynamical typing, but not with static typing. < 1176248649 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But why wouldn't it work with static typing? < 1176248710 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it would work like haskell typeclasses, but not like an object-oriented system. < 1176248716 0 :atrapado!unknown@unknown.invalid QUIT :"a tra pa da" < 1176248748 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Probably. < 1176248756 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But when using C, 9/10 the only reason you need OOP is to manage state and to abstract away method calls to superclasses. < 1176248762 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :This creates that framework with a minimum of overhead and a minimum of language extension. < 1176248794 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because with dynamical typing, you can pass a subclass object and treating it like an overridden superclass object. < 1176248840 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so common lisp _behaves_ as if subclasses can override, although technically they don't. < 1176248892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(at least that is my guess from your description) < 1176248940 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Exactly. < 1176248940 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That's the beauty of the system. < 1176248951 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but that wouldn't work in C < 1176248980 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed, not without passing around some of the same information at runtime that CL needs. < 1176249014 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :The overlap of the generalized-method framework simulates operator overloading and polymorphism. < 1176249014 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :While actually abstracting the implementation to make it much more trivial to implement. < 1176249112 0 :bsmntbombdood!unknown@unknown.invalid NICK :xor < 1176249149 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Which things? I'll be wrapping my head around magnetization vectors while y'all talk. < 1176249273 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :essentially runtime type information. since this is multiple dispatch, the class struct doesn't contain enough information. < 1176249337 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*information = tag < 1176249341 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*s