00:02:01 -!- augur_ has changed nick to augur. 00:14:25 -!- GreaseMonkey has quit (Quit: The Other Game). 00:21:40 -!- Ngevd has quit (Ping timeout: 260 seconds). 00:23:45 @src concat 00:23:45 concat = foldr (++) [] 00:26:02 :t iterate 00:26:03 forall a. (a -> a) -> a -> [a] 00:26:39 > (!! 200) $ iterate id 5 00:26:40 5 00:26:45 > (!! 2000) $ iterate id 5 00:26:46 5 00:26:51 > (!! 2000000000000) $ iterate id 5 00:26:57 mueval: Prelude.undefined 00:26:57 mueval: ExitFailure 1 00:27:28 > (!! 20000000) $ iterate id 5 00:27:34 mueval-core: Time limit exceeded 00:27:42 > (!! 20000) $ iterate id 5 00:27:45 5 00:27:49 > (!! 200000) $ iterate id 5 00:27:50 5 00:27:54 > (!! 2000000) $ iterate id 5 00:27:56 5 00:45:05 -!- roper has quit (Quit: Abandonando). 00:51:10 would it be possible to just diverge science into 2 schools? 00:51:23 the P = NP school and the P != NP school? 00:55:34 um 00:55:49 P = NP is a complexity theory thing, so I can't see there being much difference in those 2 schools of science. 00:56:29 but, for example: 00:56:30 http://en.wikipedia.org/wiki/NP-hard 00:56:46 this article has two diagrams. one where P = NP, and one where it does not. 00:58:47 it seems that complexity theory, rather than uselessly dividing itself into two schools of thought, instead just considers both possibilities. 01:16:25 -!- GreaseMonkey has joined. 01:16:25 -!- GreaseMonkey has quit (Changing host). 01:16:25 -!- GreaseMonkey has joined. 01:17:02 -!- pikhq has joined. 01:20:17 -!- pikhq_ has quit (Ping timeout: 252 seconds). 02:05:05 -!- kwertii has quit (Quit: bye). 02:15:13 -!- augur has quit (Ping timeout: 240 seconds). 02:15:49 -!- augur has joined. 02:19:10 how are lists defined in the Prelude? 02:19:28 can't seem to find them 02:19:32 are they special? 02:21:24 They're special, due to the type being [a] 02:21:33 Which isn't otherwise legal. 02:21:34 (meaning, do they not have a data declaration since their syntax is a special case) 02:21:37 ah okay 02:21:48 same with tuples then as well I guess. 02:22:19 * kallisti demands -XcircumfixOperators 02:22:23 *C 02:22:56 * kallisti notes how difficult that would be to actually implement and design in a sane manner. 02:31:57 the numeric patterns are interesting in that they seem to be the only overloaded patterns... 02:32:07 or do they only match on Int and Integer? 02:32:27 > let f 0 = 0 :: Sym Int in f 0 02:32:28 0 02:32:53 nothing else pattern matches on an entire typeclass. 02:33:01 except I guess maybe OverloadedStrings? 02:33:24 I wouldn't be surprised if it doesn't overload string patterns. 02:33:56 oh wait 02:34:03 > let f 0 = 0 :: Sym Int in f (0 :: Sym Int) 02:34:04 0 02:34:06 oh okay. 02:59:09 -!- _Slereah has changed nick to Slereah. 04:26:04 -!- MDude has changed nick to MSleep. 04:42:46 -!- kwertii has joined. 04:53:32 ?src [] 04:53:33 data [] a = [] | a : [a] 05:11:01 lies 05:16:32 -!- oerjan has joined. 05:18:59 00:51:10: would it be possible to just diverge science into 2 schools? 05:19:02 00:51:23: the P = NP school and the P != NP school? 05:19:59 the problem is that the P=NP school is nearly useless without finding the actual P-algorithm for SAT (or any other NP-complete problem), at which point the P != NP school will promptly collapse. 05:21:30 oerjan: most people are pretty convinced that P != NP right? 05:21:34 otoh there has been some discussion on the godel's lost letter blog that the P=NP possibility gets underinvestigated. (Prof. Lipton himself is one of the few who think it might be the true case) 05:21:54 *thinks 05:22:57 02:19:10: how are lists defined in the Prelude? 05:23:05 oerjan: intuitively it certainly doesn't seem very possible, but that's not a good basis for research direction. 05:23:12 with a comment to the effect that the syntax would be illegal, i think 05:23:46 data [a] = [] | a:[a] deriving BucketsOfClasses 05:23:58 or something like that ;P 05:24:13 it would be nice if Haskell had a better precedence system. 05:24:43 you could define them in relation to one another, in essence. 05:25:22 kallisti: well the blog is also full of cranks who think one side is obviously true, and get angry when no actual mathematician thinks their argument is convincing. 05:25:42 (or more often, thinks their argument is worth reading at all) 05:26:15 precedencegroup Arithmetic = (+), (-) < (*), (/), `div`, `mod`, `divMod` < (^), (^^), (**) 05:26:23 you could also refer to other groups relationally. 05:26:35 the group simply exists for ease of referral in other precedence relations 05:28:55 the only problem is that it says nothing about the associativivity 05:28:58 I'm sure there's a better notation 05:29:00 i think the groups should also include associativity. it's annoying that you can have two operators on the same level which cannot be combined because their associativities clash. 05:29:09 e.g. $ and parsec's 05:29:12 yes 05:29:14 $ and $! 05:29:28 um they _do_ have the same don't they? 05:29:33 > (0$0$!) 05:29:34 The operator `Prelude.$!' [infixr 0] of a section 05:29:34 must have lower prec... 05:29:36 yep 05:30:02 but some think they should have been left instead 05:30:07 (i.e. Cale) 05:30:46 I think that makes sense, but at the same time I don't really think f x y $ g z $ h a b $ i c 05:30:49 looks very good 05:31:08 assuming left associativity 05:31:38 not sure how to cleanly encode associativity in precedence groups though 05:31:47 "opgroup" is probably a better name. 05:31:49 shorter 05:32:05 or maybe opset 05:32:31 also I'm not sure how you'd do things like $ 05:32:54 and specify that it's either "lower than everything" or "lower than some other really low thing" 05:32:59 precedencegroup Arithmetic = (+), (-) < (*), (/), `div`, `mod`, `divMod` < (^), (^^), (**) <-- rather silly use of `` and () there :P 05:33:06 oh, yes. 05:33:16 well I thought the `` was required? 05:33:30 yes, but the () is prohibited in fixity declarations 05:33:37 right I forgot about that. 05:34:47 it would probably be a good idea to define one level at a time with different associativities 05:34:54 so that other operators could be put inbetween those. 05:35:12 the relations would be <, =, and > 05:35:52 anyway I just think it adds more flexibility than the fixed set of integer levels. 05:36:03 which are all completely filled by Prelude operators. 05:36:39 hm easy solution to the $ and . problem - require all new groups to be defined _between_ two existing ones. 05:36:39 I'm not sure how intuitive it would be either. in simple cases it would be more intuitive I think 05:37:12 other problems: no default precedence 05:37:16 unless... 05:37:19 you have a special Default grou[ 05:37:23 p 05:38:02 you could just make it the . group, and change that to infixl - the operator's bloody associative, after all! 05:38:18 although it would break old sections. 05:38:49 of the (. f . g) form 05:38:54 I thought the default was like 4 or something? 05:39:02 no, default is infixl 9 05:39:06 oh 05:39:07 okay. 05:39:49 although equally obviously, (f . g .) is much more useful than (. f . g) so the latter probably should just be left to break. 05:40:10 (i think.) 05:40:21 :t (?f . ?g .) 05:40:22 I didn't know changing the associativity would break sections like that 05:40:22 The operator `.' [infixr 9] of a section 05:40:22 must have lower precedence than that of the operand, 05:40:22 namely `.' [infixr 9] 05:40:28 :t (. ?f . ?g) 05:40:28 I figured it would just parse it as (. (f . g)) 05:40:29 forall a b a1 (f :: * -> *). (?f::a1 -> a, ?g::f a1, Functor f) => (a -> b) -> f b 05:41:36 nope, the rule is that it's only legal if \x -> x . f . g parses like \x -> x . (f . g) 05:42:18 of course it's been discussed whether it should always mean the former 05:42:24 I think having a Default group makes sense, then just structure the Prelude operators around the Default in some sensible way (I think . should probably be higher precedence than default), and then have special values for lowest precedence and highest precedence. 05:45:02 it could even be a "None" group... so... 05:46:01 opgroup App = $, $!, `seq` where App > None 05:46:11 (improved the syntax a bit, not sure how to do associativity cleanly) 05:46:23 :t (0$0 `seq`) 05:46:24 The operator `seq' [infixr 0] of a section 05:46:24 must have lower precedence than that of the operand, 05:46:24 namely `$' [infixr 0] 05:46:42 oerjan: I recently took a look at the Reports operator table so this shit's still fresh in memory. :P 05:48:10 the rule on the where part would be that the groupname has to be mentioned, and that it can't create a logical contradiction (no clue how to make that efficient at compile-time or what that even entails) 05:48:23 elliott linked me to a paper on this style of precedence handling, but I never read it. :P 05:48:35 well 05:48:38 I read part of it. 05:48:42 just not the implementation details. 05:49:09 oh it was Agda mixfix . 05:49:14 that it was describing 05:55:58 I wonder what's the longest period of time a written language standard has been the same as the de facto standard. 06:11:08 -!- oerjan has quit (Quit: leaving). 07:01:11 -!- Klisz has quit (Quit: SLEEP, GLORIOUS SLEEP). 07:02:18 -!- aloril has quit (Ping timeout: 240 seconds). 07:17:47 -!- aloril has joined. 07:25:23 -!- kwertii has quit (Quit: bye). 07:34:37 -!- azaq23 has joined. 07:34:46 -!- azaq23 has quit (Max SendQ exceeded). 08:10:19 -!- GreaseMonkey has quit (Quit: The Other Game). 08:17:51 -!- kallisti has quit (Quit: Lost terminal). 08:45:29 -!- Jafet has joined. 09:08:15 fizzie: You're more face-hairy than when I last saw you. 09:21:45 It keeps happening. 09:22:03 Also I didn't notice anyone noticing me. 09:27:24 http://www.haskell.org/wikiupload/2/23/Monad-tutorials-chart.png 09:27:45 -!- roper has joined. 09:28:52 -!- pikhq has quit (Read error: Operation timed out). 09:29:36 -!- pikhq has joined. 09:49:58 kmc, graph it agienst the number of Java reflection tutorials 09:50:51 -!- kallisti has joined. 09:50:51 -!- kallisti has quit (Changing host). 09:50:51 -!- kallisti has joined. 09:53:56 And global warming. 10:01:51 fizzie, I'm trying to make kmc feel crushing despair! 10:03:58 the difference is that "reflection tutorial" is not sought out as the solution to each and every Java question 10:04:40 Okey 10:04:48 "Object Oriented Design tutorial" 10:04:59 anyway why is this supposed to make me feel crushing despair 10:08:42 i'll bet the average java reflection tutorial imparts more knowledge than the average monad tutorial 10:08:48 since the average monad tutorial imparts negative knowledge 10:54:31 * kallisti eats a burrito quietly in the background. 10:55:11 kmc: what knowlege are you looking for a monad tutorial to impart? 10:56:10 teaching someone how to use monads is probably the easiest to do, and the most relevant to Haskell programming. 10:56:31 I don't need to know everything about real categorical theoretical monads to write programs. 10:58:03 I recall wikibooks had a pretty good tutorial for monads, but only if you already had a slight understanding of them previously. 11:04:55 so, if you're not actually stuck in the questions of why like many do 11:05:07 it's a good learning resource. 11:10:22 i'm not looking for a monad tutorial to impart any knowledge 11:10:32 but apparently lots of other people are 11:40:50 fizzie: I exited T1 and walked past you downstairs 11:42:44 -!- Phantom_Hoover has joined. 11:54:50 -!- ais523 has joined. 12:04:53 09:49:58: kmc, graph it agienst the number of Java reflection tutorials 12:04:54 Phantom_Hoover: You have 3 new messages. '/msg lambdabot @messages' to read them. 12:05:02 Java reflection sounds unpleasant. 12:05:22 it sounds better than not having it 12:05:45 I don't know what it /is/. 12:05:52 It just sounds unpleasant. 12:06:35 heh 12:10:36 it gives you Java classes named Class, Method, Constructor, etc. 12:11:01 you can get the Class for any object, enumerate its Methods (and their names as strings, and their types), call a Method, etc 12:15:19 there are also related APIs (don't know if it's technically part of reflection) for dynamically loading .class files, or for loading JVM bytecode you've generated on the fly 12:21:32 -!- ais523 has quit (Ping timeout: 252 seconds). 12:26:03 -!- ais523 has joined. 12:30:06 -!- Ngevd has joined. 12:30:15 Deewiant: Hokay. I recall vaguely that some people came out of there. Maybe. 12:30:19 Hello 12:33:05 Well, they did. 12:37:36 hi Ngevd 12:39:46 Phantom_Hoover: reflection in OO languages is when the language constructs themselves are represented by objects 12:39:59 so, e.g., you can have a Class object and get a list of Method objects corresponding to it 12:40:12 ais523, that sounds like the kind of thing which puts Feather beyond the reach of man. 12:40:29 typically, you can also use these things indirectly, e.g. you can do something like Class.callStaticMethod(Method x) 12:40:34 probably named differently 12:40:54 and actually, Feather doesn't have reflection by default, but it's possible to retroactively add it onto the language after you've already created a bunch of objects 12:44:42 -!- Ngevd has quit (Ping timeout: 255 seconds). 12:46:27 java.lang.System.class.getMethod("exit", int.class).invoke(null, 42); + catch a dozen checked exceptions. 12:47:07 Static methods are just Methods, and their .invoke() ignores the first parameter. 12:48:56 The above can apparently throw NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException or InvocationTargetException, so maybe "dozen" was a bit of an exaggeration. (Or NullPointerException or ExceptionInInitializerError, but those aren't checked.) 12:49:11 how is it determined whether a particular exeception is checked? 12:50:01 If it derives from a Throwable that's not a descendant of Error or RuntimeException, it's checked, IIRC. 12:51:11 "The unchecked exceptions classes are the class RuntimeException and its subclasses, and the class Error and its subclasses." 12:52:04 ah 12:52:54 is that equivalent to saying that "throws RuntimeException, Error" is implicit on every method? 12:55:09 put another way, can i throw a subclass of something in the "throws" clause without putting the exact type in the "throws" clause? 12:55:21 kmc: right 12:55:29 Yes. 12:55:36 cool 12:56:32 fizzie: ExceptionInitializerError? 12:56:33 You could put a "throws Throwable" in and throw anything, but then all your callers would also need to "throws Throwable", or catch (at least as a fallback) Throwable. 12:57:05 -!- Phantom_Hoover has quit (Remote host closed the connection). 12:57:27 ais523: "ExceptionInInitializerError - if the initialization provoked by [Method.invoke] fails". 12:58:00 oh, Exception In Initializer 12:58:06 not Exception Initializer 12:58:08 I see 12:58:28 I thought it was something like an exception trying to create an exception, and became an error to stop recursion 12:58:42 i heard you like exceptions 12:59:58 I'm sure C++ programmers think Java's exceptions are pretty lame, since you always have to subclass Throwable. At least C++ lets you throw whatever you want, like integers, or std::maps, or other sane things. 13:00:14 :D 13:02:06 "if the initialization provoked by [Method.invoke] fails" 13:02:10 i like the use of the word "provoked" here 13:09:51 in C++ if you throw an object by value (and catch it by const reference, say), where will compilers tend to allocate it? 13:18:18 I'm not sure if there even is a convention. It could even be somewhere on the stack, depending on how unwinding gets done, since all it needs to do is to last until the last relevant handler exits. 13:24:16 -!- ais523 has quit (Ping timeout: 272 seconds). 13:25:09 http://www.fifi.org/doc/g++-3.0/libstdc++/html_user/eh__alloc_8cc-source.html#l00097 -- in this version of G++, apparently on the heap as seen by std::malloc, except there's also an emergency_buffer which is used if it's out of memory. 13:25:44 Though that only works for exception objects that are 1024 bytes or less. 13:35:14 -!- sebbu2 has joined. 13:35:14 -!- sebbu2 has quit (Changing host). 13:35:15 -!- sebbu2 has joined. 13:38:20 -!- sebbu has quit (Ping timeout: 252 seconds). 13:42:17 heh 13:44:18 that's entertaining 13:49:15 if (++which >= EMERGENCY_OBJ_COUNT) goto failed; 13:49:39 It's very bitmasky. 13:50:44 There's also some sort of a emergency_mutex to avoid multiple threads messing the emergency_buffer at the same time. 13:51:18 Ah, so there's space for 64 of those at-most-a-kilobyte emergency objects. 13:53:17 too much arbitrary numbers 14:07:02 I'm not sure if there even is a convention. It could even be somewhere on the stack, depending on how unwinding gets done, since all it needs to do is to last until the last relevant handler exits. // the only way I can think of that it could be on the stack is if the code that entered the try block allocated the space, and the code that threw put the object there, but that would be hyper-awkward for subtypes ... 14:07:40 i was thinking it would be in the thrower's stack frame 14:07:49 That could get overwritten. 14:07:56 I suppose it could leave it high in the stack with the implied agreement that the handler copies it if it's executed. 14:07:57 you wouldn't actually free the stack until exception handling is complete 14:08:09 But the handler can call functions. 14:08:16 And hence extend its stack back over the thrower's. 14:08:17 you'd run exn handling code on a separate stack 14:08:20 i think that's pretty common 14:08:21 Ohhhhhhhhhhhh 14:08:28 Idonno if it is *shrugs* 14:08:56 but you're still unwinding those original stack frames and executing destructors 14:09:02 even if you're not freeing the memory 14:09:07 and so I think it's still problematic 14:09:23 Ohyeah :) 14:09:43 hmm, but a temporary can outlive the auto variables of the activation where it was created, right? 14:10:17 "Can" in what sense? Technically or spectically? 14:10:26 that the spec allows it 14:10:42 I don't think so. But C++ ain't my bag. 14:27:35 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .). 14:30:04 -!- ais523 has joined. 14:30:37 hmm, the theoretical computer scientists here were trying to figure out how to persuade a grant applications board that their theoretical computer science would help the UK in particular 14:36:24 so i think from a zero entropy SFT, ultimate sets of CA can be RE^RE^RE-complete 14:36:35 what do *you* think? 14:36:45 i think this result will help finland. 14:38:46 but will it help finland /more/ than it helps other countries? 14:39:43 hmm 14:40:03 i don't know which turing degrees each country prefers 14:41:30 today, i was trying to decide whether ultimate sets can be RE-hard or co-RE-hard, and turned out both. so i figured wow, do they capture RE^RE. and then i was like MIND FUCKING BLOWN when i realized we can't even prove they *are* in RE^RE. 14:42:15 the funny part is they are in some sense just as natural as limit sets (which obviously capture co-RE) 14:42:39 you just take the f-orbit closure of each point and take their union (where f is the CA) 14:42:51 the limit set is the set of points with an infinite preimage chain 14:43:39 is their research useful for breaking nazi codes 14:43:59 RE^RE^RE-complete sets can break quite a few codes at least 14:44:06 it's true 14:44:12 i heard you like oracles 14:44:17 :D 14:44:40 fuck you, now we have to name our article "so i heard u like oracles..." 14:45:02 *liek 14:45:06 get xzibit as a co-author 14:45:09 also, IIRC *herd, but I'm less sure on that one 14:45:10 :DD 14:45:33 that would be fucking awesome 14:46:11 there's some crossover between "i herd u liek mudkips" and "we heard you like cars so we put a car in yo’ car so you can drive while you drive" 14:46:19 they're having meme-babies 14:46:50 kmc: indeed, I noticed that a while ago 14:47:11 i wonder if we'd have to pay xzibit to be allowed to use his name 14:47:32 his real name obviously, i doubt it's that 14:47:45 well i guess you can just change your name whenever you like in the us 14:48:20 (that's RE^(RE^RE) right? i guess (RE^RE)^RE = RE^RE) 14:48:55 yes 14:49:27 ^ is usually right-associative because of reasons 14:52:04 -!- MSleep has changed nick to MDude. 14:53:04 how do i contact xzibit, seriously this has to happen 14:57:00 -!- oerjan has joined. 14:58:21 -!- oerjan has set topic: now open for Americans to liberate | Get your esoil and esoline here! | Bow to the glorious optators! | Weapons of mass banning suspected | http://codu.org/logs/_esoteric/. 14:58:51 wat 14:59:05 -!- oerjan has set topic: #esoteric now open for Americans to liberate | Get your esoil and esoline here! | Bow to the glorious optators! | Weapons of mass banning suspected | http://codu.org/logs/_esoteric/. 14:59:40 it appears /topic removes the #esoteric as a channel argument 15:01:57 And global warming. <-- and pirates. or is that redundant? 15:05:25 -!- oerjan has set topic: #esoteric now open for Americans to liberate | Get your esoil and esoline here! | Bow to the glorious optators! | "Proof" of weapons of mass banning | Spotted marsh elliott suspected extinct from channel | http://codu.org/logs/_esoteric/. 15:06:30 elliott is gone? :o 15:06:43 He's active in #haskell 15:06:55 i haven't seen him since he ragepatted 15:07:20 (here, that is.) 15:07:48 what is ragepatting 15:08:09 like rageparting, but more hands-on, i think 15:10:53 why did he ragepat? 15:11:44 mainly because i quieted him after spamming 15:11:56 how much did he spam 15:12:10 o 15:12:11 o 15:12:11 o 15:12:11 o 15:12:11 o 15:12:11 o 15:12:11 o 15:12:12 o 15:12:12 oo 15:12:13 o 15:12:13 o 15:12:14 o 15:12:20 a couple screenfuls? 15:12:20 okokokokokokokokokokokokokokokokokokokokoko 15:12:24 :P 15:12:37 was the channel active 15:12:56 not that much 15:14:03 ok he also went ballistic with another nick after being quieted 15:14:10 which ais523 kicked 15:15:30 and i was reading backscroll so not responding promptly... 15:16:36 and saying something ironic in privmsg about eventually unquieting him if i found he had behaved when i finished reading the backscroll (which he hadn't, and which i knew) 15:16:58 and then finally i took 2 minutes longer to unquiet him than he had patience for. 15:17:24 *sarcastic 15:17:56 so now he has probably written us all off as evil oppressive dictators. 15:22:04 fizzie: I exited T1 and walked past you downstairs <-- i am sorry but esolangers are only permitted to live in the same town if they never meet in person. hth. 15:22:42 We don't live in the same town, AIUI. 15:23:15 details. 15:23:29 And he doesn't know what I look like so it's all good. 15:23:36 aha 15:24:08 i guess that's acceptable. 15:26:19 Deewiant: but you do know what /he/ looks like? 15:26:26 Yep 15:26:46 * oerjan knows what ais523 looks like. In theory. 15:27:03 if you ever happen to meet me, say hi 15:27:48 assuming i remember what you look like. i _said_ it was in theory. 15:28:46 I know what Gregor looks like, but that's it 15:29:37 ardent channel regulars may know what i looked like 15 years ago or so. 15:36:19 I think I saw a photo of oklopol once, not sure though 15:36:28 (I still look much like the photo of me that most of #esoteric saw) 15:36:41 * Sgeo doesn't remember that photo 15:40:41 also, IIRC *herd, but I'm less sure on that one <-- how does one herd mudkips, anyway. 15:41:18 oerjan: drawing circles around them very quickly 15:41:21 * ais523 is a Pokémon expert 15:41:39 amazingly, this is apparently canon by now 15:41:41 not sure though 15:45:20 http://www.haskell.org/wikiupload/2/23/Monad-tutorials-chart.png <-- hm i think we've found the burst bubble which was the _real_ cause of the financial crisis. 15:45:47 i don't see a burst bubble 15:45:50 it's still trending up 15:45:52 buy buy buy 15:46:28 kmc: tutorials don't usually stop existing, you know. 15:46:41 ah, so you're saying we should consider the derivative 15:46:47 yeah 15:48:19 in an ideal world: exponential rate of monad tutorial growth 15:48:41 in an ideal world: monad tutorials can reproduce 15:48:55 monqy: insufficiently singularitarian, we need an asymptote! 15:49:14 monad tutorials for everyone, and then some 15:49:45 clearly it's just a matter of first inventing the AI monad, then that AI monad transformer, then applying the latter to the former. 15:49:50 *the 15:52:16 Why do I listen to The Onion radio stuff? 15:52:28 I like the Onion, except for that, which is usually garbage 15:54:57 i think an article about Sgeo saying the onion radio is crap would be about average onion fare, no? 16:03:11 -!- augur has quit (Remote host closed the connection). 16:08:19 -!- Ngevd has joined. 16:08:45 -!- Klisz has joined. 16:12:49 -!- zzo38 has joined. 16:14:36 -!- Ngevd has quit (Read error: Connection reset by peer). 16:29:40 -!- sebbu2 has changed nick to sebbu. 16:38:03 -!- FishNot has joined. 16:43:28 -!- Gregor has set topic: #esoteric now open for Americans to liberate | Get your esoil and esoline here! | Bow to the glorious optators! | "Proof" of weapons of mass banning | Spotted marsh elliott suspected extinct from channel | Natives beware of Gregor: Do not let his name deceive, he is as American as apple pie isn't | http://codu.org/logs/_esoteric/. 16:48:09 shocking 16:50:58 hm, something is fishy 16:51:44 * Gregor hides the trout. 16:51:51 -!- Ngevd has joined. 16:52:20 nah, the trout is a red herring 16:53:24 FishNot, WantNot. 16:56:59 -!- Ngevd has quit (Ping timeout: 245 seconds). 17:01:56 -!- Ngevd has joined. 17:08:19 -!- Taneb has joined. 17:08:39 -!- Ngevd has quit (Ping timeout: 245 seconds). 17:12:20 -!- Taneb has quit (Read error: Connection reset by peer). 17:13:41 -!- Phantom_Hoover has joined. 17:14:55 Y'know what I love and think is the greatest technological achievement of our era? 17:14:56 oerjan: Regarding your tl;dr description of the drrrrama, you could've just admitted you were being on a POWER TRIP, I think that was the description of the whole thing that I got from the final /quit message. 17:15:01 SSH (<-- ais523 looky) 17:15:11 heh 17:17:43 15:17:56: so now he has probably written us all off as evil oppressive dictators. 17:18:05 You *did* refuse outright to ban Mathnerd when he was spamming even more heavily. 17:18:21 -!- oerjan has set topic: #esoteric now open for Americans to liberate | Get your esoil and esoline here! | Glorious optator in hospital after tripping over power line | "Proof" of weapons of mass banning | Spotted marsh elliott suspected extinct from channel | Natives beware of Gregor: Do not let his name deceive, he is as American as apple pie isn't | http://codu.org/logs/_esoteric/. 17:19:23 Phantom_Hoover: that was also compounded by backscrolling, which is precisely why i tried _not_ waiting until i'd read everything before acting the last time. 17:19:46 oerjan, even when you were /asked/ to do something about it? 17:20:05 Do you really need to read through backscroll to see that the channel is being spammed? 17:20:29 Phantom_Hoover: um reading backscroll means i don't see what's _new_ 17:20:38 ... 17:21:03 Have you ever tried the Internet Quiz Engine? 17:21:07 irssi only tells me there is more in the window, not how much. 17:21:09 Hm, so I'm guessing by context that there was some spammy incident, oerjan didn't ban, and elliott left in a huff? 17:21:50 Gregor: um no, there was some spammy incident, i didn't ban, elliott complained, then weeks later _elliott_ spammed, i banned, and elliott left in a huff. 17:21:59 Mmmmmmmmmmm 17:22:04 s/banned/quieted/ 17:22:07 No; Mathnerd spammed the channel a while back, and oerjan refused to ban him. elliott spammed the channel, then after he'd stopped oerjan +qed him and elliott flipped his lid. 17:22:24 Oh, people who take things seriously. 17:22:25 So adorable. 17:22:29 i didn't know he had stopped when +q'ing him. 17:23:24 and then he went ballistic before i reached the end of backscroll and could make a proper decision. 17:25:58 i wish irssi had a way to split a channel window like vim does :( 17:26:39 at least i couldn't find one last i checked 17:27:39 (by which i mean two subwindows with different views of the same channel) 17:31:03 Hm, who is using my nick? 17:31:51 >.> Fishbot imposter 17:33:27 eek, the bot speaks! 17:34:05 fungot: Speak! 17:34:06 fizzie: mr president, the pensioners' party and all pensioners, including italian pensioners, to whom we have a situation which completely changes the last 50 years, we have a problem with bringing forward the national contributions. in addition, we have not progressed towards real, practical proposals which promote global co-operation instead of commercial competition, especially to the rapporteur, mr koch, for his report. 17:35:02 italian pensioners overturning europe, check 17:39:23 -!- _Slereah has joined. 17:39:34 -!- Slereah has quit (Ping timeout: 240 seconds). 17:42:12 oerjan: Anyhoo: "/window new split" + "/lastlog -window #esoteric" almost gives you split two views of a channel. Only the old window is actually showing the channel, but the lastlog'd version does sort-of work for scrollback browsing. 17:42:43 (/lastlog always outputs to the active window.) 17:44:12 i'd switch that around if i used it, i think 17:45:41 ...i guess i could just use the logs. 18:15:58 did you know that ice is made of water? 18:18:12 i heard rumors. 18:30:02 -!- Vorpal has joined. 18:30:57 Ice XV, the best sort of ice. (The different forms of ice are weird.) 18:43:57 -!- oerjan has quit (Quit: leaving). 18:50:33 -!- ais523 has quit (Remote host closed the connection). 19:03:07 -!- kmc has quit (Quit: Leaving). 19:32:53 why are macros called macros? 19:34:32 Short for macroinstruction, which is essentially "an instruction that does many things". 19:34:55 Aw. :/ My invented etymology was that you get a big ("macro") thing (the expansion) out of a small thing (the invocation). 19:35:02 macroinstruction literally means "big instruction" 19:35:12 yes 19:35:51 I fully support the campaign for renaming all macros "biggies". 19:35:54 The "big" can mean "big in effect" or something like that, which is why I preferred "does many things". 19:36:06 It's not big in itself, IMO. 19:36:11 "So what's this C++ template?" "Oh, it's no biggie." 19:37:30 http://esolangs.org/wiki/User_talk:User450 This is the only contribution by this user. 19:38:56 -!- Ngevd has joined. 19:39:22 Hello! 19:40:02 -!- kmc has joined. 19:40:28 -!- kmc has quit (Read error: Connection reset by peer). 19:40:28 I've written te start of an Underload interpreter in Haskell 19:41:45 -!- kmc has joined. 19:45:09 ^ul ((15a)(14s)(1k)(2e)(12l)(11l)(10 )(3H)(9a)(8s)(7k)(5e)(4l)(13l)(6 )(0H))(~^:()SSa~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a*~:^):^ 19:45:10 Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell ...too much output! 19:45:19 MUSHROOM MUSHROOM 19:45:44 YESSSSSSSS 19:46:02 fizzie :D 19:46:20 -!- kmc has quit (Remote host closed the connection). 19:46:46 -!- kmc has joined. 19:48:13 Actually I sorta screwed up in that two colors were wasted for spaces. I will do it once more, with feeling. Sorry for the rainbowness to all non-color-filtery folks. 19:48:16 ^ul ((15a)(14s)(1k)(2e)(12l)(11l)(10!)(0 )(3H)(9a)(8s)(7k)(5e)(4l)(13l)(6?)(0 )(0H))(~^:()SSa~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a~*~a*~:^):^ 19:48:17 Haskell! Haskell? Haskell! Haskell? Haskell! Haskell? Haskell! Haskell? Haskell! Haskell? Haskel ...too much output! 19:49:01 (Now it utilimazes all 16 collurs.) 19:50:44 Why are movies only shown in 3D today? I tried to purchase non-3D ticket but they didn't have one. 19:50:45 good utilimazation 19:51:10 zzo38, because your cinema is FUTURISTIC 19:51:24 Even Hexham's cinema has 3D now 19:51:46 so what happened to elliott? 19:51:57 I think he's banned from this channel 19:52:15 The rumours are going wild! 19:52:23 (No, he's not.) 19:52:26 Okay 19:52:28 If elliott is banned then you should make then unbanned 19:52:37 lol 19:52:54 he just ragequit. 19:53:09 Anyway, it was discussed (again) today, you do not need to look very far back. 19:53:37 -!- kmc has quit (Quit: Leaving). 19:53:59 He's very much talking in #haskell 19:54:03 I wonder if I should ask 19:54:12 Sgeo: ask what? 19:54:20 Why he hasn't come back 19:54:34 I'm scared of #haskell 19:54:38 It's big and scary 19:54:43 should be pretty clear why he hasn't come back, I would think. 19:55:06 It's in the topic and all; we're all bunch of power-mad optators. 19:55:11 i missed all the drama 19:55:20 -!- Gregor has left ("Leaving"). 19:55:24 -!- Gregor has joined. 19:55:29 i am glad to have done 19:55:35 Reminder: Ctrl+W is leave channel, ctrl+Q is quit. 19:55:52 See, now Gregor has ragepa.. oh, never mind. 19:56:48 * kallisti was resent during the drama. there wasn't very much of it, at least on channel. 19:56:58 I AM RESENT!!! 19:57:02 lol 19:57:10 Hmm 19:57:20 Should I bother updating elliott when there's an update? 19:57:27 Phantom_Hoover, there? 19:57:40 Sgeo: these are questions you must ask yourself. deep soul-searching questions that define who you are. 19:58:11 Sgeo: Why not, maybe the updated versions will get new features or something? 20:04:04 helo 20:04:50 gretins 20:04:54 ih 20:04:56 Should I bother updating elliott when there's an update? 20:05:01 Yes. 20:05:04 Why he hasn't come back 20:05:06 Phantom_Hoover, I know you are a big fan of space games, and I found what looks like a quite interesting one. 20:05:19 He hates everyone. 20:05:24 Vorpal, oh dear. 20:05:54 I'm both interested in if you heard about it (and have opinions on it), because it looks quite fun from watching some videos. And if not it might be of interest to you. 20:05:58 -!- Ngevd has quit (Quit: brb). 20:06:12 What is it? 20:06:14 Phantom_Hoover, called Evochron Mercenary. Saw it on the front page of steam. 20:06:25 Oh no does it cost MONEYS 20:06:30 well yes 20:06:36 Phantom_Hoover, quite a bit in fact 20:06:40 looks like a free-form open world space simulator. 20:06:40 space is supposed to be freeeeeeeeeee 20:06:50 with trading and battles and what not 20:07:08 Also I got Skyrim like 4 days ago so other games are kind of pushed aside. 20:07:41 oh and apparently there are no enforced jump gates or such, you can fly from the surface of one planet in one solar system to the surface of another in another solar system if you have the time and fuel to do so 20:07:56 (though it does seem to have both jump drives and jump gate thingies) 20:08:05 Phantom_Hoover: let me know when you realize how unexciting the actual gameplay is. also when you discover a game-breaking bug. 20:08:38 (by game-breaking I mean your save file, not the entire game. :P ) 20:08:43 kallisti, d'aaaaaaw. 20:08:52 Phantom_Hoover, anyway it looks kind of cool. I'm currently trying to find reviews of it. It seems to be indie. But it looks very complex and also graphically quite advanced 20:09:11 Anyway I guess you got your new computer working then Phantom_Hoover? 20:09:14 what was the issue? 20:09:26 The issue was the graphics card not working. 20:09:32 yes but why? 20:09:37 fabrication issue? 20:09:40 handling issue? 20:10:10 We Just Don't Know(TM). 20:10:18 hm okay 20:10:47 the game cost 18.39€ btw 20:10:54 quite a bit outside my current budget 20:11:20 -!- kmc has joined. 20:11:32 anyway it has good a reasonable metacritic score (not that that means much) 20:12:02 Phantom_Hoover: isn't that the expression people make when something is really cute or adorable? 20:12:14 kallisti, indeed. 20:12:24 also it seem to have a shipyard system comparable to the character creation in skyrim XD 20:13:12 Phantom_Hoover: then I don't understand that reaction. :P 20:13:22 kallisti, I know. d'aaaaaaaaw. 20:13:52 -!- Ngevd has joined. 20:13:57 Hello! 20:14:32 Hello. 20:15:18 -!- kmc has quit (Client Quit). 20:18:06 There are a few small bugs in my code 20:21:16 Oi, Ngevd, are matrices a further maths thing 20:21:34 Yes 20:21:40 what 20:21:45 further than what 20:21:52 Normal maths 20:21:55 Of course 20:22:02 -!- kmc has joined. 20:22:03 i consider linear algebra normal maths 20:22:19 There's also Even Further maths and Too Far You've Passed It maths 20:22:28 normal maths is everything up to calc 3 20:22:36 after that you're specializing :) 20:32:07 -!- Ngevd has quit (Read error: Connection reset by peer). 20:32:23 -!- Ngevd has joined. 20:37:07 Phantom_Hoover, ooh you can build new stations and such, and AI ships and so on will begin use them. 20:37:12 that seems pretty cool 20:38:29 quintopia, linear algebra linear algebra or matrices but a bit harder linear algebra? 20:39:45 Phantom_Hoover: say that again but differently 20:40:20 quintopia, do you write, at any point, a double-struck K? 20:41:03 uh 20:41:04 -!- Ngevd has quit (Ping timeout: 248 seconds). 20:41:13 no? 20:42:01 Then it's matrices but a bit harder linear algebra, qed 20:43:13 what is a double-struck k for? 20:43:26 Any field. 20:48:53 Phantom_Hoover, btw it seems there is a free demo of that game, available from the official website, though not available through steam heh 20:49:06 might try it out tomorrow :) 20:52:19 oh i did that stuff in abstract algebra :) 20:53:17 But if you were just doing linear algebra with C or R... 20:56:45 we differentiate between abstract algebra and linear algebra 20:56:53 linear algebra doesnt leave C 20:57:07 abstract algebra is not normal math...its a specialization 20:57:18 ... 20:57:46 quintopia, which country is that? 20:58:10 at least georgia, probably most of the u.s. 20:58:34 ah 20:58:51 an easy way to distinguish is that in normal math you do problems and projects for hw, and in the rest of math, hw is all proofs. 20:59:44 Phantom_Hoover, btw several reviews of this game compares it to Elite. And I know you played oolite a lot so... 21:00:00 might be worth looking at, I'm definitely going to look at the demo at least 21:00:20 Vorpal, did you get hired by a marketing agency or something? 21:01:14 Phantom_Hoover, no, but I'm really amazed by this game, I love space trade & combat simulators, and that this franchise just passed me by saddens me. 21:06:47 -!- Ngevd has joined. 21:06:52 Hello 21:07:04 @ping 21:07:04 pong 21:07:44 Ngevd: hey 21:07:59 Well, my Underload interpreter is nearing completion 21:08:08 Underload? 21:08:13 * FishNot esolangs it 21:08:50 Also, my family computer has a virus on it 21:09:06 And my internet is ridiculously slow, except for IRC? 21:09:36 IRC doesn't take a lot of bandwidth. Your internet might just be slow 21:09:54 I've run IRC on 1kb/s without a problem. 21:10:30 http://hpaste.org/56751 21:16:30 Ooh, just thought of something 21:18:19 so uh.... 21:18:22 if I'm writing an instance 21:18:28 where I've defined some typeclass constraints 21:18:45 are those variables visible in the scope of type annotations within the methods....? 21:19:11 I'm guessing no. 21:20:10 oh nevermind GHC already has a bounded instance for (Bounded a, Bounded b) => Bounded (a,b) 21:20:20 (but no Enum instance interestingly, I had to write that one myself) 21:20:37 Ngevd: What's the W and F stand for? 21:20:42 Wrap and Flip 21:20:48 Ah. 21:21:43 Also, I've changed the run and run' functions to make them more usable and less stupid 21:27:44 (Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n, Bounded o) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -- my god it's full of Bounded. 21:28:30 instance (Enum a, Enum b, Bounded a) => Enum (a,b) where 21:28:35 imagine this one, at that size of tuple. 21:30:04 http://en.wikipedia.org/wiki/Pairing_function 21:30:15 Although that makes it less obvious 21:31:00 Oh, you didn't go for plain (Enum a, Enum b) => Enum (a,b). 21:33:14 -!- FishNot has quit (Ping timeout: 252 seconds). 21:36:27 fizzie: I'm not really sure how I would do that. 21:36:39 http://en.wikipedia.org/wiki/Pairing_function 21:37:15 > 1 + (2 * 28) 21:37:16 57 21:37:31 as it turns out, this is much less than 255. 21:37:34 *256 21:37:56 * kallisti decided to take the loop info off of the board and instead just use a set or something 21:38:05 a list of sets actually. 21:38:15 ^chr 57 21:38:16 9 21:38:34 Yay, it did have that. 21:38:41 (Wasn't sure.) 21:38:52 ^chr 100 21:38:52 d 21:39:15 > 256 + 65 21:39:16 321 21:39:24 ^chr 321 21:39:24 A 21:39:34 Now with wraparound. 21:39:38 ^ord t 21:39:38 116 21:39:46 (Well, and before, too.) 21:39:53 ^show chr 21:39:53 ,[>[->+10<]>[-<+>]<2-48[>+<-],]>. 21:39:59 ^show ord 21:40:00 >>,[[-<+2>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<2[>+6[<+8>-]<-.[-]<]+32.[-]>>,] 21:40:21 Much ado about decimals. 21:42:03 ^chr 10@ 21:42:04 t 21:42:20 Doesn't also much care about digits, exactly. 21:52:15 If they wanted to change the Easter calculation (although there is really no need to do so), I have suggestion as follows: Use the Vatican's timezone to determine the date when the Sun's tropical ecliptic longitude is zero (a.k.a. Aries). Find the nearest full moon (Moon opposite Sun) afterward, again using Vatican's timezone. And then find the next Sunday. 21:53:52 so, you came up with a method for calculating a day that no one really cares when it happens that no one is going to ever use and you know this? why? 21:54:08 (Alternatively, use the closest aspect according to when the full moon is visible from the Vatican; because it won't be visible during the day time) 21:54:41 quintopia: There are some people who wanted it adjusted in various ways, and the Roman Catholic Easter is different from Orthodox Easter even now. 21:54:53 why the vatican? noncatholics practice easter too... 21:55:05 oh 21:55:05 So, even now, the Orthodox Easter is different. Is that a problem? 21:55:12 nope 21:55:18 I would suggest Jerusalem rather than Rome 21:55:25 you're only suggesting a time for the catholics to have easter 21:55:33 makes sense 21:56:05 quintopia: It is the Vatican's job to set the date of Easter. That is why. And even if it isn't only Catholics. 21:56:26 (If it is not agreed by the Catholics, then Jerusalem might be usable instead of Rome) 21:56:32 its their job only because they say it is 22:01:05 Stupid W|A doesn't even understand "Vatican papal density". (As far as countries go, they've got a quite high one.) 22:01:53 Another factor in it is that Orthodox churches generally use the Julian calendar for holidy dates, not the Gregorian. 22:02:33 `addquote Stupid W|A doesn't even understand "Vatican papal density". (As far as countries go, they've got a quite high one.) 22:02:38 Which effects the calculation subtly. 22:02:44 805) Stupid W|A doesn't even understand "Vatican papal density". (As far as countries go, they've got a quite high one.) 22:06:03 pikhq: Yes, I know that too. 22:06:34 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 22:07:19 fizzie: There are a lot of things that Wolfram|Alpha doesn't understand. I suggest we make up a new similar program based on Haskell. Which can still connect to internet when required but can also use local data. 22:07:29 And free-software/open-source. 22:08:47 We should call it Askell 22:09:04 OK 22:10:31 haha 22:10:49 i think we should have such a system based on the watson algorithms 22:12:03 Whatever it is, you can have it entered using Haskell codes in GHCi as well as using ordinary English text, or any combination of the two 22:21:17 -!- Patashu has joined. 22:22:19 -!- Phantom_Hoover has joined. 22:28:10 So, thoughts on my Underload interpreter? 22:41:20 -!- augur_ has joined. 22:42:55 Oh god I just managed to reference Lightning Made of Owls 22:45:15 oh, hmmm, I just found the core of my portal chess implementation. 22:45:30 it's, the code that provides a list of all the possible moves for a given piece. 22:45:36 pretty much handles all the logic. 22:45:40 except capturing. 22:45:42 which is handled by... 22:45:52 the code that provides a list of all the possible captures for a given piece. :P 22:56:15 elliott is turning #haskell into a place for esolang discussion. 22:57:04 Oh no 22:57:21 Is #haskell logged? 22:57:33 Yes 22:57:40 Where? 22:57:51 http://bit.ly/5mwtRQ 22:58:04 More conveniently, http://tunes.org/~nef/logs/haskell/?C=M;O=D 22:59:37 -!- Vorpal has quit (Read error: Operation timed out). 23:00:03 What time zones are the logs in? 23:00:24 Hang on7 23:00:32 The Tunes ones? 23:00:34 Tunes time. 23:00:44 It corresponds to no known timezone of any channel regular. 23:01:04 I think they are Pacific timezone because it is the same as my timezone 23:01:38 They appear to be 7 hours and 49 minutes behind GMT? 23:02:07 See what I mean? 23:03:25 Personally, I think something like cascade :: (a -> a) -> Int -> a -> a should be in prelude 23:03:33 cascade _ 0 a = id 23:03:47 cascade f n a = cascade f (n-1) (f a) 23:03:53 s/id/a/ 23:03:54 That's churchify, isn't it? 23:03:56 Yes, it is. 23:04:12 You mean cascade f n = f^n? 23:04:31 Prossibly? 23:05:27 @hoogle (a->a)->Int->a->a 23:05:27 Data.Sequence iterateN :: Int -> (a -> a) -> a -> Seq a 23:05:28 Data.Sequence adjust :: (a -> a) -> Int -> Seq a -> Seq a 23:05:28 Data.IntMap adjust :: (a -> a) -> Key -> IntMap a -> IntMap a 23:05:47 I guess it's just not all that useful? 23:06:10 I use it surprisingly frequently 23:06:36 :t \f n a -> iterate f a !! n 23:06:37 forall a. (a -> a) -> Int -> a -> a 23:06:54 :t iterate 23:06:55 forall a. (a -> a) -> a -> [a] 23:07:23 > iterate (++"a") "" 23:07:24 ["","a","aa","aaa","aaaa","aaaaa","aaaaaa","aaaaaaa","aaaaaaaa","aaaaaaaaa"... 23:07:28 a 23:07:59 http://www.reddit.com/r/math/comments/opb83/programming_for_mathematicians/ 23:08:09 /r/math's top suggestion: Javascript. 23:08:24 writing the move set is less tedious than I thought: http://hpaste.org/56754 23:08:36 @ask elliott How goes Rosyarrow? 23:08:36 Consider it noted. 23:09:11 :t \ f n -> foldr (.) id (replicate n f) 23:09:12 forall b. (b -> b) -> Int -> b -> b 23:09:48 Ngevd, you know he's online, right? 23:09:51 Yes 23:09:52 Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it. 23:09:58 I'm just scared of #haskell 23:10:03 And don't like /msg 23:10:07 @messages 23:10:07 elliott said 50s ago: Guess! 23:10:17 You... don't... like... /msg... 23:10:17 Useful! 23:10:58 PRIVMSG allergy is a real disease! (Shush about the real nature of channel messages.) 23:11:06 @tell elliott ...being invaded by hoards of goblins, out of coal, and burning in lava? 23:11:06 Consider it noted. 23:11:25 Ngevd, hey, at least the third problem obviates the second. 23:11:53 NOTICE "the only way" 23:12:01 So... 23:12:02 Ngevd: You have 2 new messages. '/msg lambdabot @messages' to read them. 23:12:03 What's this now, #esoteric-dorkfortress suddenly? 23:12:07 @messages 23:12:07 elliott said 34s ago: Exactly the same as it was the last time you asked. 23:12:07 elliott said 22s ago: Also, you used @tell when you meant @ask; die. 23:12:46 it's like elliott is right here with us 23:12:49 @tell elliott I thought they were synonymous! 23:12:49 Consider it noted. 23:13:14 -!- hanzifey9 has joined. 23:13:20 @messages 23:13:20 You don't have any new messages. 23:13:42 Aww 23:13:42 Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it. 23:13:48 @messages 23:13:48 elliott said 27s ago: One produces "Ngevd said", the other produces "Ngevd asked". You are a bad person. 23:14:18 -!- parabellum has joined. 23:14:28 @tell elliott also, why are you not in #esoteric? 23:14:28 Consider it noted. 23:14:40 what if he is in #esoteric 23:14:41 secretly 23:14:46 So, I've got to keep talking so I know when there is a response 23:14:54 alternatively: he's in our hearts 23:14:58 and our hearts are in #esoteric 23:14:59 so 23:15:11 -!- FishNot has joined. 23:15:17 He called me a bad person. He is not in my heart. 23:15:50 And I suspect he may be not talking to me for using @tell again 23:15:51 Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it. 23:15:54 @messages 23:15:54 elliott asked 29s ago: Why are you not in #haskell? 23:16:07 @ask elliott because it is big and scary and big. 23:16:07 Consider it noted. 23:16:17 Okay, he is talking to me 23:16:19 Ish 23:16:23 By proxy 23:16:36 Hmm 23:17:02 -!- Sgeo has quit (Read error: Connection reset by peer). 23:17:11 Favourite esolang, everybody 23:17:11 Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it. 23:17:14 @message 23:17:14 Maybe you meant: messages messages? 23:17:20 @messages 23:17:20 elliott said 38s ago: That's not a question. 23:17:48 @tell elliott How is it not a question? 23:17:48 Consider it noted. 23:18:21 My favourite esolang is Piet, because it was the first esolang I was really interested in. 23:18:26 > 1 + 2 * (8*2+8*8*8+4) 23:18:27 1065 23:18:29 Also, the pictures are pretty 23:18:31 damn 23:19:16 -!- Sgeo has joined. 23:19:18 whats esolang 23:20:10 monqy: describe to me the list of words that you have an objective definition for. 23:20:20 help 23:21:19 whats esolang <-- Why... it is man's endevour to become God! 23:21:20 Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it. 23:21:23 @messages 23:21:23 elliott said 1m 24s ago: Because it ended with a "." and didn't ask me anything and yet you sent it with @ask anyway, probably because you hate kittens. 23:22:01 @ask elliott Kittens are mean and scary and I got scratched by a kitten when I was 3. 23:22:01 Consider it noted. 23:22:11 True story 23:22:58 Yes that is possible to be scratched by a kitten, or bitten by a dog, or shot by a human. 23:23:10 Ngevd, DIE YOU BASTARD 23:23:31 Phantom_Hoover, you already want me dead for at least 2 reasons 23:23:40 I forget the second. 23:23:47 should I: a) change the board so that it's easier to do portal logic without relying on a seperate game state structure b) maintain a single byte representation for each possible square state (as opposed to a 2 byte representation) 23:24:03 I think I'm going to go with a 23:24:09 My desire to play Portal Chess, and expressions of its awesomeness 23:24:31 kallisti, a. That's thinking with portals 23:24:36 If you need someone to /tell/ you that chess variants should have as little hidden state as possible... 23:24:57 what makes state "hidden" in an implementation 23:25:16 I don't know of any hidden states in Portal Chess 23:26:05 Even in FIDE chess, there is castling. Which cannot always be known just by viewing the board if castling is permitted or not. 23:26:25 ha! portal chess doesn't even have that. therefore less hidden state than FIDE chess. 23:26:35 provided you have like... 23:26:39 some string 23:26:43 -!- Phantom_Hoover has quit (Quit: Leaving). 23:27:06 kallisti, define queen movement etc and I'll give you a game of Portal Chess tomorrow 23:27:21 ....but I'm currently working on it. 23:27:31 DUPLICATION OF EFFORT IS NO GOOD 23:27:46 instead you should work on a graphical client, uh, with the network protocol I haven't designed yet. 23:28:01 or a CLI client if you prefer. 23:28:07 I want one of those too. 23:28:46 zzo38: other hidden state: whose turn it is!!! 23:29:13 man chess is the worst chess variant. 23:30:24 kallisti: Whose turn it is, as well as en passant, is only requiring recent information. But it is still true, you don't know just by looking at the board. 23:31:32 Ngevd: but currently the lens (aka the queen piece) moves like a queen, and has a direction, but I haven't decided on any specific capture rules besides its lensy behavior 23:31:44 which is the same as my original prism concept, except directed. 23:31:56 you should be able to tell if en passant is allowed just by looking at the board... 23:32:07 the turn too 23:32:21 nah 23:32:23 white should always be the current turn. each turn you should switch out every black piece with every white piece 23:32:34 lol 23:33:13 that works well on a computer where people are looking at two different screens, but it would just confuse people irl 23:33:45 > 8^3 23:33:46 512 23:33:54 White always moves first, so you could tell by looking if it wans't possible to enter the same state via multiple means. 23:34:44 Maybe have the last peice moved be upside down. 23:35:27 But unless it's a rook or a Knight, it'd fall over! 23:35:27 Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it. 23:35:30 @messages 23:35:31 elliott said 7m 27s ago: I told you you were a bad person. 23:37:09 -!- hanzifey9 has quit (Remote host closed the connection). 23:37:17 MDude: it is possible though. hence the rule where looping moves become stalemates? 23:37:56 @tell elliott I will attempt to reform myself. Also I will sleep. Goodnight. 23:37:56 Consider it noted. 23:37:58 Goodnight 23:38:00 > (8*2+8*8*8+4) 23:38:01 532 23:38:04 -!- Ngevd has quit (Quit: Goodbye). 23:38:19 Another rule used in some variants, any player causing a repeated position loses 23:38:21 I tihnk so, though I don't remember any particular loop. 23:38:22 @tell elliott don't come back anytime; you've already run me dry! this is your payback...moneygrabber! 23:38:22 Consider it noted. 23:39:11 Do we like Pokemon Card????? http://zzo38computer.cjb.net/img_14/pokemon_card_01.png 23:39:31 zzo38: but it was once proven that there are repeated positions that lead to the person doing the repeating being able to force a win 23:39:50 (yes those rules are common though) 23:40:10 quintopia: Still, it depends on the variant. In FIDE chess, repetition is a draw. 23:40:47 In games with random card/dice there needs no rule for repetition, just continue the game in case of repetition. 23:42:28 it makes sense not to let someone ever start their turn with the same board they started with before, all things deterministic, but the same board position on a different playerms turn should be allowed. 23:42:35 Once in playing Pokemon Card, I was losing but realized I just needed to defend for eight turns and then I won. I managed to defend for seven turns, and then lost on the final turn. 23:42:54 wow 23:42:55 quintopia: Yes, same board position on different player's turn should still be permitted. 23:42:56 lucky 23:44:20 I usually win at Pokemon Card due to the opponent's PROFESSOR OAK card. They think they can win with that card but actually it is the quickest way to lose. 23:50:44 There are other situations, the opponent has a lot of evolved cards and a lot of things, but by guessing what card is in their hand, I could defend for twenty turns until they ran out of cards and won, even though they picked up five side cards already (with only one remaining) and I have not knocked out any of their pokemons. 23:51:04 is it the card that lets you replace your hand? 23:51:06 Bluffing was an important aspect in this duel. 23:51:23 quintopia: PROFESSOR OAK card means "Discard your hand and then draw seven cards." 23:51:35 yeah that was my thought 23:53:46 (This one with bluffing, I did manage to win. Not only by bluffing but by defending timing the cards correctly including GUST OF WIND and ENERGY REMOVAL (and of course to know what targets to select). Such is the disadvantage of evolution cards.) 23:55:29 Once I won a game of Pokemon Card only because I had an evolution card which I played for the sole purpose of increasing my own retreat cost. The card could attack, and had a retreat cost of zero so could also retreat; but I evolved it so that it could not attack (not even with energy in my hand) and increased its retreat cost to one. And that is how I won. 23:59:11 > succ (maxBound :: Bool) 23:59:12 *Exception: Prelude.Enum.Bool.succ: bad argument 23:59:14 i dont know anything about pokemon card 23:59:15 I have also invented an "overmate" rule for Pokemon Card, and have occasionally attempted to win with overmate and even succeeded. 23:59:20 * quintopia wanders off 23:59:35 > maxBound 23:59:36 () 23:59:37 is there anything that catches exceptions and returns a Maybe without wrapping IO?