< 1202086561 0 :ehird`!unknown@unknown.invalid QUIT :No route to host < 1202086590 0 :ehird`!n=ehird@user-54453ccd.lns4-c11.dsl.pol.co.uk JOIN :#esoteric < 1202086984 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how crazy an esoteric language can get re: modifiable syntax < 1202087009 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Maybe something that starts off dirt-simple forth-style parsing, then is extended in itself into a crazy crescendo of modifiable, extendable, pluggable, composable syntax from hell < 1202088256 0 :GreaseMonkey!n=saru@219-89-41-215.dialup.xtra.co.nz JOIN :#esoteric < 1202088411 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: it's called "Perl" < 1202088431 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1202088443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not quite - it doesn't have extendable syntax to that degree < 1202088451 0 :ehird`!unknown@unknown.invalid QUIT :"K-Lined by peer" < 1202089146 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1202092732 0 :immibis!n=immibis@125-236-142-87.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1202093935 0 :adu!n=andrew@pool-71-178-194-165.washdc.fios.verizon.net JOIN :#esoteric < 1202093949 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :i'm sad < 1202093965 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :I just found two languages which are nearly Identical to my dream language < 1202094240 0 :immibis!unknown@unknown.invalid QUIT :"Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to < 1202094261 0 :immibis!n=immibis@125-236-142-87.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1202094661 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :adu: that sucks < 1202094669 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :you say there's two... < 1202094712 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :Io (no keywords, i like) and Z (functions == relations, i like) < 1202094779 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :Io method syntax: Object method Args < 1202094791 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :Z function syntax: Function Args < 1202094801 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :both have minimal syntax as well < 1202096202 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1202098097 0 :danopia!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1202101653 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1202102472 0 :adu!unknown@unknown.invalid PART #esoteric :? < 1202104663 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1202105240 0 :immibis!unknown@unknown.invalid PART #esoteric :? < 1202108058 0 :immibis!n=immibis@125-236-142-87.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1202109055 0 :pikhq!unknown@unknown.invalid QUIT :"leaving" < 1202110369 0 :lifthrasiir!n=lifthras@haje8.kaist.ac.kr JOIN :#esoteric < 1202110777 0 :chuck_!i=charlie@12-205-155-236.client.mchsi.com JOIN :#esoteric < 1202111017 0 :chuck!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1202111999 0 :clog!unknown@unknown.invalid QUIT :ended < 1202112000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1202112009 0 :immibis!unknown@unknown.invalid QUIT :"Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. and email ths to < 1202113007 0 :Aatch!n=Aatch@ip-118-90-92-129.xdsl.xnet.co.nz JOIN :#esoteric < 1202114164 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. thx." < 1202116210 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, Yeah that's what I want < 1202116244 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, Just getting a really good mixfix parser and hooking it up to whatever lambda calculus you want < 1202119155 0 :Aatch!unknown@unknown.invalid PART #esoteric :? < 1202119293 0 :faxathisia!unknown@unknown.invalid QUIT :"If there are any aliens, time travellers or espers here, come join me!" < 1202122717 0 :RedDak!n=dak@87.18.81.221 JOIN :#esoteric < 1202125792 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1202126218 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1202128350 0 :chuck_!unknown@unknown.invalid NICK :chuck < 1202132802 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1202134345 0 :RedDak!unknown@unknown.invalid QUIT :"I'm quitting... Bye all" < 1202136487 0 :jix!i=jix@78.47.212.92 JOIN :#esoteric < 1202139360 0 :faxathisia!n=more@137.195.250.2 JOIN :#esoteric < 1202139368 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :!Huh < 1202139371 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1202143779 0 :ehird`!n=ehird@user-54453ccd.lns4-c11.dsl.pol.co.uk JOIN :#esoteric < 1202143799 0 :ehird`!unknown@unknown.invalid QUIT :Client Quit < 1202143827 0 :ehird`!n=ehird@user-54453ccd.lns4-c11.dsl.pol.co.uk JOIN :#esoteric < 1202144532 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1202144717 0 :helios24!i=chaos@bytefight.org JOIN :#esoteric < 1202146230 0 :sebbu!n=sebbu@ADijon-152-1-51-27.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1202148378 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1202148985 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: okloping < 1202150084 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : b:4>@[n;&0n=n:+/_sqr 50{c+(-/x*x;2*/x)}/c:+,/(-1.5+2*(!w)%w),/:\:-1+2*(!w)%w:200;:;4];`mandel.pbm 6:"P4\n",(5:2#w),"\n",_ci 2_sv'-1 8#,/+(2#w)#b < 1202150092 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I wish K systems still offered a free interpreter. < 1202150117 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :apologies, Kx systems < 1202150144 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1202150155 0 :jix!i=jix@78.47.212.92 JOIN :#esoteric < 1202150179 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1202150199 0 :jix!i=jix@78.47.212.92 JOIN :#esoteric < 1202150208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :As it stands now I can't even see how you can pay them for one < 1202150331 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :very unfortunate < 1202150384 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION watches "Barack Obama @ Google" < 1202150386 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :What a pity I can't vote for him < 1202150459 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... doesn't the US presidential candidate foreigners like best usually turn out too left-wing for americans? < 1202150472 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: he's probably the best one left.. this is unsuprising, e.g. kucinich had no hope in hell so his dropping out is unimportant (though apart from the ufo stuff he was great) < 1202150493 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i also note that reading k comments changes how i type like this. damn you, kx systems and your commenting style < 1202150498 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :he dropped out because he was abducted by aliens? < 1202150524 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: what is this commenting style? < 1202150526 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: possibly :p < 1202150553 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: lowercase, concise, not always grammatically correct < 1202150554 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If they got Hillary back that would make an alarmingly-long time with only Bushes and Clintons in the House < 1202150554 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :e.g. http://www.kx.com/a/k/examples/bell.k < 1202150562 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: heh < 1202150581 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :kind of like k code < 1202150605 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://kx.com/a/k/examples/read.k some more kx systems commenting in the same style < 1202150642 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, forthy < 1202150654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: no < 1202150654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :APL-y < 1202150662 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's a derivative < 1202150675 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is some cray line-noise syntax < 1202150679 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*crazy < 1202150687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: pretty much like APL, but sans crazy characters < 1202150691 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i like it < 1202150692 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I have seen it before, but it still surprises me < 1202150695 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://www.kuro5hin.org/story/2002/11/14/22741/791 this is good stuff < 1202150703 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately if you go to kx.com there's no reference to it < 1202150713 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :&they seem to not offer interpreters for it any more, beyond the obvious one you need to run their kdb+ software < 1202150724 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :pity < 1202150730 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you could implement one yourself maybe? < 1202150739 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :for playing it doesn't need to be fast < 1202150751 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: k is a large language. < 1202150754 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lots of built in stuff. < 1202150758 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :nor would you need all the libraries from the beginning < 1202150759 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-( < 1202150766 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all code uses most of them. < 1202150777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's k style < 1202150789 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :their interpreter is very concise though. < 1202150796 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's no language spec < 1202150801 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :an alternate interpreter would be hard < 1202150841 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ther is a manual and a dictionary though < 1202150845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :true < 1202150846 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but still < 1202150890 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: plus i don't really want to damage kx's profits etc < 1202150899 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think for something like k they deserve it ;) < 1202150949 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately i can't really afford kdb+ just to try out k < 1202150950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1202150964 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no-one would use your terp in place of their product < 1202150977 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :also, look at J, which is similar I hear < 1202150985 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: well, they used to commercially sell the interp. < 1202151007 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :if they were still interested in that they would still be selling it < 1202151027 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or, you could email them about it < 1202151046 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I am sure they would like to hear from a fan < 1202151089 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :true, i'll keep searching for a copy of the interp though < 1202151089 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1202151096 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they used to offer a free one < 1202151132 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :k is hard to google < 1202151165 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :much unlike c < 1202151223 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :c is popular enough < 1202151236 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :d has the same problem except k is more obscure so it is almost impossible < 1202151259 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i may have to use the web archie < 1202151262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*archive < 1202151279 0 :slereah__!n=slereah@ANantes-252-1-3-245.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1202151279 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :It's really hard to turn haskell into scheme... < 1202151294 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Along the way I found K Links put up by the other of the kuro5hin article, and "No Stinking Loops", a collection of links for various APL-derived languages; interpreting the latter my best guess is that versions 2 and 3 of K are obsolete and version 4 is now called "Q". < 1202151296 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is confusing < 1202151308 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahhh: < 1202151308 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :It used to be the case that you could download a demo version of K from the Kx website. However, in 2003 Kx systems released Q which merges the features of K and Ksql and is meant to be the successor to both. At some point they deleted the K download since it is no longer a featured language; however they did not add a Q download. Kx still offers trial versions of Q, but it is on a by request basis. Abcarter 15:05, 25 August 2006 (U < 1202151308 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :TC) < 1202151316 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: i doubt an email from a fan would help then:) < 1202151339 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A correction and a comment. I had thought that Q was the successor to both ksql and k. It is the successor to ksql and it does merge the features of ksql and k, however it is still written entirely in k, though a newer version. It would be nice for Kx to offer older versions of k without support, but it's not clear that it is in their interest to do so. Abcarter 00:19, 1 December 2006 (UTC) < 1202151340 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1202151341 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that;s confusing < 1202151536 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: http://en.wikipedia.org/wiki/Talk:K_%28programming_language%29 take a look at the prototype j interp < 1202151539 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :very epic < 1202151651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc complains about it :) < 1202151659 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but sure enough it works < 1202151672 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sweet, 1/0 segfaults < 1202151681 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so does any unrecognized instruction < 1202151684 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :<3 < 1202151734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm i am talking a lot < 1202152051 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1202152055 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does it even define 'mv'?:| < 1202152069 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1202152070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1202152217 0 :ais523!n=ais523@147.188.254.202 JOIN :#esoteric < 1202152250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hello ehird` < 1202152257 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1202152263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i was just blabbing on endlessly about k < 1202152277 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in particular arthur's first prototype j interp: http://rafb.net/p/zcG1y584.txt < 1202152361 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that looks pretty obfuscated for an interpreter... < 1202152394 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ever read k/j code? < 1202152402 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1202152416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://www.kx.com/a/k/examples/bell.k < 1202152422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bell labs benchmark < 1202152430 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :even more impressive: < 1202152434 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://www.kx.com/a/k/read.k translates k code into english < 1202152502 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs the original paste through cpp and indent < 1202152515 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i wouldn't < 1202152519 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's not k/j style < 1202152534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it might at least give me a chance of reading it more easily... < 1202152535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :certainly if you want to understand code written in those languages you should get used to code like that < 1202152546 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :perhaps a slow read through it will be beneficial < 1202152548 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1202152549 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has written code like that before < 1202152561 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah, but has your code powered banks and stuff? < 1202152573 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1202152575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or full enterprise-quality relational databases? < 1202152583 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they'd be crazy to run code that isn't well-commented and indented < 1202152585 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, technically THAT doesn't but the k interp is tiny and really fast and IS used for those < 1202152589 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because it would be harder to spot the bugs < 1202152598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, not with k.. it's a paradigm shift. < 1202152604 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :read the .k files i showed you < 1202152615 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It's an APL descendant < 1202152653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was talking about the C code you pasted originally < 1202152657 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://www.kuro5hin.org/story/2002/11/14/22741/791 this is a good explanation of why k is like that < 1202152664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it is basically in the style of k/j code, that c code. < 1202152692 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also, cpp+indent won't help you. i tried for amusement < 1202152699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it does help < 1202152772 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you know if there is a way to make a template or something for catseye URLs so we don't have to change them all on the wiki every time cpressey moves around? < 1202152781 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: shouldn't be too hard < 1202152822 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes < 1202152824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :shall i make one? < 1202152851 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :template name=catseye, and i only need to handle the domain not filepaths < 1202152852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1202152859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pretty much < 1202152872 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes please :) < 1202152885 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could do a template which was used along the lines of {{catseye|projects/worb/|description}} < 1202152892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er, we want to be able to do file paths < 1202152902 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you would be able to < 1202152907 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :by putting more between the two | signs < 1202152919 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :current url? < 1202152925 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :catseye.tc < 1202152928 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :making the template's code: < 1202152938 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :[http://catseye.tc/{{{1}}} {{{2}}}] < 1202152964 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh, i've added fancy comments to make changing the url easy < 1202152968 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :perhaps a bit overboard < 1202152977 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, making wikis easy to use is important < 1202152988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you might even want to add documentation in a < 1202153086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hope mediawiki strips comments decently < 1202153126 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :kay gimme a second < 1202153129 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :logging in to test it < 1202153162 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1202153168 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by default it uses its second parameter as the description < 1202153171 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :without the catseye.tc stuff < 1202153179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think it should have the http://catseye.tc/... in with it < 1202153180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :agreed? < 1202153209 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oo crap, you know mw right? is there a way to like save a variable or something < 1202153215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess i could do template:catseye being < 1202153221 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :{{catseye/inner|theurl}} < 1202153228 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with /inner having nowikis around the argument places < 1202153234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hopefully that metaness would work. < 1202153240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :have a look at what I've done so far < 1202153240 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: would it? < 1202153247 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah i know < 1202153247 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1202153253 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not entirely sure what you're trying to get at < 1202153258 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1202153260 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you edited my stuff < 1202153262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1202153268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hey, it's a wiki... < 1202153273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the default is currently parameter 1 < 1202153276 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah but i was working on it < 1202153276 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1202153283 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you can change it by putting things between the | and the }}} < 1202153293 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i know mw templates < 1202153465 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1202153467 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :almost got it working < 1202153468 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1202153500 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah wait < 1202153501 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :silly me < 1202153506 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: got it, just give me a second < 1202153561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're only passing one param to catseye/inner, rather than 2, and MW params are 1-based not 0-based < 1202153574 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the only way to pass in {{{0}}} is to explicitly write 0= in the template call to give a named parameter < 1202153575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is it < 1202153575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1202153624 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1202153627 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :got it apart from one case < 1202153630 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which i am about to fix now < 1202153648 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: in: < 1202153651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :{{{a|b}}} < 1202153654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :can b include argument refs? < 1202153657 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1202153674 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :curious < 1202153688 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this is catseye/inner < 1202153688 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[http://{{{1}}}/{{{2}}} {{{3| http://{{{1}}}/{{{2}}} }}}] < 1202153697 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the {{{1}}}{{{2}}} arent getting expanded < 1202153702 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are you passing it three arguments? < 1202153742 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, the problem is that you need to write {{{1|}}} and {{{2|}}} in the main catseye template < 1202153751 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahhh < 1202153752 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1202153754 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because otherwise if param 2 is missing you pass it the literal string {{{2}}} rather than a blank string < 1202153775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah wait! < 1202153778 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we want to default to [1] etc < 1202153780 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since htat's what MW does < 1202153782 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not the full url < 1202153786 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1202153799 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so that catseye is always isomorphic to []s < 1202153820 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that case you want a null string as the default < 1202153828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it autonumbers the URL < 1202153832 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :excellent, ais523 -- i fixed it up < 1202153846 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and its dirt simple to change the url, since it's right there, easily visible < 1202153863 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now -- how do we get all pages that link to a url containing catseye < 1202153865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the next problem is to find all the links to catseye < 1202153878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally you'd do that using http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Special:Linksearch, but it appears to not be installed on Esolang < 1202153927 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if only we could run arbitary code on the wiki server! < 1202153930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh wait. < 1202153932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1202153950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :API is disabled, too, so checking all the pages by hand is likely to be the only option < 1202153991 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I have a better idea. < 1202153996 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1202154009 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i assume [[Chris Pressey]] is a good place to start < 1202154024 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I'll write a program that wget's every entry on the language list concurrently, tries to find catseye in a url, and saves it to disk if it finds it :D < 1202154029 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then I can run a script to do the replacement! \o/ < 1202154037 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1202154077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :guess i should go write it < 1202154077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1202154090 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm, this is either going to be a superb use for perl, or a hilariously evil use for bash < 1202154118 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :some links have been changed to catseye.tc, while some are still the broken catseye.webhop.net < 1202154142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Well, they're both wrong < 1202154143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1202154167 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :might even be some wayback links hiding in there, unless cpressey fixed it all < 1202154185 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries opening up the Esolang database dump in Emacs to find the links that way < 1202154192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh, database dump < 1202154193 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's a good idea < 1202154206 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm, ok here's the plan < 1202154212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :shout out a page name to me and i'll magically fix it < 1202154224 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i will multithread and also look myself. < 1202154237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Befunge < 1202154288 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lots in the history of the language list < 1202154298 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I think all the external links are supposed to have been removed from there < 1202154315 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fixed pages: befunge,ALPACA < 1202154339 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Smallfuck < 1202154352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Wierd < 1202154379 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SMETANA < 1202154391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :beta-Juliet < 1202154414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up to SMETANA < 1202154433 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Esoteric programming language < 1202154446 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Muriel < 1202154456 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ALPACA < 1202154463 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(but you've done that one already...) < 1202154471 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up to Esoteric < 1202154471 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SMITH < 1202154481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :RUBE < 1202154496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Blank < 1202154508 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Hunter < 1202154524 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Noit o' mnain worb < 1202154534 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :RedGreen < 1202154535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up to SMITH < 1202154554 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just a note < 1202154556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SARTRE < 1202154562 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we're getting some catseye.tc//foo because of the / in the links < 1202154563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thats ok though < 1202154586 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Thue < 1202154597 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ypsilax < 1202154598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: you're welcome to help too :-P < 1202154605 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er... < 1202154605 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i am up to RUBE < 1202154615 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Strelnokoff < 1202154624 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Blank < 1202154629 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :2iota < 1202154648 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Version < 1202154664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to hunter < 1202154666 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :database is being flakey < 1202154667 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1202154670 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how much more? < 1202154676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oops? < 1202154686 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1202154698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm only 4% of the way through the dump but that isn't a very reliable measurement < 1202154712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hope these aren't just the first 4% < 1202154712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1202154716 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: did you strip all the HISTORY out? < 1202154718 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that might help. < 1202154731 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the current versions are stored separately from the history < 1202154737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm viewing the current versions at the moment < 1202154743 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the history makes up the bulk of the dump < 1202154750 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is why 4% is such a low number < 1202154763 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :i.e. we get all the links we're interested in first < 1202154765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1202154771 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you grep to find the history section < 1202154773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and then kill to EOF? < 1202154774 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: i tried starting from the back but someone already did ;) < 1202154796 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I don't know enough about the layout of a MW database dump to do that reliably < 1202154803 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up to Thue by the way < 1202154809 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :shelta done < 1202154813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: grep for obvious things? :P < 1202154820 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Like, grep for a page name you've already seen < 1202154835 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what with all the links in the wiki? < 1202154836 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Just done thue < 1202154839 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: True.. < 1202154845 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would probably be easier just to add to the list than try to find its end < 1202154845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :grep without [[]] around? < 1202154867 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to Ypsilax < 1202154882 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :squishy2k < 1202154914 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to 2iota < 1202154925 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Chris Pressey < 1202154935 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Fixed that one already. < 1202154939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Beturing < 1202154947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Braktif < 1202154959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Shelta < 1202154969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ILLGOL < 1202154975 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :did Shelta < 1202154981 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Bear Food < 1202154993 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :MDPN < 1202155011 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :My mouse skills sure are improving! < 1202155023 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sally: this page seems to have identical content to Bear Food; maybe worth investigating if one or the other of the pages are vandalism? < 1202155037 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Squishy2K < 1202155043 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: bear food is legit < 1202155046 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Tamerlane < 1202155056 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :TURKEY BOMB < 1202155058 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to Bear Food < 1202155068 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Star W < 1202155074 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Sally and Bear Food are legit < 1202155077 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Circute < 1202155088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sbeezg < 1202155098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :PESOIX < 1202155117 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's it for mainspace < 1202155142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to Tamerlane < 1202155148 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, wait, there's more... < 1202155150 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Vertica Smile < 1202155169 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up to TURKEY BOMB < 1202155170 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :scratch that, I was right first time < 1202155174 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: What about other namespaces? < 1202155193 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Talk:Braktif < 1202155197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to Star W < 1202155213 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the Bear food link is now incorrect < 1202155223 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: {{sofixit}} < 1202155243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Esoteric Topics in Computer Programming < 1202155245 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Up to sbeezg < 1202155249 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :argh, it seems they aren't sorted by namespace after all < 1202155269 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fsck. < 1202155288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i cannot find the right page < 1202155289 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that is it < 1202155304 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've gone past the end of the article-text table and ended up in the links table < 1202155307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I think that's everything < 1202155310 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless I missed one < 1202155395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :some of the new links point to 404s at Catseye, by the way < 1202155397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Esoteric Topics in Computer Programming -- no suitable link < 1202155400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah.. < 1202155402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :needs some fixup < 1202155403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :we'll have to check which ones actually do need waybacking < 1202155407 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, recent changes. < 1202155409 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it'll be easy < 1202155414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i for one have worn out my fingers for now < 1202155428 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i dominate Recent Changes < 1202155429 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1202155478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's also Special:Whatlinkshere/Template:Catseye if we need to find all the pages in the future for some reason < 1202155563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1202155569 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my /inner trick is no longer neccessary < 1202155583 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i will remove < 1202155657 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: okies < 1202155664 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as for your comments about K < 1202155669 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to me it looks like what GolfScript ought to be < 1202155675 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh, indeed < 1202155678 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :except it's serious! < 1202155690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sees no reason why a language like that cannot be serious < 1202155692 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :should the link to Cat's Eye Technologies: Esoteric Topics in Computer Programming from Esoteric programming language be reverted to wayback, or changed to projects? < 1202155701 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well, it was an article < 1202155704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's about the column itself < 1202155705 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so find the article or leave it < 1202155710 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it should probably be the Wayback link < 1202155716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if the article isn't on catseye any more < 1202155739 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/p.rb?Number+lines my challenge is pretty interesting! < 1202155740 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah < 1202155782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I entered that one already < 1202155785 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm 9th for Perl entries < 1202155789 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm, speaking of which, who here uses reddit? http://reddit.com/r/programming/info/67myb/comments/ the prototype j interp < 1202155789 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is not really very good < 1202155795 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its at 0 points right now, so..:) < 1202155815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm still winning outright on Perl ROT13s, though < 1202155839 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/p.rb?Minimal+scheme+interpreter look, all the lovely cheats! < 1202155842 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if only my examples were OK < 1202155852 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(hint: my entry doesn't rot13 punctuation marks between Z and a properly, but it doesn't need to based on the examples given) < 1202155870 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it may also exploit UB in the Perl implementation < 1202155886 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/reveal.rb?Minimal+scheme+interpreter/notogawa%28embed%29/1201272045&hs <-- ooh, clever < 1202155986 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Haskell in the style of Prolog! < 1202155986 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what the? < 1202156080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah just a typo < 1202156116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is upset that there aren't more genuine entries in the Underload contest < 1202156183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://golf.shinh.org/p.rb?simple+language the one challenge that nobody will not cheat on! < 1202156184 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :My Perl entry is genuine (although not quite compliant); there are also Ruby and PostScript entries that look genuine < 1202156200 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the funnest thing about mine is that the only primitive stuff is the infix ops < 1202156200 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure about the large C one, because I don't understand the word in the parens < 1202156204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like : and {...} and * + etc < 1202156211 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if is called like a composite < 1202156217 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because {} is a lambda < 1202156241 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i think hidoi=embed < 1202156244 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mugoi=genuine < 1202156249 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1202156262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :those crazy japanese rubyist golfers < 1202156466 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i ought to write some c code like the j interp < 1202156573 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to figure out what the "rsh" thing is in that APL-like terp < 1202156586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: evilness < 1202156596 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :evilness and DEATH < 1202156654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that interp isn't intentionally like that, btw. that's just how the guy codes. he went on to create K, and his product KDB by Kx systems has *no loops at all* < 1202156655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :none. < 1202156659 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and it's a full freaking rdbms < 1202156723 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is APL 2D? < 1202156726 0 :jix!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1202156727 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if not, it ought to have been < 1202156750 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and there's nothing wrong with using combinators to avoid needing to write loops < 1202156753 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah, reshape < 1202156756 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :several languages use that method < 1202156770 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is a nice feature < 1202156783 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't use combinators, really < 1202156788 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it uses some weird stuff < 1202156796 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and no, because that's actually the opposite of apl philosophy < 1202156811 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :waitamo, surely it must have a wait-for-input loop? < 1202156818 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, few others are needed < 1202156826 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :just implicit loops in various things < 1202156835 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: K's adverbs remind me of combinators < 1202156841 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even though technically speaking they aren't < 1202156866 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: beats me, all i know is that they have 0 loops in their code < 1202156871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which has been verified by them multiple times < 1202156879 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :waiting for input isn't a loop < 1202156879 0 :RedDak!n=dak@87.18.81.221 JOIN :#esoteric < 1202156882 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just waiting for input < 1202156895 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just like sleep commands which wait for time needn't be loops < 1202156941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :short waits (a few microseconds) on PIC microcontrollers, for instance, are often achieved by putting in several useless flow-control commands so as to cause the microcontroller to waste time figuring out how to follow them < 1202156948 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://cdn-www.cracked.com/articleimages/wong/computer.jpg this is ... brilliant < 1202156972 0 :danopia!i=danopia@fullcirclemagazine/developer/danopia JOIN :#esoteric < 1202156972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :aiming a CALL at a RETURN of a procedure you already have takes it a whole 4 us to process, with just one machine-language word < 1202156978 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whereas most commands run in 1 us < 1202156986 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, hah < 1202156998 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's ironic, of course -- which loads of people don't seem to grok. < 1202157002 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1202157005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :come to think of it, you could create really evil obfuscated code by combining that sort of thing with the built in clock cycle counter... < 1202157007 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, of course it is ironic < 1202157021 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: some people have thought it was serious < 1202157035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they did? < 1202157036 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1202157052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well with some americans, you never know, they could mean it < 1202157116 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finished checking the recent changes. Good night. < 1202157135 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1202157154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what recent changes? < 1202157155 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he < 1202157156 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :h < 1202157160 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he dropped asleep < 1202157161 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he was: < 1202157168 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'omg..last change... i can..make it....urghfdkgh' < 1202157192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: we made fun of chris pressey^H^H^H^H^H^H^H^H^H^H^H made a template for catseye links and changed all of them to it < 1202157194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because the domain changes often < 1202157220 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1202157231 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-| < 1202157248 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I mean the REPL < 1202157265 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or the thing that waits for incoming connections to a db, or wheatever < 1202157306 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: it has 0 loops < 1202157309 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's all i know < 1202157329 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the best low-level trick I have seen is calling the next instruction: you execute everything up to the next return, return, then execute it again, and return from the original subroutine < 1202157336 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: so yuo said < 1202157405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: that's the method used for constants in Modular SNUSP < 1202157415 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which I am very impressed by < 1202157420 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where? < 1202157465 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are some examples on the wiki < 1202157480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/SNUSP < 1202157525 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the third line of (rsh) is an evil trick < 1202157533 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: what does rsh do < 1202157551 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :reshape, on that obfuscate C thing posted earlier < 1202157564 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it "reshapes" an array < 1202157586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its not obfuscated, SimonRC.. < 1202157590 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the third line uses an overlapped move if the destination is much bigger than the source < 1202157591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is just how arthur codes.. < 1202157596 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :who? < 1202157609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :guy who helped create J (that's a basic interp for j), and Kx guy < 1202157610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he made K, too < 1202157611 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and KDB+ < 1202157615 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1202157622 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he in all honesty codes C just like that link.. < 1202157656 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the unusual thing is not that he codes like that, but that he codes like that even with people watching < 1202157673 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the literal kind of people watching? < 1202157676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i.e. over-his-shoulder < 1202157682 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :over the Internet < 1202157693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah, you mean publishing his code? < 1202157699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've written code like that, and I assume most coders have at some point, but not if anyone else is likely to read it < 1202157701 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, sure. he advocates concise programming like that < 1202157706 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I would feel the need to explain it < 1202157711 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean, K is totally based around that kind of stuff < 1202157737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the point is that #defining language constructs to give them shorter names would be considered by many people to be excessive abbreviation < 1202157780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and most companies would probably fire people for it < 1202157782 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: unless you were raised on APL, like he was :-) < 1202157798 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... and unless you found your own company and make loads of money selling enterprise-level database systems! < 1202157801 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1202157802 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are you aware of how the IOCCC got started in the first place? < 1202157815 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It sneezed out of arthur's nose? < 1202157824 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :some major piece of software, I think maybe UNIX sh, was written in C < 1202157834 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but with #defines to look like some other language, maybe ALGOL or Pascal < 1202157841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahh yes < 1202157845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that thing < 1202157860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and one of the IOCCC creators was working on the code and put out a Net-wide challenge for people to find code harder to work with < 1202157876 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(for the record: this is a paraphrase, not the literal story) < 1202157937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :speaking of 'serious' obfuscated c: the joy interp is quite odd < 1202157967 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why are you looking at the joy interpreter? < 1202157977 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: huh? < 1202157991 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why wouldn't i? < 1202157997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1202158000 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i dunno... it's joy? < 1202158023 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's nothing wrong with Joy < 1202158045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks that 2008 will be the year of concatenative languages < 1202158054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or at least ought to be < 1202158062 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :suuure. < 1202158062 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm not really a fan of concatentative languages for practical purposes < 1202158078 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reocmmnds that people get a copy of ColorForth < 1202158087 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :not to use, but just to read Chuck's code < 1202158089 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it depends on what you mean by 'practical' < 1202158090 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is amazing < 1202158096 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when I'm coding for speed/portability, I use C < 1202158102 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: amazing? < 1202158106 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when I'm not, I use whatever lang I like < 1202158117 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes, a real insite as to just how small programs can be < 1202158121 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and normally aim for what I consider elegant < 1202158125 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: chuck is my favourite insane outsider programmer guy! < 1202158133 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :chuck's and insider < 1202158138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and normally consider concatenative langs to be elegant for any particular job < 1202158139 0 :chuck!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: err < 1202158145 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :he's been doing programming his whole career < 1202158150 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :chuck: unless you're chuck moore, not you < 1202158156 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yeah < 1202158159 0 :chuck!unknown@unknown.invalid PRIVMSG #esoteric :ah okay hahah < 1202158162 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but still < 1202158163 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1202158180 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ISTR that Chuck Moore is usually called "chipChuck" < 1202158213 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what is ISTR anyway < 1202158241 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I Seem To Recall < 1202158246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I Seem To Remember < 1202158259 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably either depending on context < 1202158266 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that J terp needs at least a few comments < 1202158272 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: bah, comments < 1202158279 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :something like chipChuck's commenting style would work great < 1202158286 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :comments are for losers, unless they're only used once every 15 lines, like in k code < 1202158306 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :he thinks that 5 words and a stack picture are enough for a whole function < 1202158308 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :comments are useful when learning a language < 1202158314 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where function is one of those things < 1202158316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I still have some assembly code where every line is commented < 1202158319 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: arthur is hardly learning c < 1202158321 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1202158325 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because it was a program I was learning on < 1202158334 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :speaking of which, the colorforth distro has disappeared it seems < 1202158336 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they are also useful for helping other people understand your code < 1202158336 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :from colorforth.com < 1202158342 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :TBH, 1 or two words for each of those operators would be enough and really help < 1202158347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :especially if it's a case of "why did you do that" rather than "what are you doing" < 1202158353 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I used a windows port of colorForth < 1202158417 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where HAS his code gone < 1202158435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1202158441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://www.colorforth.com/install.htm < 1202158454 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he doesn't share his source. < 1202158476 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"WinColorForth" or something like that < 1202158504 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :alas the editor is not written in cf :-( < 1202158528 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I made a modification so you can't crash the icon editor by going beyond the last icon < 1202158541 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want to write some c code like that interp, but have no idea where to start :| < 1202158559 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually, doesn't it interpret as-read? < 1202158565 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does plus do: read_expr() or something < 1202158579 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :chipChuck also made a chip editor and simulator in 20k that simulates his chip better than the multi-$100,000 professional ones do < 1202158666 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you read thedailywtf.com, that won't surprise you in the least < 1202158690 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: http://www.nsl.com/papers/origins.htm wowzers! the original interp had one-space indentation and some blank lines < 1202158722 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :1-space indentation is a sure sign of a golfer at heart < 1202158803 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no -- no indentation is < 1202158820 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are other reasons to use no indentation < 1202158835 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but 1-space gives the impression of "do I really have to indent this? Stop forcing me to indent!" < 1202158860 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :By the way, I think that interpreter may have platform-specific fragments < 1202158874 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which is why it segfaults < 1202158914 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i am quite confused as to what the # and , operators do < 1202158921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually, { too < 1202158932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :~ also does some weird stuff < 1202158987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is either z or l taken as proglang names? < 1202158994 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :z is < 1202159008 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also oklopong < 1202159010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :use   < 1202159016 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you want a really short lang name < 1202159036 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(I've HTML-encoded that so it shows up readably on IRC) < 1202159064 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wonder if is taken as a name < 1202159075 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the trick to writing code like that is to keep refactoring and to readily chuck away features < 1202159101 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :m/^(a*)b\1$/ a^nba^n matcher in perl < 1202159119 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cut away all unnecessary layers of absraction, then cut away a few ones you thought were necessary too < 1202159122 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :chuck away moore features < 1202159129 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1202159131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :groan < 1202159142 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then compile your code at max optimisation and decompile it again < 1202159147 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1202159153 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :max space optimisation < 1202159161 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but optimised for 'generic' < 1202159167 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no, not generic < 1202159170 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :specific < 1202159175 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :YAGNI < 1202159176 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... how common are compilers for a lang into itself? < 1202159184 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that optimise the code but leave it legal in the original lang < 1202159225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://everything2.com/index.pl?node_id=1398015 i like this language < 1202159295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'Examples of functional languages are Lisp, and Forth.' whut < 1202159355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, Lisp is certainly capable of being functional < 1202159370 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1202159377 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i was thinking more of the forth reference < 1202159388 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know that much about Forth, but from what I know I would expect that it can be written in a vaguely functional style if necessary < 1202159423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... no < 1202159423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :forth is the antifunctional language. < 1202159437 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: back me up here i'm lazy :P < 1202159469 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :back and forth < 1202159483 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm too tired to make a pun, but you get my point < 1202159493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most langs can be written in a vaguely functional style < 1202159517 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except for the ones which are ridiculously imperative, to the extent that they don't even have second-class functions like C < 1202159517 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION re-reads < 1202159540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and for Prolog, of course, which still manages to be entirely unlike anything else and yet somehow mainstream < 1202159546 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :forth is low-level with super-duper macros < 1202159563 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does it have an eval command? < 1202159568 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, ais523 < 1202159568 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lots of forth doesn't even have dynamic allocation: everything is static < 1202159569 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it does not < 1202159579 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :forth is far too old, and low-level for that < 1202159585 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, in that case writing it functionally would probably be quite difficult < 1202159594 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :whereas almost all functional langs have GC < 1202159618 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Unlambda only needs reference-counting < 1202159679 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :of course, most langs end up needing GC when they get advanced enough < 1202159700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :recent versions of C-INTERCAL, for instance, need GC to find and remove inaccessible portions of threads < 1202159716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(Being able to backtrack past fork() really puts a strain on a language.) < 1202159741 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you use the boehm gc for that? right? right?! < 1202159747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :refcounting < 1202159765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :within libickmt.a, so it's transparent to the user < 1202159773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1202159776 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :boehm is superiaur < 1202159787 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :boehm is slower, and not always right < 1202159800 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :refcount is fine because so far, luckily, there's no way to get into a loop of thread-referencing < 1202159822 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, boehm never frees something it shouldn't. let's put it that way < 1202159822 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :refcount sucks on the cache behaviour < 1202159828 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yep < 1202159830 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: wel... < 1202159844 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: and naw, i'm pretty sure it never frees something it shouldn't. < 1202159850 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since it counts everything < 1202159860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sometimes it causes a memory leak, though < 1202159864 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you can legally write a pointer to a file and read it in in C, thereby hiding it from the collector < 1202159885 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :luckily, so far, it's impossible to send an INTERCAL thread across a network < 1202159887 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, especially if you don't null your list pointers < 1202159897 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :CLC-INTERCAL apparently allows file-handles to be sent across a network < 1202159913 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and reading or writing to them will read or write to the relevant file in the remote location < 1202159914 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :a fake pointer that hits a linked-list node will retain the entire list unless you null pointers < 1202159928 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: and.. does c-intercal do this < 1202159933 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1202159937 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :probably not < 1202159945 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't currently null down the list, I don't think < 1202159950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just decrements the refcount < 1202159957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, those pointers might be being used by something else < 1202159970 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the refcount is necessary because it actually affects the semantics of the language < 1202160001 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I meant in Boheme GC < 1202160005 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the threads act sort-of like a tree. When a thread dies, one leaf of the tree is removed, making all the tree back to the next branchpoint inaccessible < 1202160031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: boehm < 1202160041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :likewise when a thread backtracks, it will be killed unless no other threads survive at the fork() that created it < 1202160054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it isn't a fork() in INTERCAL, of course, but instead multiple COME FROMs aiming at the same line < 1202160058 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sings the Boehm Rhapsody. < 1202160099 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# mamaaaaaa, just segfaulted a process # < 1202160102 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Boehmian < 1202160123 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :# freed a pointer that was live, it derefed and then it died # < 1202160128 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1202160138 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if it's possible to use valgrind as a garbage collector? < 1202160145 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lament: I know < 1202160165 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it would make early LISP ones look positively zippy < 1202160187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wasn't wondering if it was efficient, just if it was possible < 1202160241 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :A cool trick I have seen is to have a 1-many refcount as a single bit in the pointer: when you duplicate a pointer, set the refcount to "many". Most pointers are never really duplicated, so most stuff gets freed straight away, with less left for the GC < 1202160253 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :refcounts in the pointer are *way* better for the cache < 1202160257 0 :RedDak!unknown@unknown.invalid QUIT :"I'm quitting... Bye all" < 1202160261 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ais523: dunno < 1202160380 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well, that C is commented now < 1202160447 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : SimonRC you commented it? < 1202160450 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's illegal. < 1202160455 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's a magical creation! < 1202160565 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :did you at least use //-style comments? < 1202160573 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I did so comprehensively, with stuff like: < 1202160575 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric : if(n-=wn)mv(z->p+wn,z->p,n);R z;} // "overlapping move" to fill rest < 1202160594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :/* */ seems wrong there, even if it's more portable < 1202160610 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :most lines have 2..3 word of comment < 1202160666 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :All that really need documenting is the operator semantics and the two data structures involved < 1202160678 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :everything else is simple < 1202160693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: you evil evil person < 1202160826 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: paste it so i can burn you at the steak. mm, steak. < 1202160869 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where is the pastebin? < 1202160906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca < 1202161084 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :rafb.net/paste < 1202161217 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/891738 < 1202161680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :# < 1202161680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#define P printf // monadic op < 1202161680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :# < 1202161680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : #define R return // dyadic op < 1202161684 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pray tell how does that help you < 1202161689 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1202161716 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1202161736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: it would help if in your //operators line you did a symbol->op mapping < 1202161737 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :try now < 1202161738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was wondering about that too, but didn't comment for some reason < 1202161773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: try linking the new one < 1202161773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1202161776 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/891750 < 1202161814 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: also, see where i linked above < 1202161818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, that's genuine old-fashioned K&R C < 1202161824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's the original version, which HAS indentation < 1202161827 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, onespc ;) < 1202161829 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and some newlines (2) < 1202161835 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: sure. j is old. < 1202161839 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it contains a buffer overflow < 1202161849 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :many < 1202161852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes, it does -- but there's probably tons of those in regular K < 1202161859 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for a reason, too < 1202161860 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is the first prototype remember < 1202161873 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the reason being: that's the k mindset < 1202161878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you don't care about things like that < 1202161881 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C s[99];while(gets(s)) should never be written by anyone < 1202161892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because there's no way to guarantee that the user types in 98 or fewer characters < 1202161901 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes there is < 1202161902 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: thanks for the c lesson! < 1202161908 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you make sure the only user is you < 1202161910 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the function gets itself is very hard to use < 1202161916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in a way that can't segfault < 1202161930 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually gets is impossible to use properly < 1202161930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: read:impossible < 1202161943 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait that's a lie < 1202161945 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I did write code that used it safely once as proof-of-concept < 1202161950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can trap sigsegv to expand < 1202161951 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1202161953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it redirected stdin to a file that it created itself < 1202161957 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ow < 1202161965 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mmap? < 1202161970 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and array overflows don't necessarily cause sigsegv, they just do so sometimes < 1202161978 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: no, it actually used the filesystem < 1202161982 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so as to do it in portable C89 < 1202162045 0 :helios24!unknown@unknown.invalid QUIT :"Leaving" < 1202162071 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :btw SimonRC < 1202162085 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :find does do something < 1202162088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just don't know what < 1202162096 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1202162101 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it really doesn't < 1202162111 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is an operator that returns stack garbage < 1202162133 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: well, it does something in the repl < 1202162133 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is supposed to look up a value in an array < 1202162133 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1202162142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how do you know that? < 1202162142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1202162153 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1202162161 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but it isn't implemented < 1202162171 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thats far too conventional for that btw ;) < 1202162203 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway -- switch to the indented version < 1202162213 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :CBA < 1202162252 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :itll take 2 secs < 1202162254 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1202162267 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you do it then < 1202162283 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1202162284 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also < 1202162291 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : I *ma(n){R(I*)malloc(n*4);} < 1202162298 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's wrong for today's machines < 1202162299 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1202162306 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : I *ma(n){R(I*)malloc(n*sizeof I);} // obviously < 1202162308 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sizeof exists for a reason < 1202162316 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: didn't back then at least not widely < 1202162319 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it was prototype ffs for one person's machine < 1202162331 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I write portably even just for personal code < 1202162334 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless I have a reason not to < 1202162345 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I often end up trying to run it on a different machine... < 1202162352 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1202162353 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :also, odd things happen if malloc returns values near the bottom of memory... < 1202162372 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you know when that code was written? < 1202162372 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the token-classifier might misclassify them as operators or variables < 1202162376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in the 80s, at latest < 1202162382 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: style < 1202162393 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :default-to-int all over the place < 1202162400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yes < 1202162402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1202162408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and abusing that to return ptrs < 1202162408 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it's really a B program ina disguise < 1202162408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1202162410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, I use Gnome/GNU/Linux, GNU/Windows, Explorer/Windows, and Common Desktop Environment/SunOS reasonably often < 1202162418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gnu/linux < 1202162421 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and have been known to use DOS on occasion < 1202162422 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you pretentious! < 1202162434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION spells it out in full when both parts are relevant < 1202162456 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :after all, using the acronym is the only way that people will realise what I mean by GNU/Windows < 1202162469 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: change your comments to be aligned and start them with //NB. < 1202162475 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've never seen anyone write Explorer/Windows before, but they should more often so that people realise that the OS is not the computer or the GUI < 1202162476 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :J uses NB. as a comment indicator < 1202162480 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and generally has them aligned < 1202162506 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :#define NB // < 1202162508 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1202162512 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I dont' *think* that weorksd < 1202162516 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*works < 1202162519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the pp-phases are in the wrong order < 1202162564 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: doesn't. < 1202162566 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cpp strips comments. < 1202162590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :technically speaking, all comments have to be replaced by a positive amount of whitespace < 1202162644 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want a compiler that replaces comments with whitespace corresponding to fibonacci numbers, incrementing each commentused < 1202162644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :btw, has anyone here used m4? < 1202162649 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :vaguely < 1202162671 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm used to changequote([,])-ed m4 as a result of reading the source of Autocong < 1202162676 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/g$/f/ < 1202162692 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I think the #line directive is mostly for the use of seperate preprocessors < 1202162702 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :m4 is capable of generating them < 1202162709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: no < 1202162709 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's also useful for things like lex and yacc < 1202162710 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its for < 1202162712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when you're compiling into C < 1202162714 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1. gcc can report proper errors < 1202162717 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :after cpp < 1202162724 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and 2. compiler output < 1202162728 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :can do #line"srcfile" 4 < 1202162729 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but that doesn't use #line, but # < 1202162743 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that is, what cpp does < 1202162743 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :true < 1202163702 0 :ais523!unknown@unknown.invalid PART #esoteric :? < 1202164047 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: q about the interp < 1202164052 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is there any way to construct vectors? < 1202164259 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean "construct"? < 1202164484 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: make new ones from inside code < 1202164491 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also: paul graham is a fucking idiot < 1202164494 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how about iota? < 1202164500 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he deleted my comment on the 'what would this look like in other languages' < 1202164506 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :what was that? < 1202164508 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and where? < 1202164522 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i see probably why - he said 'joke submissions will be deleted'. apparently, because my code was concise and didn't look like a 'regular' language, it was obviously fake! < 1202164526 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bloody retard < 1202164537 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :respond with evidence to support you < 1202164555 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: someone asked me what language it was. i responded 'the language of paul graham deleting comments for no reason'. he'll probably see. < 1202164557 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :to actually get numbers, you can use 0-9 which are 0-dimensional arrays if 1 number < 1202164569 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where? < 1202164573 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and which lang? < 1202164586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: it was a little language i've been making for a while < 1202164592 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yeah i know with 0-d arrays < 1202164595 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but what about more? < 1202164600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://arclanguage.org/item?id=722 < 1202164607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :rewriting it quickly, it was this: < 1202164645 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#rg"said"[lambda < 1202165685 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :true < 1202165703 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#rg -> 1 tok -> 1 < 1202165709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"said" -> 1 tok -> 2 < 1202165716 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(err, i can count strings as one token right? good) < 1202165722 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[...] -> 1 nested -> 3 < 1202165727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : 4 < 1202165731 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[...] -> 5 < 1202165734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x -> 6 < 1202165735 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :. -> 7 < 1202165737 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : 8 < 1202165740 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"click here" -> 9 < 1202165743 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :[...] -> 10 < 1202165747 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"you said: " -> 11 < 1202165749 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :!! -> 12 < 1202165751 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x -> 13 < 1202165752 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1202165753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : 14 < 1202165758 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :woop < 1202165760 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :14 < 1202165775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :arcs is 23 < 1202165812 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :do you have an implementation? < 1202165840 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Just like all good languages -- no, and if I did I wouldn't have written the web server yet. < 1202165840 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1202165849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by the way, here's a translation of that into english < 1202165851 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#rg"said"[