< 1175385635 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: See the Minsky machine article on the wiki < 1175385727 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :has to have two? < 1175385759 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :see the last point < 1175385768 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or so < 1175385786 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1175385799 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's neat < 1175385960 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :although, it would be nice if they didn't have to be multiplied/divided by an arbitrary constant < 1175386308 0 :sebbu2!unknown@unknown.invalid QUIT :"Leaving" < 1175386335 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I think http://en.wikipedia.org/wiki/Counter_machine#Two-counter_machines_are_Turing_powerful is related. < 1175386414 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Basically, the third step can be alternatively seen as reducing to a single counter with extra operations. < 1175386923 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1175387344 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1175387348 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a stack as a number < 1175388829 0 :Figs_!n=Figs@pool-71-126-176-130.washdc.fios.verizon.net JOIN :#esoteric < 1175389159 0 :Figs!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1175390446 0 :Sgeo!n=sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1175391356 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1175392012 0 :dog4!unknown@unknown.invalid QUIT :"over and out." < 1175392818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the wiki is sloooooooooooooooooooooooooooooow :< < 1175392840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :must be day somewhere :\ < 1175392842 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or maybe not < 1175392852 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the foo < 1175392868 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :~raw privmsg #esoteric :foo < 1175392868 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :foo < 1175393320 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175394408 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :~raw privmsg oklopol :bar < 1175394426 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not registered < 1175394444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can i even use raw? < 1175394448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :~raw privmsg #esoteric :bar < 1175394455 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1175394457 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :guess not < 1175394469 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw("PRIVMSG #esoteric :bar") < 1175394470 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :bar < 1175394475 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :right < 1175394475 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :~exec self.raw'gf,kbd) < 1175394475 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: EOL while scanning single-quoted string < 1175394501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm too slow... maybe it's time to sleep :) < 1175394505 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :------------> < 1175394529 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm who am i kidding, i just drank almost a liter of coffee :F < 1175394571 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll try anyway, night --------> < 1175394585 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I'm wondering about extracting caffeine from tea/coffee < 1175394609 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :might be cheaper than pills < 1175394615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1175394617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not likely < 1175394656 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, coffee. _that's_ what i need. < 1175394718 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I read something about dissolving it in ethanol, filtering the solution, evaporating, recrystalizing the residue in a solution of ethanol and water < 1175394799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :given that those pills probably _are_ extracted from coffee.. < 1175394834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :The method used there is probably not feasible on the small scale < 1175395228 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :w00t < 1175395231 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :function pointers < 1175395236 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :in less than 200 bytes of code < 1175395240 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/orWqgE84.html < 1175395272 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1175395276 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :my output is smaller than my source :P < 1175395331 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh boy < 1175395356 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :I could have made a smaller example < 1175395365 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh boy... < 1175395367 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :but I like my print function < 1175395373 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :saves me work ;) < 1175395385 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :function pointers in asm are just the address where the code starts, no? < 1175395403 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :more or less... < 1175395440 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :what I did was reserve a word for the address of the function I wanted to call < 1175395458 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :first I set it to the address of the HELLO proc < 1175395465 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :(when I compiled) < 1175395479 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :and then later in my MAIN proc, I switch it with the address of GOODBYE < 1175395486 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :but since I call it the same way both times < 1175395490 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :ie, call [VMSG] < 1175395503 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :I've effectively got a function pointer < 1175395509 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175395527 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :and I could replace the functionality of VMSG at any point < 1175395548 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1175395553 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :this is why I started working on asm again < 1175395554 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1175395560 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :so much easier to use this than C < 1175395582 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :not for the print stuff < 1175395585 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :that stuff sucks < 1175395595 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :but just for the function pointer stuff < 1175395598 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :it's so much easier < 1175395631 0 :jix!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1175395678 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it is? < 1175395684 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :I think so < 1175395747 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1175395800 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand... I do weird stuff < 1175395816 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :function pointers are straightforward in c < 1175395831 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :I should have said C++ < 1175395833 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1175395858 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :C++ is almost a superset of C < 1175395888 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :What I guess I mean is, a lot of things like changing around the interfaces of functions < 1175395915 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :C++ is just a mess anyway < 1175395926 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :a decent amount of it < 1175395940 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :mostly, they put too many things in the same place without thinking how all the pieces interact < 1175395947 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :(patching the language) < 1175395982 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :templates, multiple inheritance, variadic functions from C, etc < 1175396006 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1175396014 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :I've found some behavior that is just *weird* < 1175396027 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I like C < 1175396028 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :because it uses so many features of the language at the same time < 1175396033 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :you have no idea what it is doing < 1175396066 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :let me see if I can find my code... < 1175396078 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :it had to do with operator overloading and templates, I think... < 1175396135 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Figs_ you've already shown some pretty weird stuff :) < 1175396149 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ew, templates < 1175396162 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :High level languages should be dynically typed < 1175396251 0 :Figs_!unknown@unknown.invalid PRIVMSG #esoteric :am I showing up as Figs_ again? < 1175396254 0 :Figs_!unknown@unknown.invalid NICK :Figs < 1175396261 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :fix it? < 1175396295 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1175396317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i'll retry the sleeping thing --------> < 1175396490 0 :Pikhq!unknown@unknown.invalid QUIT :"Leaving." < 1175396536 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hmm damnit < 1175396539 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I can't find it < 1175396955 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175397234 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1175397975 0 :gg_!n=gg@71.237.177.112 JOIN :#esoteric < 1175398041 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :. < 1175398102 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1175398190 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Oregon? < 1175398300 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :or New Jersey? < 1175398346 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :DC? < 1175398368 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Virginia, but pretty close to DC, yeah < 1175398394 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :Oregon and NJ aren't that close though :) < 1175398400 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1175398412 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :but, Oregon. < 1175398424 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :a trace route gives me eugine, and then something, and then a firewall? and then you < 1175398446 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but when I looked it up, I got new jersey :P < 1175398519 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, O.o < 1175398543 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I get Comcast Region NJ when I use locators :P < 1175398543 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1175398613 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1175398614 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1175398618 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Hello. < 1175398619 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1175398660 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :That shouldn't make any difference :) < 1175398662 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :Hello. < 1175398690 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you would think < 1175398693 0 :Sukoshi!unknown@unknown.invalid QUIT :"とても変な夢を見た、あの20分眠間に。" < 1175398708 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking about whether it's OR or NJ. < 1175398728 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :??? < 1175398730 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION envies Sukoshi's Japanese IME magic < 1175398738 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think we're talking about two different things < 1175398739 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :nevermind < 1175398759 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1175398765 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is bored < 1175398790 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is bored, but hungry too. < 1175398794 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ah :\ < 1175398803 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I was that way until recently < 1175398811 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and then I remedied it with some yogurt < 1175398825 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :now I'm just bored < 1175398842 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I should probably finish one of the projects I've started < 1175398844 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :... hmm < 1175398848 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is bad about that < 1175398872 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I do get a bit distracted by tangents :P < 1175398893 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why he is criticising himself in public < 1175398902 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :tangents? as in math? < 1175398905 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1175398907 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1175398923 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :more like < 1175398969 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Working on a program to chat online... and then going off to write a compiler, getting bored working on the parser, so start working on asm to impliment function pointers... < 1175399012 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I just finished that last one < 1175399020 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I should probably finish the first bi < 1175399021 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :*bit < 1175399025 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :since its the easiest < 1175399031 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and I've been working on it since January < 1175399067 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I just really don't like programming in GM any more :P < 1175399072 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's too limiting < 1175399079 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :GM? < 1175399083 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Game Maker < 1175399096 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :never heard of it. < 1175399100 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Most people haven't < 1175399105 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :www.gamemaker.nl < 1175399120 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :they're going through a little insanity at the moment with version 7.0 < 1175399142 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I've been using it since about 3.0 < 1175399149 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and I'm about ready to move on < 1175399172 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :except that it just does so much to reduce the complexity of apps... < 1175399182 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :until you find something you can't do < 1175399188 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :then it gets to be annoying as hell < 1175399205 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it has functions like, < 1175399220 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :draw_text("whatever string",x,y); < 1175399238 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you don't have to do anything with the window handling < 1175399253 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :etc etc < 1175399271 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :has timers up to I think 10 or 12 built in for each object you define < 1175399278 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if you need them < 1175399293 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :automatic game loop < 1175399307 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :although you can modify the behavior if need be < 1175399321 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it was designed for teaching programming concepts in an interesting way < 1175399336 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but the community is basically pushing for it to become a general purpose dev tool < 1175399353 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but that's probably more than you ever cared to know :P < 1175399357 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric : < 1175399385 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :heh no it's good to know that... but I don't think I'll ever write a game (coz I'll probably never finish it!) < 1175399392 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :at least if it's a "real" game. < 1175399404 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1175399408 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... I've seen game maker. < 1175399409 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I doubt I will < 1175399414 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it looks kind of weird... like graphical C. < 1175399414 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1175399422 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it kind of is < 1175399436 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you can do the entire thing with buttons and drag and drop < 1175399460 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and then move onto a scripting language inside once you need the more powerful features < 1175399477 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :most of the community seems to be in the 10-20 range < 1175399497 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is 15 < 1175399500 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :pre-college, and, in too many cases, pre-manners :P < 1175399514 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I AM VERY POLITE. :) :) :) < 1175399517 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1175399521 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is 18 < 1175399527 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :gg_? < 1175399533 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :22 < 1175399567 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I like a lot of stuff that GM does < 1175399575 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(probably since I learned how to program in it) < 1175399579 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :for instance < 1175399585 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to do a little bit more stumbling in firefox (that's how I ended up here anyway) before running for some food... < 1175399591 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... how did I start programming. < 1175399596 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's how I got here too :) < 1175399622 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :If you like language design, it's a good place to be < 1175399624 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I basically just downloaded a Python interpreter... scanned through the turotial in a confused manner... and started playing around. < 1175399625 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :I kinda like this place, so I'll probably see you guys later. < 1175399629 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :kk ;) < 1175399645 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ah :P < 1175399650 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(@CP) < 1175399662 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :In GM, each object effectively has code that gets executed each step (step event) < 1175399678 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :there are create events, destroy events, keyboard press/release/check events < 1175399685 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1175399699 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you can add 'methods' by defining user events < 1175399704 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but the documentation on this isn't very good < 1175399708 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm < 1175399710 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and it's not very easy (I think) < 1175399719 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :though I have done it a couple times < 1175399739 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it effectively has 2 types of data < 1175399743 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :strings and reals < 1175399748 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(rationals) < 1175399767 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :from Python I read up on Perl, Lisp, a little bit of C++, then I discovered esolangs, Smalltalk, Ruby, and then too many to count from there. < 1175399781 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :how many do you know well? < 1175399794 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I've never actually used anything but Python... but I'd like to move to something new once I'm not so busy with my current project (a MUD) < 1175399802 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1175399806 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...I only know the surface of those langs. < 1175399815 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I have a friend who is writing a MUD... < 1175399818 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... except esolangs... which are easy to pick up usually. < 1175399832 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1175399841 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck? :P < 1175399845 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :-nod- < 1175399860 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Befunge is grand fun. < 1175399861 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I know 2.5 languages well < 1175399872 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :GML < 1175399875 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and C++ < 1175399879 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(C/C++) < 1175399895 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I almost never do anything with pure C < 1175399917 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but it would not be too hard for me to use it < 1175399927 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I can code in Java... because I know C and C++ < 1175399931 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but not well < 1175399936 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :because I don't know it deeply < 1175399940 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Most of those languages I know quite well... I'm just completely unfamiliar with the builtin libraries and stuff. < 1175399951 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1175399962 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(but I do know enough to confuse my friend who is in AP Computer Science :P) < 1175399964 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I read a lot of language specs... I can just never find the time to use them. < 1175399969 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :do-while loops, ftw < 1175400012 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I know enough about the C-derived languages that I can effectively work in any of them with a reference manual, google, and a decent amount of time < 1175400029 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(by my standards of 'decent' ;P) < 1175400054 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I started playing around with Prolog a bit a couple days to a week ago < 1175400058 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and it was hard < 1175400066 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :because I'm so used to C-derived programming < 1175400120 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Assembly is a pain in the ass though < 1175400128 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :because there are endless levels of it < 1175400163 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I know enough that I can write interesting ways to do hello-world programs < 1175400188 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but how do those characters end up in the console? < 1175400197 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I sort of know < 1175400205 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but not enough to figure it out from scratch < 1175400266 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it gives you a bit more appreciation for what Windows actually gets right < 1175400380 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1175400384 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :they have an os < 1175400401 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that is basically works with most hardware reasonable well < 1175400455 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :security flaws aside < 1175400466 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it mostly does what it is supposed to < 1175400496 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I talked to a friend of mine who was working on an OS < 1175400532 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :-nod- OS is a pretty big chunk of features. :) < 1175400545 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: yes, but so does every other OS < 1175400555 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :False. < 1175400571 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :DOS doesn't do what windows does < 1175400578 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :it's not much of an achievement to have a properly functioning multitasking OS < 1175400581 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...that's because DOS sucks. < 1175400601 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :when people say "windows sucks", they are not comparing it with DOS (usually) < 1175400606 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1175400623 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Actually, IMO, DOS *is* a better OS than Windows (from a usability standpoint). < 1175400623 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :windows is a multitasking operating system that sucks < 1175400631 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :DOS is not a multitasking operating system at all < 1175400636 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :so it's not very fair to compare them < 1175400680 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Figs, yeah... watch out here - we're fuill of Linux patriots. < 1175400685 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :DOS does what you tell it to do. Windows does jack. < 1175400699 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Where's your properly functioning multitasking OS rivalling windows, lament? < 1175400702 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :i'm not saying DOS is bad < 1175400706 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Mention Windows at all with a grain of positiveness and you shall be PUMMELED. :) < 1175400715 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament3: DOS is, for a singletasking OS, nice. . . < 1175400723 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Especially the more modern FreeDOS. . . < 1175400740 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs: It's called "UNIX". < 1175400744 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: i would strongly disagree with that, OS is shit, but i am not aware of any better alternatives, because the whole notion of a "single-tasking OS" is fairly ridiculous < 1175400772 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament3: Nah, single-tasking OSes were quite common in the early days of computing. < 1175400785 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: incorrect. < 1175400787 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*cough*batch computing*cough* < 1175400797 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: you mean, early days of personal computers < 1175400814 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq, I meant _lament3_'s own personally written Windows rival < 1175400817 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is playing with generating audio in python < 1175400826 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs: Ah. < 1175400832 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: why do you want me to write a windows rival? I don't understand your point. < 1175400858 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :10[17:07:23] lament3: 01it's not much of an achievement to have a properly functioning multitasking OS < 1175400867 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :now now everybody... let's turn the thermostate down a touch. :/ < 1175400878 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: you were saying how you appreciated how windows "got things right" in terms of talking to hardware < 1175400896 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs, writing an implementation of the UNIX kernel is considered a rite of passage for UNIX hackers. . . < 1175400909 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Windows sucks, Windows is great, Lament needs to write his own OS, Lament doesn't need to write his own OS, vim is superior to emacs and vice versa. ALL THINGS ARE TRUE IN THE FACE OF A WINDOWLESS ROOM. < 1175400909 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: first of all, it didn't - in that unix does it much more sanely; but second of all - it's not much of an achievement for something to do the very bare basics of what it's supposed to do < 1175400935 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And the UNIX kernel, by itself, does multitasking (fine, needs a process to fork();. . .) < 1175400940 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: i'm not saying it's easy to write an OS < 1175400962 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: i'm saying it makes no sense to praise windows for something it absolutely has to do as an OS < 1175400991 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :it's like saying "hey, it's a pretty crappy plane, but you have to give it credit - it flies". Of course it flies. Duh. It's a plane. < 1175401008 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Hey < 1175401011 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...I think he was just praising Windows for existing... not necessarily for being better than other OSes. Let's all settle down a bit. < 1175401014 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is saying it doesn't take arcane wizardy to do so; just about a year or so's work for a single coder (for very simple definitions of "OS") < 1175401014 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I didn't say it was "good" :P < 1175401030 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Just that I'm impressed that it gets itself to work < 1175401047 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and how much is going on and has to be dealt with < 1175401051 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: probably less than that. There're textbooks on how to do it. < 1175401081 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...this conversation reminds me of "attachment causes suffering". < 1175401093 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :it does? :( < 1175401096 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Cake, I'm not really praising windows :P < 1175401107 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament3: That's "from scratch, with nothing more than the ability to do ASM and C". < 1175401108 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1175401109 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :i will stop opening attachments then < 1175401125 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: you cheat quite a bit by allowing yourself to use C :) < 1175401142 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :but yeah, there're textbooks on how to do that. < 1175401149 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :(minix) < 1175401150 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, Windows is a bit like a dog that can dance: it's not that it does it well, but that it does it at all? < 1175401170 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :more or less... an attachment to any ideology (be it Windows-hating or Windows-loving... or Islam or a great love for Emacs) < 1175401186 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's more like the dog that can dance that's made billions and billions of dollars < 1175401197 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1175401209 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sesnses a proprietary software conversation coming. < 1175401210 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :GNU/Linux is just as impressive (if not more so for working better) < 1175401211 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :not sure how that's relevant to the conversation < 1175401245 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :in a very real sense, Windows is a better OS than linux < 1175401265 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :it's more user-friendly :) < 1175401271 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I agree with that < 1175401273 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers GNU/Linux a good deal more impressive, for being made mostly off of the effort of people who care about programming < 1175401278 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I disagree. < 1175401282 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but Linux does some stuff much better < 1175401294 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . this, of course, is because I'm one of the users that Windows is distrustworthy of. ;) < 1175401298 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: windows programmers don't care about programming? :) < 1175401312 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament3: They're doing it because it's a *job*. < 1175401322 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :correct, and? < 1175401371 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION trashes the sidewalks and dances around in circles rubbing his bellybutton < 1175401373 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :CULTURE JAMMING < 1175401379 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :rofl < 1175401389 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And GNU/Linux has been developed in large part by people who design stuff simply because that's *what they like to do*. < 1175401390 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :heh, I didn't mean to open this whole can of worms < 1175401409 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so... < 1175401409 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I was just appreciating modern OSes. Windows in particular since I'm most familiar with it. < 1175401419 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I think vim... is probably the best text editor out there for developers. < 1175401441 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :What, no notepad? :P (jk) < 1175401454 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think that the only manly editor is a dick-controlled electromagnet to write bits on the drive. < 1175401457 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :and emacs... is a terrible mishmash of shortcut keys and an ancient funky AI language with too many parenthesis < 1175401465 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :at least appreciate something useful, like photoshop :) < 1175401467 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :dick-controlled O.o??? < 1175401475 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :photoshop is annoying < 1175401490 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I mean, the back-end stuff is impressive < 1175401495 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet, Lisp is ancient simply because *it has lasting power*. < 1175401500 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but I really hate their interface < 1175401508 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs, the "dick controlled" part is just to make it truly manly. XD < 1175401512 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq, :) LOL YAH RITE < 1175401516 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :oh, I thought that was a typo < 1175401539 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Lisp is the worst thing to happen to comptuer programming since.... COBOL. < 1175401546 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :O.o < 1175401555 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION snickers and hides in the bushes as chaos ensues. < 1175401557 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :za? < 1175401557 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is *really* odd, since Lisp predates COBOL. < 1175401563 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :isn't it? < 1175401573 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Lisp is what... `58? < 1175401575 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lisp hails from the 50's. < 1175401590 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :-snicker- you're making this too easy for me. < 1175401602 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :cobol, `59 < 1175401605 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :lisp `58 < 1175401614 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :he's trolling, Pikhq :P < 1175401622 0 :lament3!unknown@unknown.invalid PRIVMSG #esoteric :Figs: look at how unix does hardware. The whole "everything is a file" thing. < 1175401658 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175401658 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...but everything isn't a file. -grin- < 1175401659 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs: I'm fond of troll-baiting. Adds activity to the room. < 1175401666 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1175401692 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I've been liking Perl a lot lately... which made me realize that, for the most part, the "everything is a " languages are fairly annoying. < 1175401694 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: Yeah. Stuff sort of evolved onto UNIX without thought towards the /dev/ stuff. . . < 1175401704 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I agree with that < 1175401706 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but for hardware < 1175401709 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Thus why CakeProphet doesn't like Lisp. . . < 1175401712 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it (usually) makes more sense < 1175401725 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq, I like Lisp... it's pretty and easy to learn... < 1175401733 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if I can write to the screen as if it was a file < 1175401743 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if I can write to an internet connection as if it was a file < 1175401744 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but... it's a tad too fanatical for my tastes. < 1175401747 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it makes life a lot easier < 1175401758 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs: I get the feeling you'd like the Hurd. . . < 1175401761 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but of course, there's always going to be something that fucks it up :P < 1175401769 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I don't know < 1175401778 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I rather dislike the everything is ___. < 1175401787 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but for hardware, it seems convenient < 1175401801 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :for software, it isn't right. < 1175401809 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well yeah... most hardware has some sort of IO quality... that can be dubbed down to the operations of a file. < 1175401820 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :aye < 1175401834 0 :lament3!unknown@unknown.invalid NICK :lament < 1175401840 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The Hurd is mostly just "hardware is a file, and hell. . . The hardware over in that computer way over there is *also* a file." < 1175401857 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1175401867 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what exactly is this Hurd? < 1175401870 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is conceptualizing an OS himself... but it'll be a while before he can attempt to even start on it. < 1175401883 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1175401883 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's the GNU Project's take on a kernel. < 1175401899 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it < 1175401905 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :distributed filesystem. < 1175401910 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :more so < 1175401919 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :distributed computing < 1175401924 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unfortunately, it's got some political issues preventing some coders from actually getting stuff *in CVS*. < 1175401941 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :? < 1175401962 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :oh god < 1175401964 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think that Plan9 is a better OS for that sort of thing. . . It's actually got active development, and has things generally implemented better. < 1175401971 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :who the hell came up with recursive acronyms? :P < 1175401983 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Linux could do better... I think... with high-level structures. < 1175401994 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Plan9, BTW, is the successor to UNIX. ;) < 1175402047 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :The everything is a file thing sort of drops out any possibility for data structured files... and table-ish files. < 1175402095 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I've seen 'everything is a table' languages too :P < 1175402099 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :You can't say "hey this is a tree" or "hey this is a table"... without forcing every program that reads it to do some parsing. < 1175402139 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...and there's no versioning system... to keep track of old edits. < 1175402176 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :have you guys tried writing a general purpose tree? < 1175402191 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(slightly different topic) < 1175402194 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...what do you mean? < 1175402217 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :like, a C++ style library for tree structures like vectors, lists, maps, etc < 1175402236 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's a pain in the ass! < 1175402252 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well.... Lisp is pretty well-suited for trees... it uses linked lists internally. < 1175402264 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :in Python you'd just use nested lists... < 1175402280 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or you could get all hyper-OO and make a tree object... if you're bat-fucking insane. < 1175402292 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I've done it CP :P < 1175402315 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(in C++) < 1175402327 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :using Boost::Any to defeat the type system < 1175402375 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Python defeats C's type system by representing everything as pointers. < 1175402395 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1175402399 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I should learn python then < 1175402412 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :they stole my idea! (before I had it, even) < 1175402421 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it's pretty easy to learn... < 1175402426 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175402433 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I could probably learn it quickly enough < 1175402442 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :..kind of bland though... but easy to write. < 1175402452 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :mmm < 1175402465 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :co curly brackets. < 1175402468 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :*no < 1175402477 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I need to get around to learning all these scripting languages < 1175402483 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Lua, Python, Perl, Tcl < 1175402511 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Javascript (yes, I don't know javascript! Can you believe it?) < 1175402519 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I don't know JS. < 1175402530 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I recommend Tcl. :) < 1175402532 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Try Self or Smalltalk while you're at it. < 1175402533 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm just too lazy to learn it < 1175402535 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :or io < 1175402643 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/QXov1k68.html < 1175402717 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :output of the program, btw, is: < 1175402718 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :a(b(d(i,j,k),e),c(f,g,h)) < 1175402718 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :a(b(d(i,j,k),e),c(f,g,h),a(b(d(i,j,k),e),c(f,g,h))) < 1175402795 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I'd have trouble calling Python a "scripting language".... as I've never actually used it to write "scripts" (programs that you'd call to do simple tasks from a shell) < 1175402821 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's interpretted, right? < 1175402827 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175402839 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :a little of both.... but it's considered interpreted. < 1175402843 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :mm < 1175402868 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what C++ really needs is a type-traits system < 1175402892 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :typed data is not a bad thing < 1175402895 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :....dynamic typing. :) < 1175402919 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you can do that in some cases < 1175402923 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but it isn't the answer to everything < 1175402932 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What C++ really needs is one function: < 1175402945 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :void dwim(void); // Do what I mean < 1175402953 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1175403011 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :It makes more sense to me to have types, because then you can be sure that you're actually dealing with data properly < 1175403021 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1175403038 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I'm just not exactly sure what static typing is supposed to accomplish... other than maybe some pre-run errors... < 1175403042 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :take the example of those guys who were working on that probe that screwed up < 1175403050 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :because one part of the team was working in metric units < 1175403055 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and the other in imperial units < 1175403065 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :dynamic typing doesn't mean "no types at all". < 1175403133 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :all it does is it adds a layer of checking to make sure you're using things the way they are supposed to be used. < 1175403145 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what I mean is... < 1175403146 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :pfft. < 1175403158 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :suppose you get a great new function to convert objects < 1175403168 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and it's expect you to hand it a plate < 1175403175 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and you give it a banana < 1175403187 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :....then? < 1175403194 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you'll get shit all over the floor < 1175403204 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you either A. intended for it to do something or B. something will screw up and you'll know about it. < 1175403221 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :well, no < 1175403227 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you don't always know about it < 1175403235 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :most problems in a program are my own mistakes :P < 1175403243 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather find them as quick as possible, wouldn't you? < 1175403254 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not really. < 1175403257 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :rather than testing, testing, testing to make sure data is moving around right < 1175403288 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's what I hated about whatever that program was called (second version of Klik but before Fusion or whatever) < 1175403299 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :GamesFactory or something < 1175403303 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you'd play the game < 1175403313 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :see.... types don't really mean anything... < 1175403315 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and when it encountered an unknown event, it'd prompt you what to do < 1175403321 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not in duck typing anyways. < 1175403353 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking about typing where typing matters: putting in things you expect into interfaces and getting things back out from interfaces that you expect... < 1175403384 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if you're trying to call a function to print a string < 1175403422 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's much more convenient to be able to know that it takes a _____ rather than a _____. < 1175403446 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I admit, it makes less sense for some applications than others < 1175403461 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :but see.... what if you have something that acts exactly like a string... but it isn't really a string. Are you supposed to create an entirely different library for this string-like thing when you could easily borrow functions that strings use? < 1175403464 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :C/C++'s got it wrong < 1175403474 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :no < 1175403487 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you say it has the traits of a string when you interface with it by X < 1175403496 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :.....??? < 1175403531 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's why C++ has type conversion operators < 1175403543 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this is fun < 1175403554 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :glad you enjoy :) < 1175403564 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Figs, all of that sort of just sounds like "ways around static typing". < 1175403584 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :10 times, (play 2 octave harmonic scale, each note .015 seconds) < 1175403598 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it is great fun < 1175403604 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's a way of keeping static typing where you want static typing, and removing it, but only where you need to remove it and explicitly say how it deals with it < 1175403627 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :its essentially more control < 1175403659 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :welll... a lot of dynamically typed languages are starting to move towards optional static typing... which I think makes more sense. < 1175403669 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :control... when you need it. < 1175403677 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :which is basically what I'm saying < 1175403684 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :the point that C missed < 1175403690 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :because it's not designed for it < 1175403691 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :*C++ < 1175403697 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :is type traits < 1175403710 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(actually, they were hacked back in by the boost guys but I've never been able to get them to work properly) < 1175403713 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Perl is going towards optional static typing... and there's talk about it for Python 3 (thought currently no demonstrations of how it would work) < 1175403736 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you already gave the exact example < 1175403745 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :of why type traits are essential < 1175403756 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I'd go with just pure duck typing with optional type checks/conversions on function signatures. < 1175403757 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I have a function that deals with ____. < 1175403765 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :none of this "typed variables" mumbo jumbo. :) < 1175403766 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :XYZ is a lot like ____, I wish it could deal with it too < 1175403793 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :cake, how do you deal with objects of complex type in duck-typing systems? < 1175403799 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :??? < 1175403807 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :complex type? < 1175403810 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what I like about C is that I can do < 1175403821 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :struct Employee < 1175403821 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :{ < 1175403825 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :int salary; < 1175403830 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :char* name; < 1175403841 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ://etc < 1175403843 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :}; < 1175403844 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Slow typist? < 1175403857 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :no, I just tryed putting in //etc directly < 1175403866 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1175403867 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and had to type out the /msg #esoteric < 1175403881 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :forgot about that < 1175403881 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm used to just hitting "/ /..." < 1175403882 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1175403900 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :so... you like type declarations? < 1175403910 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1175403927 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :It's alright I guess. < 1175403948 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what's the point of using OO if you can't keep related information together? < 1175403955 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's not really OO < 1175403965 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :the problem is < 1175403967 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :what I like about duck typing... is that I can sketch up a class with read() and write() methods and pretty much plug it in anything that expects a file and have it work as I expect it to. < 1175403993 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ok, now you're getting into what I'm talking about < 1175404001 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I can replace stdin and stdout with my own special classes... and every read and write operation will be changed. < 1175404002 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :except I deal with things a bit differently < 1175404025 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :currently, in type systems, the way to say things are related is to inherit < 1175404032 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :X inherits from Y < 1175404038 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and shares its interface < 1175404051 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :-nod- duck typing is a type system... < 1175404058 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it just doesn't have typed variables. < 1175404067 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :only typed things... < 1175404078 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's a pain in the ass if I write code that expects an object with read() and write() but gets one that doesn't < 1175404093 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :how so? < 1175404101 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :well, how would your code react to it? < 1175404106 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :most likely throw an exception < 1175404109 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you just get an AttributeError exception < 1175404110 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :or some equivalent < 1175404129 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :which means you have to keep checking for the error < 1175404132 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :You'd just get an error something and the program would exit. Fix it.. and move on. < 1175404138 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :The world doesn't end if you get a runtime error. ;) < 1175404142 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's what I object to. < 1175404155 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :is having to go through < 1175404159 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :FIND the error < 1175404166 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(by accident, most likely) < 1175404174 0 :ShadowHntr!unknown@unknown.invalid QUIT :"End of line." < 1175404175 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Java has static duck typing < 1175404175 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you don't have to find compile errors? < 1175404182 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sorta < 1175404201 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, in Ocaml you can sketch up a class with read and write methods and plug it into anything which expects that. It's still statically typed. < 1175404213 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :compile errors say, "Oh, there's something wrong with this program go fix it now" < 1175404214 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, from what I understand you can't pass arbitrary types through functions without there being some inheritance relation of some kind defined. < 1175404221 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :instead of waiting for me to run into it < 1175404224 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :assuming that I do < 1175404224 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: yeah < 1175404238 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Figs, that's not any different than a runtime error... you're just compiling instead of running. < 1175404239 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(if I don't, John Doe down the road probably will after I release my project) < 1175404253 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I want the error when I compile :) < 1175404263 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...why? < 1175404264 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, runtime errors are annoying < 1175404272 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :what's the difference though < 1175404275 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :two reasons: < 1175404281 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :in python, you forget to import a module and it ends up showing up at runtim < 1175404282 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :the first is that I KNOW there's a problem < 1175404284 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's not cool < 1175404296 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :as soon as I try test < 1175404303 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :not 30 minutes later < 1175404307 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :-shrug- most errors I get in Python are obviously bad... those I KNOW there's a problem. < 1175404313 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :after doing X,Y,Z and a ton of other stuff < 1175404322 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :where the error could be _anywhere_ < 1175404330 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :te he he! < 1175404335 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :playing with sound is fun < 1175404341 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :for some types of problems, < 1175404348 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you don't get an exception and an exit < 1175404354 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :because of the way the system is designed < 1175404355 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :for example < 1175404366 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :in Game Maker, variables can be either strings or reals < 1175404375 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Figs, some simple problem solving can usually find the source of the error. sure, it might require some thinking... but it's usually pretty obvious. < 1175404378 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but they are not explicitly declared as one or the other < 1175404413 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I can't count the number of times I've done something stupid like trying to show a message containing a number without first telling it to convert its representation < 1175404421 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and it doesn't usually crash when I do that < 1175404429 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I just get the mysterious message "0" < 1175404438 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :instead of whatever I expected it to output < 1175404440 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...then it has a bad error system? < 1175404445 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :no < 1175404455 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's the behavior it's supposed to do because of its weak type system < 1175404488 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(the error system is a different issue) < 1175404494 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :actually I think I need to go for a while... < 1175404514 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(shower, and my dad's probably gonna get mad at me for staying up so late... again...) < 1175404531 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'll come back if I can to chat about this more, since this is really useful for me < 1175404544 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :afk < 1175404548 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :alrighty < 1175405420 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :back < 1175405477 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ahhh < 1175405480 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Cake, < 1175405491 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I was misunderstanding what you meant by duck typing < 1175405506 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of something different < 1175405619 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :holy crap < 1175405623 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I need to learn OCaml < 1175405771 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I don't know how much I like dynamic typing < 1175405779 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but I like the ideas behind duck typing < 1175405800 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and I'd prefer to have as much as possible of it dealt with at compile time < 1175406121 0 :wooby!unknown@unknown.invalid QUIT : < 1175406160 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :like, saying a function takes as argument any object that can be used with ToString() < 1175406232 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :or < 1175406293 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :any object that can be use with ToString(), has a method foo() and a member variable bar. < 1175406305 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1175406320 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :essentially, you specify interfaces < 1175406368 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :the nice thing about that is < 1175406376 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if you have a library from VenderX < 1175406389 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you can make it work with VenderY's library easily < 1175406398 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :by specifying ways to convert < 1175406473 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :like, < 1175406493 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :lets say VenderX provides a cross-platform error handling and logging library < 1175406553 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and VenderY is a game inventory system that produces ErrorTransactional objects when you try to buy or sell something you can't afford < 1175406597 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :buy* (drop the 'or sell' ... that didn't make sense :P) < 1175406616 0 :Sgeo!unknown@unknown.invalid QUIT :"Leaving" < 1175406649 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :let's also say, like in most proprietary C libraries, you can't modify the definition of ErrorTransactional or the code in the logging/error routines < 1175406758 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :-nod- what did you think I meant by duck typing? < 1175406781 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if the language lets you specify a way to interpret ErrorTransactions as XErrorString... < 1175406793 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(or whatever the other proprietary format is) < 1175406820 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of a different sort of weakly typed system, I don't remember the name (if it has one) < 1175406844 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :http://deadbeefbabe.org/paste/4188 <-- a very simple Tree like structure in Python < 1175406898 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :not sure I understand it < 1175406925 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(I don't know python's syntax) < 1175406927 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...yeah... might be hard to follow < 1175406934 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I use a lot of non-C-ish stuff... < 1175406961 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what is < 1175406964 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :class Tree(list): < 1175406972 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I assume you're declaring the clas Tree < 1175406976 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but what is the (list)? < 1175406981 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :derives from list? < 1175406995 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :man if there's one thing I like about Python, it's the fact that indentation is enforced. < 1175407011 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :makes it look clean. < 1175407043 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :(yeah, I just jumped out of nowhere) < 1175407048 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :wb < 1175407054 0 :gg_!unknown@unknown.invalid PRIVMSG #esoteric :thanks. < 1175407079 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm gonna go to sleep < 1175407145 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175407147 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :g'night < 1175407150 0 :Figs!unknown@unknown.invalid PART #esoteric :? < 1175407259 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :it's nice... but it's probably one of the few things I like. < 1175407271 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is starting to get sick of his own native language. :( < 1175407282 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sympathises < 1175407316 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq got a capital! < 1175407365 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :my main complaint about Python is that it doesn't give you... any options. < 1175407385 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :? < 1175407385 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :The entire design goal is "there is one obvious way to do it"... < 1175407396 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :python's lack of real for really bugs me < 1175407422 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :heh... I haven't figured out how you would use a real for loop any different. < 1175407432 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I almost always see it used just as pythons for loop. < 1175407456 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :syntax constructs are trivial... I just dislike the entire design method... if doesn't let the programmer choose what they want to do. < 1175407457 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :when you want to modify the loop variable? < 1175407467 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :for skipping an item in the list or such < 1175407477 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... there's skip slicing. < 1175407514 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :loop through a list, if the current item is 0, skip the next one < 1175407519 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Inherited from gaim. < 1175407526 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :easy to do with a traditional for loop < 1175407540 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.. < 1175407558 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you have to expand the for into a while in python < 1175407559 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :well... yeah I guess... a weird requirement... but I suppose it would be more difficult. < 1175407565 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :not really. < 1175407571 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1175407616 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :for item in (x for index,x in enumerate(SomeList) if index != 1): ...a bit long-winded, but do-able. < 1175407639 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1175407662 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1175407675 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you mean... if the current ITEM... not the current index. < 1175407682 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175407691 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's what i said < 1175407700 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...you could use a variable in the loop to keep track of the condition. < 1175407714 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I know it's possible, it's just ugly < 1175407717 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...but yeah... < 1175407747 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :(always annoys me when I say "you can't do this" and then someone finds an ugly workaround as thought it were compensation) < 1175407762 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it can be done, it's turing complete < 1175407796 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...ideally there should be multiple forms. < 1175407814 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :as I'd die before I had to type out C-style for loops each time I meant to use them like Python for loops. < 1175407827 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...but not having the option at all isn't good either. < 1175409506 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: Care to give me an opinion on something I'm mulling over for Plof2? < 1175409563 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: I'm trying to free up the + operator on objects so that operator overloading will be useful, but that means I don't have an operator for object combination. I'm thinking of using the null operator, e.g. var A = :[...]; var B = :[...]; var C = A B; < 1175409575 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: make returns implicit < 1175409578 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Anyone else can feel free to chime in too :-P < 1175409623 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: That doesn't really make any sense for the language. That being said, if a function consists only of a single expression, it just returns the value of that expression, as in functional languages. < 1175409635 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that makes whitespace significant too < 1175409643 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :............... no. < 1175409667 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oh wait, you mean my object combination suggestion? < 1175409670 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175409673 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... what is the : operator? < 1175409704 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: It's not an operator, it's a modifier. :[...] is an object, [...] is an associative array (I don't like this and will probably change it, but this reflects the current state of the language :P) < 1175409711 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I don't really like that idea. . . ~ operator? < 1175409715 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nah. < 1175409721 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Confusinger. < 1175409729 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, go for a null op. < 1175409743 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what about letting A : B be object combination? < 1175409744 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :var D = :[...] :[...]; I assume makes sense? < 1175409754 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: Of course. < 1175409768 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Confusing with ternary condition: foo ? bar : baf < 1175409783 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :[Yes, I buckled and added ternary conditionals :(] < 1175409794 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah, but in that case nullary will _also_ confuse it < 1175409806 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :... how so? < 1175409810 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: why?? < 1175409812 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That syntax is meaningless at the moment. < 1175409822 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if if can return a value, you don't need ternary ? < 1175409823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :foo ? bar : [...] < 1175409824 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I fail to see how the null op would confuse it. < 1175409827 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I'm trying to reduce the number of special compiler-provided functions. < 1175409847 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: : [ is not the same as :[ < 1175409865 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: In the same way that 1 - -3 is not the same as 1-- 3 < 1175409887 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1175409897 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :And anyway, like I said, I don't like that particular syntax, it will probably change ;) < 1175409908 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: huh? < 1175409923 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: "if if can return a value, you don't need ternary ?" < this makes no sense at all < 1175409941 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if "if" can return a value, you don't need ternary "?". < 1175409947 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OH < 1175409948 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hahahah < 1175409986 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, if is a function in the Plof standard namespace which is provided by the compiler ... I'm just trying to reduce the number of those. I suppose nobody really cares except me, so maybe I need to not do that ^^ < 1175409999 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :C needs ternary "?" because you can't say x = if(p){..}else{...} < 1175410063 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :You're dancing on the functional side of the functional-imperative gap, I'm dancing on the imperative side. < 1175410073 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I, personally, don't like having a huge amount of builtins. < 1175410084 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hence why I was removing one :-P < 1175410085 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I *like* being able to see the interface in stdlib.plof. < 1175410092 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could have a +: operator. < 1175410116 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: For object combination? < 1175410117 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: do you have operator overloading? < 1175410120 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1175410125 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I intend to. < 1175410141 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I would like to see the ability to overload _any_ operator < 1175410150 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: How is that different from Pikhq's earlier ~ suggestion? < 1175410152 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :for example, the "_**fo" operator < 1175410169 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The main issue with ~ is that it's used in C as a bitwise operation. . . < 1175410173 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Well, there are two operators that it makes NO sense to overload with how Plof works: assignment and object combination. < 1175410231 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wtf? < 1175410237 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :slashdot has a digg thing < 1175410241 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :LOL < 1175410361 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's 20070401. What do you expect? < 1175410403 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :OOOOOOOOOOOH!!!!! < 1175410410 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1175410532 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1175414399 0 :clog!unknown@unknown.invalid QUIT :ended < 1175414400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1175415552 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1175417259 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1175417438 0 :wooby!unknown@unknown.invalid QUIT : < 1175417492 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1175417499 0 :wooby!unknown@unknown.invalid QUIT :Remote closed the connection < 1175418539 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :My cats are playing an April fool's day joke on me O_O < 1175420359 0 :sebbu!n=sebbu@ADijon-152-1-64-110.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1175420595 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1175424752 0 :dog4!n=dog4@xdsl-81-173-170-139.netcologne.de JOIN :#esoteric < 1175426385 0 :anonfunc!n=dholman@ppp-67-121-238-228.dsl.chic01.pacbell.net JOIN :#esoteric < 1175428869 0 :ais523!n=chatzill@chillingi.eee.bham.ac.uk JOIN :#esoteric < 1175429989 0 :nazgjunk!unknown@unknown.invalid QUIT :"Bi-la Kaifa" < 1175430851 0 :helios24_!i=helios@gaia.quasar-net.de JOIN :#esoteric < 1175430891 0 :helios24!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1175431192 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_gen Hello, world! < 1175431196 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1175431204 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1175431207 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1175431209 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...asd < 1175431210 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon < 1175431212 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 < 1175431213 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1175431226 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen Hello, world! < 1175431278 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :118 +++++++++++++++[>+++++>+++++++>+++>++++++++<<<<-]>---.>----.+++++++..+++.>-.------------.>-.<<.+++.------.--------.>+. [294] < 1175431344 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :~bf +++++++++++++++[>+++++>+++++++>+++>++++++++<<<<-]>---.>----.+++++++..+++.>-.------------.>-.<<.+++.------.--------.>+. < 1175431345 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world! < 1175432141 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1175432374 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1175432381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :20 minutes of logs again < 1175432392 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should never leave this channel unguarded :) < 1175432457 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION started his day with a bit of coding :P < 1175432459 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p622623512.txt < 1175432552 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :conceptually trivial, but without any kind of syntax highlighting my feeble brain gets quite overloaded < 1175432591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't recognize the language < 1175432606 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python, and because no one is going to read that, it's brianfuck with lambdas < 1175432615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...why is it always brian? < 1175432617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1175432626 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :b****fuck < 1175432633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1175432663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was too easy... i though i'd be busy for hours :\ < 1175432679 0 :anonfunc!unknown@unknown.invalid PART #esoteric :? < 1175432687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd like to know how oerjan did that with unlambda < 1175432744 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately i don't have the faintest clue how to do anything with unlambda even though i know most of the language < 1175432759 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has a P`` interpreter in Unlambda somewhere < 1175432782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I generated it from a lambda-calculus version, though, so it's crappy auto-generated Unlambda < 1175432810 0 :jix!n=jix@dyndsl-080-228-189-192.ewe-ip-backbone.de JOIN :#esoteric < 1175432849 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i could convert that to pure lambda... < 1175432852 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be hard < 1175432876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, i won't, i have a better idea < 1175432931 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :anyone tinkered with javascript? < 1175432959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wrote the reference Underload implementation in JavaScript < 1175432959 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not me < 1175433043 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :it's interesting i think lol < 1175433047 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :funky language < 1175433054 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :fast and loose < 1175433070 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's good as a counterexample to all the statments Java and UML teachers make about object-oriented programming < 1175433089 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the concept of a two level class/object hierarchy is outmoted < 1175433092 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*outmoded < 1175433111 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in JavaScript, you can come up with one-level or three-level or any-number-of-level hierarchies < 1175433329 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1175433331 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :i think it rules < 1175433368 0 :wooby!unknown@unknown.invalid PRIVMSG #esoteric :i'm working on a preprocessor in JS that lets you use most of the java oop keywords though lol < 1175434884 0 :anonfunc!n=dholman@ppp-67-121-238-228.dsl.chic01.pacbell.net JOIN :#esoteric < 1175434939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has just written Brainfuck in Thutu2 < 1175434942 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/419548 < 1175434980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :compiled into Perl, it's http://pastebin.ca/419550 < 1175435030 0 :ais523!unknown@unknown.invalid QUIT :"in search of lunch" < 1175439975 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :HELLO < 1175439979 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :FRIENDS OF THE REPUBLIC < 1175440054 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...it looks like ais523 discovered prototype OO. :P < 1175440429 0 :Pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1175441223 0 :Sgeo!n=sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1175442148 0 :Pikh1!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175442160 0 :Pikh1!unknown@unknown.invalid NICK :Pikhq < 1175442187 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I pledge, for this year, to only learn programming languages that an employer will be likely to have me use. < 1175442189 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Who is with me? < 1175442357 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Realise that some employers will be willing to let you code in esolangs: they don't understand jack, anyways. < 1175443692 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha, that'd be so cool :D < 1175443717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i big 3d-game programmed in bitwise cyclic tag < 1175443868 0 :ais523!n=chatzill@chillingi.eee.bham.ac.uk JOIN :#esoteric < 1175443879 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :msg nickserv identify 523kk < 1175443898 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Damn, I'll have to change my password now < 1175443912 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah... we'd so take your auth < 1175443913 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really < 1175443958 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION applauds < 1175443983 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION contemplates writing a word processor in BFM using PESOIX. :p < 1175443995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've changed it now anyway, just in case a logreader decides to impersonate me < 1175443999 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(as unlikely as that seems) < 1175444121 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was trying to release the latest version of INTERCAL < 1175444128 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but failed due to the lack of anywhere to put it < 1175444176 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's safely cooped up on my hard drive now, unable to unleash its esotericness on the world < 1175444203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I still sent a slightly modified version of my prepared message to alt.lang.intercal anyway though, letting people know why they couldn't obtain it < 1175444204 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1175444255 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :How's about posting it in alt.lang.intercal? < 1175444426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't post binaries to a text newsgroup < 1175444433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and besides it's over 300KB long < 1175444452 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(even when compressed) < 1175444562 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just a thought. < 1175444571 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Carrier pigeon? :p < 1175444723 0 :jix!n=jix@dyndsl-091-096-043-212.ewe-ip-backbone.de JOIN :#esoteric < 1175444791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Pikhq: read RFC 1149 < 1175444878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one of the only IP standards with an average packet return time of 5222806.6 milliseconds < 1175445007 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I have. < 1175445015 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Read the implementation. < 1175445200 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...I've never actually had a programming job before. < 1175445203 0 :bsmntbom1dood!i=gavin@abacus.kwzs.be JOIN :#esoteric < 1175445216 0 :jix!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445216 0 :Pikhq!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445217 0 :GregorR!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445217 0 :bsmntbombdood!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445226 0 :jix!n=jix@dyndsl-091-096-043-212.ewe-ip-backbone.de JOIN :#esoteric < 1175445226 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175445226 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.or.comcast.net JOIN :#esoteric < 1175445239 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :...what a puny netsplit < 1175445324 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :If there's anything I could turn into a career... it's programming. Especially since you can do it at home. < 1175445626 0 :Pikhq!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445626 0 :jix!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445626 0 :GregorR!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175445627 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there should be more of a market for esolang programmers < 1175445645 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.mn.comcast.net JOIN :#esoteric < 1175445645 0 :jix!n=jix@dyndsl-091-096-043-212.ewe-ip-backbone.de JOIN :#esoteric < 1175445645 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175445660 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the original INTERCAL manual suggests that INTERCAL may be useful for maintaining job security < 1175445739 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because nobody else will be able to edit your code < 1175446671 0 :Pikhq!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175446671 0 :jix!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175446671 0 :GregorR!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175446765 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.mn.comcast.net JOIN :#esoteric < 1175446765 0 :jix!n=jix@dyndsl-091-096-043-212.ewe-ip-backbone.de JOIN :#esoteric < 1175446765 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175449497 0 :Pikhq!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175449497 0 :jix!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175449497 0 :GregorR!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175449588 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.mn.comcast.net JOIN :#esoteric < 1175449801 0 :jix!n=jix@dyndsl-091-096-043-212.ewe-ip-backbone.de JOIN :#esoteric < 1175449801 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175450524 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes this AFJ: http://www.msnbc.msn.com/id/17879317/site/newsweek/ < 1175451095 0 :Sukoshi!n=user@user-11faauk.dsl.mindspring.com JOIN :#esoteric < 1175451421 0 :Sgeo!unknown@unknown.invalid QUIT :"Leaving" < 1175451581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, my INTERCAL distribution finally found a host: http://intercal.freeshell.org/download < 1175452140 0 :Pikhq!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175452140 0 :jix!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1175452527 0 :jix!n=jix@dyndsl-091-096-043-212.ewe-ip-backbone.de JOIN :#esoteric < 1175452598 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :this one is even better: http://news.bbc.co.uk/1/hi/uk/6515701.stm < 1175453247 0 :ais523!unknown@unknown.invalid QUIT :"I spend all this trouble registering so I can have a quit message, and then I don't want to put anything in it" < 1175454033 0 :dog4_!n=dog4@xdsl-81-173-168-115.netcologne.de JOIN :#esoteric < 1175454554 0 :dog4!unknown@unknown.invalid QUIT :Connection timed out < 1175455663 0 :Pikhq!n=pikhq@c-75-70-225-157.hsd1.co.comcast.net JOIN :#esoteric < 1175455739 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL! < 1175455792 0 :bsmntbom1dood!unknown@unknown.invalid PRIVMSG #esoteric :owtf < 1175455801 0 :bsmntbom1dood!unknown@unknown.invalid PRIVMSG #esoteric :my mouse is broken < 1175455842 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I use a mice for like, 5 activities. < 1175455844 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*mouse < 1175455885 0 :bsmntbom1dood!unknown@unknown.invalid PRIVMSG #esoteric :it was an april fools joke < 1175455895 0 :bsmntbom1dood!unknown@unknown.invalid PRIVMSG #esoteric :stiky note stuck over the ball < 1175455909 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Today is Apr. 1. < 1175455921 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I can release RUT today. < 1175455933 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If exams weren't coming up, I could spend more time. < 1175455965 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1175456005 0 :bsmntbom1dood!unknown@unknown.invalid NICK :bsmntbombdood < 1175460184 0 :Arrogant!n=Arrogatn@188.orlando-09-10rs.fl.dial-access.att.net JOIN :#esoteric < 1175460512 0 :lament!unknown@unknown.invalid NICK :Eidplos < 1175462345 0 :Figs!n=Figs@pool-71-126-176-130.washdc.fios.verizon.net JOIN :#esoteric < 1175463529 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1175463754 0 :Arrogant!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1175464321 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1175464870 0 :anonfunc!unknown@unknown.invalid QUIT : < 1175465103 0 :Eidplos!unknown@unknown.invalid NICK :lament < 1175465284 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1175465284 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :http://religiousfreaks.com/2007/03/02/religious-freaks-distraught-over-miracle-pizza-pan/ < 1175466498 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :O_O < 1175466504 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :http://www.biggeekdaddy.com/sitebuilder/images/Virgins_in_Heaven-637x242.jpg <-- wtf? < 1175466602 0 :nazgjunk!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1175466608 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cooperativeindividualism.org/calvin-on-scientific-law.gif < 1175466726 0 :nazgjunk!unknown@unknown.invalid PRIVMSG #esoteric :oh god, i love that < 1175467229 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1175468102 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1175468355 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1175468380 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1175470016 0 :nazgjunk!unknown@unknown.invalid QUIT :Remote closed the connection < 1175470096 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :poink < 1175470782 0 :richie12790!n=chatzill@user-0cevd12.cable.mindspring.com JOIN :#esoteric < 1175470808 0 :richie12790!unknown@unknown.invalid PRIVMSG #esoteric :hi all < 1175470833 0 :richie12790!unknown@unknown.invalid PART #esoteric :? < 1175470895 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :... < 1175471249 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I saw brainfuck with procedures once < 1175471777 0 :Pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I've seen multiple implementations. < 1175471843 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :over achiever