< 1266883281 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1266883526 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1266884292 0 :Pthing!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266885018 0 :Sgeo!unknown@unknown.invalid QUIT :*.net *.split < 1266885018 0 :ttm!unknown@unknown.invalid QUIT :*.net *.split < 1266885019 0 :Asztal!unknown@unknown.invalid QUIT :*.net *.split < 1266885019 0 :augur!unknown@unknown.invalid QUIT :*.net *.split < 1266885043 0 :ttm!~daniel@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1266885045 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1266885045 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr2.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1266885050 0 :Asztal!~asztal@host86-166-170-102.range86-166.btcentralplus.com JOIN :#esoteric < 1266885658 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1266886329 0 :cheater3!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1266887828 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266888080 0 :Pthing!~pthing@cpc2-pres4-0-0-cust265.pres.cable.virginmedia.com JOIN :#esoteric < 1266888509 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1266889160 0 :Pthing!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266889447 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266889567 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266889761 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266892144 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1266893972 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Oh nose D-8 < 1266893975 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :There's another Gregor Richards < 1266893978 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :http://www.wideawakemusic.com/gallery.html < 1266893985 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh noes. < 1266894211 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 268 seconds < 1266894226 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1266895423 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266895467 0 :MissPiggy!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1266895641 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh nose ":-/"[1] < 1266896171 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266897489 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 256 seconds < 1266901940 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266902073 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266902317 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :":-/"[1]? < 1266902357 0 :puzzlet!unknown@unknown.invalid PRIVMSG #esoteric :fancy notation for nose < 1266902366 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oooh < 1266902640 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266902694 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: i knew a Gregor Richardson < 1266902721 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Not close enough. < 1266903377 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I once knew a Gregor Richards. < 1266903391 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Guy registered http://www.codu.org/ for some reason. < 1266903429 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't an oh nose be ":o/"[1]? < 1266903454 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They would, in fact, like for you to think that. < 1266903696 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1266903754 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: You'll notice that www.codu.org, while existent, forwards to codu.org :P < 1266903764 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Heheheh. < 1266904173 0 :amca!unknown@unknown.invalid QUIT :Quit: Farewell < 1266904590 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266904598 0 :jcp!unknown@unknown.invalid QUIT :Client Quit < 1266904753 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266904842 0 :cal153!~cal@c-69-181-46-213.hsd1.ca.comcast.net JOIN :#esoteric < 1266908321 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1266908833 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1266910336 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1266911187 0 :cheater2!~cheater@ip-80-226-52-189.vodafone-net.de JOIN :#esoteric < 1266911446 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1266911999 0 :clog!unknown@unknown.invalid QUIT :ended < 1266912000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1266913325 0 :FireFly!unknown@unknown.invalid QUIT :Quit: Leaving < 1266916752 0 :gm|lap!unknown@unknown.invalid QUIT :Quit: 2 hour UPS expired. Shutting down laptop. < 1266922098 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1266922280 0 :ais523!~93bcc029@gateway/web/freenode/x-ocakzbxcxbabsbxp JOIN :#esoteric < 1266922291 0 :ais523!unknown@unknown.invalid QUIT :Changing host < 1266922291 0 :ais523!~93bcc029@unaffiliated/ais523 JOIN :#esoteric < 1266922291 0 :ais523!unknown@unknown.invalid QUIT :Changing host < 1266922291 0 :ais523!~93bcc029@gateway/web/freenode/x-ocakzbxcxbabsbxp JOIN :#esoteric < 1266922797 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :poor, poor fireballs < 1266924003 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :current favorite book: Handbook of Formal Languages < 1266924018 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :just for you, oerjan < 1266924028 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :dont let anyone else know about it x3 < 1266924126 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rolls eyes < 1266924146 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1266924148 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its a nifty little book < 1266924168 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :theres one chapter that extensively covers some extensions of context free grammars < 1266924177 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :called controlled grammars < 1266924211 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :in which the rewriting of a string is controlled in some way, either by the string itself, or by some rules on the structure of derivations < 1266924214 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1266924595 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm going with the whatever < 1266924600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION whistles innocently < 1266924612 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1266924616 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its cool! < 1266925316 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Handbook of Larval Fromages. < 1266925439 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll skip those dishes < 1266926614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have to agree with oerjan on that < 1266926685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, also: s/fireballs/fromer fireballs/ < 1266927881 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Later < 1266928141 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 268 seconds < 1266928276 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1266928580 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :http://divingintointercal.blogspot.com/ < 1266928656 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :cheater: has it been updated? < 1266928661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm aware of it, but didn't think it had changed in years < 1266928674 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nope, still stuck at part 3 < 1266928689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm secretly hoping that the author is still going, just hadn't figured out how to do anything more complex in INTERCAL yet < 1266928764 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :yeah, sadly < 1266928773 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :yeah, so am i < 1266928784 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :i hope he'll be able to tell us how to do intercal for the web < 1266928816 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, I think I'm the third comment on that most recent blog post, btw < 1266928828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I only vaguely remember writing it, and it's marked as an anon, but it looks like my style < 1266928883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :" Combining INTERCAL expressions into one line is IMO good practice; it makes them easier to optimise, and has the added advantage of being more confusing." < 1266928894 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I think that's me alright < 1266929373 0 :archtech!stanv@83.228.56.37 JOIN :#esoteric < 1266929410 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you know if it's possible to do command line arguments for intercal programs? < 1266929452 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :ais523: in that case, i could re-implement drupal in intercal < 1266929602 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :cheater: not at the moment, at least in C-INTERCAL < 1266929610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a standard set of args all compiled programs support < 1266929614 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but they don't support any others < 1266929622 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1266929634 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :what about CLC-INTERCAL? < 1266929642 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :is this specified in the INTERCAL manual? < 1266929674 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which one? < 1266929687 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :the original one < 1266929689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C-INTERCAL's certainly pretty clear about it in its < 1266929704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the original one talks about the Princeton compiler, which has no mention of command-line args to the compiled programs themselves < 1266929706 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just to the compiler < 1266929711 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :C-IMTERCAL is not the defining standard < 1266929723 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :*N < 1266929759 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but the princeton compiler itself does not disallow them does it? < 1266929828 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :I *guess* you could also do first-order programming by including argv in the source and recompiling < 1266929968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :cheater: the princeton compiler existed in the days of punched cards, I'm not entirely sure if a command-line existed < 1266929988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I don't know what you mean by "disallow"; there's no language feature that would let you get at them < 1266930017 0 :ais523!unknown@unknown.invalid QUIT :Quit: Page closed < 1266930021 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :well, hmm, ya. < 1266930026 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :o no < 1266930030 0 :cheater!unknown@unknown.invalid PRIVMSG #esoteric :he quits < 1266930895 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1266934215 0 :lieuwe!~kvirc@a62-251-101-217.adsl.xs4all.nl JOIN :#esoteric < 1266934569 0 :scarf!~scarf@unaffiliated/ais523 JOIN :#esoteric < 1266935018 0 :coppro!unknown@unknown.invalid QUIT :Quit: I am leaving. You are about to explode. < 1266935500 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric : there is no valid use case for a system without localhost < 1266935511 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :can someone please randomly contradict that with a plausible argument < 1266935518 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :that also takes into account the fact that it has ifupdown installed? < 1266935591 0 :Pthing!~pthing@cpc2-pres4-0-0-cust265.pres.cable.virginmedia.com JOIN :#esoteric < 1266935603 0 :Asztal!~asztal@host86-166-170-102.range86-166.btcentralplus.com JOIN :#esoteric < 1266935938 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1266936015 0 :boily!~boily@poste206-171.wl.t.ulaval.ca JOIN :#esoteric < 1266936495 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1266936774 0 :charlls!~charlls@201.248.104.180 JOIN :#esoteric < 1266937102 0 :lieuwe!unknown@unknown.invalid QUIT :Quit: When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net < 1266937237 0 :Blarumyrran!~Blarumyrr@81-20-159-197.levira.ee JOIN :#esoteric < 1266937264 0 :Blarumyrran!unknown@unknown.invalid PART #esoteric :? < 1266937335 0 :archtech!unknown@unknown.invalid PART #esoteric :? < 1266937500 0 :coppro!unknown@unknown.invalid QUIT :Quit: that school-y thing < 1266937512 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :anyone knows once you have a validated promela model how do you translate your specification into valid c/c++ code? < 1266937628 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Isn't that just the -a flag to spin? < 1266937657 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It should write pan.c (and a pile of other pan.X files) that's compilable to an executable verifier. < 1266937717 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sorry, a bit lazy reading there. You didn't want a compilable verifier, you wanted the actual promela code into C. < 1266938109 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :excellent < 1266938123 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :no < 1266938129 0 :cpressey!~CPressey@173-9-215-173-Illinois.hfc.comcastbusiness.net JOIN :#esoteric < 1266938150 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :what i mean is the c model you are actually trying to model with it < 1266938163 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :im not sure whats the right terminology < 1266938191 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :you mean that the -a flag produces a .c file that will run the verification? < 1266938200 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1266938217 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1266938257 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :what i mean is that once you have a model that checks out, you somehow have to use that to implement the c/c++ model right? thats the step of the process i'm not clear about < 1266938287 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I got that a bit late. As far as I know, there's no magical tool that would turn a Promela model into C code. < 1266938353 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :ok, but i'm sure there are some sort of guidelines < 1266938425 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you go the other way, I hear there are some (more or less restricted) tools that do (or at least help) "model extraction", i.e. take C code and generate a Promela model for that. Guidelines for that sort of stuff are in the Spin book. < 1266938464 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :After a quick look at the table of contents -- http://spinroot.com/spin/Doc/Book_extras/index.html -- it doesn't seem to talk much about the opposite problem, how to turn a Promela model into a real implementation. < 1266938498 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :model extraction would work too < 1266938543 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :in fact i think thats the intended usage (you write your c/c++, you extract the model, verify, check for issues, adjust your code, rinse and repeat) < 1266938552 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1266938577 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :i was thinking at it backwards i suppose < 1266938648 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess both ways are used; the traditionalish "design → Promela model → implementation in C" one, and the fancier "implementation in C → Promela model for checking" one. < 1266938682 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There indeed seem to be some automation for model extraction, but I'm not really qualified to recommend any, not having used any of them. < 1266938747 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :np, i will look and report back :P < 1266939247 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1266939360 0 :boily!unknown@unknown.invalid QUIT :Quit: leaving < 1266941110 0 :MigoMipo!~migomipo@84-217-13-36.tn.glocalnet.net JOIN :#esoteric < 1266941177 0 :MissPiggy!~none@unaffiliated/fax JOIN :#esoteric < 1266943040 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266943067 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, TURT has F for "move forward" and B for "move backward" < 1266943072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should negative arguments be allowed < 1266943084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because currently I think negative arguments to my F will move backwards < 1266943087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and vice verse < 1266943981 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1266944087 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I know nobody asked me, but that sounds reasonable. < 1266944150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :integer_to_colour(Value) -> < 1266944150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : <> = <>, < 1266944151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : {R,G,B}. < 1266944154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I find that rather neat < 1266944181 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, that TURT quine looks messy. I don't think I had even seen that before. < 1266944196 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, which turt quine? < 1266944206 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the one from the huge domain name guy? < 1266944215 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1266944224 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :At www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info. < 1266944261 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and yes it does if your interpreter handle "pen down without moving (that is, followed by a jump or pen-up event) → draw a dot" < 1266944276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you sed out all the dots that cfunge and iirc ccbi cerates it looks quite ok < 1266944328 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, anyway isn't that integer-to-colour-triplet function rather nice < 1266944339 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in C it would have been quite some bitshifting or such < 1266944339 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I haven't run it, I was just judging based on that picture there. < 1266944353 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But yes, it is nice. < 1266944360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh that picture is much better than what cfunge produces (due to missing the dots) < 1266944369 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course cfunge does the correct thing instead < 1266944400 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, anyway in cfunge it produces quite a less blocky image < 1266944404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :due to it producing an svg < 1266944489 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you don't mind portability, though, and assuming the fields line up right and there are no alignment mishaps, you could do a similar "struct rgb { unsigned char r, g, b; }; struct rgb integer_to_colour(unsigned u) { return *((struct rgb *)&u); }" thing in C too. < 1266944544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well I'm not happy if it doesn't work on big endian or such < 1266944577 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can #ifdef in different struct definitions depending on endianness, but right, it's not guaranteed to work anyway. < 1266944607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless otherwise specified erlang uses big-endian for bitstrings/binaries < 1266944623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(you can override it to one of: big, little, native) < 1266944690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, anyway the sanest way in C seems like something such as: < 1266944770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :struct rgb integer_to_colour(uint32_t u) { return (struct rgb){.r=u&0xff0000, .g=u&0xff00, .b=u&0xff}; } < 1266944775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, agreed? < 1266944794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assuming same struct as above that is < 1266944876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh and erlang defaults to unsigned. With little endian signed it would have required something like: <> < 1266944896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and similar on the other side of the pattern matching for each of R, G and B < 1266944897 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :) < 1266944944 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you use the same struct rgb definition I do, ".r = u&0xff0000" with an eight-bit byte will most likely end up in an always-zero .r, < 1266945025 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you don't mind the reliance on well-defined unsigned wraparoundery and can assume CHAR_BIT == 8, it'd be enough with just .r = u>>16, .g = u>>8, .b = u. But maybe it's still best to mask with those masks before the shift, or with 0xff after. < 1266945069 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Away, food.) < 1266945151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh right < 1266945153 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, I think it would be well-defined to do something like "unsigned char *p = (unsigned char *)&u; return (struct rgb){ .r = p[0], g = p[1], b = p[2] };" if you like. It's in the standard that you can access all bytes of an object with a char*, and cast any pointer to a char pointer safely. < 1266945155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you need to bitshift it too < 1266945180 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(But that's not endian-automatic the way bitshifting and masking is.) < 1266945192 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1266945197 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1266945201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and in C the best way is probably bitshifting < 1266945209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and that was one quick meal < 1266945353 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1266945496 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I'm still away. < 1266945828 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1266946531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh dear it looks like both ccbi and cfunge mix up turn left and turn right < 1266946544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus ccbi somehow manages to miss one dot in that test < 1266946551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or rather < 1266946560 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the dot turns out the wrong colour < 1266946583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(test/turt.b98 in cfunge sources) < 1266946592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I believe it might be incorrect) < 1266946640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(but still, ccbi gets the wrong colour for the right dot) < 1266946651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(it should be black not blue) < 1266946691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still, something is up with turn left/right there < 1266946750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for some reason turning right adds to the degree < 1266946758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and turing left substracts from it < 1266946790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that doesn't match behaviour for set heading < 1266947086 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1266947185 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1266947496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, btw, just need you to confirm that I'm not mixing things up here: If you keep track of a heading and want to turn right you would substract from said heading. < 1266947497 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1266947506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and turing left you would add to it < 1266947510 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :There was a general rejection of the theory of Evolution when it was first presented, and wasn't thoroughly excepted until a long time afterwards. < 1266947514 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :Furthermore, the revelation that the Earth is flat would be a far greater revelation than evolutionary theory was, meaning the public rejection and/or outcry would be far more widespread and violent. < 1266947516 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assuming a math-direction < 1266947532 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um are you sure i'm the one you want to ask? oh math direction < 1266947538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in -> = 0 ^ = 90 <- 180 < 1266947540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1266947542 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah then right turn would be negative < 1266947554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, then wth does both cfunge and ccbi do < 1266947560 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what is this AnMaster some kind of LOGO? < 1266947573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy, the fingerprint TURT for befunge < 1266947579 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :oh cool < 1266947599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ccbi and cfunge both sets heading as in math-direction < 1266947607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but mix up right and left < 1266947612 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sheesh < 1266947651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well by math direction i assume you mean the standard way of displaying complex numbers, with i upwards < 1266947653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however for compatibility with older programs it might be better to redefine what right and left in English means < 1266947654 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1266947666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, yes < 1266947670 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so e^(i*angle) is angle counterclockwise (in radians, though) < 1266947675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well, unit circle for trig actually < 1266947680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which works out to the same thing < 1266947699 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, and yes in radians of course. < 1266947743 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, suggesting that <- would be 180 radians wouldn't make sense in *any* system, thus you could conclude the unit in that case was degrees < 1266947746 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: there was the argument that for a turtle degrees are better, since you get exact multiples of 360 (2*pi is not exact on floating point) < 1266947763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, turtle degrees? < 1266947777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1266947777 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: like bachelor of chenelography, etc < 1266947780 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*turtle, degrees < 1266947783 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, right < 1266947806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, and yes the unit in question for the interface is degrees in integer < 1266947846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I track it as degrees but convert it to radians to calc sin and cos values for move(Distance) < 1266947847 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course even turns by 60 degrees gives you irrational x,y parts < 1266947859 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(for integer forwards) < 1266947869 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, true. And that is defined to be integer x,y < 1266947881 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh it is? < 1266947884 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I think it might be possible to get supposedly straight lines that are somewhat curved < 1266947895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well, you have an integer-interface for TURT < 1266947904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(not sure about a real turtle bot) < 1266947909 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm more thinking about how you might not end up where you started if you do a triangle, say < 1266947910 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and there is a query position thingy < 1266947929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you have to round to integers when drawing < 1266947931 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because of rounding errors, if you are using integers < 1266947944 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway since there is "jump to x,y" too < 1266947957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you want a line to continue where you left off < 1266947963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you jump to current position < 1266948002 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, and yes quite. Unless you do that 3/4/5 one < 1266948013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(or another one like that) < 1266948055 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah but that one has an irrational _degree_, i'd think < 1266948112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell arctan(4/3)*(180/pi) < 1266948120 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, oh hm < 1266948151 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh, EgoBot claimed a parse error < 1266948154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, well, if you round to nearest then just ending up near where you wanted to go is enough < 1266948166 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh it's that two possible compilations thing < 1266948167 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266948178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, how can that compile in two ways? < 1266948210 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i probably misremembered the name of arctan, so the compilation as an expression failed. then the compilation as a file failed (obviously) and gave me a parse error < 1266948211 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I shouldn't ask, but, don't all turtle interfaces have a rounding problem? I certainly remember Apple LOGO did. < 1266948238 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :there has to be /some/ way to do it without a rounding issue < 1266948240 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: in _principle_ you could track exact algebraic expressions :D < 1266948259 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Even though pi is irrational? < 1266948276 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, I suppose. < 1266948293 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't _use_ pi in a turtle. the actual sin and cos are algebraic when the angles are rational _degrees_ < 1266948298 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i think) < 1266948371 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :for example sin (60 degrees) = (sqrt 2)/2 < 1266948384 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er wait < 1266948388 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, it seems nearly all turt programs I have found depend on left and right being mixed up < 1266948392 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, even if they weren't, you could probably still do it. < 1266948404 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(sqrt 3)/2 < 1266948405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, but set-heading doing the math set-heading < 1266948411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in, counter clockwise < 1266948446 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I mean, track all movements since the beginning as an algebraic expression incl. sin and cos, reduce when possible using trig rules, and *only for output*, approximate the pixels. < 1266948448 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell atan(4/3)*(180/pi) < 1266948450 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :53.13010235415598 < 1266948456 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: That's unfortunate. < 1266948468 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yes quite < 1266948473 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Sounds almost like someone should define TUR2. < 1266948474 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: that's what i assumed you meant < 1266948481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, why not TURT2? < 1266948508 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Aren't fingerprint IDs four characters? < 1266948522 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I don't think it says anywhere that longer aren't permitted < 1266948524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nor shorter < 1266948540 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Then it's a convention? < 1266948551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, you should know ;P < 1266948566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"The ( "Load Semantics" instruction loads the semantics for a given fingerprint onto any or all of the instructions A to Z. ( pops a count. It then pops count cells. For each cell that it pops, it multiplies a temporary value (which is initially zero) by 256, and adds the cell value to it. < 1266948566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :In this way, ( builds a fingerprint. This mechanism makes it simple to express large fingerprints like 0x452e472e in printable ASCII such as ".G.E"4( ... ), while not requiring the use of ASCII as the medium for all fingerprints. " < 1266948571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :quoting from the 98 spec < 1266948581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and yes it is a convention afaik < 1266948601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, certainly there is nothing preventing me creating a fingerprint 0 < 1266948611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1266948618 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Then not TURT2 because it breaks convention. :) < 1266948634 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, also it causes issues in 32-bit funges < 1266948639 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :TURT2 would evaluate to a 40-bit value, is why, and 32-bit... exactly < 1266948639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is a thing of the past anyway < 1266948652 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Huh < 1266948661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, things are 64-bit or bignum nowdays (at least the thing *I* write ;P) < 1266948667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, < 1266948668 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :You say that like things of the past have less value than things of the present. < 1266948671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge has an option < 1266948677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I was joking -_- < 1266948689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think 32-bit funges are still fairly common < 1266948703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge is 64- or 32-bit (compile time option) < 1266948706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :efunge is bignum < 1266948717 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge defaults to 64-bit iirc < 1266948792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, the issue is that TURT is so badly specced < 1266948807 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Indeed < 1266948864 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Hard to believe mixing up left and right, though. < 1266948933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well, at least http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tquine.php seems to depend on that behaviour and that plus a few test suite thingies are the only users of TURT I know of < 1266948966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and yes, left/right is problematic. Probably it has been copied for compat between implementations since then < 1266948992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, btw did you ever do any more work on JIT-funge? < 1266949057 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I think if I had to redesign it I would leave out the teleporting and the absolute-heading-setting stuff. < 1266949096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and define which direction it was to turn in (math one is the only one that makes sense IMO) < 1266949105 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(for relative ones at least) < 1266949112 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes. < 1266949121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, also what about transparent colours? < 1266949133 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could have semi-transparent pen-colours < 1266949140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :more realistic too < 1266949142 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Gamma, huh. < 1266949150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I was thinking of alpha channel < 1266949156 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1266949167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, gamma is something quite different isn't it? < 1266949175 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I was mixed up. < 1266949177 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway since I render to svg, alpha should be trivial < 1266949238 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, now, should it be additive (light based) mixing or subtractive (ink/crayon/...) based mixing? < 1266949249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the former would be way easier to implement < 1266949259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless you render to a real turtle bot < 1266949264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but for me who renders to svg... < 1266949297 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :TURT2 is fine, it just overlaps with something 4-character < 1266949298 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I think it would be forgivable for a real turtle robot to stick to black-and-white. < 1266949303 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh and you should probably define TURT and TUR2 to share the same underlying turtle bot in case both are used during a single program run < 1266949304 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(In 32-bit) < 1266949348 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just so you know, I'm almost certainly never going to get around to defining TUR2. Sorry. < 1266949364 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Don't let that stop you or anyone else who wants to, though. < 1266949369 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, see about ccbi or cfunge having left/right mixed up for relative turining < 1266949378 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I saw your comment < 1266949379 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, fixing it breaks the TURT quine amongst other things < 1266949387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1266949401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so what are we to do? < 1266949412 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :provide a command line option? < 1266949425 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :You could always have a "chirality" flag you pass to the implementation, a boolean saying how left and right should be determined in TURT < 1266949440 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :chirality!!! < 1266949447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well, the thing is that it is different in set-heading and turn left/right < 1266949449 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Chirality is dead < 1266949462 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :--goatie < 1266949471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what did I miss there? < 1266949479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some sort of pop culture reference? < 1266949495 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The point is to provide a command line option that makes the behaviour compatible with what existing programs expect < 1266949497 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :people in mirror worlds have goaties, of course < 1266949509 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1266949512 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*goatee < 1266949520 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: But hmm, what makes it inconsistent? < 1266949536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well set heading acts like it is math rotation < 1266949543 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(Chivalry is dead) < 1266949544 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How does it act like it? < 1266949557 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :set-heading 90 goes north? < 1266949559 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, as in, 0 = east, 90 = straight up < 1266949565 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1266949566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as far as I can tell yes < 1266949592 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I find that highly unlikely < 1266949600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266949603 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Looking at CCBI's source, at least :-P < 1266949620 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how comes it renders the same as cfunge then < 1266949623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which does it that way < 1266949633 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Beats me < 1266949634 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :void turnRight() { turt.heading += toRad(cip.stack.pop); turt.normalize(); } < 1266949634 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :void setHeading() { turt.heading = toRad(cip.stack.pop); turt.normalize(); } < 1266949640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, turn right should substract < 1266949641 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266949642 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :GROSS < 1266949646 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pukes on Deewiant < 1266949646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assuming math degrees < 1266949648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and it doesn't < 1266949651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that is the issue < 1266949657 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :According to this, and starting at 0, 90 right and 90 set-to are identical < 1266949674 0 :MigoMipo!~migomipo@84-217-13-36.tn.glocalnet.net JOIN :#esoteric < 1266949682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes that is the bug. Look at how you use those values < 1266949698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I wouldn't assume math degrees: to quote the docs "A 'Query Heading' (positive angle relative to east) " < 1266949707 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, never mind < 1266949712 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't mean anything :-P < 1266949734 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :quite. The reason I didn't reply was I was trying to figure out wth you meant with that :P < 1266949789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :all it means is that 0 =< A < 360 (or 0 < A =< 360, both are valid ways to interpret that) < 1266949803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I would go for the former) < 1266949817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually it doesn't even mean that < 1266949819 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I'm not even sure it means that. It sounds quite meaningless to me < 1266949822 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :returning 720 < 1266949824 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is valid < 1266949827 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but -720 isn't < 1266949838 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: "TRUT"4(n9a*HA.a,@ < 1266949843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ? < 1266949850 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Could have just been "positive angle" < 1266949851 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Whether H or R, this prints 90 for me < 1266949864 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So where's the inconsistency? < 1266949889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that doesn't render anything < 1266949891 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I can't check it < 1266949901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and sure. < 1266949903 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't give a damn about rendering < 1266949907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1266949916 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how else can you check it? < 1266949918 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You just said that H is inconsistent wrt R/L < 1266949932 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, OOC, have you looked at Etcha at all? < 1266949947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, never heard of it < 1266949954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and define OOC < 1266949954 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/projects/etcha/ < 1266949960 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Out Of Curiosity < 1266949963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1266949979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes because when you render it turning right ends up turning left < 1266949985 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Etcha does the turtle thing, but combines it with the program source < 1266949998 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :TURT has A and Q which print the heading and pos respectively, if there is a bug in pen movement these should be enough to show it < 1266950001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, remember it is relative the turtle bot < 1266950009 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, (except for set heading) < 1266950022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, now look at tests/turt.b98 in cfunge source. It has: < 1266950025 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(Etcha's also implemented in some horrendous Java that MissPiggy would probably like.) < 1266950030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :5F 9a*L 11x> ; Draw vertical line, turn 90 deg right.; < 1266950030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :0C 5F 11x> ; Change to black, draw line. ; < 1266950050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is very strange < 1266950093 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Looks like a typo in your comment or code :-P < 1266950117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, wait, is svg's coordinate system upside down? < 1266950122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266950123 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm still not seeing anything: "TRUT"4(n9a*HaF1PI@ prints a dot to the south as expected < 1266950127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that could explain some of the things < 1266950150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw in that turt test code above you print the supposed-to-be-black dot as blue < 1266950155 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and blue was never set as pen colour < 1266950160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it was set as the bg colour though < 1266950186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, using ccbi x86_64 binary downloaded from your website today < 1266950372 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gah inkscape isn't zooming to the correct place by default < 1266950387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it zooms at the pointer iirc < 1266950389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when you scroll < 1266950402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(with ctrl down) < 1266950417 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's certainly how it works here < 1266950432 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's failing at using my viewbox < 1266950441 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it uses it just fine for cfunge for some reason < 1266950473 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It displays it fine in the preview thing when I have it selected in file->open < 1266950501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1266950538 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Zooming in would take forever as it starts from like -200 to 800 and it's supposed to go to -0.001 to 0.002 or so < 1266950576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, svg uses +y as down right? < 1266950584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or do I misremember? < 1266950590 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes I'd think so < 1266950606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why can't it use a sane way like in math :/ < 1266950636 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it seems to start pretty decently zoomed for ccbi output for me < 1266950645 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It used to for me too < 1266950647 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What version? < 1266950665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION starts it again < 1266950670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :inkscape --version < 1266950705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :0.46 < 1266950708 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, all the more reason to rewrite this thing to not use tiny coordinates :-P < 1266950712 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Inkscape 0.47 r22583 (Jan 22 2010) < 1266950731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on 0.47 on my other computer I see those problems you mention < 1266950753 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Alright, so it's not my fault as such < 1266950753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :efunge doesn't use tiny coordinates btw, both versions work fine there < 1266950773 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I planned on using SVG Tiny originally which had a limitation of +-32767 or some such, which is why I used tiny coordinates < 1266950796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, cfunge causes same issues as ccbi there < 1266950799 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I ended up not doing so but I already had the coordinate impl at that point < 1266950806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :trivial to fix < 1266950815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just stop scaling it < 1266950844 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But I'll lose all my cool optimizations for printing numbers ;-P < 1266950867 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Although I think I disabled them already for some reason or other < 1266950893 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :As it doesn't seem to emit 5e-5 which'd be shorter than .00005 < 1266951125 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : But I'll lose all my cool optimizations for printing numbers ;-P <-- ? < 1266951148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you were golfing the TURT output < 1266951150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1266951166 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It did help for stuff like the quine < 1266951197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh? < 1266951212 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I mean, reduction measureable in kilobytes not bytes :-P < 1266951231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do you still try to make the paths as long as possible < 1266951232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is < 1266951236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :using M if jumping < 1266951240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :instead of creating a new path < 1266951247 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course, turning .00005 to .5 will help even more < 1266951252 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes < 1266951253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I do that in cfunge but not in efunge. < 1266951265 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since SVG supports it, might as well < 1266951268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the quine is sluggish to zoom in with inkscape for the cfunge output < 1266951273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but snappy for the efunge output < 1266951280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it seems like a counter optimisation < 1266951295 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Space for speed < 1266951308 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Do you only use M at the start of a path then? < 1266951312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, correct < 1266951314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in efunge < 1266951355 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How big are the quine SVGs from cfunge and efunge? < 1266951358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, only space optimisation I do is to delete dots that are hidden under other dots or under "corner" points of paths < 1266951405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is a reasonably fast "scan the cons-style list from newest to oldest and built a set (erlang stdlib provides that) with coordinates, remove circles if they are already in it" < 1266951418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you have to remember to get circles and lines in the straight order < 1266951423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't know if you do that < 1266951426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge doesn't it seems < 1266951433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it always draws lines first then circles < 1266951462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but those two groups have their order preserved internally < 1266951467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just not between each other < 1266951532 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw I assume your output contains no newlines then? < 1266951543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh hm it does < 1266951554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also "#00f000" < 1266951560 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1266951561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :misread < 1266951572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heck you do turn 0000ff into 00f < 1266951576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1266951581 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course ;-P < 1266951597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what is the algorithm for that. The one I can think of is fairly wordy < 1266951613 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm sorry: "Etcha does the turtle thing, but combines it with the program source" -- it actually doesn't. It's like BitChanger but uses a turtle graphics playfield instead of a tape. < 1266951640 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if (buf[1] == buf[2] && buf[3] == buf[4] && buf[5] == buf[6]) < 1266951641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh I bookmarked it for later < 1266951649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, *cringe* < 1266951654 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1266951660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that assumes you have a fairly imperative language < 1266951670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not really < 1266951676 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, now go implement it in scheme < 1266951689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for cons-list style strings < 1266951702 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, or maybe in haskell < 1266951705 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Those can still be indexed? < 1266951714 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, can cons lists really? < 1266951716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1266951719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cdar < 1266951720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I guess < 1266951739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(or was it cadr? I always mix those up) < 1266951759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(as in, I never remember which order to read the operations in) < 1266951817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh cadr it seems < 1266951823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which doesn't make a lot of sense to me < 1266951847 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :uncurry (==) $ join (***) (map fst) $ (filter (even.snd) &&& filter (odd.snd)) $ zip (tail x) [0..] < 1266951861 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :This is how I'd write that comparison in Haskell if I wanted to be general about it < 1266951871 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Where x is the #rrggbb string < 1266951901 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If I wanted to be nongeneral I'd do (x !! 1 == x !! 2 && x !! 3 == ...) < 1266951918 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But that's also less efficient since it traverses the list multiple times :-P < 1266951934 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AFK for a bit -> < 1266952053 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, found the cause of the wrong colour circle in ccbi yet? < 1266952059 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :match([X,X|r]) -> match(r); match([]) -> true; match(_) -> false < 1266952078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, wth at that tail (assuming erlang) < 1266952098 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ? < 1266952105 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :My syntax isn't exact < 1266952106 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, lower case R < 1266952112 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's an atom < 1266952115 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Fine. < 1266952117 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :R. < 1266952126 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, you coded erlang before, there is no excuse ;) < 1266952165 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266952210 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm does css and svg accept color:red/color="red"? < 1266952218 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if so that is shorter than #f00 < 1266952225 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I was merely surprised you didn't see there was an elegant way to express it in a functional language that you'. < 1266952230 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :re fluent in... < 1266952249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I'm not that fluent, also I found that somewhat non-elegant < 1266952318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, however it's late and I had not just _a_ heavy day but several heavy days. And another one tomorrow... < 1266952389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway, I have the colour as a binary at that point it seems. I blame io_lib:format for this < 1266952399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is very strange < 1266952406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since no binary was involved < 1266952443 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm not looking < 1266952444 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Binaries always made me hesistate, but I *think* you can say things like <> to match them < 1266952642 0 :MizardX-!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1266952661 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Something like all (uncurry (==)) . map snd . filter fst . zip (cycle [True,False]) . ap zip tail . tail might be nicer actually < 1266952686 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1266952688 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: Is this kind of stuff less puke-worthy? < 1266952700 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1266952700 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :no < 1266952704 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :that's worse < 1266952709 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :D'oh < 1266952720 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ap zip tail? < 1266952730 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You know as well as I do that that should be zip`ap`tail. < 1266952739 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The Aztec god of consecutive numbers. < 1266952747 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I know that it could be, not that it should be < 1266952772 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :On a more serious note: I find infix "ap" to be much more readable. < 1266952775 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :In expressions like that where it'd need extra brackets to invoke the gawd I'd rather leave it as such < 1266952812 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmm... < 1266952832 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(zip `ap` tail) is nicer IMO, but... Whatever. < 1266952843 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :<*> has unfortunate precedence too, so that doesn't help < 1266952871 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I still think the Erlang version is closest to how I think. < 1266952875 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You're not going to get anything better, because of the precedence of 「.」. < 1266952923 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Yes, but that requires writing a separate function ;-) < 1266952926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : AnMaster: I'm not looking <-- at what? < 1266952933 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For bugs. < 1266952940 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :At the code, whatever. < 1266952952 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As a side note, non-English punctuation is really nice for discussing programming. Doesn't collide at all for most languages. < 1266952968 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"" is not English punctuation < 1266952979 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1266952980 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bleh. < 1266952983 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not punctuation. < 1266952998 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :lament: Don"t confuse us. < 1266952999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why not? < 1266953015 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: well ' isn't English punctuation either :) < 1266953029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Other word that refers to various bits of non-pronouncable inline metadata used in the writing of natural language. < 1266953041 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :although on the rare occasions that people use the correct apostrophe... they just get laughed at < 1266953064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway for 3 colours you could just do [$#,X,X,Y,Y,Z,Z] < 1266953069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now that would be nice < 1266953077 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Because TURT isn't on the top of my TODO list :-P < 1266953086 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :'Struth! < 1266953088 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, nor is ccbi I guess? < 1266953097 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I meant, "of CCBI" < 1266953108 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But yeah, it isn't either, as such < 1266953115 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well okay. Still ccbi 1 still recieves bug fixes I thought? < 1266953125 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :receives* < 1266953168 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather avoid messing with CCBI1 at all unless it's something relatively important < 1266953191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and TURT isn't? < 1266953207 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not IMO, especially since it mostly works :-P < 1266953217 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Do you have a simple testcase for the north/south thing? < 1266953269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm? well you may be right, the coordinate system of svg confused me I think < 1266953287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Alright < 1266953291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but the wrong colour of dot: yes < 1266953299 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is src/turt.b98 < 1266953301 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So now there's that colour thing and preserving order of lines/points < 1266953303 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1266953306 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Actually tests/turt.b98 < 1266953307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :test/turt.b98 < 1266953308 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I meant < 1266953310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah tests even < 1266953313 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1266953320 0 :charlls!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1266953323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, obviously you found it by yourself though < 1266953341 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Thus my 93-line TODO for CCBI grows by four lines. < 1266953345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway do you optimise #f00 into red? < 1266953349 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1266953356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, :/ < 1266953360 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1266953365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what? < 1266953373 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :afaik it is legal < 1266953376 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :":/" seems hardly warranted :-D < 1266953387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Especially from someone who outputs #ff0000 < 1266953389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, THINK OF THE EXTRA BYTES < 1266953393 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :why is that an optimisation? < 1266953399 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It saves a byte of space < 1266953401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, fewer bytes < 1266953412 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :For the want of a byte of space, the kingdom was lost. < 1266953464 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I was ridiculing you for your extreme space optimisations that are time pessimisationsa < 1266953467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/a$// < 1266953478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also you still try to format the svg nicely < 1266953482 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"red" is the only one with any advantage, I think < 1266953489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lots of un-needed newlines and spaces < 1266953509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge puts it all on one line (due to using the genx library to generate the xml) < 1266953511 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I know < 1266953515 0 :charlls!~charlls@201.248.104.180 JOIN :#esoteric < 1266953519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(ehird managed to convince me to do that, not sure why) < 1266953540 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I might do that M-only-at-start thing as well, seems nice enough < 1266953541 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(since it outputs stuff like: ) < 1266953575 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Aha, the defined colours are actually stuff like #808080 as well, so there's more advantage to be had < 1266953585 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm? < 1266953604 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Continuing from my '"red" is the only one with any advantage, I think' < 1266953621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, iirc those are (used to be?) different between browsers < 1266953632 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, they're well-defined < 1266953633 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the only ones you could trust were black/white/red/blue/green < 1266953642 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, this might have been when HTML 4 was still new < 1266953644 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There are 16 defined colours in HTML 4.0 < 1266953645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember < 1266953653 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And those same colours are defined in SVG 1.1 < 1266953668 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so which ones are advantages? < 1266953670 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which actually linked to the CSS 2.0 spec < 1266953686 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's system colours as well, which obviously aren't portable < 1266953707 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: silver, gray, maroon, red, purple, green, olive, navy, teal < 1266953708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw why no DOCTYPE? < 1266953718 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :did CSS steal the colour list from X11, or vice versa? < 1266953722 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :or do they both have a common source? < 1266953731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, X11 has a colour list? < 1266953736 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think X11 defines more colours than CSS? < 1266953737 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I think so < 1266953749 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :some of them are really weirdly named < 1266953752 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: hmm, maybe < 1266953755 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://jwatt.org/svg/authoring/#doctype-declaration < 1266953818 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the link to why is dead < 1266953836 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or at least to where they tell it < 1266953840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I get a redirect loop < 1266953856 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Accept cookies from yahoo.com < 1266953875 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or enable javascript or whatever you have disabled < 1266953903 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: But anyway, the fact that SVG 1.2 won't have one is also some proof I guess < 1266953904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I use lynx atm < 1266953909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me try w3m < 1266953914 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That would be a problem < 1266953919 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1266953922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I don't have X running < 1266953927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :on this system < 1266953942 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So you probably won't be able to use yahoo groups < 1266953954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe google has a cached copy < 1266953971 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep, cache:http://groups.yahoo.com/group/svg-developers/message/48562 worked < 1266953972 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :fungot, We have managed out of existence of interconnecting principles, then they were < 1266953973 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: cyrus! are you leaving! we must use! let's show ' em! 200g per night. care, and stay...healthy! my husband...he's...he's...gone... but he left me precious gifts! the seeds...and our child, it's ancient history now... < 1266954003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, you sounded almost as bad as fungot there XD < 1266954004 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: cyrus! are you leaving! back to the present? he's been known. we reptites will rule the world in a mere door that keeps us bound, hand, foot...and tongue kid? ...oh, it's you, isn't this morbid? the great adventurer toma levine rests in a grave to the north. it's a great place for a picnic! heard that magus's place... < 1266954010 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, I try. :) < 1266954112 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is there any good svg validator btw? < 1266954128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, since the w3c one accepted a viewbox of "hello" < 1266954136 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1266954168 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know of any others < 1266954180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and the w3c one is obviously quite useless < 1266954215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw how easy would it be in ccbi to replace the rendering to svg with a completely different format? < 1266954248 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Depends on how easy it is to render that format :-P < 1266954258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, lets say png < 1266954274 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know enough about image formats to be able to say anything < 1266954288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, any bitmap format then < 1266954301 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But basically the stuff is stored as paths and dots < 1266954320 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So it depends on how easily you can turn that into an image < 1266954323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how funge specific is it? < 1266954348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I mean, does the turtle part have a clean and nice interface that could be used for other things? < 1266954378 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's hardly any interface < 1266954392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(in efunge that is the case, and it can render to two formats, though one is slightly cheating: svg and raw (debug dump of all the nodes)) < 1266954417 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Rendering once you have the data is trivial enough to do to any format (assuming you can render paths and dots) < 1266954419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I still haven't made it save to a file though < 1266954476 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Getting the original image data to render is something that's only "cleanly" doable through the funge commands < 1266954503 0 :Gracenotes!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1266954514 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what do you mean with that? < 1266954560 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I mean that the only "clean" interface to getting a turtle-drawn picture is the funge commands, there's no nice turtle.moveforward(10) or turtle.turnright(45) or anything < 1266954611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :start/0, start_link/0, stop/0, get_info/0, clear/0, render/1, rotate/1, set_heading/1, jump/1, move/1, set_bg_colour/1, set_pen_colour/1, set_pen_state/1]). < 1266954619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err ignore that ]). at the end < 1266954620 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1266954630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is the api for efunge_turtle.erl < 1266954660 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I have hardly any API, just a few structs and then the functions defining the funge commands < 1266954679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, even in cfunge I mostly have separate functions for it, though not completely < 1266954684 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :A few helpers do exist which could be part of an API if there were one < 1266954688 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it would require some work to pick it out < 1266954694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not much < 1266954695 0 :scarf!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266954718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and render returns an iolist < 1266954747 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(erlang data type of mixed, possibly deep, cons list containing mixed binaries and cons-style strings) < 1266954780 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(since the file and console io routines can work with this it is common for purposes where you expect it to go to IO only) < 1266954791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(no need to flattern it in any sort of nice way) < 1266954924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw an idea for an interesting bitmap format: start with the middle pixel, then the one above it, then the one left of that < 1266954928 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then one down < 1266954930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1266954933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in a spiral < 1266954997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a nice property is that even if the image is cut off somewhere near the middle you would still get the center of the image where the most interesting things usually are < 1266955022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, Deewiant: opinions? < 1266955073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for non-square pictures you could just skip over the parts outside (would require a header with dimensions then) < 1266955112 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it has a nice streamableness to it < 1266955122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, har < 1266955127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well actually < 1266955128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it does < 1266955165 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so basically like: < 1266955167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :v<<<<< < 1266955167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :vv<<<^ < 1266955167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :vvv<^^ < 1266955167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :vvv^^^ < 1266955167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :vv>>^^ < 1266955168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :v>>>>^ < 1266955172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :>... < 1266955172 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :If you have a "not really a part of the picture" color, you could do non-square pictures without a header (run-length encoding the pixels would help here) < 1266955205 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Hell, you could do arbitrarily-shaped pictures with that "color" :) < 1266955217 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yes basically like alpha right? < 1266955226 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1266955250 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway, sure you could have an alpha channel or whatever < 1266955253 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I guess, with the additional implication that "you can just discard this part of the picture after it's done" < 1266955259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266955266 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :as opposed to "I want a transparent border" or something < 1266955273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1266955291 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :But yeah, very similar to alpha otherwise. < 1266955294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, would require removing one specific shade or adding one more bit/byte < 1266955322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I imagine one would use 16-bit integers per channel here < 1266955332 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or 8 bits at the very least < 1266955345 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OR, you could embed commands to clip the existing image -- and additional pixels should flow around the new clipped region. < 1266955359 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :32-bit floating point per channel is kind of heavy (I have dealt with HDR, I know this) < 1266955365 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :You could stream entire slideshows, in a strange manner, if you went that way < 1266955378 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, how? < 1266955398 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :stream a spiral, clip it to 0x0, stream another spiral, clip it... < 1266955405 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh I see < 1266955409 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266955426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I wasn't thinking of the streaming aspect of it before < 1266955432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that is interesting indeed < 1266955448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I wonder how well it would compress though < 1266955456 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I don't like the idea of embedding a "command" as much < 1266955474 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, you could use embedded befunge ;) < 1266955489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would fit the 2D nature < 1266955495 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, RLE is probably the simplest kind of compression you could do < 1266955498 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Har < 1266955518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I was thinking of "how well will deflate work on this < 1266955534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1266955852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do you know if you can set r of a circle using css in svg? < 1266955856 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would save quite a lot < 1266955877 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, and no you can't. < 1266955889 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I remember you asking me about this a year+ ago too ;-P < 1266955935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1266956696 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Triton cluster has 112 compute nodes. Each of them has two 6-core "AMD Opteron 2435" CPUs, which corresponds to total of 1344 cores." Yay, more university-internal computational resources. < 1266956735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you have access to that? < 1266956746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or will have rather < 1266956773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with that you could build some nice models for fungot! ;P < 1266956773 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: see? i like marle better than " princess,' the chosen time has come! he's strong and he's gonna thrash those monsters! yea! is it? < 1266956776 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Though we have to share it with the physicists and the BECS ("Biomedical Engineering and Computational Science") people, so it'll probably be a bit crowded. < 1266956820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just pushed TURT updates to cfunge and the new TURT for efunge < 1266956849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still some TODO for the efunge one. Like compact colours and properly testing clear when pen is down < 1266956881 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1266956952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw isn't black the default colour of paths and circles? < 1266956962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(assuming no css overrides) < 1266956969 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There is no defined default for anything < 1266956975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1266956984 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or did you mean SVG? < 1266956989 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know about SVG, that was about TURT < 1266957020 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Words and phrases to use in specs! "Of course", "Generally", "Without a doubt", "Except for trivial cases", "Positive angle relative to east" < 1266957031 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1266957121 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I've learned my lesson -- unfortunately my newfound zest for precision will probably not be applied to Befunge anytime soon. < 1266957355 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Maybe Befunge-111 < 1266957373 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ah, hey, speaking of inprecise specs < 1266957385 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: TOYS: B ('pair of shoes') pops two cells off the stack and pushes the result of a "butterfly" bit operation. < 1266957422 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't /think/ we've asked you what 'a "butterfly" bit operation' was supposed to be < 1266957446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1266957449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I would like to know too < 1266957461 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :We've asked a lot of people, but I don't think we've asked you ;-) < 1266957465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since the only one we found doesn't work on that number of inputs iirc < 1266957477 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, we've got the (a+b, a-b) one < 1266957492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well yes, but that one was just copied from some other interpreter < 1266957494 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Reverse-engineered from !Befunge < 1266957498 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But also justified < 1266957500 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1266957509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh? < 1266957541 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Butterfly_diagram < 1266957606 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It was inspired by the mention in here: http://catseye.tc/projects/starw/doc/starw.html < 1266957615 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :But I have no idea why it has two inputs, or what that means. < 1266957616 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Sorry. < 1266957618 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1266957623 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1266957637 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"Butterfly the bits of X, i.e., 11001100 becomes 10100101." < 1266957641 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :FWIW I have no idea what that butterfly does either < 1266957642 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Also a great spec. < 1266957649 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yep :-) < 1266957676 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Butterfly_%28disambiguation%29 < 1266957691 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ATM, "Butterfliies Eat Pants" is the current vandalism. < 1266957711 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1266957718 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :DESU < 1266957742 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: もっとです? < 1266957822 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I think the 8-bit diagram in the Butterfly_diagram page might explain the *W butterfly operation < 1266957827 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :? < 1266957831 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Or not < 1266957867 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, it looks like it tries to distribute those one-bits symmetrically? < 1266957876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :according to a pleasing pattern perhaps < 1266957899 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That's as good as anything I can come up with :) < 1266957939 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, note that the two identical nibbles (separated with space): 1100 1100 becomes 1010 0101 < 1266957953 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :patterns to note: < 1266957962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :identical nibbles in input < 1266957975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :symmetrical output byte < 1266957992 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :If you change directions in my language, you can change 1100 to 0011 or to 1000 if you're not careful! < 1266957993 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mirror nibbles (follows from the previous one though) < 1266958006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :every other bit is one in each nibble < 1266958024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the only place with two identical bits is where the nibbles join up < 1266958060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :this is clearly very significant for, uh... significant reasons! < 1266958083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(of great significance of course) < 1266958095 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it should also be noted that the sign bit was *not* changed < 1266958097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :again very important < 1266958098 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I think it's this < 1266958110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, ? < 1266958113 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :first 1100 -> 1x1x0x0x < 1266958122 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :second 1100 -> x0x0x1x1 < 1266958127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what are those x? < 1266958129 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(second is like first just mirrored) < 1266958140 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :x means "use the bit from the other half" < 1266958154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so < 1266958158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then what < 1266958166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1266958168 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :So if you combin 1x1x0x0x and x0x0x1x1 you get: 10100101 < 1266958183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, ah interesting. You know this would have been trivial in intercal I think < 1266958189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is kind of amazing < 1266958219 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :So, there's your answer, I think. For two inputs, just treat each like the nibbles in *W < 1266958255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, but then the answer is twice the number of bits of the funge implementations? < 1266958265 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1266958268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/s\?/\?/ < 1266958280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway it doesn't work out < 1266958300 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1266958304 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just push two separate cells < 1266958313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :one with the upper 64 bits and one with the lower 64 bits < 1266958318 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Sure! < 1266958321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course this breaks down for bignum < 1266958322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1266958330 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Since the spec doesn't say how many result values there should be for B < 1266958364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, but it is impossible in a bignum funge. < 1266958386 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION mandates a "bignum considerations" section after the "security considerations" for future fingerprints < 1266958396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, want to see the ATHR spec btw? < 1266958413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is somewhat in a flux < 1266958417 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :As I've mentioned, Funge, like C, just doesn't do bignum. < 1266958424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :due to trying to figure out what is feasible < 1266958425 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1266958430 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :you can emulate bignums in C < 1266958432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and I declare that wrong. Becuase it does < 1266958433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1266958466 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"do bignum" => "cleanly support bignums as a primitive type" < 1266958475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yep < 1266958479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it works mostly < 1266958485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway http://sprunge.us/icgB < 1266958493 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Because both languages define a MAXSIZE for integers. < 1266958494 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it is somewhat in flux due to various reasons < 1266958498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, -1 < 1266958501 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I return -1 < 1266958504 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for that y thing < 1266958559 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, at least be happy I don't insist on doing a balanced ternary bignum funge! < 1266958731 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ATHR looks pretty good, I like the books. < 1266958753 0 :gm|lap!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1266958756 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, it is also rather well specced especially how it interacts with other known feral fingerprints < 1266958775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(especially the RCS ones which are infamously underspecced in general) < 1266958819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course, I refuse to even try to figure out how it works with TRDS < 1266958848 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since it is bound to cause issues when you time travel and have async threads < 1266959004 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :My head hurts. < 1266959048 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, from TRDS alone or from ATHR + TRDS? < 1266959052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :The implementation shall detect deadlocks (in a reasonably timely manner) when < 1266959052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :two IIPC operations are waiting on each other and break them by making one of < 1266959052 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :is it just me, or the link for downloading verisoft is dead? http://cm.bell-labs.com/who/god/verisoft/files.html < 1266959052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the blocking threads reverse. < 1266959056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :added that paragraph < 1266959069 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :>From all of it. < 1266959103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what download link? Somewhere on that page? < 1266959124 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you mean charlls? < 1266959125 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1266959134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1266959136 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right I did < 1266959145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :charlls, indeed it seems to be dead < 1266959152 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :charlls, but look that page mentions .Z < 1266959154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is OLD < 1266959168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and "http://www.gnu.ai.mit.edu/home.html." < 1266959170 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wth :) < 1266959173 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1266959220 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266959228 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :do you know other model checking tools for c++? i've found inspect which seems somewhat mantained and ongoing but i'm not sure how to use it for lock-free primitives (cas and ll-sc) < 1266959238 0 :charlls!unknown@unknown.invalid PRIVMSG #esoteric :c/c++ i meant, c is fine too < 1266959258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :charlls, I have no clue < 1266959269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :charlls, I use a message passing language when I need to do threads < 1266959271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :such as erlang < 1266959280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I refuse to touch pthreads directly < 1266959284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!scramble scramble < 1266959295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is egobot here? < 1266959300 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble scramble < 1266959300 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :srmlebac < 1266959306 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, or did you mean fungot? < 1266959307 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: we must do it to save you! who the heck are you?! c'mon!! < 1266959313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble srmlebac < 1266959314 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :smeacblr < 1266959319 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble smeacblr < 1266959320 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :seclrbam < 1266959322 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!unscramble 11001100 < 1266959324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble seclrbam < 1266959325 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :scramble < 1266959343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so at least for "scramble" it has a short period < 1266959345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, ... < 1266959346 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1266959350 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble 11001100 < 1266959351 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :10100101 < 1266959355 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay! < 1266959356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1266959360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, ^ < 1266959367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, what is the algorithm used there? < 1266959373 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show scramble < 1266959374 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>>,[>,]<[<]>[.>>]<[>>]<2[.<2] < 1266959387 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble unscramble < 1266959387 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :uenlsbcmra < 1266959397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble uenlsbcmra < 1266959398 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :uaernmlcsb < 1266959401 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Looks like butterflyification to me. < 1266959401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble uaernmlcsb < 1266959402 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ubasecrlnm < 1266959406 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble ubasecrlnm < 1266959406 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :umbnalsrec < 1266959410 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble umbnalsrec < 1266959411 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ucmebrnsal < 1266959415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble ucmebrnsal < 1266959415 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ulcamsenbr < 1266959419 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble ulcamsenbr < 1266959420 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :urlbcnaems < 1266959425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble urlbcnaems < 1266959425 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :usrmlebacn < 1266959430 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble usrmlebacn < 1266959431 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :unscramble < 1266959435 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :longer period for that one < 1266959436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266959442 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble 12345678 < 1266959443 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :13578642 < 1266959453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble 12345678 < 1266959454 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :18273645 < 1266959460 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble 123456789 < 1266959461 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :192837465 < 1266959468 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble 123456789 < 1266959468 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :135798642 < 1266959474 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble abc < 1266959474 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :acb < 1266959479 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^scramble abcd < 1266959480 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :acdb < 1266959487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not quite I think < 1266959491 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think we calculated periods around when those commands were first added < 1266959500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, ah < 1266959509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^list < 1266959511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show < 1266959512 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble < 1266959514 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :^unscramble 12345678 < 1266959514 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :18273645 < 1266959518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show wc < 1266959518 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :[] < 1266959522 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what < 1266959524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ^ < 1266959534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show ul < 1266959535 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>,[>,]<[<]>[<+4[>-8<-]+>-[-7[-2[<+3[>-4<-]+>[<+4[>-5<-]+>[-11[-3[[-]<2[>[-]>+<2-]>>[<2+>>-]+<[->-<3[[>+<-]<]>>[>]]>[->[>]<[[>+<-]<]<2[[>+<-]<]<[[>+<-]<]>>[>]>[[[>]>+<2[<]>-]<2[[>+<-]<]>>[>]>[>]>[<2[<]<[<]<+>>[>]>[>]>-]<2[<]>]>>[[<+>-]>]<2[<]]]<[->>[>]<[[>>+<2-]<]<2[[>+<-]<]>+>[>]+5[>+8<-]+2>-[<+[<]>+[>]<-]]>]<[->>[[<2+>>-]>]<3[[>+<-]<]]>]<[-<[[<]>.[-]>[[<+>-]>]>>[[<+>-]>]<2[<]<2]>>>[[<+>-]>]<2[<]<]>]<[->>[>]<[[>+<-]<]<2[>>>>[>] < 1266959541 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :1x2x3x4x, x8x7x6x5 < 1266959542 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well that one is cut short < 1266959557 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's also not used. < 1266959566 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what that wc is about. < 1266959572 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't look very worky. < 1266959576 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :^wc foo bar baz < 1266959576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ^ul isn't used? < 1266959588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what then is it for < 1266959606 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :^show choo < 1266959606 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>,[>,]+32[<]>[[.>]<[<]>[-]>] < 1266959608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show cho < 1266959609 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>,[>,]<[<]>[[.>]<[<]>[-]>] < 1266959613 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^cho test < 1266959615 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :testeststt < 1266959618 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I mean that brainfuck code is just a leftover from time before Underload was a directly supported language by fungot. < 1266959618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^choo test < 1266959618 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :^choo test < 1266959619 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: i see. you know, i really care... a time portal? what in the...! ozzie's stumped! it's time you jumped off this mortal coil... < 1266959619 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :test est st t < 1266959619 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :test est st t < 1266959623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ah < 1266959640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^pow2 test < 1266959641 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 42949672 ... < 1266959645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1266959649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show pow2 < 1266959649 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That one doesn't take any inputs. < 1266959649 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :+2[[<+7[-<+7>]>[-<+<+>>]<[->+<]<-2.[-]<]+4[->+8<]>.[-]>>[-[>+2<-[>+2<-[>+2<-[>+2<-[>-8>+>[->+>+<2]+>>[<2->>[-]]<2[>+<-]>[-<+>]<4-[>+2<-[>+2<-[>+2<-[>+2<[-]]]]]]]]]]<[->+<]>+>[-<+>]>>]<3] < 1266959652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, right < 1266959656 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It just outputs powers of two. < 1266959657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show source < 1266959658 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(http://git.zem.fi/fungot/blob/HEAD:/fungot.b98)S < 1266959663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show help < 1266959663 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool)S < 1266959674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show show < 1266959678 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aww < 1266959683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^show hw < 1266959684 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :>+9[<+8>-]<.>+7[<+4>-]<+.+7..+3.>>>+8[<+4>-]<.>>>+10[<+9>-]<-3.<4.+3.-6.-8.>>+. < 1266959688 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^hw < 1266959689 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Hello World! < 1266959713 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^fib < 1266959714 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :0.1.1.2.3.5.8.13.21.34.55.89.144.233.377.610.987.1597.2584.4181.6765.10946.17711.28657.46368.75025.121393.196418.317811.514229.832040.1346269.2178309.3524578.5702887.9227465.14930352.24157817.39088169.632459 ... < 1266959738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what is your opinion on the coding style in http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 ;) < 1266959738 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: frog will do. the king fought the mystics over 400 long years. when will it be the reptites, or you silly apes who end up ruling the world? yes, i'd have done something very brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. < 1266959756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Should at some point fix that >>> bug too. It collapses multiple <<>>s. < 1266959813 0 :tombom_!~tombom@wikipedia/Tombomp JOIN :#esoteric < 1266959824 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I have no strong feelings about it. < 1266959826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what was that triangle in the code for now again? < 1266959831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, around line 157 < 1266959890 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Converts punctuation token indices to characters. < 1266959893 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm just amazed the thing actually works. < 1266959905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well it uses the SOCK fingerprint for sockets of course < 1266959914 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's really no reason to have a triangle there, since a "comb-style" jump table would work as well. < 1266959936 0 :tombom!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1266959937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, or a binary w tree? < 1266959953 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, that too, but since it's a contiguous range, I think a jump table makes sense. < 1266959959 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The letters above the triangle are comments, in fact. < 1266959962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, a j table yes < 1266959962 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It's also pretty. < 1266959977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, have you looked at mycology source then? < 1266959984 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so. < 1266959997 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Mycology's a lot wider, it's not always easy to look at it. < 1266960014 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, http://sprunge.us/KcWN < 1266960016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what fizzie said < 1266960022 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also contains a literal null byte < 1266960025 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to test that < 1266960052 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Christ. < 1266960065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, the upper corner is a 93 test suite < 1266960070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the rest is for 98 < 1266960083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you can see it is somewhat more compact up there < 1266960087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, also Deewiant wrote it < 1266960090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also,* < 1266960113 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I fail to see how he can maintain it :) < 1266960119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm happy he does though < 1266960160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I love the vertical strings in it < 1266960162 0 :Phantom_Hoover!~chatzilla@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1266960169 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and how some stuff is used differently in different directions < 1266960193 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :INTERCAL is not IWBTG. Malbolge is. < 1266960218 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :IWBTG? < 1266960235 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I Wanna Be The Guy. < 1266960244 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Insanely hard computer game. < 1266960287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1266960307 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Per the topic. < 1266960323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh hadn't noticed < 1266960333 0 :AnMaster!unknown@unknown.invalid TOPIC #esoteric :0 days since last topic change | For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1266960364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1266960369 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology is 180 columns wide < 1266960379 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Mycology? < 1266960392 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Probably matches what fits in UltraEdit-32, 1600x1200, Andale Mono 10pt or something < 1266960396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/KcWN < 1266960418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, or official source: http://users.tkk.fi/~mniemenm/befunge/mycology.html < 1266960431 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or permalink: http://iki.fi/matti.niemenmaa/befunge/mycology.html < 1266960457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I just copy from top of browser. Always. At all sites. < 1266960472 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well then you're an idiot < 1266960477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why? < 1266960486 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it should work. It makes sense if it works < 1266960488 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it is easiest < 1266960489 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because that's not always the best link to use < 1266960500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, then the wrong link is displayed at the top < 1266960511 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not all URLs are permanent < 1266960515 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"if you must use FBBI" < 1266960515 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1266960545 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I should *probably* apply those patches. Someday. < 1266960571 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Or, Befunge-111. Ha. < 1266960577 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Given that one of them is by you I'm surprised it isn't applied :-P < 1266960585 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, befunge-111? < 1266960588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh that < 1266960603 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well I was the guy working on s/108/109/ < 1266960612 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but well, few people seemed to care < 1266960655 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, probably the number of people who do care is greater than the number who seem to care. < 1266960676 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I would never have guessed that there would be that many Befunge-98 implementations out there. < 1266960679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I suggest a technical memorandum clarifying k, fixing t behaviour (so it doesn't spawn infinite threads, no one implements the spec to the letter here), and clarifying out-of-order fingerprint unloading < 1266960704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus probably some other minor points < 1266960708 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I suggest doing something about every UNDEF in Mycology ;-P < 1266960717 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, possibly < 1266960727 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :*.net *.split < 1266960727 0 :adam_d!unknown@unknown.invalid QUIT :*.net *.split < 1266960731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but most of them are in RCS fingerprints < 1266960752 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1266960757 0 :Phantom_Hoover!~chatzilla@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1266960767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, also define k on k < 1266960771 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well yes, obviously not those ones < 1266960772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which Deewiant refuses to touch < 1266960781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I worked it out for cfunge) < 1266960783 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I see k on k as perfectly well defined :-P < 1266960787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh? < 1266960792 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You worked out your own view on the matter < 1266960799 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think mine is what CCBI implements :-P < 1266960807 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you don't handle k on k is what you said before < 1266960816 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't special-case it < 1266960820 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The spec doesn't; why should I < 1266960831 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Not too thrilled about the idea of an "addendum". There needs to be a new spec. < 1266960834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which means it ends up in a very very strange way iirc < 1266960846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well corrigendum then < 1266960866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, that can be applied with reasonable effort to existing implementations < 1266960871 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"Very very strange" - it's exactly what the spec defines :-P < 1266960875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :while 111 are for more radical changes < 1266960884 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sure, you can argue that the spec /should/ special-case k on k < 1266960887 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, see what I mean? < 1266960898 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: No. Or, maybe I do, and I disagree. < 1266960899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, k on k used to *crash* ccbi iirc < 1266960900 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But since it doesn't, I don't think any conforming interpreter should either < 1266960908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You misrecall < 1266960914 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, maybe it was cfunge then < 1266960915 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It used to crash cfunge, maybe ;-P < 1266960923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I know cfunge crashed on 3k@ < 1266960927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at one point < 1266960944 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I recall that < 1266960946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(for t build only) < 1266960948 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The problem is, and has been since 1999, that there are so many directions Funge could go "post-98". And, no one seemed interested. < 1266960960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I don't know what those directions are < 1266960972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, but if I have anything to say there should be some room for bignum out there < 1266960985 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Another minor nit in the spec is the "team number" that y pushes < 1266960992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ooh yes < 1266960995 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"Only significant for NetFunge, BeGlad, and the like." < 1266961000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe cpressey can explain wth it is < 1266961004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or was supposed to be < 1266961005 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, just consider how many things could be taken out of the language because someone doesn't like them. < 1266961014 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I thought it was mentioned in those old mailing list logs? < 1266961018 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Or how many features could be added in the name of "makes it harder to compile". < 1266961036 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, some time ago we discussed 98s in this channel. Which is befunge98 but with all the commands also in befunge93 taken away < 1266961046 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it resulted in a very strange and interesting language < 1266961047 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"team number" was for BeGlad, which was supposed to be Core Wars in Befunge < 1266961064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at one point I suggested there should be a 80x25 hole in fungespace from origo < 1266961068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that was just insane < 1266961101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, ah interesting. And NetFunge was similar? < 1266961115 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Probably for NetFunge it would be a like a node ID or something. < 1266961129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sounds like I could abuse that thing for ATHR then < 1266961130 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :But, that's the kind of thing that should be taken out. Should be in a fingerprint. < 1266961138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, true < 1266961141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like ATHR < 1266961143 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :But, i never liked the fingerprint system much. < 1266961148 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i originally made TheSquare to be a sort of combat game of some sort < 1266961154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, true they should use URIs < 1266961156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1266961161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that was one plan for 109 < 1266961166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I think it was the wrong thing to do < 1266961174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :collisions aren't that common < 1266961190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, still befunge without loadable extensions would mean the end to things like fungot and ATHR < 1266961191 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you! take! we find! you are crono. why not? then you should leave quickly! < 1266961209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fungot, now where was that phrase from.... I remember it from ct... < 1266961209 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that no one was allowed to use the crane, enter any two of these letters, a b y. < 1266961236 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, the main thing I didn't like about it was that there was no real way to make it portable. But that's not a good reason. < 1266961251 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I think handprints are worse, and should just be thrown out. < 1266961261 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, let IANA give out the numbers < 1266961261 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean by "portable", exactly? < 1266961271 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :maybe have a handprint-revealing-fingerprint, at best. < 1266961272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ ./cfunge ../mycology/mycology.b98 | grep ^UNDEF | wc -l < 1266961272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :140 < 1266961273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ ./cfunge -F ../mycology/mycology.b98 | grep ^UNDEF | wc -l < 1266961273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :8 < 1266961276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ^ < 1266961286 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-F is "disable all fingerprints" < 1266961286 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Handprints are fairly useless, yes < 1266961303 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, you can't really package them, into say a .so < 1266961326 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Why not? < 1266961334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, fingerprints could in theory be loaded dynamically I guess but the speed penalties would be horrible < 1266961343 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i recall k was just an utter pain in the arse < 1266961348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I would refuse to do it for cfunge since cfunge is all about uttermost speed < 1266961351 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Just the fact that there are different interpreters? < 1266961361 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well you CAN, but then, any implementation that doesn't easily support .so's, doesn't easily support fingerprint-packages. < 1266961390 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I suppose you could do all kinds of messing about with SWIG and such, for say a Python implementation. < 1266961413 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, there's no way of implementing a fingerprint once and have it work for all implementations < 1266961414 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :But, yes, I agree this can easily be outside the bounds of the language spec. < 1266961420 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I run mycology in around 0.040 seconds (wall clock) < 1266961424 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But I don't think that's necessary a problem < 1266961431 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :There could be a seperate module spec for modules that implement fingerprints, or something. < 1266961432 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(measured with time builtin in bash) < 1266961439 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Or multiple of those. < 1266961444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Deewiant: Well you CAN, but then, any implementation that doesn't easily support .so's, doesn't easily support fingerprint-packages. < 1266961446 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Since fingerprints are sometimes so feral that it's not reasonable to do it anyway < 1266961453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, how do you hook into the interpreter? < 1266961462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, after all they have very different internal representations < 1266961473 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Like I said, module spec. < 1266961500 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That'd probably tie implementations to some design choices that the current spec doesn't < 1266961501 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Which is None Of My Business As Language Definer (or something like that.) < 1266961515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, for cfunge the stack is a malloced chunk with a pointer to the top of it. It is grown one page at a time and never shrinks. < 1266961521 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Only if they choose to follow it, which they wouldn't have to, to adhere to the language. < 1266961526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, for efunge it is a erlang list with top of stack at the start of the list < 1266961536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, no way those are even close to compatible internally < 1266961561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and funge space: a static array around 0,0 with a memory pool backed hash table for the rest (cfunge) or an ets table (efunge) < 1266961564 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: In principle, you could write an adapter to whatever interface the module system uses. < 1266961574 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :In principle. < 1266961581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah in your dreams < 1266961584 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :There's no way I'd want to force that on any implementer. < 1266961598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what about that mini-funge thing < 1266961602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with fingerprints in befunge itself < 1266961610 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, now you see why I answered Why not? the way I did :) < 1266961611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course works reasonably well for very tame fingerprints < 1266961636 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't know what it is, but I have a secret project that sounds like it, but even better :) < 1266961649 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :and/or don't remember, if I did know once. < 1266961652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, just try implementing TRDS in minifunge < 1266961668 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, here is the TRDS spec: http://rcfunge98.com/rcsfingers.html#TRDS < 1266961703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and here is an addenum: http://rcfunge98.com/trds.html < 1266961705 0 :sshc!unknown@unknown.invalid QUIT :*.net *.split < 1266961712 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ....far out. < 1266961720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, ? < 1266961730 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :that's just... like... wrong < 1266961739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, what? TRDS? < 1266961740 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The easiest way of implementing TRDS in minifunge is implementing a Funge-98 interpreter in minifunge < 1266961744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I didn't write it < 1266961749 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1266961758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, exactly < 1266961773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and ATHR you can't even do in minifunge < 1266961781 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The secret project, FWIW, is to combine Mascarpone and Befunge -- define Befunge with a reflective meta-circular interpreter. < 1266961785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because SOCK needs to be non-blocking w.r.t. other threads < 1266961787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :same for other IO < 1266961823 0 :sshc!~sshc@unaffiliated/sshc JOIN :#esoteric < 1266961824 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Sure you can: write minifunge which writes a Funge-98 interpreter in to a file and then executes that < 1266961825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a pitty scarf isn't here < 1266961834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :otherwise we could have suggested FTHR to him < 1266961838 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: That sounds quite scary < 1266961839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(Feather for Befunge :D) < 1266961839 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :And actually the secret project was to be called "Beefgun" (an anagram of Befunge), not FWIW. < 1266961862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but = is implementation defined! < 1266961870 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :What is Feather, exactly? < 1266961879 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: So's minifunge :-P < 1266961879 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I only heard scarf mention it once. < 1266961894 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, a language where you can rewrite the interpreter retroactively kind of < 1266961898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I can't really explain it < 1266961910 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"Retroactively" is scary, yeah. < 1266961930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, good point < 1266961951 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not on the wiki. < 1266961965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, what isn't? < 1266961969 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :feather? < 1266961971 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well that is known < 1266961975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since the spec isn't finished < 1266961985 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais/scarf is still working on working it out iirc < 1266962010 0 :sshc_!~sshc@unaffiliated/sshc JOIN :#esoteric < 1266962039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway I think ais/scarf is up to the task < 1266962041 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :So what would the Befunge-111 spec need to address? Cleaning up ambiguities, specifying bignum behavior, throwing out useless crap like handprints and team numbers < 1266962045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, after all he maintains C-intercal < 1266962052 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I wish him luck. < 1266962069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and he wrote/is writing gcc-bf (bf backend for gcc) < 1266962080 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I don't think Befunge-111 should add anything much to the language. < 1266962082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is done to a large part but quite untested and buggy still < 1266962109 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The reason I wouldn't want it to just be an addendum is because it needs such an overhaul. < 1266962110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, bignum is quite simple. You need a special value (such as -1) for cell size < 1266962136 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: If you're up to it, going through the Cat's Eye fingerprints would be nice too ;-) < 1266962158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and the rest that needs to be cleaned up for bignum is in fingerprints < 1266962169 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the core language works just fine once you deal with y < 1266962180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/ deal/'ve dealt/ < 1266962195 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :is befunge-109 out or not? < 1266962204 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It still needs to be *specified*, less some program assume they can rely on there always being a fixed size, or something. < 1266962206 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's the partial spec < 1266962217 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But no, it's not "out" as such < 1266962223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, indeed < 1266962230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not out indeed < 1266962237 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I don't think I'm up for it, at least not as such. < 1266962258 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Maybe TURT, since it seems popular (??!?) < 1266962282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, s/popular/discussed since it is ambig and I have been implementing it again recently < 1266962284 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not really popular, just hard to test automatically which is why it's always buggy ;-) < 1266962296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what Deewiant said < 1266962302 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, OK. < 1266962319 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Sigh. < 1266962338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :TOYS is quite nice but you need to reverse engineer large parts of it < 1266962340 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course, it's hard to say what exactly is "popular" when we're starting out with Befunge-98 < 1266962341 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least I had to < 1266962347 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :On an unrelated tack, based on Safalra's method of evaluating the number of valid BF programs of length n, it would appear that a compression system could be worked out. < 1266962348 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not really. < 1266962395 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :One annoyance in TOYS is F and G's "pops a vector, then a value i" followed by "j groups of i cells each" <-- where did j come from?! < 1266962428 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah stuff like that < 1266962432 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Other than that, I don't think there's even any UNDEF stuff in TOYS, unless I misremember. < 1266962440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, butterfly < 1266962453 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well yeah, but that's so-so < 1266962470 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If it weren't for the word "bit" in there I'd make it a non-undef at this point :-P < 1266962473 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838] < 1266962505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, to not break old programs those places where handprint and such were should be "reversed for backward compat/future reuse" or such < 1266962517 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :otherwise offsets to y would need to be adjusted everywhere < 1266962521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which would be a pain < 1266962540 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: So you think Befunge-111 should be 100% compatible with Befunge-98? < 1266962564 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I agree that anything less could mean major rewrites for existing programs. < 1266962578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, no, but something like "most programs should work just fine" < 1266962582 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Then again, those programs can still be run under -98 implementations. < 1266962593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like 93 does in 98 possibly with some non-SGML space emulation < 1266962603 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a few programs depend on stuff like f reflecting < 1266962612 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but we won't run into that, all instructions are in use after all < 1266962614 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :-111 could really be a clarified / decrapped -98 < 1266962630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, you forgot "bug fixed" < 1266962638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since t in 98 as written in the spec doesn't work < 1266962652 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1266962653 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to have to read this "spec" of which you speak, someday. < 1266962656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the new ip will there execute t on the first turn < 1266962665 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, ;P < 1266962678 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, only writing something doesn't give a really good picture of it < 1266962683 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You need to read it as well < 1266962684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1266962687 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm happy with breaking programs that rely on some of the fuxxier corners. < 1266962702 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :As long as I don't have to rewrite all of Mycology < 1266962708 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :TheSquare does concurrency by bouncing an IP backwards; however, i think you'd be best to go left/right < 1266962709 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yes, but y offsets is not one of those for stuff like "elements on TOSS" < 1266962719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which iirc is offset 21 or 23 < 1266962722 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :as a bounce back would imply that it's not supported < 1266962723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't remember exactly < 1266962731 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(for *be*funge that is) < 1266962742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I don't deal with other dimensionality normally) < 1266962750 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Um, so < 1266962772 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :hmm, actually... < 1266962772 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1266962774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, ? < 1266962778 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1266962783 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i think it should bounce back < 1266962789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it should indeed bounce < 1266962791 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :and send something forward < 1266962794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since 1) you check it with t < 1266962796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1266962797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with y < 1266962801 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Unicode? < 1266962806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2) you can see if anything else came the other way < 1266962817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, would be a pain for cfunge. fine for efunge < 1266962831 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The way I read the spec, Unicode is currently optional < 1266962835 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :my main reason was that if one had Unefunge / Trefunge, it'd just be plain confusing < 1266962836 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, since cfunge takes every shortcut available for speed. Including mmap()ing to load files < 1266962838 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're allowed to have it or not < 1266962844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what Deewiant said < 1266962853 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI2 will have it as an option < 1266962864 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :At least, if it's finished before Funge-111 < 1266962874 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm thinking more along the lines of 'stop using the word ASCII so damned much'. < 1266962875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :efunge currently does byte io for files and unicode code point IO for stdio < 1266962893 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :this could be trivially changed (5-10 minutes of work at most) < 1266962898 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :kleinefunge could be interesting =D < 1266962908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: I don't think there are any egregious uses of ASCII < 1266962957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway, what about EBCDIC? :( < 1266962962 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"However, a Funge-98 interpreter may also expose any number of proprietary instructions above ASCII 127 or below ASCII 0." -- internally, they shouldn't be thought of as ASCII, or even "characters" really, they're instructions. < 1266962991 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Also, stack stack? < 1266963000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I considered making 2^666 in efunge print "BIGNUM!" < 1266963004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at one point < 1266963012 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What about the stack stack? It's actually useful < 1266963021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes stack stack is nice < 1266963027 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and Deewiant would hate if it went away < 1266963035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I would miss it but not as badly < 1266963050 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :-1 would be an amusing thing to have < 1266963052 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Would I miss it more? < 1266963057 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, -1 what? < 1266963061 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'll just point out that it's equivalent to a single stack, plus a special marker that can be placed on the stack to partition it into sub-stacks. < 1266963063 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :as an instruction index < 1266963065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yeah I think so < 1266963073 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1266963087 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: That's an implementation detail < 1266963087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not quite, there is the storage offset. Also you can't optimise the way you suggested as well < 1266963099 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: True. < 1266963105 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, after all, I do memcpy between stacks when I can avoid reversing order < 1266963108 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I don't recall storage offset, will look. < 1266963110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1266963118 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow you are rusty :) < 1266963122 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The storage offset isn't really related to stack stacks in any way < 1266963123 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(no offence meant) < 1266963133 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's just coincidentally modified by the same commands that modify the stack stack < 1266963137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1266963149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, idea: storage delta offset < 1266963155 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, i've only been busy designing like two dozen other !@#$%^&*ing languages since 1998 < 1266963159 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Y'wot? < 1266963175 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :damn i used to have the catseye rss feed < 1266963176 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that way you can not just move it, you can mirror it and what not < 1266963177 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Yeah, your time would've been better spent memorizing the Funge-98 spec as you wrote it < 1266963188 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Damn straight. < 1266963200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, exactly ;P < 1266963205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: How can you "mirror" the value put by p? < 1266963247 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well for bignum compat it would have to be around the 0 axis, which is now moved thanks to the storage offset < 1266963285 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :One problem is that I find new designs much more interesting, so I have a hard time not thinking about them when looking at something like this. < 1266963288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so 0,2 with a storage delta of -1,-1 gives you the position -2 relative that offset < 1266963294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, see what I mean? < 1266963304 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: What's the point? Why not just modify the offset directly? < 1266963307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if only I could make a nice animation showing what I meant < 1266963311 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no but it is mirrored < 1266963316 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :burro was interesting IIRC < 1266963322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so higher value is in the other direction < 1266963340 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: So add the negation of the value to the offset < 1266963345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, imagine you rotate befunge along the X axis 180 degrees < 1266963349 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :also this seems kinda interesting: http://www3.sympatico.ca/mt0000/bicom/bicom.html < 1266963362 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, multiply the value with the storage delta rather < 1266963379 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then do it relative storage offset < 1266963383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, see what I mean now? < 1266963394 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: So it modifies the value, not the position, now? < 1266963408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes, it is an additional value to storage offset < 1266963411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :both would co-exist < 1266963417 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap: Burro is broken, but I have a fix for it... slowly underway. < 1266963442 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :hmmkay < 1266963444 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: So it's just a multiplier that is applied to p/g values? < 1266963505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : also this seems kinda interesting: http://www3.sympatico.ca/mt0000/bicom/bicom.html <-- how can that work and still be a compression? < 1266963511 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :wrt bicom: wow crap, a c++ program that actually compiles properly! < 1266963516 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some inputs must grow instead of shrink < 1266963519 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I was thinking that vectors would be atomic objects (pop 2 vectors off stack, add them and push resulting vector, etc) < 1266963531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm yes < 1266963538 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: same deal happens with most compressions < 1266963541 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1266963543 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :all compressions < 1266963544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, should be more like able to skew stuff. Maybe we should have a translation matrix instead < 1266963550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or rotation matrix or something < 1266963552 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :except for cat compression, where the input is the same as the output < 1266963554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for really fancy stuff < 1266963582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I considered tagged tupes in funge-space/on stack at one point < 1266963584 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i think the idea would be to split it into blocks and make sure that they remap correctly < 1266963596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, for implementing FPSP/FPDP (floating point support) < 1266963612 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :wait... it's not really that bijective :/ < 1266963615 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, but erlang has sucky floating point semantics for NaN/inf so I decided not to < 1266963627 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :-rwxr-xr-x 1 ben ben 83742 2010-02-24 11:18 bc < 1266963627 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :-rw-r--r-- 1 ben ben 33528 2010-02-24 11:20 bc.bc < 1266963627 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :-rw-r--r-- 1 ben ben 33941 2010-02-24 11:20 bc.bc.bc < 1266963627 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :-rw-r--r-- 1 ben ben 34369 2010-02-24 11:20 bc.bc.bc.bc < 1266963641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, what? < 1266963641 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :ohthatispoopy. < 1266963652 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :USAGE: bc [-d] [-p passwd] < 1266963652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh I guess there is bc/unbc < 1266963652 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric : -d: decompress (default is compress) < 1266963660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1266963666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap, so not same function both ways < 1266963669 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i think it might also use LZ < 1266963699 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :it uses arithmetic coding AFAIK < 1266963733 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i might try a truly bijective audio compression scheme < 1266963767 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :just treat everything as an elias gamma code or something like that < 1266963777 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :and then remap where appropriate or something < 1266963783 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :...that's not going to work, is it? :/ < 1266963800 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :plan B: pair some chars together in a special way < 1266963816 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :it'd be like a samplewise huffman < 1266963826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1266963837 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :probably catch a delta of it or something < 1266963858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway vectors being atomic would be annoying for cfunge that depends on the plain integer nature of funge space < 1266963873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, in the inline SSE asm for example (there are C fallbacks, but still) < 1266963930 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yeah, it would be a different language. < 1266963944 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and are you scared of cfunge yet? < 1266963948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1266963953 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, not really... < 1266963987 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I am starting to have some ideas for befunge-111, which is scaring me. < 1266964020 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, mmap(), posix_madvise(), inline SSE asm, regparm calling convention on 32-bit x86 (using gcc __attribute__s), static array for the most commonly used funge space area around origo and hash library to fill out the rest < 1266964023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the list can go on < 1266964031 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with various stack-stack optimisations < 1266964041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and y that is a lookup table for low fixed-offset values < 1266964044 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Whatever gets you through the night :) < 1266964052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, "whatever makes me fastest" in cfunge < 1266964057 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :y is executed so rarely... < 1266964063 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not in mycology < 1266964070 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, true < 1266964071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is one of the things I speed test against < 1266964100 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh and there is an option to use fully buffered stdout of course < 1266964139 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology really isn't worth speed-testing against, it's too quick to run through :-P < 1266964150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not for that befunge in perl < 1266964154 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Would anyone kick and scream if Befunge-111 was only defined for 2 dimensions? Generalizing to different #s of dimensions would be nicer in that language where vectors are first class. < 1266964158 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1266964161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, only JIT-funge beats cfunge < 1266964166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and jitfunge is basically dead < 1266964172 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless fizzie starts working on it again < 1266964173 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just because there exists a slow implementation doesn't mean the test case isn't fast < 1266964198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, mike Riley might < 1266964201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl urg < 1266964207 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"urg"? < 1266964223 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Too much cfungeing for one night? < 1266964236 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Either something "urg"ent came up, or... < 1266964238 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :the basic idea behind compression: each file is a number, e.g. a file containing 0xBEEF might be the number 0x1BEEF (you need that top bit to give a fair representation). < 1266964249 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ah, urg-ent indeed < 1266964278 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :basically, you want to make it so that the most relevant/likely files are the smallest numbers and the least are the biggest. < 1266964305 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Also have an urge to deprecate =. < 1266964333 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or make it useful by being C system() or something always < 1266964435 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric := and t sound like they should go into fingerprints. < 1266964484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And the file I/O stuff too, I reckon < 1266964500 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Sure, I could go for that. < 1266964540 0 :tombom_!unknown@unknown.invalid QUIT :Quit: Leaving < 1266964564 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Also, maybe fingerprints should be able to redefine a wider set of instructions, maybe all instructions except ")". That would let = and t stay the same. A compatibility-oriented implementation could "pre-load" the fingerprints for those,. < 1266964586 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Basically, all the stuff for which y needs to be asked to know whether it's implemented < 1266964604 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: That's opening the door to all kinds of abuse ;-) < 1266964625 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: More abuse than now? < 1266964633 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd say so, yes < 1266964651 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Say, could you redefine space (" ") in a fingerprint? < 1266964652 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe, and I didn't say I wasn't against it... < 1266964668 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, " " and ";" are special. < 1266964686 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :They aren't instructions, therefore can't be redefined. < 1266964698 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe ";" can. < 1266964698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Agreed < 1266964702 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, not ";" :-P < 1266964720 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1266964723 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They're both markers and work completely differently < 1266964738 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For example! 1k;;;;1 will execute the 1 < 1266964753 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Oh god, combining k and ; < 1266964763 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1266964764 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Same for 1k 1, of course < 1266964791 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But anyway, messing with those is a bad idea < 1266964820 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I agree. < 1266964873 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Still, I don't like the idea of being able to redefine such basic things as #, $, 0-9, etc < 1266964900 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, I like it in one sense, but I agree that it's probably too large a departure. < 1266964927 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Still, I'd like to see t, i, o, = et al move to a fingerprint. < 1266964930 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I can see the appeal, < 1266964946 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but I don't think there's much of a use case except for malware :-P < 1266964954 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Malfunge?) < 1266964982 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It feeds the "nightmare to compile" goal somewhat. < 1266965020 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :As does mapping the stack to funge-space. But neither has ever had a lot of support. < 1266965044 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :So maybe they're just not "Befunge-y". And that should trump the other goal. < 1266965045 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Eh? You mean the stack overlays a location in funge-space? < 1266965065 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that was one proposal. Pushing something onto the stack actually p's it somewhere. < 1266965080 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That, too, could be a fingerprint, though. < 1266965089 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Stick it in MODE :-P < 1266965104 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I mean, with extremely feral fingerprints, the sky's the limit anyway < 1266965121 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yep < 1266965150 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :When it comes to "hard to compile", I don't think there's any advantage to either of the things you mentioned < 1266965182 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Whether it's just 'A' or all of 0-126 that are modifiable by ( doesn't really matter, the implementation is essentially the same < 1266965205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And making the stack commands just work on funge-space is actually a simplification since you don't need to implement a stack :-P < 1266965296 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, from the point of view of a compiler writer... if the stack is mapped to an arbitrary point in funge-space, I can no longer just use the machine stack, and I can no longer do simple optimizations < 1266965344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Optimizations it does inhibit, true < 1266965418 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't use the machine stack anyway, the spec doesn't indicate that you're ever allowed to fail on simple operations like 0-9 ;-) < 1266965488 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(And the machine stack would run into limits pretty fast, I think) < 1266965500 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, the spec doesn't define arithmetic overflow either though. < 1266965532 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"In Funge-98, stack and Funge-Space cells alike should be treated as signed integers of the same size." < 1266965540 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't define what should happen, true < 1266965551 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But it at least implicitly acknowledges that the size is limited < 1266965569 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It assumes it :) < 1266965605 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :My point is that it allows for it, at least :-P < 1266965621 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Whether as the only option or not is a different question ;-) < 1266965643 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1266966020 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :jitfunge uses a sort of a machine-assisted stack: the stack memory is surrounded by no-access memory pages, and the "pop 0 from empty stack" is handled by catching the sigsegv, manipulating the saved context (to make the registers look like it would have read a 0 out) and then resuming execution from the next instruction. < 1266966054 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But it still lives in the heap, no? < 1266966095 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's a separately mmap'd area, so.. I guess it depends on your definition of the heap. Certainly it's not the C heap. < 1266966130 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But it's not in the "real" stack; it's just that there's nothing really magical about that stack either. < 1266966222 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You could argue that it's not the machine stack because I don't use esp/rsp to point at it, nor do I use the push/pop instructions to access it. < 1266966252 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :guys < 1266966268 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :Is it possible to implement liberal 2D flow controll and expression nesting without allowing for paradoxes? < 1266966616 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :control* < 1266966680 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Depends - what's a paradox? < 1266966746 0 :MizardX-!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1266966777 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1266966784 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :well < 1266966928 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :an expression nested with others with tests such that you continually reformed the initial test before ever completing interpreting the expression < 1266966931 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1266966937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :back < 1266966947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, urg = urgent < 1266966950 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :due to nosebleed < 1266966954 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :like a self modifying language in an infinite loop < 1266966974 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1266966997 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: Sounds like Feather, or Chronofunge / TRDS -- you search for a "fixed point" where all your definitions work out, but there might not be such a point < 1266967013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Or make it useful by being C system() or something always <-- often impossible to implement < 1266967015 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :that's the problem < 1266967017 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Chronofunge?! < 1266967027 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I think you always have to allow for the possibility of a paradox (infinite loop while looking for a stable state) < 1266967062 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Chronofunge was the idea I had to add time-travel to Befunge < 1266967077 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Don't know if TRDS was influenced by it < 1266967089 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :Zybourne time travel or traditional time travel? < 1266967120 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I have no idea. < 1266967126 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : It feeds the "nightmare to compile" goal somewhat. <-- JIT compiling works just fine < 1266967126 0 :MizardX-!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1266967156 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: JIT compiling doesn't really count. < 1266967188 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : And making the stack commands just work on funge-space is actually a simplification since you don't need to implement a stack :-P <-- funge space is quite a bit slower due to the sparse-ness < 1266967225 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :zybourne time travel is the idea that time travel towards to passt just modified history as it was, and while the particular initial point of when you initiated traveling back in time once existed in time, it doesn't any more. < 1266967230 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :past&* < 1266967232 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Speed was not the issue < 1266967233 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :past* < 1266967235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : "In Funge-98, stack and Funge-Space cells alike should be treated as signed integers of the same size." <-- so the stack is a single signed integer? < 1266967248 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: (stack and Funge-Space) cells < 1266967270 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not: stack and (Funge-Space cells) < 1266967320 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The latter would require a "the" to be valid anyway < 1266967331 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :traditional time travel is time travel that insists that causalty must remain intact, so going to the past would be virtually impossible without causing a paradox. < 1266967367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : AnMaster: (stack and Funge-Space) cells <-- I know < 1266967374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I was just joking < 1266967387 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Your joke failed because your parse is not valid < 1266967390 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1266967395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, meh < 1266967409 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: TRDS is Zybourne, then < 1266967424 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1266967465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Wareya, with zybourne "[...] the particular initial point of when you initiated traveling back in time once existed in time" is problematic < 1266967471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what does "once existed" mean here < 1266967486 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :once upon a time < 1266967489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it implies a beore < 1266967490 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before* < 1266967495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but along what time axis? < 1266967498 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :? < 1266967508 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :"once existed" is illogical < 1266967515 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :it's the only expression I could come up with < 1266967528 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's the issue indeed I had with it < 1266967533 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :k < 1266967544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, night → < 1266967560 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't exist in time, but the cause is something that doesn't exist because of its effect. < 1266967563 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :Night. < 1266967568 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i would suggest a certain book by dr. dan streetmentioner < 1266967604 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Which willo-onhaven been written, I presume? < 1266967616 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :presumably < 1266967734 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 256 seconds < 1266968214 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1266968924 0 :cpressey!unknown@unknown.invalid PART #esoteric :? < 1266969024 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Read error: Connection reset by peer