< 1231891699 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so oerjan and oklopol < 1231891704 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :is norway or finland better? < 1231892040 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I thikn I'm talking to a markov chain bot < 1231892041 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :00:12 This is not #haskell. Maybe you could consider better file handling rather than loading the file into an array. Like in C I have a file handle which could with a releatively simple fn be move to point to the same column in the next/previous line. You don't need to load data into an array to own it, you just need to manage it properly however you decide to manage it. thanks for being awesome. thanks for the example code. Hope all the < 1231892045 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pro < 1231892170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :anyone want to decipher that? < 1231892260 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1231892262 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pretty simple < 1231892309 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :are you writing it in haskell? < 1231892336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231892338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :im talking about that guy < 1231892344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i can't tell wtf he's trying to say < 1231892399 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you don't need the file in an array < 1231892456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think you're messing with me. what i'm saying is that this guy is making no sense at all, he's just spewing random shit every time i say something to him < 1231892482 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it makes sense to me < 1231892613 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: never been to finland. good night. < 1231892616 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1231892618 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :maybe i should learn haskell < 1231894135 0 :jix!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1231894744 0 :GreaseMonkey!n=gm@unaffiliated/greasemonkey JOIN :#esoteric < 1231896259 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :*yawn* < 1231896260 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :bored! < 1231901074 0 :pikhq!n=pikhq@r03jjw8v9.device.mst.edu JOIN :#esoteric < 1231902353 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Write a language < 1231902359 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :What else does one do when bored? < 1231902394 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Write a very very simple language, in machine code (yes, machine code, not asm) < 1231902420 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Then write a superset language, written in the original language < 1231902423 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :And keep doing that < 1231902440 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Until you have a relatively feature full language written in itself < 1231902453 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Without ever having written an interpreter in any other language < 1231902509 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :N...No? < 1231902553 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :N...Yes? < 1231902557 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Y...No? < 1231902559 0 :flexo!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1231902561 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1231902564 0 :pikhq!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1231902664 0 :pikhq!n=pikhq@r03jjw8v9.device.mst.edu JOIN :#esoteric < 1231902668 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :Or you could initially write it in itself < 1231902673 0 :Corun!unknown@unknown.invalid PRIVMSG #esoteric :And hand compile it. < 1231903039 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1231903171 0 :Corun!unknown@unknown.invalid QUIT :"WOT" < 1231905157 0 :CakeProphet!unknown@unknown.invalid QUIT :"lol" < 1231907026 0 :psygnisfive!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1231907127 0 :psygnisfive!n=psygnisf@c-71-57-164-119.hsd1.fl.comcast.net JOIN :#esoteric < 1231908195 0 :Corun!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1231909971 0 :Corun_!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1231910331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: is norway or finland better? <<< come to finland and we can go fishing < 1231910341 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: k < 1231910360 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the nordic countries sound nice < 1231910447 0 :Corun_!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1231910502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't actually fish, ever < 1231910510 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :norway is better for that. < 1231910635 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah fishing is not very fun < 1231910953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooooo < 1231910983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :gotta gope, -> < 1231910998 0 :Corun!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1231912064 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Client Excited" < 1231912551 0 :sebbu2!n=sebbu@ADijon-152-1-92-162.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1231913342 0 :psygnisfive!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1231913462 0 :psygnisfive!n=psygnisf@c-71-57-164-119.hsd1.fl.comcast.net JOIN :#esoteric < 1231913594 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1231915539 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1231916563 0 :olsner!n=salparot@h-60-96.A163.priv.bahnhof.se JOIN :#esoteric < 1231919999 0 :clog!unknown@unknown.invalid QUIT :ended < 1231920000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1231921042 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1231924460 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1231933194 0 :psygnisf_!n=psygnisf@c-71-57-164-119.hsd1.fl.comcast.net JOIN :#esoteric < 1231933464 0 :psygnisfive!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1231934935 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1231935831 0 :jix!n=jix@dyndsl-095-033-093-106.ewe-ip-backbone.de JOIN :#esoteric < 1231936957 0 :oerjan!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1231937109 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1231937236 0 :ais523_!n=ais523@147.188.254.127 JOIN :#esoteric < 1231937574 0 :Mony!n=Harmony@AToulouse-258-1-93-232.w90-60.abo.wanadoo.fr JOIN :#esoteric < 1231937649 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :plo < 1231937651 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :p < 1231937654 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :p < 1231937658 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231937659 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :wait, you fixed it first < 1231937670 0 :ais523!unknown@unknown.invalid QUIT :Nick collision from services. < 1231937684 0 :ais523_!unknown@unknown.invalid NICK :ais523 < 1231937688 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ep? < 1231937689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :^bool < 1231937690 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1231937691 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1231937698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pepep < 1231937701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's try that one again < 1231937702 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :^bool < 1231937702 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1231937705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thought so < 1231937792 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :how are you guys ? < 1231937798 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fine, a bit tired < 1231937810 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I'm three miles tall. < 1231937823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: is this some definition of mile I'm unaware of? < 1231937838 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1231937846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... what's the horizon on 3 miles? < 1231937846 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1231937850 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm wondering if I can see you from England < 1231937899 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Buy some binoculars with your wolfram money mister millionaire. < 1231937915 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, I was wondering if the curvature of the earth got in the way < 1231937926 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I'm mostly using the money to cancel out student debt < 1231937938 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Is school expensive in England? < 1231937952 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it can be, but University is very expensive < 1231937960 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mostly because you have to meet living and tuition costs yet don't have a job < 1231937965 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I pay like 400 euros a year here. < 1231937969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so students famously nearly always get into huge amount of debt < 1231937985 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's something like £1175 per year over here < 1231937986 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'm still at my mom's, so it helps < 1231937993 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :plus the cost of living < 1231938000 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which normally comes to more < 1231938919 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1231940711 0 :Corun!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1231941009 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1231941867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1231941884 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231941884 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231941884 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231941885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231941886 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1231941889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi ehird < 1231942907 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: coding a Befunge-98 interp in Haskell? < 1231942914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is my intention, yep < 1231942925 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i also intend to implement every fingerprint I can. < 1231942936 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :more even than the AnMaster list? < 1231942938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: actually, funge98 < 1231942949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I hope to be N dimensional. < 1231942950 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :at runtime < 1231942955 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders vaguely if ehird is mad enough to implement IFFI < 1231942957 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Sure, he doesn't even do stuff like TRDS. < 1231942964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or half of MikeRiley's fingerprints. < 1231942965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or MKRY! < 1231942984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :note that IFFI is written such that it could in theory be used with INTERCAL interps other than C-INTERCAL < 1231942988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or even with languages other than INTERCAL < 1231942993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IFFI would be fun < 1231942995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1231942997 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I implement every cross-platform fingerprint which makes a degree of sense < 1231942997 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi AnMaster < 1231943006 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: and IFFI doesn't? < 1231943007 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(that excludes MKRY among others) < 1231943020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: i will implement fingerprints no matter if I can test them on the right software/hardware or not < 1231943029 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and sense will get your fingerprint delayed < 1231943039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also: ponies. < 1231943046 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: IFFI was the intercal one? I'm not sure it does ;-) < 1231943061 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: well, a lot is left implementation-defined < 1231943068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I'm currently writing down ideas for a fingerprint called SQL, very early, not even level of draft yet < 1231943082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm, that's a nice random topic change < 1231943088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it also depends on the "implementation-specified instructions" area with charcodes above 100 < 1231943093 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*128 < 1231943094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, err? it is befunge related < 1231943112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thought ehird was referring to the /topic < 1231943137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, that's a reference to a gay porn site. google corrected an acronym oklopol said to EUROCREME < 1231943146 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and apparently it's a gay porn site. so there you go. < 1231943150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/Z73Y8i84.html <-- some random ideas for it, most isn't detailed yet, like parameters for most things and so on < 1231943171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :any constructive comments are welcome < 1231943186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's still a thoroughly uninteresting idea. < 1231943216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: this isn't about MKRY randomness or TRDS insanity, this is about Befunge as a practical esoteric language for the 21st century < 1231943226 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :har har har. < 1231943227 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you have to admit, on the practical esolangs side, Befunge is winning < 1231943229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, :D < 1231943256 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: what would you use if you needed a Data.Map that'll get mutated alll the time? < 1231943257 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it has the best stdlib of any esolang I know, apart from possibly Deltaplex < 1231943258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e., fungespace < 1231943267 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I don't really know Deltaplex < 1231943269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: OCaml < 1231943270 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Data.Map. :-P < 1231943274 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's what hsfunge used < 1231943284 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I think I should return stuff like what db drivers are supported and such (possibly). If I implement this in cfunge it will probably support sqlite and postgresql < 1231943285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: fuck you. Deewiant: how slow was hsfunge? < 1231943287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: but, uh, have fun with N dimensions < 1231943290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with easy to add new drivers < 1231943297 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: wellllll, I'm not sure it can be done < 1231943298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1231943299 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not /too/ slow < 1231943303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you need instructions for turning in N dimensions < 1231943312 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: can't remember, maybe about 50x slower than cfunge < 1231943316 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Got reference for MKRY (I couldn't find one that's up)? < 1231943323 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: yes, google cache: < 1231943325 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: it's a joke. < 1231943330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, it is < 1231943330 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: not a very good joke either < 1231943335 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :agreed < 1231943347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pfft, it's hilarious < 1231943374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hrm, no google cache. trying web archive < 1231943381 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I seem to recall hsfunge getting through mycology in 1-2 seconds but I don't remember on what machine so I can't compare that time to anything < 1231943389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway what is needed for a generic database access abstraction interface? I have only used mysql, sqlite and postgresql so I don't know what other database systems could need. < 1231943399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you could just install an httpd on eso-std.org... < 1231943404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :odbc and such for example, (I don't even know how that works) < 1231943408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no i couldn't because i didn't save tusho.net < 1231943425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1231943426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, you lost the spec too? < 1231943433 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sure. < 1231943434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231943435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait. < 1231943437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it;'s here < 1231943442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe. < 1231943455 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: eh? what happened to tusho.net < 1231943460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, my opinions on wiping a server to uninstall all the software vs. simply uninstalling all the software using the package manager are a matter of private record < 1231943466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: /shrug < 1231943474 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you know what, it's my server, i really don't give a shit. < 1231943517 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: are you going to implement a driver-independent syntax for SQL queries? < 1231943522 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :flood time < 1231943523 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: < 1231943525 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : < 1231943526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :

"MKRY" (0x4d4b5259)

< 1231943528 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :

a funge-98 fingerprint by tusho

< 1231943530 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
< 1231943532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
C ( -- c... ) < 1231943534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
Push ','s < 1231943536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
D ( -- c... ) < 1231943538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
Push '.'s < 1231943540 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
E ( -- c... ) < 1231943542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
Push 'e' and 'h' (random) < 1231943544 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :
< 1231943546 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :

All pushes from 3 to 15.

< 1231943548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : < 1231943550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :before you say anything, that's the idea. < 1231943611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm there is the SQL standard < 1231943627 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, not all DB drivers implement it correctly < 1231943630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, isn't that enough? I assume everyone follows the standard ;P < 1231943632 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, I'm not entirely convinced any do < 1231943633 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why not just use DBI via Perl if you think it's such an interesting idea. < 1231943645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, true < 1231943650 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for instance, what quote characters mean what tends to vary a lot < 1231943652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but well, this is still funge < 1231943681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then make them use scke. < 1231943689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm what about prepared statements? I don't know how standard they are, but surely they solve some of the issue? < 1231943692 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because if you're just passing sql on, there's no point < 1231943696 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: some of the issue, yes < 1231943703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1231943705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :make sure you allow for parameterised statements < 1231943707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it's not even an SQL fingerprint any more < 1231943708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cool. < 1231943716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's an interact-with-DB-driver fingerprint < 1231943726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :having both SQL and prepared statements makes sense there < 1231943731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1231943735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is unneeded unless you abstract the queries. < 1231943741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because every server and its dog has a socket interface. < 1231943742 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :parameterised SQL, anyway, is useful for avoiding injections < 1231943750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, not sqlite < 1231943751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231943758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is the one I'm most interested in < 1231943767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1231943770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it makes much more sense to write "WHERE field = ?" and give an argument rather than trying to use string concatenation < 1231943777 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, I love SQL's use of ? for arguments < 1231943787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well some dbs allow WHERE field :namedparameter < 1231943788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1231943794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure how wide that support is < 1231943853 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1231943855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if there's a channel called #really-esoteric that is actually about esoteric programming ideas < 1231943859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SQL portability is a nightmare < 1231943873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: this is about esolanging, although not a part of it that, say, you or oklopol would be interested in < 1231943877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well that is why abstracting the actual query would be very hard < 1231943881 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1231943886 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, it's not about esoteric programming ideas < 1231943891 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to invent your own nonportable unambiguous syntax for it < 1231943897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is tangentially related to an esolang, but it's not an esoteric programming idea < 1231943906 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean simple selects sure, but what about nested selects, with joins and sub queries and so on < 1231943914 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the international hub for design, development and deployment of esoteric programming languages < 1231943917 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this is deployment, IMO < 1231943942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, tell you what, i'll emulate #really-esoteric: someone tell me when we're talking about esoteric programming ideas. < 1231943943 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231943990 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Like languages with write-once-read-many memory? :-) < 1231944027 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that might be esoteric, but needn't be < 1231944033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :write-many-read-once would be more fun < 1231944060 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've actually had some thoughts along those lines < 1231944078 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to create a lang which was as usable as possible, but deliberately sub-TC < 1231944087 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and no instruction pointer. :-) < 1231944103 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the idea would be that it would be impossible to write a nonterminating program, but apart from that it would be as usable as possible < 1231944111 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :ais523 : Just do a TC language and add to the specs "The memory is 10^80 bits" < 1231944111 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: which lang are you thinking of, here? < 1231944125 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: yes, but in a less cheating way than that < 1231944130 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, that fails for some things < 1231944137 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it can't primality-check arbitrarily large numbers, for instance < 1231944140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whereas the lang I was thinking of could < 1231944200 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Language which uses context-free grammar to guide lengthening of string (the extension candidates are matched to given context-free grammar on each step). < 1231944240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I find that in IP-less languages like Thue, I normally end up implementing an IP in order to program in them < 1231944277 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Me too :-) < 1231944312 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the AOL tags always seem to be redundant, because it always says "Me too" between them < 1231944317 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe just would do < 1231944346 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :ais523: For language that can express P, you probably just need to prohibit backward jumps and superlinear looping... < 1231944365 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my idea was basically that < 1231944381 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but instead of prohibiting superlinear looping, to prohibit super-Ackermann looping < 1231944436 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :How you prohibit super-Ackermann looping? Something to do with primitive recursion? < 1231944462 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :What is "super ackermann looping"? < 1231944464 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, much more boring than that, I was planning to just make the programmer use the Ackermann function to calculate the number of iterations < 1231944508 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: it's a loop which goes more times than an any Ackermann function whose arguments are the amount of input, and constants < 1231944517 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Or having loop construct where loop bound is A(m.n), where m needs to be fixed? < 1231944531 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pretty much < 1231944552 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Actually, probably no need to fix m. Its finite anyway... < 1231944595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, you could just put the Ackermann function in the standard library, use bignums, and require the programmer to specify the number of iterations of a loop in advance < 1231944610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you need the Ackermann function in the stdlib to be able to do that, or you can't implement the Ackermann function itself < 1231944685 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231944689 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :To be a hypocrite: < 1231944693 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :YES QT IS NOW UNDER THE LGPL < 1231944695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FUCK YEAH < 1231944705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why is that better than what they had before? < 1231944717 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because it was either GPL or shell out money to them for a commercial license < 1231944721 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it wasn't < 1231944725 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and I like MIT < 1231944735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the QPL is viral too, iirc < 1231944738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it had a special exception allowing it to link with < 1231944745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o rly < 1231944746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and BSD was definitely one of them < 1231944752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MIT? < 1231944775 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, OK, I didn't know that. But now it's obvious, and commercial apps can use it freely too. Which is nice. < 1231944809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :In addition: < 1231944809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Qt source code repositories will be made publicly available and will encourage contributions from desktop and embedded developer communities. < 1231944811 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*Service offerings for Qt will be expanded to ensure that all Qt development projects can have access to the same levels of support, independent of the selected license. < 1231944814 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nice. < 1231944816 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, hypocrite over -> < 1231944818 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231944853 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Also, one could make language expressing most useful classes by allowing bounding loops by input fields... < 1231944866 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Not just input field sizes. < 1231944901 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :strange, trolltech's own page on Qt licensing is currently a 404 < 1231944907 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231944913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WHEN DID TROLLTECH RENAME TO QT SOFTWARE < 1231944915 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231944922 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231944924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ah, september < 1231944926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :30th < 1231944927 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231944960 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: that's a linear bounded automaton, isn't it? < 1231944971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, only if the input's in unary < 1231945022 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think that would allow expressing all E+TIME classes... < 1231945036 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: you're a lot more technical than me on these matters < 1231945255 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :BTW: Primality-checking arbitiary large numbers doesn't need loop superlinear in input size... :-) < 1231945267 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, but it does need an infinite amount of memory < 1231945336 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Lack of loops superlinear in input size impiles bound on memory usage. < 1231945352 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :... Growing with input size, of course. < 1231945353 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :only if there's a bound on the input < 1231945370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is what I think I was trying to get at < 1231945393 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Unbounded amount of memory is not the same thing as infinite amount of memory. < 1231945412 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they come to the same thing from the programmer's point of view, though < 1231945418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, there's no way to tell them apart that I know of < 1231945630 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think that proving that some program can only use unbounded amount of memory is in AH-PI-2 (harder than halting problem). < 1231945704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I know there's more than one uncomputable computational class, but I don't know the names of any in particular < 1231945730 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Aren't they just greek letters with superscripts? < 1231945747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but there's quite a difference between proving the program halts, and requiring the programmer to give a proof the program halts < 1231945747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the second can be done in the syntax of a langauge < 1231945755 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AH-PI-2 is class of problems that are in co-RE if halting oracle is available. < 1231945775 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what's it a halting oracle for? TC languages? < 1231945782 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yes. < 1231945812 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1231945843 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi FireFly < 1231945850 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :'lo < 1231945866 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lots of people I don't recognise seem to have been turning up in #esoteric recently < 1231945874 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that can only be a good thing, probably < 1231945888 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Well, I've been lurking that esolang wiki for about half a year < 1231945894 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Interesting stuff, really < 1231945898 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :definitely < 1231945918 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :You should see EsCo, too < 1231945921 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although not all the langs are all that good, there are some real gems in there < 1231945921 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's awesome. < 1231945925 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :We all love it. < 1231945933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: which one was EsCo again? And do I sense sarcasm? < 1231945960 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :EsCo was the Esoteric Compiler < 1231945974 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :For such diverse languages as Brainfuck, Spoon and Ook. < 1231945976 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, it was that one that someone spammed to esolang < 1231945991 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure the next bold move is an esme compiler. < 1231945998 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :don't mention esme, please < 1231946013 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I still hope, deep down, it was a trolling attempt < 1231946017 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because there's no other logical explanation < 1231946022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand, that makes it very esoteric, I suppose < 1231946074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and esco's apparently an interp, not a compiler < 1231946102 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Logical names 'r' us? < 1231946120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let's see... it claims BF, Ook!, Spoon, HQ9+, Whitespace, Byter, and Befunge-93 < 1231946135 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that bad a selection, although there are no "hard" esolangs there < 1231946149 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's apparently an abbreviation for "EsotericCombined" < 1231946150 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :What's a "hard" esolang? < 1231946158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: one that's hard to interpret/compile < 1231946168 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'd say Unlambda and INTERCAL are two good examples < 1231946170 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Like the ANDREI MACHINE 9000? :o < 1231946180 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I don't know. < 1231946199 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Unlambda should be easily doable in a functional languages. < 1231946202 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not counting langs like TwoDucks which are theoretically impossible to interpret, of course < 1231946207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: the problem in functional languages is d < 1231946211 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Although I still don't know what continuation is. < 1231946212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I think I've worked out a way around that < 1231946218 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :c is hard if you don't have call/cc already < 1231946229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, I think Unlambda -> Underlambda is doable < 1231946234 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1231946251 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Or esolang that needs full-blown implmentation of CYK for execution? < 1231946256 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :CYK? < 1231946264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I worked out the trick for d -> pure-functional a while back < 1231946271 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but deleted my notes on it, and the compiler I wrote, by mistake < 1231946277 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and haven't reconstructed them yet < 1231946279 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Also what's the theoretical machine behind INTERCAL again? < 1231946286 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: I'm not sure if it has a name < 1231946298 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, where does it store informations < 1231946299 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CLC-INTERCAL compiles to bytecode called ICBM that's specifically designed for INTERCAL < 1231946304 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Algorithm to decide uniform language recognization for context-free grammars in polynomial time. < 1231946315 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whereas C-INTERCAL compiles to C < 1231946319 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(and from there to native code) < 1231946355 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :That is, given string x and context-free grammar L, it can decide wheiher x is in L in polynomial time. < 1231946395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most esolangs don't care about computational complexity < 1231946406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, most practical langs don't < 1231946409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it might be nice to create one that did < 1231946410 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :We're all about the model, not the speed! < 1231946424 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, not always < 1231946432 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :cfunge is a nice counterexample < 1231946445 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I don't know much of funge languages < 1231946449 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231946451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://philosecurity.org/2009/01/12/interview-with-an-adware-author < 1231946452 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: it's nothing to do with the lang, just the interp < 1231946455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hypocrite -> < 1231946456 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231946471 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the interp is specifically designed for speed < 1231946488 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because when you're having fun with esolangs, you may as well set extra challenges < 1231946494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like writing the world's fastest funge interp < 1231946510 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(and then fizzie went and invented jitfunge, just for even more crazy-speed funge fun) < 1231946628 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231946630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :07:12:40 EsCo was the Esoteric Compiler < 1231946632 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :esoteric _combine_ < 1231946638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they were naive interpreters < 1231946639 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231946672 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Combine? < 1231946682 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Do they shoot you with lasguns? < 1231946697 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231946702 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :[16:24:20] Combine? < 1231946702 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :[16:24:30] Do they shoot you with lasguns? < 1231946704 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think it was that the interpreters were COMBINED together. < 1231946707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :revolutionary -> < 1231946707 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231946783 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://doc.trolltech.com/4.4/license-gpl-exceptions.html is the list of licences that pre-LGPL Qt could be linked with < 1231946785 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :MIT is on there < 1231946853 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231946855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :S: In your professional opinion, how can people avoid adware? < 1231946856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :M: Um, run UNIX. < 1231946858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :S: [ laughs] < 1231946860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :M: We did actually get the ad client working under Wine on Linux. < 1231946862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :S: That seems like a bit of a stretch! < 1231946864 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :M: That was a pretty limited market, I’d say. < 1231946865 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Also, that dude was writing in scheme, he can't be all bad. < 1231946866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-- that interview linked above < 1231946868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1231946869 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :ehird < 1231946870 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1231946874 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Stop leaving like that < 1231946889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why don't we just set the channel to allow message from outside? < 1231946896 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that way, ehird wouldn't have to join and part again to send messages < 1231946908 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, ehird is obviously reading the logs, so just joining the channel would be easier < 1231947034 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, stop being the scourge of the world < 1231947414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm was afk, what is the argument about? < 1231947430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's no actual argument; just ehird keeps joining, saying stuff, and parting again < 1231947454 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why? < 1231947466 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no real idea < 1231947475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1231947532 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Because he is the scourge of the earth. < 1231947545 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also funge is not that easy to make fast, I mean 2D sparse array < 1231947556 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :linear address space is much simpler < 1231947565 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1231947596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, however that reminds me of a wild idea, I don't know if me or Deewiant had it first, anyway it happened when trying to understand what ehird meant with an idea for another fingerprint < 1231947605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :paged memory in fungespace < 1231947611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you can mmap a file into an area < 1231947633 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, add in some buzz words like DMA to non-funge world and such < 1231947648 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DMA and funge? < 1231947655 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's great < 1231947663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway it would slow down normal operation because you would need to check if the coords would be into an mmaped area < 1231947686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also the file would need to be a raw file, couldn't care about stuff like newlines < 1231947688 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: are you focusing specifically on optimising fingerprints? or just on optimising core funge? < 1231947709 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, this idea? neither, because it would slow down normal operation < 1231947718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it probably isn't sane < 1231947732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway I wouldn't want to spec it, just an idea I had < 1231947733 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it's sane /enough/ < 1231947771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well, how would you avoid the overhead of checking a list of mappings to see if the access would be inside a mmaped() area in funge space on every funge space access < 1231947802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you'd only need to do it for p and g unless the IP went into the area < 1231947808 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you'd only need to do it if the fingerprint had been loaded < 1231947820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well other instructions that access too, lots of them in fingerprints < 1231947823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also I/O < 1231947825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1231947830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1231947831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :i/o < 1231947863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, but then you would need to check each time the IP moves to see if it is inside such an area < 1231947872 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so not sure you could gain much < 1231947879 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not each time the IP moved < 1231947883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1231947886 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just at every delta-changing or jumping instruction < 1231947895 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can project the IP's path the rest of the time < 1231947915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm, this would be one thing that is easier in a JIT I believe < 1231947932 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, JITs need to do that anyway < 1231947942 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1231947968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :doesn't mean you can't do it in a non-JIT < 1231947983 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231948059 0 :ehird!n=ehird@eso-std.org JOIN :#esoteric < 1231948232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you know what sucks < 1231948232 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1231948236 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :being tired. < 1231948283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :people. < 1231948285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and everything < 1231948293 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :uhhuh? < 1231948332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should probably do some algebra < 1231948359 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :x - 3 = 0 < 1231948362 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :SOLVE < 1231948387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :x=3 < 1231948410 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: i don't have the time for your incredible puzzles right now. < 1231948433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slereah_: (x-3) is not an lvalue < 1231948439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231948460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, postgres has an async SQL interface as well as a sync one < 1231948462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1231948469 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(for the fingerprint) < 1231948470 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oooooooooooo < 1231948550 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kkkkkkkkkkkk < 1231948581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eeeeeeeeeeee < 1231948629 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yyyyyyyyyy < 1231948652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yay not even matched count < 1231948720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or wait, ehird uses a variable width font, he probably didn't see that we all used same length of the lines < 1231948731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, I don' tuse a variable width font < 1231948732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you didn't < 1231948735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:54 oooooooooooo < 1231948735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:55 kkkkkkkkkkkk < 1231948736 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:56 eeeeeeeeeeee < 1231948738 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :account for nicks, bums < 1231948743 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1231948756 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, some clients right-justify nicks < 1231948763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well I right-align nicks to column 12 or so < 1231948782 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION switches to a variable-width font < 1231948794 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :delicious. < 1231948815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I actually spent the effort counting oklopol's os < 1231948820 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1231948843 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Variable-with fonts and some versions of xterm don't mix (the results look hideous)... < 1231948843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I just copied, went to start, pressed Insert key to enter overwriting mode and pressed e until the end :P < 1231948855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I don't use a console IRC client. < 1231948855 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's cheating < 1231948864 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because I have a GUI environment :P < 1231948867 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although this client doesn't have the insert/overwrite toggling < 1231948867 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no that is solving it in the simplest possible way < 1231948878 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no that is cheating < 1231948887 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: nothing prevents you right-justifying nicks in a GUI environment... < 1231948896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: fail < 1231948896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :16:00 Variable-with fonts and some versions of xterm don't mix (the results look hideous)... < 1231948923 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: oh, miseed the context < 1231948927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed, I'm using a GUI client on the bouncer atm, well two clients in fact < 1231948936 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was trying out conspire  < 1231948947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems like "a slightly less sucking xchat" < 1231948966 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its an xchat fork. < 1231948995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I know < 1231949006 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I am using futura. I feel FUTURAstic. < 1231949018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I much prefer ERC over conspire < 1231949039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but well, I prefer trying stuff before I dismiss them. :) < 1231949055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Optima looks weird. < 1231949064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, is that a font? < 1231949068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :typeface. < 1231949076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :HELLO FROM ZAPFINO < 1231949080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how does font differ from typeface? < 1231949103 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A font is the computerized representation of one variation (regular, bold etc) of a typeface. < 1231949117 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Or, you know, the metal-ized representation, if you're oldsk00l. < 1231949143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ah yes, my old pal Gutenberg liked that a lot < 1231949170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You knew Johannes Gutenberg? < 1231949171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oldsk00l < 1231949180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ~ < 1231949189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :PAPYRUS! Next up: COMIC SANS! < 1231949194 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1231949205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :COMIC SANS MS! The OFFICIAL FONT of #ESOTERIC! < 1231949210 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1231949210 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1231949213 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1231949232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what about that MS chat thingy < 1231949236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that would be even worse < 1231949243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Code2000! < 1231949257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I mean using it, in comics mode < 1231949269 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm ignoring you :D < 1231949275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well I would hate it < 1231949298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, it's great < 1231949304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MS Chat is the best irc client eve < 1231949305 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :r < 1231949339 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm quite sure you forgot the ~ < 1231949350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231949351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :very serious < 1231949480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"YouTube Now Mutes Videos With Unauthorized Copyrighted Music" < 1231949481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lollllllll < 1231949481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://mashable.com/2009/01/14/youtube-mutes-videos/ < 1231949509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks < 1231949533 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Gay < 1231949553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1231949663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in what way is it muted? < 1231949682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, just in the GUI or in the actual file? < 1231949689 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Iunno < 1231949693 0 :Slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Go and find out! < 1231949698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think it forces the mute in the gui < 1231949699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but not the file < 1231949754 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, seems to be in the file, I just tried with youtube-dl to get the .flv < 1231949760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of one of the examples < 1231949762 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, that makes more sense :P < 1231949796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well true < 1231950701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, about quoting, what about S = Escape string for query < 1231950708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc several DB interfaces has such < 1231950719 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no no no < 1231950728 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :don't do escaping then inserting strings, that way injections lie < 1231950729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ok prepared is better yes < 1231950734 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :use parametrised queries, or prepared statements < 1231950762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well at least sqlite only allow parametrised queries with prepared statements iirc < 1231950777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it was a while since I last used that API < 1231950986 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I'm reading up on three DBs when making this interface: PostgreSQL, SQLite and MySQL. To make sure it is reasonably portable < 1231951010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you know any other open source SQL database that may be of interest, tell me < 1231951038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and before anyone ask: why open source only?: I don't plan to pay for oracle to make sure it is compatible) < 1231951045 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oracle has a free edition. < 1231951063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think it needs like 4gb of ram though. < 1231951072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I have 1.5 in this system < 1231951076 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so tough luck < 1231951081 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that was an exaggeration < 1231951106 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway from what I heard oracle is quite similar to postgres in many aspects < 1231951131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oracle is pretty terrible from what i've seen. < 1231951147 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1231951200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well if you can do simple stuff like: query, get row at a time, start/end/roll back transactions, connect/disconnect, get error code/message related to last error it should be fine < 1231951229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what interest me more is how to integrate the postgresql async interface easily < 1231951232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it would be cool < 1231951238 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wow, this is so boring < 1231951250 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well everything isn't about you all the time < 1231951279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how ironic < 1231951393 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :grrrrr fuck people who talk about useless use of cat. < 1231951401 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its a bloody unix pipeline. it makes sense like that. < 1231951421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well doing cat foo | grep bar makes no sense < 1231951424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :grep bar foo < 1231951426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :makes much more sense < 1231951426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :grrrr < 1231951428 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kill yourself < 1231951434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um? < 1231951435 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it makes perfect effing sense < 1231951440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1231951446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, why doesn't it? < 1231951451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you're catting the file, then grepping that < 1231951456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you read unix pipelines left to right < 1231951461 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that makes _perfect_ sense < 1231951461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :grepping a file makes more sense < 1231951464 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1231951471 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :No? < 1231951477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, "can not create process: limit exceeded" < 1231951481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :makes a lot of sense too < 1231951489 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah because that cat is going to linger there forever < 1231951492 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you can only run 5 processes < 1231951493 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :total < 1231951497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :before your machine crashes < 1231951498 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I feel for you < 1231951509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, because you can hit the limit on a lot of shell servers quickly < 1231951511 0 :BeholdMyGlory!n=arvid@d83-183-181-73.cust.tele2.se JOIN :#esoteric < 1231951526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes. adding an extra cat to a pipeline will be _fatal_ < 1231951544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, sometimes it will break stuff yes. Like I described < 1231951545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BeholdMyGlory: are you AnMaster, or do we have two Arvids on this channel? < 1231951554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, two people < 1231951555 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: uh huh. sure. < 1231951560 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :we established that yesterday < 1231952387 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The people on the Tubes must chip in and make an alternative to You Tube, it's not that expensive. The company must be based somewhere outside USA and it should be owned by at least 1 Mil guys so it will be never sold to any big company. < 1231952389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :--reddit < 1231952426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you'd have to make a distributed version, somehow < 1231952437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok ais523 i ask you one thing < 1231952444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :1 million's about the population of Birmingham, so it seems a bit excessive < 1231952444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :when i quote someone stupid for no particular reason < 1231952448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :please stop responding seriously < 1231952461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: in that case, you've missed the joke < 1231952473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's more that the joke is turning me into a gibbering wreck < 1231952976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wow, zzo38 doesn't get open source < 1231952977 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Most of the new files added to Vonkeror are now licensed by GNU GPL v3 or < 1231952978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :later version (it is permitted because the LGPL v2.1 permits it). I am < 1231952980 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :making a exception: Anyone who is making Conkeror software may relicense < 1231952982 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :under the Conkeror license, in order to be added into Conkeror. Anyone < 1231952984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can remove this exception from your own copy of the codes if they want < 1231952986 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to, but it is not required to remove this exception. However, this < 1231952988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :exception only grants additional permission to the workers of Conkeror. < 1231952990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :itt: vaguest shit ever < 1231952992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who the hell is a worker of conkeror < 1231953019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1* Select odd/even row of tables using [_even] and [_odd] CSS selectors < 1231953020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it's certainly legit to make a GPL3 fork of an LGPL2.1+ project < 1231953024 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that that is generally sensible < 1231953025 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :itt: zzo38 is microsoft 2.0 < 1231953033 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i mean the relicensing clause < 1231953050 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://zzo38computer.cjb.net/vonkeror/screenshots/screenshot_001.png Impressively ugly. < 1231953065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that sort of thing is relatively common, just worded better < 1231953073 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: conkeror is OPEN SOURCE < 1231953074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, it reminds me of the actually correct version of the wording < 1231953076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :everyone is a "worker" of it < 1231953080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's no people actually "in" conkeror < 1231953086 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, I know < 1231953091 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the problem's with who the exception is given to < 1231953101 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but legally speaking, it can be given to any set of people and the licence still works < 1231953128 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :doesn't mean the reclicensing works < 1231953145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Tax bracket system should work differently, which is that for example if $0.01 to $200.00 is 0% and $200.01 to $400.00 is 10% and if you earn $300.00 then you should pay $10.00 in taxes, not $30.00 (note that my numbers are just examples, these actual numbers are stupid but the idea has to do with how the calculations are done, not the actual rates used) < 1231953147 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Maybe that is unclear. But maybe if I write it in Javascript then it will be easier to understand? Or maybe not. I will write in Javascript anyways. < 1231953158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this guy is like a troll minus the troll < 1231953170 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he's impossible to understand and often slightly clueless, except minus the frustration < 1231953177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and he's just writing on his blog nowadays so he isn't even talking to anyon < 1231953177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1231954419 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1231954663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : when i quote someone stupid for no particular reason please stop responding seriously <-- you aren't that nice when I do it... < 1231954680 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :he does it less often. < 1231954734 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :good point ehird < 1231954756 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I respond seriously only when it's actually funny < 1231954772 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or when, in this case, I don't think the comment is as stupid as you think it is (yet, of course, still stupid) < 1231954889 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wonder where chris pressey works < 1231954903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wouldn't be surprised if he somehow makes money out of cats eye, due to the expanse of http://catseye.tc/projects/ < 1231955165 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1231955166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Established by Chris Pressey in Winnipeg, Manitoba, Canada, and now located in Vancouver, British Columbia, Cat's Eye Technologies has provided custom software development and consulting services since 1995. Our clients have included Manitoba Health, Star Building Materials, Morrison Homes, and Samkoma.com. < 1231955190 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's pretty amazing that a genuine company has a whole esolang win < 1231955192 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*wing < 1231955200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :especially one so famous < 1231955250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, it's just one guy :P < 1231955264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who does freelancing work. and happens to have an esolang hobby. < 1231955356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/about/php.html < 1231955370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the last paragraph is priceless < 1231955381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :especially since it's a real error < 1231955438 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Perl is what happens when you play Katamari Damacy with the Unix toolchain. This condition has been less gracefully described, by others, as "being a steaming heap." " < 1231955440 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/about/perl.html < 1231955441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how do you know it's a real error? < 1231955446 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the source code < 1231955451 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the linebreak and everything < 1231955454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is exactly the same < 1231955454 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is it linked from the page? < 1231955468 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Too bad it wasn't line 404 < 1231955478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I do like the idea of playing Katamari Damacy with the UNIX toolchain, though < 1231955478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1231955480 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/internal/directory/structure/home/website/include/oh_drat.php < 1231955483 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's obviously fake < 1231955488 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Propably < 1231955491 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so i guess he caused a php error < 1231955493 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then copied the code < 1231955500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and modified it < 1231955507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : I'd say Unlambda and INTERCAL are two good examples < 1231955518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: of esolangs which are hard to compile/interpret < 1231955523 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :unlambda is easy if you think in terms of graph rewriting < 1231955524 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as opposed to BF, which is easy < 1231955540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I suppose rewriting langs would be good at d < 1231955543 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how good are they at c? < 1231955552 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, actually writing a graph rewriting lang in the first place is nontrivial < 1231955559 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you use CPS style, of course < 1231955561 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I want to write an unlambda->efficient c compiler < 1231955569 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it isn't self-modifying is it? < 1231955574 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not exactly < 1231955581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but d makes it self-resemanticising < 1231955609 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can't you just track d tags and pass thunks to d-tainted functions? < 1231955615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to be efficient on non-D using code < 1231955624 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, I'm sure there are tricks that work < 1231955626 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just nontrivial < 1231955641 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as for c, if you're using CPS you need to do garbage collection of continuations somehow < 1231955657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :cheney on the mta < 1231955660 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually by graph rewriting i mean little more than ML/haskell style ADTs with pattern matching < 1231955666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://home.pipeline.com/~hbaker1/CheneyMTA.html < 1231955666 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically < 1231955673 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: that's what I was thinking of too < 1231955674 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you convert to cps < 1231955675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you allocate everything on the stack < 1231955678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you use regular c function calls < 1231955681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then < 1231955682 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I normally use Thutu for that sort of thing < 1231955682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to gc < 1231955685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you do a longjmp < 1231955689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or even more fun, recursive Perl regexen < 1231955691 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to clear the cstack < 1231955691 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, the point is the continuations can _also_ be done as such structures < 1231955692 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*c stack < 1231955705 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a generational garbage collector that's really insanely fast beacuse you just call c functions and allocate on the stack < 1231955713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a piece of art < 1231955728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you get efficient allocation, function calls, continuations and GC, almost for free. < 1231955770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... it depends on longjmp/alloca < 1231955774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231955780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably using alloca precisely because it plays well with longjmp < 1231955781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't depend on alloca inherently < 1231955786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :although most of the time you want to use it < 1231955789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but their example doesn't < 1231955791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's how it handles dynamic-size data < 1231955792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it is _all_ stack-allocated < 1231955797 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alloca is stack allocation < 1231955805 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :please stop talking to me like I don't know C < 1231955806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :read their example program < 1231955808 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I suppose you could use VLAs, but VLA + longjmp = madness < 1231955819 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://home.pipeline.com/~hbaker1/cboyer13.c < 1231955822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :grep for alloca( < 1231955864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: probably it just doesn't have any dynamic-sized data structures, so doesn't need it < 1231955870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1231955873 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'd go for VLAs. < 1231955874 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1231955875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sure, its madness < 1231955878 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it'd work no < 1231955878 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1231955902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of course, alloca would be about as well-supported, easier to code, and more sane. < 1231955916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not certain that longjmp + VLA is guaranteed to do anything in particular < 1231956049 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides to write some perl < 1231956075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unlambda-compiling perl to be specific < 1231956129 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :guess what i'm going to do to be esoteric < 1231956142 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CPS? < 1231956147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's esoteric in Perl < 1231956168 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1231956177 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :write my own object system. < 1231956242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231956263 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i recall the bundled perl interpreter in the unlambda distribution was rather slow < 1231956275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as in, my INTERCAL interpreter was faster than it :D < 1231956279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1231956283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this will compile unl to semi-efficient c < 1231956338 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh dear < 1231956352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, C-INTERCAL is designed to be not inherently slow < 1231956359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not like cfunge-fast < 1231956364 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but as in, it won't deliberately slow you down < 1231956373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also it doesn't give a runtime penalty for features you aren't using < 1231956393 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought that was a C++ mantra < 1231956395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523 isn't nearly shocked enough :( < 1231956424 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well, C++ is like that too < 1231956434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but on the other hand, other langs do give a penalty for features you aren't using < 1231956438 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so we had to choose one or the other < 1231956465 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course there's an excuse, the perl interpreter was a debugger too < 1231956475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that isn't really an excuse < 1231956481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :debuggers shouldn't give much of a runtime penalty either < 1231956487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, even yuk doesn't slow programs down much < 1231956514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, there's a huge bug in the C-INTERCAL profiler atm < 1231956515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what's the perl prototype that makes the {...} passed to the function be a sub {...}? < 1231956565 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :& < 1231956570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thx < 1231956571 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wait, you're messing with prototypes? < 1231956573 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1231956576 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1231956577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's eso from the start < 1231956583 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it uses prototypes to implement a prototypical object system < 1231956584 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DDD < 1231956677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you make an anonymous sub run in a certain scope? < 1231956681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e., inject variables into it and stuff < 1231956706 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1231956713 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how :D < 1231956714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as long as the sub doesn't try to declare the variables itself < 1231956742 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you make sure the variables haven't been lexically scoped when the anon sub has been declared < 1231956758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they need to be lexical inside the scope of the anon sub < 1231956761 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they mustn't be inside a my at any level, you have to be aiming at the globals when the sub was declared < 1231956768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then, you use local inside the block that calls the sub < 1231956771 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :via eval if necessary < 1231956793 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hrm, actually I'll just do it like the rest of perl's oo system < 1231956796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can use local anywhere without interfering with this, it was deprecated in favour of my because my was saner < 1231956812 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but local, being insaner, is better for implementing that sort of insane scheme < 1231956820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $Rectangle = $Object->clone { < 1231956821 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : sub cloned { < 1231956822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my ($self, $w, $h) = @_; < 1231956824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : $self->width = $w; $self->height = $h; < 1231956826 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : return $self; < 1231956828 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : } < 1231956830 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :}; < 1231956848 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now to get that to run < 1231956867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oops, first line should be < 1231956868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $Rectangle = $Object->clone->do { < 1231956880 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to remember the last time they saw a perl variable that started with a capital letter < 1231956884 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for some reason, that just Doesn't Happen < 1231956896 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1231956920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1231956925 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does #include "__FILE__" work in C? < 1231956926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it should < 1231956941 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :er < 1231956942 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sans quotes < 1231956944 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#include __FILE__ < 1231956946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it works without the quotes < 1231956958 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it isn't guaranteed to, it will on most cpps < 1231956960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: here's what i'll do in the underload compilation: < 1231956973 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#ifndef _UNDERLOAD_HEADER < 1231956977 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it isn't guaranteed because #include isn't guaranteed to work on non-standard-headers, e.g. if you don't have a filesystem) < 1231956979 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1231956980 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :OI < 1231956984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stop ruining my paste < 1231956985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[ < 1231956988 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#ifndef _UNDERLOAD_HEADER < 1231956990 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#define _UNDERLOAD_HEADER < 1231956992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#include __FILE__ < 1231956993 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you don't want people to ruin your pastes, use a pastebin < 1231956998 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, it's still readable anyway < 1231957000 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm writing it as I go < 1231957002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so here I start again < 1231957003 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[ < 1231957005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#ifndef _UNDERLOAD_HEADER < 1231957007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#define _UNDERLOAD_HEADER < 1231957009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#include __FILE__ < 1231957014 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#undef _UNDERLOAD_HEADER < 1231957019 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(HERE GOES UNDERLOAD CODE) < 1231957020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#else < 1231957023 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's not as if you're using telnet, surely other people's comments don't interfere with typing? < 1231957024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(BORING HEADER BOILERPLATE) < 1231957025 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#endif < 1231957026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :]] < 1231957028 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can still read it < 1231957038 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e., it hides the boring boilerplate definitions at the bottom of the file < 1231957043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :while still letting them be used in the top of the file < 1231957045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Underload, or Unlambda? < 1231957054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unlambda, but whatever < 1231957060 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's irrelevant to the trick :P < 1231957067 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: please, they're as different as Java and JavaScript < 1231957070 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, almost < 1231957077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :they're irrelevant _to the trick_ < 1231957155 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : 1 million's about the population of Birmingham, so it seems a bit excessive <-- is that the official UK definition of excessive? < 1231957172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow this fingerprint spec is quite large < 1231957178 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no, but it may as well be < 1231957179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is already 200 lines, and far from complete < 1231957181 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: which fingerprint? < 1231957182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :say, does perl have a built-in exception handling system? < 1231957187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IFFI's about that long, but complete IIRC < 1231957188 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, SQL (3 letter yes) < 1231957189 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes < 1231957194 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o rly < 1231957198 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's eval {} for try {} (note, not eval "") < 1231957200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and die for throw < 1231957208 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :catch is done using one of the weirdly named variables < 1231957214 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably $@, but I might be wrong on that < 1231957216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay, ummm, how do you have different types of exceptions there :DD < 1231957233 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm not sure offhand if you can throw anything but a string < 1231957239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what language is this? < 1231957240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but if you can, you can just use isa on the object to see what it is < 1231957242 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Perl < 1231957243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: perl < 1231957245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231957254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :okay so < 1231957254 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eval { < 1231957258 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : blah < 1231957260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} or { < 1231957264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : ... stuff with $@ ... < 1231957264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} < 1231957265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231957271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1231957278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that is perl's exception handling? < 1231957284 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems a bit unusual < 1231957287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :essentially. < 1231957290 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: this is Perl we're talking about < 1231957292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just lets you recover from a die "foo" < 1231957298 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :all its features were bolted onto the core as simply as possible < 1231957298 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231957300 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*possibly < 1231957303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because eval { } will be false when it dies < 1231957308 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is why objects are basically just sugar for stuff < 1231957308 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you can use or on it with a code block < 1231957311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the die string is put in $@ < 1231957313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, heh < 1231957321 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I think the block might have to end with 1; for that to work < 1231957324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, does this work for language errors, say division by zero < 1231957330 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then, Perl modules have to end like that for the same reason < 1231957331 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: maybe. < 1231957332 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1231957336 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1231957338 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it throws a string in that case < 1231957351 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can use ref $@ to see if it's a string or not < 1231957358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does perl have an empty package built in? < 1231957362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like BLANK or something < 1231957373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that I know of < 1231957382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1231957382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although some, like strict or warnings, are very simple < 1231957390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because they just set flags that the compiler reads < 1231957401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what, you thought use strict; was a compiler directive? < 1231957408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't $@ be argv? < 1231957413 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no. < 1231957416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh ok < 1231957417 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, that's @ARGV < 1231957421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231957430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what made you think it would be $@? < 1231957433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well perl is often close to shell I noted... < 1231957438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it wasn't such a bad guess < 1231957453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a mix of C, shell, and sed < 1231957456 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which explains a lot < 1231957458 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes true < 1231957484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what about awk? < 1231957494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, that too < 1231957500 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although that's more use English; than default < 1231957728 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, eh? < 1231957745 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: use English; imports awk-like variable names < 1231957762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um ok... < 1231957765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders vaguely if awkwards is the opposite direction to sedwards < 1231957809 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :18:28 tomboy64 has left IRC ("This connection was severed because the sys-admin has been abducted by aliens and is now being tortured in the most pleasurab) < 1231957841 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so what would this awk script be in perl http://rafb.net/p/DOu9SY23.html ? < 1231957849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try awk2perl. < 1231957852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it will tell you. < 1231957874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm not sure if this is gawk specific or not since I have no other awk here < 1231957883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :try it and see. < 1231957896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also what package is awk2perl? < 1231957899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a2p(1) < 1231957904 0 :KingOfKarlsruhe!n=nice@HSI-KBW-091-089-252-201.hsi2.kabel-badenwuerttemberg.de JOIN :#esoteric < 1231957905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you have perl you have it < 1231957912 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1231957916 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :tried the full name < 1231957921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :output looks correct to m < 1231957921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :e < 1231957983 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://rafb.net/p/fw7OUJ65.html < 1231957990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that was a2p < 1231957992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah because he is unable to run program < 1231957992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1231958001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231958006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I was running it locally < 1231958007 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231958007 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, jumped to running a2p before that conversation started < 1231958013 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and only just saw your descriptions < 1231958022 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a2p is surprisingly competent < 1231958028 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it generated the line $[=1 < 1231958032 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for ehird to say he is sorry for that comment above to ais523 < 1231958034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is very very deprecated in modern Perl < 1231958043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :who cares about modern perl < 1231958045 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what? < 1231958054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's more or less gets-level deprecation < 1231958059 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so? < 1231958063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't automatically give everyone an evil handle to take over your computer < 1231958064 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if it works, it works < 1231958065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's close < 1231958066 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : yeah because he is unable to run program s ehird: well, jumped to running a2p before that conversation started and only just saw your descriptions oops, sorry < 1231958073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is what I expected but didn't see < 1231958074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well what is $] < 1231958080 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the version number < 1231958087 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$[ is the base of arrays < 1231958094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, normally arrays are zero-based < 1231958098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$[=1; makes them one-based < 1231958102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1231958103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no one sane would make $] be a version number < 1231958107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but changing the value causes chaos < 1231958109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: why not? < 1231958112 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was unused < 1231958113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: um, I made a mistake. do I have to point that out to everyone? < 1231958119 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean, he said he did it before the conversation < 1231958121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so that's that < 1231958137 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :apparently they chose it based on a bad pun, so people would remember it more easily < 1231958142 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well it makes no sense, I mean reserve the namespace $PERL_ or such and have $PERL_VERSION < 1231958143 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"Is this version of Perl within the right bracket?" < 1231958158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's longer. < 1231958161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :*groan* < 1231958164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes and? < 1231958166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :more readable? < 1231958169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there you go. < 1231958177 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :[19:35:03] no one sane would make $] be a version number <-- Last time I checked, we were in #esoteric < 1231958178 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's perfectly readable to anyone who knows perl < 1231958179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and they do have a reserved namespace, it's dollar followed by punctuation marks or control codes < 1231958181 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :The insaner, the better < 1231958182 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and makes hacking up scripts easy < 1231958186 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FireFly: wow, you caught on already < 1231958191 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :don't worry, AnMaster is always like this < 1231958193 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1231958222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well, what if they one day need more than the amount of punctuation marks or control codes < 1231958236 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they have already, but they didn't run out < 1231958243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1231958253 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can have variable names which start with a control code and are followed by normal letters < 1231958260 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :written as ${^Variable}, for instance < 1231958265 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where ^V is either a literal control-V < 1231958272 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or the separate characters ^V < 1231958274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to make it easier to type < 1231958276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also that awk script was a lot nicer < 1231958280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :than the generated perl code < 1231958281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's stored internally as a literal control-V, though < 1231958287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :omg machine compiled code < 1231958287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is < 1231958288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I assume you could make the perl code nicer < 1231958288 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and of course it was, written code > generated code < 1231958288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ugly!! < 1231958291 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :more or less always < 1231958293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :call the PRESS < 1231958309 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : but I assume you could make the perl code nicer omg machine compiled code is ugly!! < 1231958312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is what I said yes < 1231958313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231958328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : everyone types instantly, and network lag does not exist < 1231958332 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the Perl isn't that bad, though, apart from it's missing idiomatic abbreviations for if/else < 1231958339 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which makes it much vertically longer than it ought to be < 1231958344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well you could wait a few seconds before over reacting < 1231958347 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would work too < 1231958356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's called sarcasm < 1231958358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not overrreacting < 1231958371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it seemed like you were attacking me? < 1231958381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231958389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was responding sarcastically to comments I considered ridiculous. < 1231958425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well it uses next line; instead of a switch or elseif or whatever, because each of those ends so it will never execute the next one < 1231958431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :guess that is a special case < 1231958459 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there is no switch in perl, but an if/elsif chain would have made more sense < 1231958463 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just a2p isn't trying to optimise that case < 1231958473 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or even a ?: chain would have worked there < 1231958484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, true. would local($dir, $CC, $bits, $GC, $THR) = @_; detect missing parameters? < 1231958485 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(actually, I lied, there is a switch in Perl but it's really new and hasn't caught on yet) < 1231958511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in error out, or warn on missing parameters < 1231958514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not without warnings on < 1231958516 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably not even then < 1231958518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would just assign undef < 1231958523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well the original awk code would < 1231958530 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can check easily enough using @_ == 5 < 1231958533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :too few parameters < 1231958534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just a2p neglected that check < 1231958538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right < 1231958581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I don't understand the logic for the check if $running_under_some_shell; at the top < 1231958595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's for systems on which #! doesn't work < 1231958598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a hack < 1231958602 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in shell, the next line won't be executed < 1231958604 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :think about what the code does in sh < 1231958607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but in perl, it's waiting for the end of the statement < 1231958609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231958610 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and that if makes it never run < 1231958614 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: x if y; < 1231958614 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in perl < 1231958615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is < 1231958617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if y { x } < 1231958619 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it is, in fact, a Perl/sh polyglot < 1231958619 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1231958621 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if (y) { x } < 1231958629 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which reinvokes the program under Perl if it's running in sh < 1231958631 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, heh < 1231958634 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh? < 1231958635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hence the slightly weird phrasing < 1231958641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231958643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1231958653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that assumes perl is in /usr/bin however < 1231958662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think /usr/bin/env perl would be more portable < 1231958663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231958665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's often done with /usr/bin/env < 1231958667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it uses the perl you have on your system < 1231958673 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in my case I get < 1231958674 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#!/opt/local/bin/perl < 1231958675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :eval 'exec /opt/local/bin/perl -S $0 ${1+"$@"}' < 1231958677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : if $running_under_some_shell; < 1231958677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231958678 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, of course < 1231958681 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you're not meant to distribute these scripts, ofc < 1231958682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1231958683 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's object code < 1231958701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well then I would surely use the local awk on my system < 1231958709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not everyone has gawk < 1231958718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not everyone _wants_ gawk < 1231958720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well it could be portable awk < 1231958725 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whatever < 1231958725 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just haven't tried it < 1231958729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a2p is useful for porting scripts over < 1231958731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is a local one off script < 1231958738 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it runs as object code out of the box as a proof-of-concept < 1231958742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and lets you hack it up afterward < 1231958742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1231958760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it supports gawk extensions? < 1231958767 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1231959086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :" For aesthetic reasons you may wish to change the array base $[ from 1 back to perl’s default of 0, but remember to change all array subscripts AND all substr() < 1231959086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : and index() operations to match." < 1231959088 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :from man page < 1231959141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1231959147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I see why they set $[ < 1231959151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1231959154 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's more than just aesthetic reasons, though < 1231959161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1231959165 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :really, you don't want to force an array index of 1 onto all the other code you link it with < 1231959173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well true < 1231959175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although they have a fix for that in recent versions, it's hacky < 1231959185 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why do they set $[ then? < 1231959224 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: to avoid having to wrap all the indexing operations in the whole program < 1231959231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : For efficiency, you may wish to remove the keyword from any return statement that is the last statement executed in a subroutine. A2p catches the most common < 1231959231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : case, but doesn’t analyze embedded blocks for subtler cases. < 1231959232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wut? < 1231959233 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the thing about Perl is it's good for large programs and short one-off scripts < 1231959236 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but in different ways < 1231959248 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: hmm... that shouldn't affect efficiency nowadays < 1231959251 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a2p must be really old < 1231959255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what keyword? < 1231959257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't gt it < 1231959259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: return < 1231959259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :get* < 1231959265 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can write 4; instead of return 4; < 1231959269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at the end of a procedure < 1231959272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1231959277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231959280 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :http://fichiers.asibasth.com/images/conneries/divers/Programmer_Superiority.jpg < 1231959281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't affect efficiency apart from the time it takes to parse the return keyword, though < 1231959358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is $, = ' '; about? < 1231959372 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: separator for print statements < 1231959379 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1231959398 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :print "a", "b", "c"; is equivalent to print "a$,b$,c$/"; < 1231959405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except that the second one would actually print $/ twice, as it's implicit < 1231959409 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, anyway how do you set input separator? because the call to the script did that with -F iirc < 1231959416 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$/ < 1231959423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1231959424 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although that can't be a regex in Perl, and it can be in awk < 1231959438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh it can in awk? nice < 1231959448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I shall certainly remember it, will be useful < 1231959487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :BUGS < 1231959488 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : It would be possible to emulate awk’s behavior in selecting string versus numeric operations at run time by inspection of the operands, but it would be gross < 1231959488 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : and inefficient. Besides, a2p almost always guesses right. < 1231959488 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Storage for the awk syntax tree is currently static, and can run out. < 1231959493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh at the latter < 1231959505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :AUTHOR < 1231959505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Larry Wall < 1231959515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why's that notable? < 1231959592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what? the strange bug about using static storage? < 1231959598 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, the author < 1231959618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well wikipedia has an article on him so I guess he is notable? < 1231959623 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION swats ehird -----### < 1231959627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but why is it notable that he wrote a2p < 1231959631 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why did you quote that block < 1231959634 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :HOW DARE YOU INSULT THE GREAT LARRY WALL < 1231959635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: he's notable for writing Perl < 1231959640 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so writing a2p too is hardly surprising < 1231959643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1231959649 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's like calling me notable for writing convickt < 1231959656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh yes you are < 1231959662 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not for that reason, though < 1231959680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well after looking at convickt code I would say: very notable for that < 1231959686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also notorious < 1231959824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Just to put this into perspective, I never use getopt, either in C or in perl. < 1231959824 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I suppose this could be construed as a character flaw. < 1231959825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :—Larry Wall, Dec 1989 < 1231959837 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1231959845 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are lots of good Larry Wall quotes < 1231959849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, "put what in perspective" < 1231959854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://groups.google.com/group/comp.lang.perl/browse_thread/thread/4bda45c06e872fef/86586c72bf0ddc18#86586c72bf0ddc18 < 1231959869 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the one about real programmers not needing backups, but instead persuade the whole Internet to mirror their work, I think is quite insightful < 1231959898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :backing up a gpg-encrypted drive image via thepiratebay could work, if you bundle parts of it with illegal material < 1231959912 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I remember once I uploaded a computer game to the pirate bay -- skip ahead a year, I can't find my disc. < 1231959919 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So I download my own copy from everyone else. < 1231959927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that was quite silly < 1231959995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hah < 1231960047 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also isn't the pirate pay just a torrent searcher, not a tracker? < 1231960050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm no expert.. < 1231960054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :both. < 1231960057 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh ok < 1231960063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a tracker that provides a search facility for the torrents it tracks < 1231960072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, and not for other's torrents? < 1231960080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err grammar fail < 1231960090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No. Sites like torrentz.com aggregate torrent trackers into a search engine. < 1231960094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231960100 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though tpb was like that too < 1231960101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1231960154 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1231960158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if bless {}, NULL will work in perl < 1231960160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#!/usr/local/bin/perl < 1231960161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :do 'getopt.pl'; < 1231960163 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf is that? < 1231960169 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that would run the script getopt.pl < 1231960170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :isn't it use getopt? or something < 1231960171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e., like a load < 1231960173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231960176 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and this is from _1989_ < 1231960180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah true < 1231960186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it is probably a module nowdays? < 1231960189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1231960196 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :perl was only 2 years old back then, and had only been public i think for like a year < 1231960199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :modules didn't exist back then? < 1231960205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :unlikely < 1231960208 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1231960478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hee, I found the torrent < 1231960485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :seeder 0, leechers 1 :( < 1231960490 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231960504 0 :sebbu!n=sebbu@ADijon-152-1-86-115.w81-49.abo.wanadoo.fr JOIN :#esoteric < 1231960510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how to represent NULL in funge? as in NULL from SQL < 1231960511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ^ < 1231960538 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: hmm... are you mostly dealing with string data? < 1231960555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, um? as in type of prepared statement or type or return value < 1231960564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I try to make it support several types < 1231960575 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if so, you could use -1 or some other character that doesn't make sense in strings < 1231960575 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that's no good if you're returning an integer < 1231960579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :currently I have where format of depends on < 1231960581 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :holy crap < 1231960585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my keyboard < 1231960585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just < 1231960587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :manually closed < 1231960589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :every window in my browser < 1231960590 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one by one < 1231960594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and yes I support integers and blobs < 1231960594 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without me telling it to < 1231960602 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: are you sure? < 1231960605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, your keyboard? < 1231960605 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and keyboard, or mouse? < 1231960607 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yep, i'll explain < 1231960608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :did that? < 1231960610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how < 1231960625 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i pressed cmd-w to close one window, while i was pressing it, my (wireless) keyboard lost connection for some reason < 1231960634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and so the OS never got the "keypress up" signal from it < 1231960637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it thought i was holding it down < 1231960638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1231960644 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it stopped when the last window was closed, and thus there was no focus < 1231960645 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1231960647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a bug, isn't it? < 1231960653 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1231960659 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's not exactly gonna be common though < 1231960661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I wouldn't use a wireless keyboard anyway < 1231960671 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's nice. i don't care. it was my system, not yours < 1231960681 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know about other protocols, but on Windows the protocol is to send a key-down message for every time the key should appear, then a key-up at the end < 1231960682 0 :sebbu2!unknown@unknown.invalid QUIT :Connection timed out < 1231960690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so holding down a key gives down,down,down,down,down... < 1231960693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and letting go gives up < 1231960697 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231960702 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's not how it works at the hardware layer < 1231960703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it gets < 1231960705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's how messages are sent to the software < 1231960707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :KEY X UP < 1231960709 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :KEY X DOWN < 1231960713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hardware using a similar method would make sense, probably < 1231960718 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231960722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you have a short fuse (as I would say in Swedish, "kort stubin", not sure if the translation is very unidiomatic or not) < 1231960723 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because the repeat rate is configurable < 1231960732 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it is idiomatic < 1231960735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1231960741 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, but wouldn't the keyword be? < 1231960745 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, i've just learnt that talking with you is so irritating that I try not to give it too much thought. < 1231960747 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, yes... < 1231960751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, that's how keyboards work < 1231960758 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so the driver never got "key X up" < 1231960787 0 :kar8nga!n=kar8nga@b-146.vc-graz.ac.at JOIN :#esoteric < 1231960825 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok, $Object->{hello}(); works < 1231960832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now to make $Object->hello work < 1231960832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, if it detects the lost connection (which I know it does for wireless mouse on OS X at least) it should send the key up event itself < 1231960840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: shrug < 1231960845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was funny < 1231960847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it's a feature < 1231960867 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey, what perl method gets called when the method isn't known again? < 1231960868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: most people wouldn't consider all their windows closing a feature... < 1231960872 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: AUTOLOAD < 1231960874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I'm pretty sure I have seen an ibook display "connection lost" under an image of a mouse < 1231960880 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1231960892 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, the same for keyboards I assume? < 1231960895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1231960910 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and for mouse it sends button up when that box shows up < 1231960910 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what args does it get? :\ < 1231960917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not for keyboard? < 1231960960 0 :ais523!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1231960976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch that sounds like the C pre-processor trying to auto add missing includes XD < 1231961091 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/private/xisw72zrb5danroibmor7a c program reordering < 1231961098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :self-contained files without huge library bulk at the top. < 1231961146 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1231961212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, eh < 1231961229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1231961258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why though? I don't see the point < 1231961265 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for compiler output < 1231961280 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the huge support functions can be at the bottom so you can inspect the compiled unlambda easily < 1231961282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, why not just add the include at the top instead < 1231961283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :without scrolling a lot < 1231961286 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231961288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1231961294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that adds a function too < 1231961299 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :note that there's no prototype before it < 1231961302 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just reorders thec ode < 1231961304 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, this is from an unlambda compiler? < 1231961308 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why didn't you say < 1231961313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm planning to write it :P < 1231961314 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so yes < 1231961324 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also, I'll keep the constant name. < 1231961328 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well yes for that I guess it makes a certain amount of cense < 1231961334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sense* < 1231961336 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1231961378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.nordier.com/v7x86/index.html < 1231961384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nerdgasm! < 1231961453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% perl unl2c.pl < 1231961453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :__PROXY=HASH(0x18006a0) < 1231961455 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1231961456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1231961459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1231961460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :__PROXY=HASH(0x18006a0) < 1231961462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :now why does it duplicate that arg... < 1231961464 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1231961466 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231961676 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, thanks for that link < 1231961680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bookmarks < 1231961707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to figure out how to define a variable i n another package < 1231961722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is __PROXY? < 1231961729 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a package I made up. < 1231961744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what is this HASH() thing? MD5 hash? < 1231961763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe sha1 < 1231961766 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231961767 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :perl hash < 1231961770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, it's an attempt to print a pointer to a hash < 1231961771 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i.e. hashtable < 1231961775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah < 1231961776 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh hi ais523 < 1231961777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how can I do this < 1231961779 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ehird < 1231961781 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :our $__PROXY::foo; < 1231961794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that makes no sense < 1231961799 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I know it doesn't < 1231961803 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and that's why I want to do it. < 1231961805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so what /are/ you trying to do? < 1231961812 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :exactly that. < 1231961816 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as if in __PROXY "our $foo;" was done < 1231961827 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :our? < 1231961832 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :aha, I got it working < 1231961832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're trying to declare a lexically scoped variable... in a different scope? < 1231961832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no! MINE! < 1231961834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1231961836 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sub __PROXY::AUTOLOAD { < 1231961836 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : unshift @_; < 1231961837 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my ($obj, @args) = @_; < 1231961838 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: my is a keyword too < 1231961839 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : print $__PROXY::AUTOLOAD,"\n"; < 1231961841 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} < 1231961843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :% perl unl2c.pl < 1231961845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :__PROXY::hello < 1231961847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :__PROXY::DESTROY < 1231961849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, meaning? < 1231961857 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they declare lexically scoped variables < 1231961860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sort-of like auto in C < 1231961865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except in C you have to give the data type < 1231961871 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hehe < 1231961882 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in Perl, you don't, which is why the auto-like keyword is needed < 1231961889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so what if you don't use my, what sort of scope is used then? < 1231961895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: dynamic scope < 1231961898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1231961900 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of lexica < 1231961901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :l < 1231961905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, no < 1231961907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :global, usually < 1231961908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1231961913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"local" is for dynamic scope < 1231961926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1231961946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: "local" is for INTERCAL-like scope < 1231961954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ? < 1231961964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: question, how can you say "is this a sub"? < 1231961983 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it's a sub if you're running it < 1231961989 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :checking for a pointer to a sub would make more sense < 1231961992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which you can do with ref < 1231961993 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1231961999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, if (Object.IsSubmerged()) return true; < 1231962000 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: push/pop on a stack for scoping < 1231962002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ooh, wait... < 1231962006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah right < 1231962021 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you call an anonymous sub again? < 1231962041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no one noticed the joke? :( < 1231962052 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, i did < 1231962054 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just wasn't funny < 1231962064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: &$variable_holding_pointer_to_sub; < 1231962075 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you never like my jokes ehird :( < 1231962078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: actually, the anonymous sub is the result of a function calll. < 1231962130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you have to do ->() or something? < 1231962131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1231962136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1231962139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :foo->(...) < 1231962144 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's syntactic sugar, which works < 1231962154 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the non-sugared version is &{put call here}(); < 1231962188 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, now how do I execute some code in the context of whoever called me? <_< < 1231962211 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you're already in the context of whoever called you, apart from lexically scoped variables < 1231962222 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lexical scoping is deliberately sane, so you aren't going to be able to get around it < 1231962239 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: except < 1231962241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :functions can use caller < 1231962249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I want caller to be whoever called this method, in the function I call < 1231962250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not me < 1231962263 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, I just want to contort the call stack < 1231962267 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"just" < 1231962286 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ah, interesting < 1231962293 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :do you return immediately after the call, or do you do other things? < 1231962304 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :return the result of the call, immediately after it returns < 1231962314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Perl has a primitive just for you, then < 1231962318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :goto &procedure; < 1231962323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1231962325 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's the tail-recursion primitive < 1231962325 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oho! < 1231962327 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and with arguments? < 1231962333 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :goto &procedure(@args);? < 1231962333 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you put them in @_ before the call < 1231962335 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1231962339 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hahaha < 1231962340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: okay, what about if I have a subref? < 1231962348 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :goto &$subref; < 1231962372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, does perl support "normal" goto? I mean like goto in C < 1231962385 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, although it's bad style < 1231962389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh my fucking god. < 1231962389 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it worked. < 1231962392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1231962395 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i feel awful < 1231962396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I feel dirty < 1231962398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i want to die < 1231962399 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it worked < 1231962400 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, pastebin the code < 1231962400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :holy shit. < 1231962404 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep ,will do < 1231962412 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what's wrong with a tail-recursion primitive which lets you tail-recurse to /different/ procedures? < 1231962416 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, that was its original use < 1231962423 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you've got to see this < 1231962425 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/private/c1x8277pqihm1ht3srcwfg < 1231962436 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i feel _dreadful_ < 1231962453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: is that a good thing, or a bad thing? < 1231962459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, my $name = $__PROXY::AUTOLOAD; ? < 1231962461 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i wish I knew, ais523 < 1231962463 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes. < 1231962467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what does that do < 1231962478 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: google it, i'd have another breakdown if I tried to explain < 1231962499 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that's the original purpose for which AUTOLOAD and goto & were invented < 1231962503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well googling that exact string found nothing, I have no clue what to google < 1231962507 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i know, but what it does < 1231962508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is perverse < 1231962511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it invents an object system < 1231962515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and a whole new object semantics < 1231962520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :with that horrible, horrible stuff < 1231962522 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does it make you feel dirtier or less dirty to know that you're using those commands with their intended meaning? < 1231962532 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think it's the fact that I can use them to give that result < 1231962545 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I mean, variables and functions in the same namespace? < 1231962547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's terrible! < 1231962552 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :That's not Perl! < 1231962561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they aren't in the same namespace < 1231962568 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes they are < 1231962568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, is this object orientation for perl? < 1231962570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$Object->a < 1231962573 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$Object->foo(1,2,3) < 1231962577 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: perl already has object orientation < 1231962577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Perl has at least 2 object-orientation systems already < 1231962582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm just abusing one aspect of it < 1231962584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then what is this then? < 1231962585 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in a deliciously perverse way < 1231962587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to invent my _own_ system < 1231962591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1231962593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1231962599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why two? < 1231962605 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the default one < 1231962610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and lots of others as CPAN modules < 1231962612 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't just adding basic OO work < 1231962613 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably using similar tricks to ehird < 1231962631 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so the perl built in OO is not very good? < 1231962635 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm wait < 1231962636 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since people wrote their own < 1231962637 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mine doesn't pass along self < 1231962639 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes it < 1231962641 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it's just too general < 1231962648 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and thus confusing to use, and not particularly standardised < 1231962652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah < 1231962690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, sounds like even PHP OO is saner than that < 1231962696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and PHP is generally insane < 1231962700 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait, I wonder how my use of unshift worked < 1231962706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it actually did a pop... < 1231962707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think... < 1231962714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unshift != pop < 1231962719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh no... I can't figure out my own code... < 1231962725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unshift pushes to the left of an array, pop pops from the right < 1231962731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1231962757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so unshift should be called mom then? < 1231962801 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, eh? < 1231962805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I was going to reply to that, but couldn't think of anything sensible to say < 1231962808 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a really bad pun < 1231962817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't get it < 1231962818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1231962823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you merge two hashes in perl? < 1231962827 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well < 1231962829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :two hashrefs. < 1231962830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ask your mom or pop < 1231962836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: %a = (%b, %c) for hashes < 1231962841 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hashrefs :P < 1231962849 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :%$a = (%$b, %$c) < 1231962859 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can you do %$self = ...;? < 1231962860 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, I guess so. < 1231962861 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ew :D < 1231962864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :should be pretty obvious given the syntax for dereferencing < 1231962873 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1231962876 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :%a = (%a, %b) < 1231962877 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :surely < 1231962879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :to add more stuff < 1231962880 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, I'm not entirely sure if assigning to self screws up the blessing < 1231962887 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and yes, to merge into a hash < 1231962892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you can easily just rebless once you're done < 1231962897 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : do => sub { < 1231962898 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my ($self, $more) = @_; < 1231962899 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : %$self = (%$self, %$more); < 1231962901 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : return $self; < 1231962903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : } < 1231962905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :BEHOLD < 1231962908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... dammit < 1231962909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work < 1231962913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :did it mess up the blessing? < 1231962916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$Object->do { < 1231962918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is invalid syntax < 1231962922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1231962924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i don't want parens < 1231962929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I need a prototype < 1231962930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess < 1231962933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: think about it < 1231962937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :blessing?? < 1231962937 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what you're saying makes no sense < 1231962941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't have object calls with prototypes < 1231962943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :perl is religious? < 1231962947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because then you could change the syntax at runtime < 1231962947 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well, yes < 1231962949 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :larry wall is christian < 1231962950 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231962954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but bless is part of the OO system < 1231962963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1231962963 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, it's just the syntax for associating a pointer with a class < 1231962965 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you can anyway :P < 1231962967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to tell it what class it's an object for < 1231962969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no < 1231962969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231962970 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :using eval < 1231962974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :only inside BEGIN{} blocks < 1231962980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even eval doesn't change the syntax at runtime < 1231962985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm, schwartzian snippet < 1231962987 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what confuses people is that eval has a compile then run < 1231963005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that only affects the code inside the eval < 1231963007 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : because then you could change the syntax at runtime <-- Feather! < 1231963010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231963030 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: then what about the schwartzian snippet < 1231963034 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or wtf it's called < 1231963039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the one that says parsing Perl is TC? < 1231963043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1231963046 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it just runs the prototype code in a BEGIN {} block < 1231963052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which in Perl, is technically compile-time < 1231963055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231963065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :being able to run arbitrary code at compile-time = having TC syntax < 1231963068 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fairly obviously < 1231963080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Schwartzian Transform is the only hit < 1231963082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when googling < 1231963086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is it that? < 1231963090 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231963090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.perlmonks.org/?node_id=663393 < 1231963094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :whatever / 25 ; # / ; die "this dies!"; < 1231963097 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that can be parsed two ways < 1231963101 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if whatever takes no arguments, it's a call to it < 1231963103 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then a devision < 1231963104 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then a ; < 1231963105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then a comment < 1231963109 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if whatever takes an argument < 1231963111 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it calls whatever with a regexp < 1231963113 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then dies < 1231963123 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but you can define functions at runtime... < 1231963127 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1231963177 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: prototypes are compile-time only < 1231963187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's why there's a BEGIN block in the proof < 1231963201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, prototypes as prototypes in C? < 1231963212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not exactly, as they modify the syntax of the language < 1231963223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although they say what type each parameter is, just like C prototypes do < 1231963230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I thought Perl didn't have C-style prototypes < 1231963240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't < 1231963241 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh? < 1231963241 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't < 1231963246 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then wtf < 1231963246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :snap. < 1231963250 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so ais523 < 1231963255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how can I get $Object->do { to work < 1231963255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231963257 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :saying what type each parameter is isn't sufficient to be a C-style prototype < 1231963263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Source filters! < 1231963269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(N.B. not recommended) < 1231963272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: FUCK YOU :( < 1231963273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1231963273 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :just < 1231963275 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bad < 1231963277 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :memories < 1231963279 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::{ < 1231963300 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i < 1231963301 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :c < 1231963302 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :n < 1231963304 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963306 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :y < 1231963309 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :p < 1231963311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :e < 1231963314 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :like < 1231963316 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :n < 1231963316 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this < 1231963317 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963318 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :r < 1231963319 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :too < 1231963320 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :c < 1231963327 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963327 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :n < 1231963327 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963328 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :am < 1231963330 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963332 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :l < 1231963334 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963335 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :w < 1231963335 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963336 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :f < 1231963336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963338 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963340 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :f < 1231963342 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963344 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :s < 1231963344 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :h < 1231963345 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963346 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963346 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963346 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :p < 1231963347 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric : < 1231963348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :n < 1231963349 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :i < 1231963349 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963352 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963354 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1231963356 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :f < 1231963358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :b < 1231963360 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what < 1231963360 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963361 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :have < 1231963361 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :S < 1231963361 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :T < 1231963362 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i < 1231963362 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :F < 1231963362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :n < 1231963363 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :U < 1231963363 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :done < 1231963363 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231963364 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :b < 1231963368 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :u < 1231963370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :t < 1231963372 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :l < 1231963376 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963378 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :k < 1231963380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :. < 1231963382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :p < 1231963384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :l < 1231963386 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o < 1231963387 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :zomg < 1231963388 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :p < 1231963390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you < 1231963392 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hvae < 1231963394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :done < 1231963396 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :magic < 1231963397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231963398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and < 1231963400 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a < 1231963401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what the heck was that? < 1231963402 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bowl < 1231963404 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of < 1231963406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :plate < 1231963408 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of < 1231963410 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :faeriy < 1231963412 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :es < 1231963414 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :magic < 1231963416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dust < 1231963418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :. < 1231963431 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :It's over \o/ < 1231963440 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: couldn't I define a dynamic prototype on AUTOLOAD? <__< < 1231963457 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231963457 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :\o~ < 1231963459 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Perl is a compiled language! < 1231963465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, perl needs a ,= operator < 1231963468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : %$self = (%$self, %more); < 1231963469 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :could be < 1231963469 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :'later guys ! < 1231963477 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :%$self ,= %more; < 1231963502 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm < 1231963520 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what about .= ? < 1231963524 0 :Mony!unknown@unknown.invalid QUIT :"Quit" < 1231963527 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is for strings < 1231963527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :does that exist? < 1231963529 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's for string concatenation < 1231963532 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not array concatenation < 1231963534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes I was wondering if it existed < 1231963537 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can't even compare strings and ints the same way < 1231963538 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which would indeed be ,= if it existed < 1231963539 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like in PHP < 1231963540 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :1 == 2 < 1231963541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but < 1231963541 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231963542 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1231963543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :'a' eq 'b' < 1231963545 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :read what I said < 1231963548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1231963548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : does that exist? < 1231963548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231963554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was just saying something funny. < 1231963556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"0xa" = "1e1" < 1231963560 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*== < 1231963565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1231963569 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how do you copy a hash in perl <__< < 1231963570 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I much prefer: < 1231963572 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then, it does in PHP too, and PHP doesn't have a string-compare operator < 1231963574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :X = y < 1231963576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if x = y < 1231963579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1231963582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they should all be same < 1231963583 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: just assign it without using a reference < 1231963589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, don't you agree? < 1231963590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in my %new_hash = %$oldhash < 1231963597 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i much prefer (= x y), (equal? x y), (eqv? x y) and (eq? x y) < 1231963597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, as in math < 1231963598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and you can then return a reference to new_hash < 1231963603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Scheme has _all_ of those comparison ops.) < 1231963605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, yes that is nice too < 1231963608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(They're all useful in all different situations.)_ < 1231963621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, agreed < 1231963623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :R5RS Scheme is interestingly complete in the few areas it dabbles in. < 1231963626 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Perl has ||=, if you're after weird operators < 1231963627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It has a comprehensive numeric tower. < 1231963634 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: eh, ruby has that < 1231963635 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's useful < 1231963636 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :Or equal to? < 1231963638 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1231963641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's "initialize this var if it isn't already" < 1231963643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is ||= ? < 1231963645 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FireFly: a ||= b is actually < 1231963645 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, that's //= < 1231963647 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a || (a = b) < 1231963649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :logical and? < 1231963651 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(AnMaster: too) < 1231963656 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, it's a = (a || b) < 1231963660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :an operator called "too"? < 1231963667 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, in Perl maybe < 1231963669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but in ruby it's that < 1231963673 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: they mean the same thing < 1231963678 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1231963680 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because if a, then a || b is the same as a < 1231963687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :in Ruby, the assignment is never triggered < 1231963692 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a very VM-level distinction, yes < 1231963696 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but one nevertheless < 1231963696 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :optimisation/ < 1231963699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's actually faster < 1231963699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or can you detect it? < 1231963706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i don't think you can detect it < 1231963712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can in a C extension, probably, though < 1231963716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you can't detect it from inside the program, then it semantically is a = (a || b), and it's just being optimised < 1231963731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : clone => sub { < 1231963732 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my $self = shift; < 1231963733 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : bless %$self, __PROXY; < 1231963735 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : }, < 1231963752 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1231963754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :should just be $self < 1231963754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1231963771 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that doesn't copy the object < 1231963777 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm true < 1231963779 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'll have to do < 1231963780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it should be my %copy_of_self = %$self; < 1231963784 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1231963785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it should be < 1231963792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bless \%copy_of_self, $self; < 1231963792 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my $copy_of_self = \%$self; < 1231963793 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1231963794 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1231963801 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, that's wrong < 1231963805 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1231963810 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :\%$self is like writing &*self in C < 1231963815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you get back self, not a copy of it < 1231963815 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231963830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you want to dereference, copy the dereferenced value, then reference the copy < 1231963834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wow, it works < 1231963836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what a deep copy /is/, after all < 1231963843 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a prototypical object system in Perl in 27 lines < 1231963844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not bad < 1231963858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION adds one last nicety < 1231963870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1231963900 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, err a deep copy is more, it copies any pointers in the struct too < 1231963905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, OK < 1231963912 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a non-shallow non-deep copy < 1231963913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you mean a shallow copy < 1231963919 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err how? < 1231963919 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, a shallow copy just copies the pointer < 1231963922 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a 1-level copy < 1231963930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no that would be making a copy of the reference < 1231963930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're duplicating the struct, but not pointers inside it < 1231963933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not a copy of the object < 1231963938 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ah, that's what I call a shallow copy < 1231963940 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a shallow copy would copy level 1 < 1231963944 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well I might be wrong < 1231963952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I thought shallow copy was what you described < 1231963953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's one-level copies we're talking about, anyway < 1231963955 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/private/jenlaevavatsjngzjmsljw < 1231963961 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A PROTOTYPICAL OBJECT SYSTEM IN AROUND 30 LINES OF PERL < 1231963962 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1231963975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, nice < 1231963986 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I will add delegation to multiple prototypes instead of just one, then that'll be version 1. < 1231963992 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I shall use it for my underload to C compiler. :D < 1231963999 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It will be called... Minob. < 1231964008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Slogan: So small you can just paste it in. < 1231964010 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :>:D < 1231964025 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what about private members? < 1231964036 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and protected and so on < 1231964043 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Eh, private data is for weenies. < 1231964049 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, oh ok < 1231964057 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also C++-style friend for the extra "eww" < 1231964058 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't even think CLOS has it, and CLOS is a pretty good object system. < 1231964059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1231964062 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: in Perl, the convention is not to declare as private, just to not access other class's private stuff < 1231964068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just call the var _foo if you really don't want anyone to touch it < 1231964069 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*classes' < 1231964077 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well perl usually have good documentation so I guess it works < 1231964083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :perl modules* < 1231964089 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'd prefer to be able to do < 1231964091 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sub hello { < 1231964091 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231964092 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} < 1231964094 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :instead of < 1231964096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hello => sub { < 1231964098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1231964100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :}, < 1231964102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but there you go < 1231964109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, per-processor < 1231964109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :leading underscore's normally used for internals, so as to let people know not to use it < 1231964119 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that isn't actually enforced < 1231964121 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how would I go about doing it with sub? < 1231964128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah it isn't reserved for something? < 1231964133 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no < 1231964140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :apparently, they use the leading underscore to scare C programmers < 1231964146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :into keeping away < 1231964151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, from perl? < 1231964159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, from private internals < 1231964160 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :leading underscare < 1231964162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231964172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, heh < 1231964176 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1231964183 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is there an "anti ,="? :D < 1231964183 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the problem is that sub hello { } is a named subroutine declaration < 1231964199 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you aren't going to be able to return a value like that < 1231964205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's why anonymous subs exist, after all < 1231964207 0 :KingOfKarlsruhe!unknown@unknown.invalid QUIT :Remote closed the connection < 1231964212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as for an anti ,=, what do you want to do? < 1231964216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :remove elements from a hash? < 1231964218 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :un-concatenate hashes < 1231964219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1231964236 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what I really need is to define AUTOLOAD on the hash _itself_ < 1231964236 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::s < 1231964237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: does that differ from removing elements which are the keys of a given hash? < 1231964252 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: nope. any ideas how I could "AUTOLOAD the hash"? < 1231964252 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that is < 1231964254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, perl is basically hack * (awk + sed + C + sh + rand()) < 1231964257 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :$hashref->{fooasdasdasd} < 1231964259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean the syntax < 1231964260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would call a subroutine < 1231964265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and the language itself < 1231964270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: yes, you could tie the hash < 1231964275 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then anyone sane will kill you < 1231964276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(of which syntax is a part) < 1231964285 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you bless a tied hash? < 1231964289 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I have no idea how tied hashes interact with the OO system < 1231964297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not at all convinced that you can bless a tied hash < 1231964301 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :im gonna ask #perl XD < 1231964305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I'm pretty sure it's in an FAQ somewhere < 1231964306 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i really liked that katamari damacy reference earlier < 1231964312 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:18 Can you bless a tied hash? Don't ask. < 1231964312 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:18 ais523 has joined (n=ais523@147.188.254.127) < 1231964323 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm here to watch the fun < 1231964326 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :of course, now they will ask. < 1231964327 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : im gonna ask #perl XD <-- I'm going to watch too < 1231964328 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it isn't something you'd do if you were sane < 1231964347 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is a tied hash? < 1231964370 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://perldoc.perl.org/Tie/Hash.html < 1231964373 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, when you are done you should pastebin your code there < 1231964374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231964380 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:19 ehird: you can bless any reference, perl doesn't give a shit what it's a reference -to- < 1231964384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, I want to see their reactions < 1231964385 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :itt: hardcore perl users don't be givin' a shit < 1231964387 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, that's the CPAN module for tying hashes < 1231964394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: fail < 1231964396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ouch < 1231964397 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a tie primitive < 1231964398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if that was a cpan module < 1231964399 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Home > Core modules > T > Tie::Hash < 1231964413 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well, core is also CPAN, the way I think of things < 1231964417 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just because it's in core doesn't change things < 1231964420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's still a module < 1231964429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think the sky is green. < 1231964429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a primitive for doing tying, why bother with modules? < 1231964439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: modules get moved back and forth all the time < 1231964442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're still modules < 1231964459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well what is a tied hash then? < 1231964481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:20 ehird: So, in short, "yes". And it does what you expect. < 1231964482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:21 buu: Hooray. What I expect is bunnies to fly out of my nose, though. < 1231964485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:21 ehird: You're in luck! < 1231964485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :20:21 I'm so lucky! < 1231964500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1231964517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well this is a typical example of #perl I guess < 1231964533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least they would be happy about a hack like that python-with-no-indent hack you made < 1231964538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :using lambda iirc < 1231964539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Tie::Hash just defines the standard hash-tying methods < 1231964547 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ever seen ACME::Pythonic? < 1231964551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, nop < 1231964556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, there was also a Python module to go the other way < 1231964558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, the name doesn't bode well < 1231964564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACME I mean < 1231964569 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a Perl source filter which gives it Python syntax < 1231964574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1231964579 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and ACME is for the jokey/not entirely serious stuff on CPAN < 1231964588 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's an ACME::Brainfuck, for instance < 1231964594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which allows inline BF in Perl code < 1231964600 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :without even any special syntax < 1231964608 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it uses heuristics to tell the BF and the Perl apart < 1231964609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there is a python module for ; and {} in python I know < 1231964616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :filter or encoding or something < 1231964618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :forgot the name < 1231965249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm how does it reinterpret the code? < 1231965259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean it needs to reinterpret the code with a changed interpreter right? < 1231965262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after the use foo; < 1231965276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's a source filter < 1231965282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and that means? < 1231965284 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you have to write the use foo at the top < 1231965290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1231965294 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it goes and runs the rest of the code through the source filter before continuing to compile < 1231965300 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, after any #!/bin/perl or such I assume? < 1231965307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :only from the use statement onwards < 1231965315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :an < 1231965317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah* < 1231965396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also that ACME::Brainfuck, does it share memory with perl or something? < 1231965422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a source filter < 1231965433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it uses some var in the module itself as a tape and pointer < 1231965434 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I mean the bf code it runs < 1231965439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and the perl code it runs < 1231965444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't share memory with Perl < 1231965447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how can they interact with each other memory < 1231965461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but BF code is a Perl expression which returns the current value at the pointer < 1231965466 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I think Perl can access the tape via some API < 1231965481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, this may interest you too http://www.postgresql.org/docs/8.3/static/ecpg-concept.html < 1231965518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: heh, that's source filters for C < 1231965525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1231965556 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and it is serious, I can't see any serious use of a source filter for perl or C. I think ecpg is silly < 1231965573 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about cpp? that's a source filter < 1231965608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well true < 1231965617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I mean another source filter apart from cpp < 1231965634 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what is the last version of your OO system? < 1231965643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :care to pastebin it? :D < 1231965645 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*latest? < 1231965651 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :last would imply there wouldn't be any more < 1231965651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes < 1231965657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231965674 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :famous latest words < 1231965675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what about the last and greast? < 1231965683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(intentional typo) < 1231965693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hah < 1231965725 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wish it was last word instead of latest Office crap < 1231965733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I so hate MS word...) < 1231965768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what in particular don't you like about it? < 1231965780 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well it's document format for a start < 1231965795 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even more so with the last XML based not-really-standard thing < 1231965811 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ok, I'll agree with that < 1231965817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also clippy < 1231965831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :meh, clippy was easy to turn off < 1231965858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, and then there is the stupid "this sentence seems overly bureaucratic" when I type (message translated from Swedish word) < 1231965868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when I type a formal letter < 1231965873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1231965873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's "overly formal" in English < 1231965880 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but actually, I usually got the opposite error < 1231965889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I never got the opposite < 1231965893 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Word's grammar-checker doesn't like people using the passive < 1231965902 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also it complains about "old Swedish" sometimes < 1231965920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which again I use because I want to < 1231965934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I guess it differs between languages < 1231965946 0 :Corun!n=Corun@94-193-40-216.zone7.bethere.co.uk JOIN :#esoteric < 1231965949 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh also they don't include spell checking or grammar checking for all the languages < 1231965959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just English + language Word is localized in < 1231965968 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, which is quite strange < 1231965978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :any idea why? < 1231965983 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's addonable, I think < 1231965986 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just not installed by default < 1231965988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, costs money? < 1231965992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because it isn't on the cd < 1231965995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably < 1231965996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with office standard < 1231966005 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is office xp btw < 1231966010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't have any newer < 1231966014 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nor do I plan to get that < 1231966073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh and openoffice is just as bad. I mean why are there no high quality office suites, I mean same level of quality as emacs is for text editors or such < 1231966094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :koffice is a joke < 1231966098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: LaTeX? < 1231966110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes but that doesn't do the spreadsheet bit though < 1231966112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://www.irregularwebcomic.net/744.html < 1231966116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure it solves the text issue < 1231966123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I've heard good things about Gnumeric, but never used it < 1231966129 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe I should download it and have a look < 1231966149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I think I tried it a few years ago < 1231966151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe 2 or 3 < 1231966155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wasn't very good back then iirc < 1231966172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION installs Gnumeric < 1231966192 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that would mean installing half of gnome < 1231966194 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which would suck < 1231966256 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I have half of gnome installed already < 1231966263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :both Gnome and KDE are installed here < 1231966264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and why not? < 1231966269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, KDE4 still isn't finished < 1231966273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes < 1231966278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I'm on KDE 3.x < 1231966280 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so Gnome is the only real desktop environment I can use here atm < 1231966302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, KDE 3.x for me. And going awesome wm instead of KDE 4 when it is time for that < 1231966311 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :back < 1231966343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I wonder what happens if you do startx, then jumps back to the console and starts xdm using the normal service script for it < 1231966348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm not about to try < 1231966356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :xdm or gdm or kdm < 1231966365 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: me? I don't run startx by hand < 1231966370 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well I do < 1231966387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ehird, what is the last version of your OO system? care to pastebin it? :D < 1231966448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"I mean same level of quality as emacs is for text editors or such" < 1231966453 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ms word. < 1231966458 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i just came back, no revisions atm < 1231966459 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :adding ties < 1231966466 0 :olsner!n=salparot@h-60-96.A163.priv.bahnhof.se JOIN :#esoteric < 1231966475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, tell me when you are done < 1231966480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... Gnumeric reminds me of Abiword < 1231966481 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :soon. < 1231966492 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not full-featured, but looks good at what it tries to do < 1231966523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :circular references act really weirdly, though < 1231966577 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it seems to get 850*77.1 right < 1231966588 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that's not particularly surprising < 1231966613 0 :psygnisf_!unknown@unknown.invalid PRIVMSG #esoteric :so < 1231966617 0 :psygnisf_!unknown@unknown.invalid PRIVMSG #esoteric :ive designed a language. :T < 1231966643 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :psygnisf_: what paradigm? < 1231966676 0 :psygnisf_!unknown@unknown.invalid PRIVMSG #esoteric :i think the best way to describe it is as a pattern-matching unifying tree-rewriting system. < 1231966693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sounds great < 1231966830 0 :psygnisf_!unknown@unknown.invalid PRIVMSG #esoteric :my only task now is to.. actually make the language. XD < 1231966854 0 :psygnisf_!unknown@unknown.invalid NICK :psygnisfive < 1231966864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : it seems to get 850*77.1 right < 1231966864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : but that's not particularly surprising < 1231966869 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why would you even try that? < 1231966879 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: because famously, Excel 2007 got it wrong < 1231966883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, until they patched it < 1231966884 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, how? < 1231966892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to be precise, it was a bug in the binary to decimal conversion < 1231966899 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which converted numbers just below 65535 to 1000000 < 1231966904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*100000 < 1231966904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1231966916 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why not just use snprintf()? < 1231966921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or something like ti < 1231966923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it* < 1231966929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :windows has itoa() iirc < 1231966935 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: don't ask me, I haven't read the source code to Excel < 1231966940 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1231966946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I think it's because it would have printed as 65534.9999999999999999999999999 < 1231966948 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or something similar < 1231966958 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i think also the way its designed, integer math is entirely feasible from primitives in the system. rather than building it in terms of stuff outside the system. :o < 1231966964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh? depends on setting precision? < 1231966967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: that's true of most langs < 1231966969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1231966985 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, if proper rounding mode is set it wouldn't be an issue < 1231966988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you set "precision as displayed", the incorrect numbers actually went and affected other calculations < 1231966991 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :mm i suppose in some sense it is. < 1231966996 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the bug wasn't rounding mode, just the rounding algorithm < 1231967008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah < 1231967022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Googling "850 77.1" gives lots of results, anywy < 1231967024 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*anyway < 1231967161 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how you do "x and return x" in perl. < 1231967322 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$x and return $x; < 1231967425 0 :oklopol!n=nnscript@a91-153-121-248.elisa-laajakaista.fi JOIN :#esoteric < 1231967432 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : $result = $_->{$key} and return $result; works < 1231967444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why wouldn't it? < 1231967539 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you put undef in a hash or is that just essentially deleting that element? < 1231967548 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can put undef in a hash < 1231967550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hillo everyone! < 1231967552 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it isn't deleting the element < 1231967557 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :agh. < 1231967562 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you use exists to tell if undef's in a hash < 1231967569 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*anything's in a hash < 1231967570 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm _implementing_ exists. < 1231967572 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and defined to see if it's undef < 1231967591 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can use delete to get rid of an element altogether, rather than just undeffing it out < 1231967627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: how dare you call me a jam! < 1231967643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, ? < 1231967647 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that made no sense < 1231967664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it made frighteningly lot of sense. < 1231967671 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cackles evilly < 1231967687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :gitf < 1231967712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er wait < 1231967716 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :giyf < 1231967722 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1231967727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i have to implement firstkey/nextkey. < 1231967728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Kill me. < 1231967741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if < 1231967747 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"goo in the face" < 1231967748 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i cannot, someone took my saucepan < 1231967753 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :each %{ $self->{data}, @$self->{delegates} } < 1231967754 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :would work < 1231967763 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1231967787 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ://=== *boom* < 1231967847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the object system is growing to >100 lines :P < 1231967900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :rule #1 of short programs: never add features < 1231967907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's not really a feature < 1231967909 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just making it actually work < 1231967934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, when? < 1231967943 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also is saucepan == fryingpan? < 1231967945 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in English < 1231967949 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231967950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, not quite < 1231967954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh? < 1231967956 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :frying pans are flatter and wider < 1231967967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right < 1231967968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and generally used to fry things < 1231967974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :saucepans are more commonly used for boiling < 1231967980 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, kettle? < 1231967988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kettles are used for boiling water < 1231967992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1231967994 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and are much more enclosed < 1231968000 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :saucepans are used for boiling vegetables < 1231968008 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i was imagining AnMaster putting stuff to boil in a kettle there XD < 1231968010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and cooking baked beans < 1231968014 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, pot? < 1231968019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pot's more general < 1231968030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is sausepan a type of pot? < 1231968031 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a saucepan's a type of pot, but there are others < 1231968033 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah pot's great < 1231968034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like flowerpots < 1231968042 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1231968047 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Type of arg 1 to keys must be hash (not private variable) at unl2c.pl line 55, near "$flattened;" < 1231968048 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what fuck my life < 1231968055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it isssssssssss < 1231968058 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: that makes sense < 1231968059 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's just the result of a function callllllllllllll < 1231968064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you maybe want to dereference it first < 1231968065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my $flattened = $self->_flatten; < 1231968065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : keys $flattened; < 1231968066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : each $flattened; < 1231968067 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :functions can't return hashes < 1231968069 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sub __DELEGATE::_flatten { < 1231968070 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my $self = shift; < 1231968072 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : %{ $self->{data}, @$self->{delegations} }; < 1231968074 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :} < 1231968079 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, you're returning an array there < 1231968082 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :functions can't return hashes < 1231968083 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1231968084 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hashes are arrays. < 1231968090 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :did you mean hashref? < 1231968098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hashes != arrays < 1231968103 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't run keys on an array < 1231968105 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ohhhhhhhhh, the problem is "my $flattened" < 1231968121 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and yes, you're assigning your array to a scalar there < 1231968124 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you only get its length < 1231968134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my %flattened = $self->_flatten; < 1231968136 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :will do it < 1231968138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Cookware and bakeware < 1231968138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :From Wikipedia, the free encyclopedia < 1231968138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : (Redirected from Saucepan) < 1231968139 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1231968145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :can't find interwiki link that way < 1231968150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :kastrull? < 1231968164 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Type of arg 1 to each must be hash (not subroutine entry) at unl2c.pl line 61, near "->flatten;" < 1231968166 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ok now _that's_ bizarre < 1231968182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it isn't < 1231968189 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's telling you exactly what I was saying < 1231968195 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is that functions can't return hashes < 1231968198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well, okay :P < 1231968200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can return a hashref if you want < 1231968227 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bareword "__PROXY" not allowed while "strict subs" in use at unl2c.pl line 75. < 1231968228 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;_; < 1231968242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Bareword? < 1231968243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ah, you're interacting with use strict; < 1231968247 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try putting it in quotes < 1231968248 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION defines __PROXY stuff _before_ doing the bless < 1231968252 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah, ok < 1231968258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: a bareword's a string with no meaning < 1231968260 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like foo < 1231968264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231968272 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Can't use global @_ in "my" at unl2c.pl line 85, near "= @_" < 1231968276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Perl interprets it as "foo", or &foo(), depending on context < 1231968278 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fuck you Perl, thatmakes perfect sense < 1231968283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :its complaininga bout < 1231968284 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my ($self, %more) = @_; < 1231968291 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: you aren't inside a function < 1231968293 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which worked fine before I turned on STUPID PEDANTIC MODE. < 1231968295 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wrong < 1231968298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : do => sub { < 1231968298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my ($self, %more) = @_; < 1231968311 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm.... < 1231968328 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, that's a my < 1231968334 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that is presumably a global @_ < 1231968345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so all that remains is to wonder wtf that's an error < 1231968355 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, can't you read a global in a function? < 1231968361 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you can, normally < 1231968366 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I'm wondering what's happening here < 1231968380 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: in fact = @_ is the perl idiom for finding a function's arguments < 1231968381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bet its to do with the %more < 1231968382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's confused by ehird < 1231968387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, indeed < 1231968391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: no, because that's inside the my < 1231968398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :true/ < 1231968398 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, I know *THAT* much perl < 1231968406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :out of interest, what does my $self = shift; my %more = @_; do? < 1231968417 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that should mean the same thing < 1231968421 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :almost < 1231968427 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, almost? < 1231968437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ahhh, i found the issue < 1231968439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it leaves a different value in @_ < 1231968442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but normally you aren't reading it again < 1231968443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah < 1231968446 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what was it? < 1231968448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : delegate => sub { < 1231968448 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : < 1231968450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : } < 1231968452 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : do => sub { < 1231968454 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : my ($self, %more) = @_; < 1231968456 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :missing comma < 1231968456 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :can you spot the error? < 1231968459 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you weren't inside a sub < 1231968462 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the 'do' was tripping it up and all went to hell :D < 1231968465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : missing comma < 1231968466 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : can you spot the error? < 1231968467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1231968476 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :said it first on my end :P < 1231968477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(yes I know lag) < 1231968483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well it looked funny here < 1231968484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: said it before I received your message < 1231968490 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh, ok :) < 1231968493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no way can I type that fast < 1231968501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, of course, or it couldn't had arrived first to me < 1231968511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :due to spanning tree < 1231968514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it would have been a pretty fast sopt even then < 1231968522 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you can't get out of order then < 1231968525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in that way < 1231968706 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"Joel on Software. The site is read by thousands of programmers a month -- the ones who are so good at programming they have spare time at work to read the self-absorbed drivel I publish there." < 1231968712 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Gee, Joel is finally coming to a realization. < 1231968717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is that what it actually says? < 1231968724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1231968727 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.inc.com/magazine/20090101/how-hard-could-it-be-thanks-or-no-thanks_Printer_Friendly.html?partner=fogcreek < 1231968731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the rest of the article is, of course, drivel < 1231968870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this thing is awful < 1231968876 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm basically implementing an object system as a tied hash < 1231968879 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :then blessing it for nicer syntax < 1231968974 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :clearly cthulhu is the god involved here < 1231969091 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Can't coerce array into hash at unl2c.pl line 66. < 1231969092 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :;_____________________; < 1231969182 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :maybe the array is not of the right format? < 1231969205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nah, you can coerce even an array of the wrong format into a hash, normally < 1231969210 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it gives warnings < 1231969242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : print $self->{delegates},"\n"; < 1231969242 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : foreach (@$self->{delegates}) { < 1231969243 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1231969246 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ARRAY(0x181c8b4) < 1231969248 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Not an ARRAY reference at unl2c.pl line 15. < 1231969249 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :FAIL < 1231969251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1231969263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :@{$self->{delegates}} < 1231969267 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you fail at operator precedence < 1231969278 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm. No, I think Perl does in that case < 1231969288 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what should $$self->{delegates} do? < 1231969299 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :um. shoot the programmer? < 1231969300 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now, claim with a straight face that @ and $ should have different precedences < 1231969325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is $$? < 1231969342 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: $ means lots of things < 1231969348 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but all to do with scalars < 1231969353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and $$? < 1231969358 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Using a hash as a reference is deprecated at unl2c.pl line 94. < 1231969360 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that's two separate $s < 1231969362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so what am I meant to do, retardoperl < 1231969366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :${%Object_proto}? < 1231969367 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :puh-leez < 1231969369 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what are you trying to do? < 1231969370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense < 1231969377 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't dereference a hash, it isn't a pointer < 1231969381 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's kind of complicated and it involves tied hashes. < 1231969382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's like trying to dereference an int < 1231969382 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and FWIW, it works. < 1231969390 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :%Object_proto->{delegations} _actually works_ < 1231969394 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not kidding < 1231969398 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm I just had an idea: a lisp language with list as the ONLY datatype, no integers no #t or #f, no strings < 1231969406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no floats < 1231969411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you need atoms. < 1231969419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, hm why? < 1231969421 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i guess you could hack them with a bunch of nils. < 1231969427 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes :D < 1231969434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there's no list in lisp < 1231969438 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there's cons cells and nil < 1231969443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so, you have two datatypes, right off the bat < 1231969447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, right true, so cons and nil < 1231969451 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or no < 1231969461 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so how can I do %Object_proto->{data} without perl whining < 1231969463 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just cons, and instead of nil you have another node < 1231969465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like the first one < 1231969478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what do you think about that? < 1231969481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it's whining because that is deliberately deprecated < 1231969486 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what, exactly, are you trying to do? < 1231969494 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i've told you < 1231969497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a tied hash < 1231969502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to access its internal object data. < 1231969512 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :put the internal data as a key in the hash < 1231969513 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there _has_ to be a way without getting a warning < 1231969515 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure of it < 1231969516 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: FAIL < 1231969519 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's not the reccomended way < 1231969523 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it's not how perl's code examples do it < 1231969528 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, you have to store it somewhere < 1231969529 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it's also brittle if that key ever comes up in user code < 1231969530 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where are you storing it? < 1231969531 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: well then you need pointer equality to be able to distinguish anything < 1231969534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, inside the hash's object < 1231969536 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's how tied hashes work < 1231969551 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"the hash's object" < 1231969553 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that is the hash < 1231969553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, a built in form? < 1231969556 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: nope. < 1231969562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :read perldoc perltie, plz < 1231969567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, ok I guess cons and nil then < 1231969570 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or wait... is it tied to an object that is also a hash? < 1231969600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: _everything_ would be x = (x . x) in structure otherwise < 1231969603 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: sortof < 1231969613 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, true < 1231969712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: googling implies that $Object_proto->{data} is equivalent < 1231969716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah, OK < 1231969716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I'm not sure if I believe it < 1231969719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1231969725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that the fact the original was working is a bug in the parser < 1231969747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does that do the same thing? < 1231969751 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :gonna try in a sec < 1231969759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@foo[1..-1] is the list resulting the same except without the first element? < 1231969762 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or is -1 wrong < 1231969777 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think -1 is the last element < 1231969781 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, 1.. works < 1231969786 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ah OK < 1231969788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I haven't tried, I might have confused it with Haskell < 1231969789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Global symbol "$Object_proto" requires explicit package name at unl2c.pl line 94. < 1231969800 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'll just ask #perl and be shunned < 1231969802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: so the Googling was wrong, I thought it looked fishy < 1231969815 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:50 so... don't ask... but how can I use a hash as a reference in a way that doesn't cause perl to spew a warning at me? < 1231969829 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i predict an answer involving "no warnings;" < 1231969833 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or "no strict;" or w/e < 1231969845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:50 ehird: no. < 1231969846 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:50 mauke: but-but-but- < 1231969852 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231969856 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :$Object_proto{data} < 1231969858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:50 ehird: ....If it's spitting a warning out at you, you're doing it wrong < 1231969858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:51 bloo: probably. how do I do it right? < 1231969862 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, that's wrong too < 1231969868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or does that mean something else? < 1231969870 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's a regular hash object < 1231969873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're equivalent on untied hashes, it seems < 1231969875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:51 perldoc perlreftut < 1231969875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:51 I think. < 1231969883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :April fools day idea: #perl stops being a haven for condescending idiots. < 1231969890 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hahahahaha! < 1231969919 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :perl -Mwarnings -Mstrict -e'my %a = ( a => 1); print %a->{a},"\n"' prints 1, for instance < 1231969922 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hrm, $Object_proto{data} works, which is a bug < 1231969933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: not a bug at all < 1231969938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a bug in my code < 1231969939 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is what I mean < 1231969940 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're storing data inside the hash itself < 1231969943 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes, I know < 1231969945 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I knew you would be, there was nowhere else < 1231969960 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I just have to figure out how to get the hash to give me access to a secret area of vip quality. < 1231969984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:52 ehird: Don't feel bad, some times I do shit in perl that shouldn't work but does < 1231970076 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, < 1231970077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :elsif (defined $obj->{_unknown}) { < 1231970078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : @_ = (@_[0], $name, @_[1..]); < 1231970080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : goto &$obj->{_unknown}; < 1231970082 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : } < 1231970096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think any of this code should work, but it does. < 1231970116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why shouldn't that work? < 1231970128 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :splice on @_ would be more idiomatic than that, though < 1231970129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what does it do < 1231970137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, show them your whole file < 1231970138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1231970140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in #perl < 1231970141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I can never remember which arg to splice does what < 1231970162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, also what about using the C API to do it in some strange way? < 1231970173 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, and no < 1231970183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why no at the second :( < 1231970200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :want pure perl? < 1231970205 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if yes it's okay < 1231970211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, then why no at the first? < 1231970223 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because it isn't _that_ crazy, just a bit fucked < 1231970237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, um? < 1231970249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I thought you said a lot was _THAT_ crazy even < 1231970256 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"I'm not mad, I'm a scientist!" < 1231970265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hah < 1231970276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, sounds like mezzacotta? < 1231970296 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think the mezzacottan scientist ever said exactly that, but I might be wrong < 1231970314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, very possible < 1231970324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also have you checked the whole history XD < 1231970324 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :he got pretty close < 1231970331 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, I have quite a lot of mezzacotta backlog to catch up on < 1231970340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :meh, you made that joke first < 1231970349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes < 1231970384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hrrm why does the mezzacotta comic have scrollbars some days < 1231970386 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's strange < 1231970393 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :statistically speaking, nothing has been said yet, the combinatorial explosion is visible in natural language as well. < 1231970400 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :zooming in and then out removes it < 1231970429 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's SVG < 1231970436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, yes and? < 1231970438 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I use firefox < 1231970442 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol < 1231970443 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1231970444 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1231970446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so why shouldn't it display just fine inline < 1231970455 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :did you mention this earlier? if not i think someone else did < 1231970476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, um? < 1231970486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: what what? < 1231970492 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i have a sense someone mentioned scrollbars before < 1231970522 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway i don't see it, so it's something about how firefox displays them i guess < 1231970527 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what did you mean "statistically speaking, nothing has been said yet, ..."? < 1231970540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, they only happens sometimes < 1231970548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, what browser do you use? < 1231970553 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :IE7 < 1231970554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: well what percentage would you estimate has been said of all 10 word sentences for instance? < 1231970558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, poor you < 1231970563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll venture 0%, maybe negative. < 1231970586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, I think close to 0% < 1231970601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but positive < 1231970609 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: in fact the word ligwotnigafebrble has probably been mentioned only once < 1231970629 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :um < 1231970635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: that too, but i find that a less interesting observation. < 1231970661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you can make up any word of any length then the number of possible 10 word sentences is infinite < 1231970667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that means some number / inf < 1231970674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have no clue what that ends up as < 1231970677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe oerjan know? < 1231970681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1231970681 0 :kar8nga!unknown@unknown.invalid PART #esoteric :? < 1231970684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, ah < 1231970698 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basic probability < 1231970700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, what sort if infinite is all possible words in all possible languages? < 1231970701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh oerjan, btw < 1231970716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, aleph-0? < 1231970723 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well the character set would be an issue < 1231970725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was reading the algo book, which for some reason introduces probabilities and shit in the last chapter < 1231970737 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :your measure theory explanation was pretty useful there < 1231970740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, in "all possible" I said < 1231970759 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if there are more than countably many possible characters, you get more than that < 1231970763 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :talked about measuring probabilities in continuous sample spaces < 1231970772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, is there? < 1231970791 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure the question even has meaning < 1231970807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just warning you i'll probably want another wikipedia lecture at some point! :P < 1231970856 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you need some mathematical representation of "all possible languages" to even begin to answer it, but "all possible" might force you outside that... < 1231970871 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so a paradox < 1231970885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hah, owned by math < 1231970891 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kicked your ass < 1231970987 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well semantics more than math, perhaps < 1231971056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, Why? < 1231971056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or: Why not? < 1231971056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :choose yourself. < 1231971083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm happy with that < 1231971084 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now if we assume something more limited, such as something representable as a subset of the plane, you can limit it < 1231971091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but then remains a single question: < 1231971122 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(beth-2 or less, i think) < 1231971124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Why? (no not why anything specific, but just a plain "why") < 1231971151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, "beth-2"? < 1231971164 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :2^(2^aleph_0) < 1231971167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1231971253 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with pictures satisfying any kind of niceness requirement, that will probably drop to beth-1 < 1231971289 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol! < 1231971293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(closed sets, say) < 1231971296 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :with regard to your percentages < 1231971322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, that is 2^aleph_0? < 1231971324 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :hold the newsreaders nose squarely, water, or friendly milk with countermand my trousers < 1231971329 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's beth-1 < 1231971347 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :beth-(n+1) = 2^(beth-n) < 1231971347 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :waiter** < 1231971351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, I asked if 2^aleph_0 == beth-1 or not? < 1231971361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so yes < 1231971380 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1231971388 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my eyes read that as what < 1231971412 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*"that" as "what" < 1231971458 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooooooooooooooooooooooooooooooo < 1231971477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: what's countermand? < 1231971492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1231971493 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wiktionary.org/wiki/countermand < 1231971501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's a real world word i didn't know. < 1231971506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well this is embarrassing. < 1231971512 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1231971521 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it doesn't make any sense in psygnisfive's sentence < 1231971521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i did somewhat reverse-engineer it though < 1231971523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :despite being a real word < 1231971544 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for that matter, the rest of the sentence makes no sense either < 1231971558 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you clearly have never seen this: http://www.youtube.com/watch?v=hHQ2756cyD8 < 1231971562 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and yet, he insisted on correcting water < 1231971568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :correct, I can't access Youtube < 1231971586 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :shame shame < 1231971592 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :its a hilarious little video < 1231971613 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1231971646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, why not? < 1231971669 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no Flash < 1231971672 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nor do I want to install it < 1231971684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, mplayer? < 1231971690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then use youtube-dl < 1231971708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also where is ick's darcs atm? < 1231971714 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: on my hard drive < 1231971724 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ever since eso-std.org went down, I've had nowhere to host it < 1231971724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, want some hosting for it? < 1231971733 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :could be useful < 1231971758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, gcc-bf would be too big with gcc source included however, but ick repo should be find < 1231971761 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fine* < 1231971763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me set it up < 1231971773 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you know < 1231971774 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :in the future < 1231971798 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :some crazy esolanger is going to geneer a sexually transmitted disease < 1231971806 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it makes perfect sense when you s/with/will/ < 1231971808 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and eso-std.org will have new meaning. < 1231971811 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :just letting you know. < 1231971841 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, adduser want to know full name, I guess from a whois it is "(this is obviously not my real name)"? < 1231971849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1231971851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it did originally too, but it didn't really parse < 1231971876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and don't any of you dare parse it now, i already failed once today. < 1231971905 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :too late < 1231971929 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yay, the damn kids are getting off my lawn. < 1231971931 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where by lawn I mean server. < 1231971946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I need your public ssh key since password auth is turned off < 1231971950 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :got yourself thrown off? < 1231971971 0 :FireFly!unknown@unknown.invalid QUIT :"'till morning" < 1231971972 0 :ais523!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1231971975 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :by the way psygnisfive < 1231971976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sigh < 1231971978 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that video is muted < 1231971982 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :due to copyright infringement :P < 1231971985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it seems < 1231971992 0 :ais523!n=ais523@147.188.254.127 JOIN :#esoteric < 1231971995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, < 1231971999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ais523, I need your public ssh key since password auth is turned off < 1231972003 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, I received < 1231972009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not the other way < 1231972011 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what?! its never been in the past < 1231972012 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :>.< < 1231972017 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :well im sure you can find another version < 1231972027 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wasn't muted < 1231972032 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but couldn't send for some reason < 1231972032 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's in id_rsa.pub, isn't it? < 1231972040 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes < 1231972043 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :January 2009: Youtube starts seriously getting rid of copyright infringements < 1231972043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :put it in /msg < 1231972065 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :February 2009: Youtube loses 90% of users < 1231972066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what it's only january still? < 1231972088 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is stunnered < 1231972098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: another story time? :D < 1231972101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, stop timing out all the time < 1231972105 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh dear no < 1231972113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1231972120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: received it yet? < 1231972125 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, this was a real world prediction < 1231972134 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders wtf's up with their connection < 1231972145 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fgf < 1231972150 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :16 seconds to ping myself < 1231972157 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :apparently it took AnMaster 30 seconds to ping me < 1231972186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well i don't see any use for youtube except to see copyrighted shit. and most good shit is copyrighted < 1231972210 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :22:29 how can I "temporarily untie" a var? < 1231972210 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :22:29 without doing untie/tie < 1231972212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :22:29 the answer is "no" < 1231972216 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :#perl thinks they're really clever. < 1231972222 0 :jix!unknown@unknown.invalid QUIT :"..." < 1231972254 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :isn't that more of a prolog answer, really? < 1231972282 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird what are you trying to do now?? < 1231972292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: i'm implementing an OOP system in perl. shush < 1231972297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: simple, you use a localised typeglob, like we worked out in /msg < 1231972299 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ah x.x < 1231972301 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :perl.. x.x < 1231972303 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no. < 1231972305 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I tried that. < 1231972307 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it didn't work. < 1231972314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1231972329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought you said it did < 1231972337 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.apple.com/pr/library/2009/01/14advisory.html uhoh < 1231972373 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :UH OH < 1231972380 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :steve is dying :O < 1231972382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooooooooooo < 1231972384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :quite. < 1231972404 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :or hes having problems with a meth addiction < 1231972406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lol, google muted the rick roll < 1231972411 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :priceless < 1231972418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: for being copyrighted? < 1231972420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://uk.youtube.com/watch?v=oHg5SJYRHA0 < 1231972420 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1231972425 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :classic < 1231972434 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it was all an elaborate scheme leading to this < 1231972496 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... wait apparently it isn't actually muted < 1231972501 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1231972509 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :my Flash is playing up... < 1231972526 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :haha ehird :) < 1231972530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah right, you're just making up these muting stories so we'd get rickrolled by your link. < 1231972533 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no, seriously psygnisfive < 1231972537 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's silent for me < 1231972538 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1231972542 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :by playing up do you mean you accidentally had it muted yourself? ;) < 1231972547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no < 1231972551 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the volume is on full on it < 1231972553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and this machine < 1231972558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just isn't making any sound < 1231972558 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :uh huh < 1231972564 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :SO YOU SAY SIR, SO YOU SAY. < 1231972569 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...what, astley has *other songs* too?!? < 1231972573 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm not lying okay psygnisfive < 1231972577 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oklopol dont you have to go somewhere? < 1231972587 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird: obviously not. you're lying poorly, ehird. POORLY! < 1231972591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: well sleep. < 1231972598 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oh. well. sleep, feh. < 1231972600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: STOP IT I HATE NOT BEING BELIEVED WHEN I'M NOT LYING >__< < 1231972601 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :just drink some coffee. < 1231972618 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird: stop hating it and i'll stop not believing you. < 1231972622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i actually won't. < 1231972638 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :perl sux < 1231972642 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and i love it < 1231972643 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it sux. < 1231972655 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1231972655 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :feel free to apply that to new exciting contexts. < 1231972692 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Four weeks after birthing a nationwide Wikipedia edit ban, Britain's child porn blacklist has led at least one ISP to muzzle the Internet Archive's Wayback Machine - an 85 billion page web history dating back to 1996. < 1231972695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :/facepalm < 1231972703 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :WFM, thank god < 1231972714 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :what is this now? < 1231972716 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :sooo guys where should I escape to from this hellhole? < 1231972718 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1231972721 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Tor < 1231972724 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :brits arent allowed to edit wiki anymore? < 1231972726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sourced from a different country < 1231972728 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: only for a bit < 1231972731 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :wtf? < 1231972732 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it wasn't an aren't allowed < 1231972734 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :thats insane < 1231972750 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :basically, what happened was that lots of ISPs used proxies to implement the blacklist < 1231972755 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :routing all the traffic from the UK through about 6 IPs < 1231972766 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: "How can I escape from Oceania?" "Talk in pig latin!" < 1231972769 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :how would wikipedia and the wayback machine have anything to do with child porn?! < 1231972779 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :*pignewspeak < 1231972786 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which meant that there was no way to distinguish legitimate users from vandals < 1231972791 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: http://en.wikipedia.org/wiki/Virgin_Killer < 1231972791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the UK got blocked by mistake a lot < 1231972795 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is the page that was blocked < 1231972797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but, what ais523 < 1231972797 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it happened to Qatar once < 1231972798 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :said < 1231972801 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :for the edit block < 1231972808 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oubleday usplay ungooday < 1231972814 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Wikipedia doesn't cope well with entire countries having only a few IPs < 1231972838 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :oh i see, so what you mean ais is not that BRITAIN banned people from editting WIKI < 1231972849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's called wikipedia < 1231972851 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :but rather britain implemented measures that made it impossible for wiki to verify idents < 1231972862 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :which resulted in non-editting privs only < 1231972862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, and all brits got banned by mistake every now and then < 1231972863 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so guys i'm thinking like, Norway? < 1231972869 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :yeah ok < 1231972872 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :interesting :o < 1231972875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: how's it in Norway with yer civil liberties, and your fjords? < 1231972883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not to mention the limit that only 6 users could register per IP per day made it rather hard for everyone to log in < 1231972897 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :FJORDS < 1231972909 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you know < 1231972926 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :americans seem to have an enormously difficult time pronouncing things that look, at first, like they're foreign < 1231972933 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :consonant+j for instance < 1231972967 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :like.. tokyo. toh-key-oh < 1231972993 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :its not as tho english doesnt have the sequence "ky" /kj/ as it is < 1231973032 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i once heard an american say "bjarnum" as "buh-jar-num" because she couldnt get the bj right < 1231973042 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :even tho english has the bj sequence! < 1231973045 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1231973046 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : she couldnt get the bj right < 1231973052 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :well its true < 1231973058 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :you have to use your tongue < 1231973063 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :move it around just right you know < 1231973102 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :in circles around the head of the cock, you see. < 1231973208 0 :olsner!unknown@unknown.invalid QUIT :Remote closed the connection < 1231973243 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the fjords are nice < 1231973254 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :fjords are cool < 1231973262 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :im not really sure what fjords ARE, but they're cool < 1231973319 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ahh < 1231973331 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :a long narrow inlet with steep sides, created by glacial activity < 1231973331 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :norway does have a cp blacklist though afair < 1231973332 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :huh! < 1231973615 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1231973627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AHA < 1231973785 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :grmmm < 1231973789 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: kill me i hate perl < 1231973990 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird why are you doing this in perl? < 1231973998 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because i want to, psygnisfive < 1231974015 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :clearly it would be far too easy in anything else < 1231974210 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Reference found where even-sized list expected at unl2c.pl line 61. < 1231974211 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SHUT UP < 1231974294 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :even so. < 1231974478 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :thats not really what i meant but ok :) < 1231974503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive: < 1231974503 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :? < 1231974508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :perl is fun < 1231974510 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's eso. < 1231974516 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :perl isnt eso < 1231974518 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :its mainstream < 1231974521 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and its ugly < 1231974529 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's mainstream, but it's eso < 1231974531 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and it's not ugly < 1231974538 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :the only way in which it might be eso is in its ugliness < 1231974542 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and uselessness < 1231974547 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the only thing I glean from your past two lines is that you're the typical ruby fanatic who's never used perl but dislikes it anyway < 1231974550 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm, wait a second, you are! < 1231974557 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ive used perl, thanks. < 1231974563 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah. sure you have. < 1231974576 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :and im not really a ruby fanatic. its just convenient for me to dev in < 1231974586 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :im more of a scheme fanatic. :P < 1231974589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you pick up the argument from here I lost interest. < 1231974608 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it's too late, I need to go home very soon < 1231974617 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IT'S NEVER TOO LATE TO DEFEND PERL < 1231974652 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :ehird theres no argument < 1231974656 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i just dont like perl < 1231974676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so don't talk about my usage of it < 1231974692 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :i was merely wondering why you were doing this with perl < 1231974803 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm ais523 < 1231974806 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :is there a nicer way to phrase this < 1231974818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :@{[$foo, @{$bar}]} < 1231974823 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :where $bar is an arrayref and $foo is a hash < 1231974831 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :($foo, $bar) makes it a hash < 1231974834 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err < 1231974835 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*@$bar < 1231974840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess (@$bar, $foo) might work < 1231974844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but that's the wrong way around :p < 1231974848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :($foo, $bar) isn't intrinsically either a hash or an array, I think < 1231974883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait... I want a hash < 1231974884 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1231974885 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :stupid me < 1231974915 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : return %{$self->{data}}, map {%$_} @{$self->{delegations}}; < 1231974918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :am I a bad person? < 1231974920 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1231975137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Returns a reference to the object underlying VARIABLE (the same value that was originally returned by the tie call that bound the variable to a package.) Returns the undefined value if VARIABLE isn't tied to a package. < 1231975139 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AHA!! < 1231975568 0 :ais523!unknown@unknown.invalid QUIT :Client Quit < 1231976392 0 :amca!n=amca@CPE-121-208-81-104.qld.bigpond.net.au JOIN :#esoteric < 1231976497 0 :amca!unknown@unknown.invalid QUIT :Client Quit < 1231976983 0 :Corun!unknown@unknown.invalid PART #esoteric :?