< 1230336016 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1230336198 0 :puzzlet!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1230337047 0 :puzzlet_!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1230337074 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1230337489 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230337711 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1230337761 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1230337883 0 :jix!unknown@unknown.invalid QUIT :"..." < 1230339083 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230339128 0 :moozilla!n=moozilla@207-118-26-167.dyn.centurytel.net JOIN :#esoteric < 1230339856 0 :moozilla!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1230339996 0 :mib_vg1sr6!unknown@unknown.invalid QUIT :"http://www.mibbit.com ajax IRC Client" < 1230340082 0 :psygnisf_!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1230340886 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooo < 1230340901 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :opopopo < 1230341414 0 :psygnisf_!unknown@unknown.invalid PRIVMSG #esoteric :koko < 1230341729 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :size < 1230341738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :assize < 1230342167 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Assassinate. < 1230342472 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :basmati senate < 1230342476 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sleep! -> < 1230342551 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :Etanissassa. < 1230342554 0 :Warrigal!unknown@unknown.invalid PRIVMSG #esoteric :A tiny saucer. < 1230342747 0 :ais523!unknown@unknown.invalid QUIT : < 1230343445 0 :moozilla!n=moozilla@207-118-26-167.dyn.centurytel.net JOIN :#esoteric < 1230343591 0 :moozilla!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1230343615 0 :CakeProphet!n=seveninc@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1230346777 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1230346811 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230346867 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1230347002 0 :moozilla!n=moozilla@207-118-26-167.dyn.centurytel.net JOIN :#esoteric < 1230348066 0 :moozilla!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1230348272 0 :Corun!unknown@unknown.invalid QUIT :Remote closed the connection < 1230348299 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230348705 0 :Corun!unknown@unknown.invalid QUIT :Remote closed the connection < 1230348846 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230351831 0 :moozilla!n=moozilla@207-118-26-167.dyn.centurytel.net JOIN :#esoteric < 1230351971 0 :moozilla!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1230355122 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1230355617 0 :moozilla!n=moozilla@207-118-26-167.dyn.centurytel.net JOIN :#esoteric < 1230355648 0 :Corun!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1230356134 0 :moozilla_!n=moozilla@207.118.35.32 JOIN :#esoteric < 1230356136 0 :moozilla!unknown@unknown.invalid QUIT :Nick collision from services. < 1230356770 0 :moozilla_!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1230357813 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230358643 0 :moozilla!n=moozilla@72-160-127-126.dyn.centurytel.net JOIN :#esoteric < 1230358800 0 :moozilla!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1230361525 0 :seveninchbread!n=seveninc@h135.32.18.98.dynamic.ip.windstream.net JOIN :#esoteric < 1230361557 0 :CakeProphet!unknown@unknown.invalid QUIT :Nick collision from services. < 1230361575 0 :seveninchbread!unknown@unknown.invalid NICK :CakeProphet < 1230362004 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1230362055 0 :seveninchbread!n=seveninc@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1230362094 0 :CakeProphet!unknown@unknown.invalid QUIT :Nick collision from services. < 1230362104 0 :seveninchbread!unknown@unknown.invalid NICK :CakeProphet < 1230363383 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1230363411 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230364799 0 :clog!unknown@unknown.invalid QUIT :ended < 1230364800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1230366563 0 :SpaceMan!n=spaceman@S01060015e96842d7.vs.shawcable.net JOIN :#esoteric < 1230366572 0 :SpaceMan!unknown@unknown.invalid QUIT :Client Quit < 1230366592 0 :Mony!n=AssHole@AToulouse-258-1-3-198.w90-55.abo.wanadoo.fr JOIN :#esoteric < 1230366630 0 :SpaceMan!n=spaceman@S01060015e96842d7.vs.shawcable.net JOIN :#esoteric < 1230366650 0 :SpaceMan!unknown@unknown.invalid QUIT :Client Quit < 1230366716 0 :SpaceManPlusPlus!n=spaceman@S01060015e96842d7.vs.shawcable.net JOIN :#esoteric < 1230366747 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :plop guys :) < 1230366756 0 :SpaceManPlusPlus!unknown@unknown.invalid PRIVMSG #esoteric :hi. < 1230366776 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :how are you ? < 1230366776 0 :SpaceManPlusPlus!unknown@unknown.invalid PRIVMSG #esoteric :im using a homebrew app < 1230366795 0 :SpaceManPlusPlus!unknown@unknown.invalid PRIVMSG #esoteric :i created a new esoteric language < 1230366941 0 :SpaceManPlusPlus!unknown@unknown.invalid PRIVMSG #esoteric :im going to browse esilang, bye < 1230366943 0 :SpaceManPlusPlus!unknown@unknown.invalid QUIT :Client Quit < 1230367956 0 :SpaceManPlusPlus!n=spaceman@S01060015e96842d7.vs.shawcable.net JOIN :#esoteric < 1230368009 0 :SpaceManPlusPlus!unknown@unknown.invalid QUIT :Client Quit < 1230372934 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1230374919 0 :Corun!n=Corun@cpc1-rdng19-0-0-cust700.winn.cable.ntl.com JOIN :#esoteric < 1230379481 0 :Judofyr!n=Judofyr@c0F90BF51.dhcp.bluecom.no JOIN :#esoteric < 1230379549 0 :LinuS!n=LinuS@net-93-145-207-237.t2.dsl.vodafone.it JOIN :#esoteric < 1230379553 0 :Linus`!n=LinuS@net-93-145-207-237.t2.dsl.vodafone.it JOIN :#esoteric < 1230379559 0 :Linus`!unknown@unknown.invalid QUIT :Remote closed the connection < 1230381108 0 :Judofyr!unknown@unknown.invalid QUIT : < 1230381192 0 :oklopol!unknown@unknown.invalid QUIT :"( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )" < 1230391834 0 :Asztal!n=asztal@host86-169-5-244.range86-169.btcentralplus.com JOIN :#esoteric < 1230392908 0 :mib_c2zegu!i=5b695942@gateway/web/ajax/mibbit.com/x-6f36873f6cd085cc JOIN :#esoteric < 1230393536 0 :oklopol!n=nnscript@a91-153-121-248.elisa-laajakaista.fi JOIN :#esoteric < 1230393682 0 :oklopol!unknown@unknown.invalid TOPIC #esoteric :THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, I WILL put it back < 1230394061 0 :mib_c2zegu!unknown@unknown.invalid TOPIC #esoteric :I love your mom < 1230394342 0 :oklopol!unknown@unknown.invalid TOPIC #esoteric :THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, I WILL put it back < 1230394372 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :hum... < 1230394376 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :hi oklopol :p < 1230394380 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hi Mony < 1230394399 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :did you see my esolang ? < 1230394404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1230394410 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :it's my very first esolang so ... < 1230394446 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :relink it if you want a comment, i don't remember much, since it wasn't fundamentally different from the mass < 1230394467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(not much is) < 1230394480 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :here it is http://mony.servhome.org/esolang/h0rR0r.html < 1230394594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and a goto was added right? < 1230394606 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :yah < 1230394617 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :but i don't remember how they work -_- < 1230394623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1230394656 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :in fact, i made this esolangs some weeks ago < 1230394665 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, comment on that subset, it doesn't really have any computational powah < 1230394674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you have bignums < 1230394689 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1230394697 0 :puzzlet!n=puzzlet@147.46.241.231 JOIN :#esoteric < 1230394811 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :bignums ? < 1230394993 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codinghorror.com/blog/archives/001201.html Whine whine whine bitch bitch bitch. I wish Jeff Atwood would just go die or something. < 1230395449 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i didn't find that all that annoying < 1230397973 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1230400940 0 :ais523!n=ais523@92-236-187-64.cable.ubr08.king.blueyonder.co.uk JOIN :#esoteric < 1230400978 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1230400998 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what a horrible threat < 1230401012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1230401018 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well done oklopol for setting that < 1230401029 0 :mib_c2zegu!unknown@unknown.invalid TOPIC #esoteric :BLOOD AND FIRE < 1230401075 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hits mib_c2zegu with the saucepan ====\___/ < 1230401100 0 :ais523!unknown@unknown.invalid TOPIC #esoteric :THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, oklopol WILL put it back < 1230401126 0 :mib_c2zegu!unknown@unknown.invalid TOPIC #esoteric :oklopol SHALL change this topic < 1230401140 0 :mib_c2zegu!unknown@unknown.invalid TOPIC #esoteric :oklopol SHALL change this topic. everyone else SHALL NOT < 1230401199 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hits plop with the saucepan ====\___/ < 1230401201 0 :oerjan!unknown@unknown.invalid TOPIC #esoteric :oklopol SHALL change this topic. everyone else SHALL NOT. or ELSE. < 1230401203 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :\o/ < 1230401215 0 :ais523!unknown@unknown.invalid TOPIC #esoteric :THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE [probably ehird] REMOVES IT AGAIN, SOMEONE [quite possibly oklopol] WILL put it back < 1230401222 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: or else they'll be me < 1230401315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1230401324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw j is pretty awesome, have i mentioned < 1230401335 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i'm pretty sure < 1230401335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :possibly, I know ehird mentions it often enough < 1230401343 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. does he now? < 1230401368 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well. he should, since it's pretty awesome. < 1230401409 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also building about 1000 pages of tutorial labs into the interpreter kinda makes it hard to lazy out of learning the language < 1230401423 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean i can just start the interp, and "hmm. what should i do? oh! maybe read another lab." < 1230401454 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and you can play with the language as you go, test all the things you learn, because the lab runs in the repl < 1230401459 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty awesome too. < 1230401473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION continues, more random praise in a moment. < 1230401504 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :hrmph. < 1230401694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :j cures malaria and prevents babies from crying. it also can be usedas a laundry detergent. < 1230402146 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(*:^:_1) 4 <<< *: is square, ^:_1 applies it minus i times; evaluates to 2 < 1230402160 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :^:_1 applies it minus i times < 1230402161 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1230402162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*minus 1 times < 1230402207 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(*:^:7) 2 would be *: *: *: *: *: *: *: 2 < 1230402225 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(*:^:_1) 4 is naturally the square root of 4 < 1230402233 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :how can you apply negative times < 1230402241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :through magic :D < 1230402243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :grr... J should stop looking like Underload, it's confusing me < 1230402254 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm assuming a verb can contain info about how to negate its effects < 1230402279 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is mainly used for conjunctions that first apply ^:1 of a verb, then ^:_1 < 1230402322 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for instance stuff like geometric mean can be done by having the stages of squaring and square rooting kinda wrapped over the part where you just do arithmetic mean < 1230402330 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in quite a pretty way < 1230402364 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because you don't have to provide squaring and square rooting separately, just the square will do as long as it knows how it's effects are negated < 1230402444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also i don't know how to specify the function for negating a function, or how to specify other things functions can have, like units (0 for + and 1 for *) < 1230402451 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, talking about reversible programs or? < 1230402467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i don't know whether you can add concepts like this yourself, i'm assuming you can't, but wouldn't be the first surprise < 1230402475 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not really < 1230402479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1230402481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what then? < 1230402490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :reversible functions, I think < 1230402508 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? Sounds quite similar, if you have the result you can get the arguments < 1230402513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :being able to annotate functions with certain info higher-order functions need. < 1230402549 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not the same thing, reversible programming would require the language to be able to look inside functions, and do algebra < 1230402551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however lots of functions can't be reversed, just consider additions, you have to know at least two of: a + b = c, to get the third < 1230402554 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1230402561 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :making functions reversible < 1230402572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if the language is reversible, that's a whole another issue of course < 1230402593 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes. but you're missing the point < 1230402597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, there is an reversible programming language at the esolang wiki iirc < 1230402599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :forgot the name < 1230402605 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2D iirc < 1230402611 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there are many, < 1230402616 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :has nothing to do with this. < 1230402616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1230402619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm ok < 1230402633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is about... well i just said < 1230402637 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :being able to annotate functions with certain info higher-order functions need. < 1230402649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, and that isn't very clear < 1230402663 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yes it is. < 1230402673 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm elaborating, be patient. things like what / (fold) should use as the unit when given an empty list as arg < 1230402680 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :+ has 0, * has 1 < 1230402693 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so +/ 0$0 would be 0, and */ 0$0 would be 1 < 1230402701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1230402705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(0$0 is just a hacky way to make an empty list) < 1230402716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, what language is this? < 1230402722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is J < 1230402725 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :spec? < 1230402743 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :jsoftware.com < 1230402746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is the spec closed-source, or just the implementation? < 1230402754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know and i don't care < 1230402757 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :clicky: http://www.jsoftware.com/ < 1230402769 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :now watch AnMaster rant about how much it sucks because its' closed < 1230402807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: reversability here was just an example of something you can annotate a function with: have another function to reverse it with, somehow stored with the function < 1230402830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1230402837 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is this an esolang or? < 1230402840 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1230402845 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :you could have clicked the link... < 1230402847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's meant to be serious, it acts a bit like an esolang now < 1230402856 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu, I was waiting for browser to load < 1230402857 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :... < 1230402862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I see many similarities with Overload, for instance, although also differences < 1230402867 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :Slow computer. < 1230402868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :J's a lot faster, for one thing, and has more syntax < 1230402887 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu, rather: fast computer rendering images with raytracing < 1230402901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :J's syntax seems very clever, it solves some of the problems i was struggling with with oklotalk simply better than i did < 1230402906 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so result is slow for everything else < 1230402909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i don't admit that easily < 1230402938 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think J is a non-esolang that does well at solving many of the problems in implementing an oklotalk/Overload-style esolang (something multiple people here have obviously thought of) < 1230402956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1230403000 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well one of J's greatest benefits is having an incredible amount of *algorithmic* modules < 1230403016 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, yeah, java and python have a million networking modules. who gives a shit. < 1230403084 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or, at least if the small subset i've seen is, in fact, a small subset and not most of it :P < 1230403221 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, that is probably because J and Java try to solve different problems < 1230403420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true. j solves all problems, while java doesn't. < 1230403424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1230403509 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know much about j's module facilities. there's a lab about Object Oriented Programming though, and i'm sure j + oo is better than not j + oo. < 1230403791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(to be honest i'm pretty sure it's really ugly) < 1230403803 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :which VPS host do you guys use? < 1230403829 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :slicehost.com < 1230403840 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it's el greato maximus < 1230403842 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :ah, good, I was just looking at those < 1230403860 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :_0x44 from ##nomic works there :-) < 1230404141 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: is that a permanent nick? < 1230404177 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what? < 1230404196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, ehird's just using random mibbit links atm < 1230404210 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because for some reason he seems not to like using an IRC client but not a bouncer < 1230404217 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :lazy < 1230404222 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :my irc client is configured to my bouncer < 1230404242 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :reconfiguring a client is easier than using Mibbit, IMO < 1230404290 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so. no. < 1230404296 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :cmd-n mibbit enter click click Freenode click esoteric type click < 1230404297 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :vs < 1230404314 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: wanna know something mind-blowing? < 1230404319 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :look thru menus, connections, delete, add, freenode, irc.freenode.net, add #esoteric, click, connect < 1230404320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :assuming i didn't tell you yet. < 1230404323 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: sure < 1230404325 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :vs F2 alt-e irc.freenode.net enter enter < 1230404332 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is all it took to reconfigure my client < 1230404346 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that does not join #esoteric. < 1230404347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I went through the menus because I forgot the keyboard shortcuts, so two clicks not F2 < 1230404352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: yes it does < 1230404354 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :also, I don't memorize the shortcuts for reconfiguring my irc client. < 1230404358 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :crazy I know. < 1230404362 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my client was set up to join #esoteric by default beforehand < 1230404367 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's cheating. < 1230404369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i tried a version control system < 1230404370 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :mine wasn't. < 1230404371 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :via the bouncer < 1230404375 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: holy fuck. which one < 1230404377 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :please say git < 1230404664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1230404670 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was just the user of the system < 1230404674 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :used tortoisesvn < 1230404691 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: svn is kinda suck :{ < 1230404692 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are some development models svn is good for < 1230404700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've only once been in a situation where svn was useful, though < 1230404703 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and they all work just as well with a dvcs < 1230404705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and used it on more projects than one < 1230404712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: pretty much, yes < 1230404717 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :cvcs's are an inferior subset of dvcs's < 1230404737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although #interhack are using a dvcs, when they really need a cvcs I think < 1230404749 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, you get in trouble for doing something a cvcs couldn't do < 1230404752 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no; they just have a bad development model < 1230404753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey. at least i liked it. meaning i might even try the other options. < 1230404754 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230404761 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you liked it? hoshit :D < 1230404772 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol is turning into an enterprise programmer :< < 1230404776 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1230404815 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey i'm moving from python to j now, clearly i'm struggling against it < 1230404822 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :lo < 1230404823 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :l < 1230404858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well actually i thought i'd start my language learning spree over, but this time actually learn the languages instead of just enough to forget it right away < 1230404881 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and j and haskell are first < 1230404888 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :hee < 1230404911 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks there should be a lang like J, but more tinkerable < 1230404915 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well haskell i know much better than i did j of course < 1230404979 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :j is tinkerable, no? < 1230404988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, but you can always get more tinkerable < 1230405015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you elaborate on tinkerable < 1230405041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like, able to change things about the language < 1230405043 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like syntax < 1230405099 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: what was the thing i was trying to solve in j? < 1230405105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when we had the whole #j episode < 1230405117 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: err, factorial with @ or something < 1230405155 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(#j has both an autoinvite on part, and autoban on join-flood, it's a fun channel to part considering i have autojoin on invite :DD) < 1230405174 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :autoinvite on part? why? < 1230405186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because quakenet < 1230405194 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :could you elaborate? < 1230405198 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well it's inhabited by gamers < 1230405219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i dunno. just seems like a very quakenety thing to do < 1230405225 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... does the autoinvite do anything but cause people to rejoin the channel? < 1230405237 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it asks them to rejoin < 1230405239 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1230405243 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :with an invite < 1230405246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it may cause them to rejoin if their clients are like that < 1230405248 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :very quakenet, I agree < 1230405248 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean, anything else? < 1230405251 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no < 1230405259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the invite doesn't let them join voiced, for instance? < 1230405261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :otherwise it does nothing, because why would someone rejoin if they just parted < 1230405280 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's just to get them to come back. < 1230405315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i doubt that, they should be voiced if Q-bot considers them worthy < 1230405454 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: the reason for why i couldn't get it to work is @: is function composition, and the @ i used is actually not, it has a small difference, it uses the rank of the latter verb for both verbs < 1230405474 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rank is kinda like whether arguments are of type [a] or [[a]]. < 1230405482 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yes you said < 1230405483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or just a < 1230405489 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yes < 1230405492 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i didn't actually know :P < 1230405495 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now i do < 1230405507 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was just a sophisticated guess back then < 1230405526 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess that's a bit irrelevant from your perspective. < 1230406537 0 :oerjan!unknown@unknown.invalid QUIT :"Trying a reboot" < 1230406740 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1230408781 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, tonight, programming or algorithms? < 1230408809 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :programming < 1230408814 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :documentation < 1230408830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cackles evilly < 1230408876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: not much difference :< < 1230408890 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :programming is documentating YOUR MOTHER < 1230408932 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :RIR < 1230409064 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :RIR? < 1230409191 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :RIRIRIR < 1230409650 0 :Judofyr!n=Judofyr@c0F90BF51.dhcp.bluecom.no JOIN :#esoteric < 1230409654 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1230409684 0 :Judofyr!n=Judofyr@c0F90BF51.dhcp.bluecom.no JOIN :#esoteric < 1230410886 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1230411474 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230411507 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1230411750 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1230411754 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230411757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230411761 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1230411763 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okoko < 1230411770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :okokoko < 1230411772 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1230411806 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :okokokokoko < 1230411811 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230411818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okoko < 1230411822 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1230411824 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230411866 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :okookokk < 1230411881 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kookook < 1230411907 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :ok?ok!Ok. < 1230411921 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ook? Ook! < 1230411929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let's play Nim with okos < 1230411949 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should probably look up Ni, < 1230411951 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Nim < 1230411957 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1230411957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a good game, and very simple < 1230411964 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :basically, you start with a certain number of piles of objects < 1230411967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :okos in this case < 1230411975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :players take turns to remove objects from a pile < 1230411984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, you can remove any number of objects but they all have to be in the same pile < 1230411990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whoever takes the last object loses < 1230412014 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Isn't Nim solved or something? < 1230412018 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1230412038 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, it is, that's why I'll beat you at it < 1230412047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless you start in a winning position and either have also solved it, or are lucky < 1230412072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have to be exponentially lucky < 1230412092 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1230412105 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You'd be the one choosing who goes first? < 1230412112 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is looking at it on Wikipedia < 1230412118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1230412126 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err. < 1230412134 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah that's not enough < 1230412135 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if I choose who goes first and there are two players, I'll win unless I screw up really badly < 1230412143 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even if someone else chose the board before that < 1230412149 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :i.e. the starting position < 1230412166 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, is it pspace-complete if you have two stacks? < 1230412177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1230412207 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i would imagine it is logspace < 1230412209 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well in pspace, but not known to be in np, isn't that the usual game classification < 1230412220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1230412220 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :far below pspace < 1230412230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the strategy for winning it is O(log n), where n's the largest stack you have remaining < 1230412242 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1230412287 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :by stack you mean pile? < 1230412289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. yeah okay it doesn't really make the game more interesting < 1230412303 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: umm. well yes < 1230412304 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes < 1230412310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, ais523 < 1230412317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, me too < 1230412343 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1230412350 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how about some kinda graph... < 1230412374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :see hackenbush, i think < 1230412395 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no that's just either the original or multiple stacks if you can cut it into a forest < 1230412401 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hackenbush? k < 1230412483 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Hackenbush < 1230412519 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and sprouts < 1230412546 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Sprouts_(game) < 1230412559 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sprouts with oko wouldn't really work < 1230412611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION once played sprouts with conway in person < 1230412634 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :who won? < 1230412637 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and wow < 1230412637 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course i lost, since i hadn't seen the game before < 1230412690 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hasn't really tried learning it since either < 1230412730 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :brussels sprouts always has the same winner no matter who plays where < 1230412739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1230412812 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ahh, hackenbrush is essentially my graph idea, except when split into components, some components are removed from the game < 1230412829 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :== nim -> game < 1230412845 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: how come you've seen a celebrity? < 1230412881 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :he was giving a lecture in seattle when i was there during my ph.d. < 1230412963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and afterwards there were some discussions in the institute's lunch room < 1230412991 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(the lecture was on surreal numbers iirc) < 1230413038 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have an awesome life < 1230413110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: was that sentence an attempt at alphanumeric-only oko? < 1230413417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...yes of course < 1230413467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so < 1230413469 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what if < 1230413471 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230413475 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o's were < 1230413476 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1230413481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on the ground < 1230413519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and a word, "xozy", for instance, meant the graph consisting of the characters of english, contained the path xozy < 1230413528 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :linking x, o, z and y < 1230413546 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so you could eodermdrome hackenbrush < 1230413560 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now if you mix scrabble into that... < 1230413568 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230413570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1230413580 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nim is still an incomplete game if everyone can remove any line? < 1230413584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1230413601 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean incomplete? < 1230413615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an incomplete game, trivial < 1230413632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno. < 1230413635 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1230413639 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :see the sprague-grundy theorem linked from the hackenbush article < 1230413669 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1230413671 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :! < 1230413690 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not that that implies complete triviality. sprouts hasn't been completely solved despite being theoretically under that theorem < 1230413704 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1230413740 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oooooooooo < 1230413752 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now < 1230413759 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :*boom* < 1230413780 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the red-blue-(green) hackenbush described is sort of to get conway's general games rather than just nimbers < 1230413785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how about someone start the game, the obvious scrabble rule is you can only use english words when doing transformations < 1230413815 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(or so i assume, i haven't actually read that book) < 1230414830 0 :Judofyr_!n=Judofyr@c0F90BF51.dhcp.bluecom.no JOIN :#esoteric < 1230414850 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1230414853 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :hi Judofyr_ < 1230414881 0 :Judofyr_!unknown@unknown.invalid PRIVMSG #esoteric :hi :-) < 1230414883 0 :Judofyr_!unknown@unknown.invalid NICK :Judofyr < 1230414893 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :wazzzzzzup? < 1230414906 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :the sky < 1230414918 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1230414930 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :duh. < 1230414953 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :what book should I buy from Amazon? < 1230414957 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :say one < 1230414959 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :a good one < 1230414966 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :one\na good one < 1230414968 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :> < 1230414974 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :err how abou < 1230414975 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :t < 1230414980 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :Enterprise Esoteric Programming: From Brainfuck to Underload < 1230414984 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :by Fake T. Name < 1230414997 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :I would love that book! < 1230415005 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1230415008 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ACTION = ehird < 1230415012 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so would I < 1230415020 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I should write a book about esolangs < 1230415020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pity it doesn't exist < 1230415022 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it'd be awesome. < 1230415032 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, I think it might be interesting to convert Esolang the wiki into book form < 1230415045 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: why the heck are you mib_c2zegu and not ehird? < 1230415051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :together with commentary < 1230415056 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :Judofyr: mibbit < 1230415057 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and explanations < 1230415067 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Judofyr: because he's too lazy to change the default nick, even with /nick < 1230415083 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: better idea: cite it with little footnotes in the book, except have it reference it as saying stuff entirely different from what it does < 1230415084 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1230415088 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :understandable < 1230415106 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: why? < 1230415110 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that would mean a lot more writing < 1230415114 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because that's esoteric < 1230415121 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :also, writing a book about esolangs sounds fun < 1230415130 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :(so does playing with its typography for 7 years) < 1230415154 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1230415161 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :the toilet needs me < 1230415199 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :uh, thanks. < 1230415338 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :back! < 1230415346 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :but seriously, a good book? < 1230415354 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :sicp :-P < 1230415359 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :right now I got SICP and The Little Schemer in my cart :P < 1230415371 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :and the From NAND to Tetris-book < 1230415375 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :enterprise javabean development with struts < 1230415377 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well everyone needs rwh < 1230415385 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oh yeah, throw in rwh < 1230415390 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :rwh? < 1230415394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rwh. < 1230415394 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :real world haskell < 1230415398 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :http://www.realworldhaskell.org/ < 1230415399 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1230415409 0 :mib_c2zegu!unknown@unknown.invalid TOPIC #esoteric :functional programming weenies. < 1230415437 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :hm... haskell? < 1230415438 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1230415442 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :what about it? < 1230415445 0 :oklopol!unknown@unknown.invalid TOPIC #esoteric :functional programming weenies. also THIS IS THE LINK TO THE LOGS >>> http://tunes.org/~nef/logs/esoteric/ <<< IT'S FUCKING ANNOYING HAVING TO GOOGLE IT ALL THE TIME, IF SOMEONE REMOVES IT AGAIN, I WILL put it back < 1230415446 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :haskell is cool. < 1230415492 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I like Haskell < 1230415507 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :btw, anyone know how to write a recursive function with base case inside the GHCi REPL? < 1230415512 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's easy enough in an actual program < 1230415517 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :func 0 = ... < 1230415520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :func x = ... < 1230415523 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ; < 1230415523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that doesn't work inside the REPL < 1230415525 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :instead of \n < 1230415528 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1230415531 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :you can do \n too < 1230415532 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :let func 0 = ... < 1230415535 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :let func x = ... < 1230415540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IIRC I tried that < 1230415545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the second definition overwrote the first < 1230415548 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1230415550 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I got a syntax error when I used a ; < 1230415551 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :well do the first first! < 1230415557 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :let func 0 = ...; func x = ... < 1230415566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, that might be it < 1230415567 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1230415568 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :do that < 1230415570 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it is it < 1230415570 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230415654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230415661 0 :psygnisf_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1230415781 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking of buy Programming in Lua < 1230415795 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :what you think about Lua? < 1230415803 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :Lua is alright, but I wouldn't buy a book about it < 1230415834 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't buy a book about most langs, though < 1230415838 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'd just download a free one < 1230415848 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I would buy a book about my language! Despite there not existing one! <.< < 1230415868 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION remembers the fun he had trying to cite in an academic paper a book he downloaded via the Debian/Ubuntu repos < 1230415873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"published on the Internet, but not the Web" < 1230415893 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you know, with all those fingerprints "Practical Befunge" almost sounds like a reasonable idea < 1230415899 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1230415908 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I should write Practical Befunge. < 1230415909 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and INTERCAL is almost practical, it just needs better string-handling < 1230415913 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :In fact, I should just write a series of books on esolangs. < 1230415919 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :Who wouldn't buy them? < 1230415933 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :They would, of course, treat the subject entirely seriously. < 1230415936 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1230415951 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and Underlambda is meant to be practical eventually, once I finish it < 1230415954 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :okey. more books I *really* should read! < 1230415961 0 :Mony!unknown@unknown.invalid PRIVMSG #esoteric :'night < 1230415964 0 :Mony!unknown@unknown.invalid QUIT :"Quit" < 1230416007 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Judofyr: algorithm design is a pretty fun book < 1230416009 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :it's evil to say goodbye before you can respond :-( < 1230416035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Mony is like that, plops in and 'nights out, doesn't have a care in the world < 1230416047 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Judofyr: i kept seeing Concepts Techniques and Models of Computer Programming recommended when i was following Lambda The Ultimate < 1230416050 0 :Judofyr!unknown@unknown.invalid PRIVMSG #esoteric :probably an /amsg < 1230416096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i recently read the first four or so chapters of ctmcp < 1230416100 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Mony has distilled the essence of eso < 1230416103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was quite enlightening < 1230416107 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1230416109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(which is different from oklopol, who /is/ the essence of eso) < 1230416168 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Judofyr: also, i prefer to say my goodbyes in my quit message. saves everyone work. < 1230416183 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it describes the language oz via a nice set notation < 1230416199 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :essentially describes an interpreter in math < 1230416219 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Chaitin apparently once wrote a Diophantine equation which implemented Lisp < 1230416232 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :adds concepts as they are discussed, dataflow variables, lazy evaluation, exceptions etc < 1230416238 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so. < 1230416240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i recommend too. < 1230416249 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : so. <--- so what? < 1230416256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i recommend too. <<< this. < 1230416263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I've been waiting to make that joke for months < 1230416266 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1230416278 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well. that's funnier than the actual joke :P < 1230416283 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh dear, I must be turning into AnMaster < 1230416339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was planning to buy ctmcp myself, but sicp won for now < 1230416370 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i can just borrow a brand new ctmcp from the lib if i have the time to continue on in < 1230416469 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm actually Lambda the Ultimate had a book list < 1230416502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :link it so i can read them all < 1230416518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i've got to find it again first < 1230416652 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm it may have been a thread actually, possibly this one: http://lambda-the-ultimate.org/node/492 < 1230417828 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1230417866 0 :oerjan!unknown@unknown.invalid QUIT :"Good night BWAHAHAHA" < 1230417893 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :hrmph < 1230418474 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :god i hate java < 1230418533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it kills my creativity < 1230418558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just end up slowly writing up a crappy solution and thinking "python is so much nicer" < 1230418582 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so does everyone else who knows both Java and Python < 1230418584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not that you can't do things well with java, it's just i just can't, because i hate it < 1230418590 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: use Jython < 1230418591 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230418597 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :just replace your whole program with sth like < 1230418601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah that probably would've been a good solution < 1230418605 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :(new JythonInterpreter()).eval("PYTHON YAY"); < 1230418617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just thought, since this is a trivial little application, it doesn't matter how i do it < 1230418621 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol let's make a language based on kittens < 1230418683 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just even a trivial program takes ages to write considering most of my coding time is just looking at the source and hoping the 15 lines to do something trivial would write itself. < 1230418691 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i don't want to write 15 lines to do something trivial < 1230418701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i want trivial things to be trivial :< < 1230418739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :almost done though, yay. < 1230418931 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: write a java module called Shit.java < 1230418938 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :that contains shit that makes life a little less painful. < 1230418948 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :heck, you could even fake lambdas: < 1230418960 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :new L(){void c(){...}} < 1230418961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, i should do that < 1230418971 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem is, i don't want to. < 1230418972 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :that's only like 100 characters bigger than python's lambdas < 1230418972 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230418980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i don't want to use java < 1230418981 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I'll write it for you. Because I am so kind/ < 1230418985 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :and bored < 1230418995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so as a protest, i'm punishing myself by doing everything the hard way < 1230419022 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if "package net.freenode.irc.esoteric;" is acceptable :-P < 1230419024 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for instance i'm not using any kind of serialization, because you can't do it functionally. < 1230419042 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you can't write serialize(object) or something conceptually as simple, the language is flawed. < 1230419058 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well not the language necessarily, but the stdlib anyway < 1230419091 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Underlambda has S and D commands < 1230419099 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which serialise and deserialise something, respectively < 1230419103 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to stdout or from stdin < 1230419117 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :obj serialize < 1230419121 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :"" deserialize < 1230419127 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :^ my vaporware language < 1230419188 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :serialization is ugly the way it's done in most languages < 1230419212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, if serialization is done to get a bitstring out of an object, so you can send it over a network, or put it in a file < 1230419238 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :obj serializeTo: stream < 1230419240 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's just retarded, you shouldn't have to have two conceptual representations of an object, and have different things use different represenations < 1230419240 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230419244 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*representations < 1230419251 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that should be hidden from the programmer completely < 1230419251 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: it's not a conceptual representation < 1230419255 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :an object "has" no representation < 1230419263 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :an object just is < 1230419272 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :serializing is giving it a bytestring representation < 1230419322 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can't really think where that'd be useful, except maybe for hash values, but that should be in the stdlib anyway < 1230419340 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: putting on a disk? < 1230419342 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1230419348 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :you can't put plain objects on to disk < 1230419351 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it's just a fact < 1230419356 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :the disk is made up of bytes < 1230419357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1230419361 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :objects, being conceptual, aren't < 1230419380 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in Underlambda, one neat trick is to serialise a continuation < 1230419381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't see where it'd be useful to think of the disk as made up of bytes < 1230419384 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :gives a trivial way to save your program < 1230419386 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: because it _is_ < 1230419395 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :do you want your language to -lie- to you? < 1230419401 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :the disk is made up of bytes in files. < 1230419402 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :end of. < 1230419405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you write the serialised continuation out to disk; to run the program from there, just deserialise and give it an argument < 1230419424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: it's just a different level of abstraction to think of it as not being made up of bytes < 1230419433 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no -- it's a layer on top of < 1230419435 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an abstraction that doesn't lose generality < 1230419443 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it's not a different level, it's a new abstraction < 1230419468 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :"IF SOMEONE REMOVES IT AGAIN, I WILL put it back" < 1230419471 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :What a threat < 1230419479 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1230419617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway mib_c2zegu, what's the problem with that abstraction? < 1230419645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean the fact it's made up of bytes so the programmer should know that too isn't really much of an argument < 1230419656 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it stops the programmer using existing files which are made of bytes? < 1230419659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's also made up of electricity, but the programmer doesn't know that < 1230419673 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :and stops them writing out files for use in other things which use them as bytes? < 1230419715 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: that's a better argument, although i'm not really satisfied with it < 1230419733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there are better ways around that than serialization < 1230419742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :raw mode should be an exception, not the standard < 1230419747 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :files are made of bytes, this is the API exposed to the programmer from the OS (electricity isn't), and the rest of the universe expects them to be bytes < 1230419757 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :and it's more useful to create files that work with everything else, and read them, than just this language < 1230419758 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :in general < 1230419763 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :so the most common case should be default < 1230419795 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well in the case of serialization, nothing else can read the file anyway < 1230419804 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because serialization is specific to the language < 1230419807 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1230419814 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :but serialization in that case can build on top of the byte exposing < 1230419819 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :and just be obj.serialize() -> String < 1230419836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in Underlambda, serialisation is specific to the interp, or the executable in the case of compilation < 1230419887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: it can, yes, i still think it's not pretty. < 1230419896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you don't agree, fine < 1230419914 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yay, my java lambdas work < 1230419918 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :although they're hideously verbose < 1230419921 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I think I can make them lesso < 1230419922 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :but, < 1230419940 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :L addWorld = new L() { public String _(String a) { return a + " world!'; }}; < 1230419941 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :vs python < 1230419946 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :addWorld = lambda a: a + " world!" < 1230419962 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1230419991 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :an example with multiple arguments would make the distinction even greater < 1230420003 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :yes, mine doesn't do multiple arguments < 1230420004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, Java's typed, so the specifying types everywhere is hardly surprising < 1230420008 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :put them in an array :P < 1230420010 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Haskell: < 1230420013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: well i meant with an array < 1230420013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1230420015 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :addWorld = \a -> a ++ " world!" < 1230420016 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it's typed too :P < 1230420027 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least you're using templates, even though Java's implementation of templates is stupid < 1230420030 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :java is just totally inexcusable as a language. < 1230420037 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah, wait, I should get rid of the template stuff < 1230420039 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :just make it Object < 1230420041 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :then there's less typing < 1230420053 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :no, I dont' care about safety :P < 1230420066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :java isn't exactly type safe. < 1230420083 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just annoying < 1230420106 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :haskell's type system has actually helped me a few times, java's is just in the way < 1230420118 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :L addWorld = new L(){public Object _(Object a){return a + " world!";}}; < 1230420121 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :^ that's better, slightly < 1230420127 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :now to see if I can eliminate those Object's < 1230420137 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :btw, you call like < 1230420140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Java's sort of got an anti-type-system < 1230420141 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :lambda._(arg) < 1230420149 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it checks types at compile time, then forgets about them < 1230420153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1230420166 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and at runtime it doesn't have any type information so you have to tell it what types things are all over again < 1230420175 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then it just errors if things are the wrong type, which can somehow happen anyway < 1230420213 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :java knows what type things are, just not the generic parameters, afaik < 1230420222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*types < 1230420234 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: not in cases of inheritance < 1230420238 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which you're doing all the time in OO langs < 1230420252 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1230420254 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :damnit, you need to explicitly specify public for anon classes < 1230420260 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I think I may have reached the limit here. < 1230420264 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure it does know the exact types. < 1230420270 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: are you wary of running a preprocessor over your program? < 1230420289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: do you expect me to use your system? :D < 1230420292 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :YES. < 1230420293 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1230420296 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I could write a python program that turned FUN(a -> a + " world!") < 1230420296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1230420297 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :into < 1230420298 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well err. < 1230420311 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :new L(){public Object _(Object a){return (a + " world!");}} < 1230420312 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1230420316 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: ISN'T THAT TEMPTING?? < 1230420321 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :heck, you could even have maps. < 1230420326 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... can you make it infer the types so i don't have to do explicit type conversions? < 1230420339 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, perhaps < 1230420345 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I may allow explicit types defaulting to Object < 1230420351 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :so you could do FUN(StupidType a -> ...) < 1230420386 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :Map._(FN(a -> a + " world!"), {"a","b","c"}) < 1230420391 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :^ that's pretty awesome I think. < 1230420397 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :i mean, as far as using java goes < 1230420402 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I think that's pretty cool :P < 1230420499 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1230420510 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :{"a","b","c"}? < 1230420521 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :tha's javas array literal syntax no? < 1230420529 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think it's more like new String[]{...} < 1230420539 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :well, whatever < 1230420546 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it's still better than a hueg for loop and reassign and shit < 1230420571 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anything is better than a loop < 1230420617 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders what to name the utils package < 1230420621 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :make.java.less.crap? < 1230420628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay booker time. < 1230420631 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1230420637 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: NOES. < 1230420638 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230420668 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if british universities are as keen on java as finnish ones < 1230420674 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :maybe. < 1230420674 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: < 1230420676 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :x+4 = 3 < 1230420679 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :WHAT IS X < 1230420710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1230420711 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1230420721 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what X is < 1230420722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :x+4 is a temporary object on the stack < 1230420728 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :I know what x is, though < 1230420732 0 :Judofyr!n=Judofyr@c0F90BF51.dhcp.bluecom.no JOIN :#esoteric < 1230420733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and we need to convert it to an lvalue < 1230420751 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now, we have all integers as lvalues somewhere in the memory, for literals that is < 1230420773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we just look up the reference to where ever x + 4 is, and rewrite that to 3 < 1230420788 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :x stays the same < 1230420791 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :The answer was x+4.3089£& < 1230420816 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't understand < 1230420821 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you will have to walk me through this. < 1230420823 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :k < 1230420825 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :$£56@£ < 1230420831 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :have you noticed oklopol < 1230420835 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I drew you from your book. < 1230420836 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :MWAHAHA < 1230420839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1230420843 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh my god! < 1230420844 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :er < 1230420845 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :forget I said that < 1230420846 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :<.< < 1230420847 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :so oklopol < 1230420848 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :what is x < 1230420857 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i already told you < 1230420862 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :no you did not < 1230420871 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait i didn't? < 1230420872 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1230420874 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1230420878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's see... < 1230420885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :01:32… oklopol: x stays the same <<< i so did,. < 1230420894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.,.,.,.,.,.,.,.,.,. < 1230420898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :,.,.,.,.,.,.,.,.,., < 1230420899 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :k < 1230420901 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230420904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that looks like BF < 1230420909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1230420926 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :import functional.java.Fn; public class Example { public static void main(String[] args) { System.out.println(FN(a => a + " world!")._("Hello,")); } } < 1230420943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's an interactive conversation program < 1230421015 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mib_c2zegu: ._ is ugly. < 1230421026 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: got a better idea? < 1230421029 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I could also make it $ < 1230421034 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just make the trivial type inference code and use () :o < 1230421036 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :FN(a => a + " world!").$("Hello, ") < 1230421044 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :also, that can't be performed as a simple rewrite of the source < 1230421101 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it can, although you need to infer the types of all callers < 1230421105 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait... < 1230421115 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah, more or less. < 1230421130 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i don't think you understand, mine just runs a few regexs < 1230421131 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1230421158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know, i'm joking for teh most part :) < 1230421747 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :hmm, well basic compilationeration works < 1230421750 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :can't specify return type atm < 1230421762 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :can specify input tho < 1230421816 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: how should return valuamations be specified < 1230421818 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking liek < 1230421831 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :FN(a =>Object a + " world!") < 1230421832 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :or sth. < 1230421937 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe have A=>B be reduced to L, and use -> for lambdas < 1230421940 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno. < 1230421949 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :mayb. < 1230421955 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :still < 1230421958 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :it compiles this: < 1230421959 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :import functional.java.*; public class Example { public static void main(String[] args) { System.out.println(FN(a => a + " world!")._("Hello,")); } } < 1230421960 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :into this: < 1230421964 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :import functional.java.*; public class Example { public static void main(String[] args) { System.out.println((new Lambda() { public Object _(Object a) { return (a + " world!"); }})._("Hello,")); } } < 1230421966 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :not bad. < 1230422022 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ooooooooooo < 1230422043 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's nice, but i can't help thinking it's also very trivial :P < 1230422050 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: shur, it is < 1230422054 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :but wait till I add more stuff :P < 1230422069 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well yeah add all the stuff python has and i'm good to go < 1230422081 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :wellllll not all of it < 1230422089 0 :mib_c2zegu!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: I'm just trying to avoid you committing suicide. < 1230422238 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1230422343 0 :Judofyr!unknown@unknown.invalid QUIT :