←2012-01-19 2012-01-20 2012-01-21→ ↑2012 ↑all
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 <kallisti> @src concat
00:23:45 <lambdabot> concat = foldr (++) []
00:26:02 <Sgeo> :t iterate
00:26:03 <lambdabot> forall a. (a -> a) -> a -> [a]
00:26:39 <Sgeo> > (!! 200) $ iterate id 5
00:26:40 <lambdabot> 5
00:26:45 <Sgeo> > (!! 2000) $ iterate id 5
00:26:46 <lambdabot> 5
00:26:51 <Sgeo> > (!! 2000000000000) $ iterate id 5
00:26:57 <lambdabot> mueval: Prelude.undefined
00:26:57 <lambdabot> mueval: ExitFailure 1
00:27:28 <Sgeo> > (!! 20000000) $ iterate id 5
00:27:34 <lambdabot> mueval-core: Time limit exceeded
00:27:42 <Sgeo> > (!! 20000) $ iterate id 5
00:27:45 <lambdabot> 5
00:27:49 <Sgeo> > (!! 200000) $ iterate id 5
00:27:50 <lambdabot> 5
00:27:54 <Sgeo> > (!! 2000000) $ iterate id 5
00:27:56 <lambdabot> 5
00:45:05 -!- roper has quit (Quit: Abandonando).
00:51:10 <itidus21> would it be possible to just diverge science into 2 schools?
00:51:23 <itidus21> the P = NP school and the P != NP school?
00:55:34 <kallisti> um
00:55:49 <kallisti> 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 <kallisti> but, for example:
00:56:30 <kallisti> http://en.wikipedia.org/wiki/NP-hard
00:56:46 <kallisti> this article has two diagrams. one where P = NP, and one where it does not.
00:58:47 <kallisti> 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 <kallisti> how are lists defined in the Prelude?
02:19:28 <kallisti> can't seem to find them
02:19:32 <kallisti> are they special?
02:21:24 <pikhq> They're special, due to the type being [a]
02:21:33 <pikhq> Which isn't otherwise legal.
02:21:34 <kallisti> (meaning, do they not have a data declaration since their syntax is a special case)
02:21:37 <kallisti> ah okay
02:21:48 <kallisti> same with tuples then as well I guess.
02:22:19 * kallisti demands -XcircumfixOperators
02:22:23 <kallisti> *C
02:22:56 * kallisti notes how difficult that would be to actually implement and design in a sane manner.
02:31:57 <kallisti> the numeric patterns are interesting in that they seem to be the only overloaded patterns...
02:32:07 <kallisti> or do they only match on Int and Integer?
02:32:27 <kallisti> > let f 0 = 0 :: Sym Int in f 0
02:32:28 <lambdabot> 0
02:32:53 <kallisti> nothing else pattern matches on an entire typeclass.
02:33:01 <kallisti> except I guess maybe OverloadedStrings?
02:33:24 <kallisti> I wouldn't be surprised if it doesn't overload string patterns.
02:33:56 <kallisti> oh wait
02:34:03 <kallisti> > let f 0 = 0 :: Sym Int in f (0 :: Sym Int)
02:34:04 <lambdabot> 0
02:34:06 <kallisti> 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 <Deewiant> ?src []
04:53:33 <lambdabot> data [] a = [] | a : [a]
05:11:01 <kallisti> lies
05:16:32 -!- oerjan has joined.
05:18:59 <oerjan> 00:51:10: <itidus21> would it be possible to just diverge science into 2 schools?
05:19:02 <oerjan> 00:51:23: <itidus21> the P = NP school and the P != NP school?
05:19:59 <oerjan> 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 <kallisti> oerjan: most people are pretty convinced that P != NP right?
05:21:34 <oerjan> 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 <oerjan> *thinks
05:22:57 <oerjan> 02:19:10: <kallisti> how are lists defined in the Prelude?
05:23:05 <kallisti> oerjan: intuitively it certainly doesn't seem very possible, but that's not a good basis for research direction.
05:23:12 <oerjan> with a comment to the effect that the syntax would be illegal, i think
05:23:46 <oerjan> data [a] = [] | a:[a] deriving BucketsOfClasses
05:23:58 <oerjan> or something like that ;P
05:24:13 <kallisti> it would be nice if Haskell had a better precedence system.
05:24:43 <kallisti> you could define them in relation to one another, in essence.
05:25:22 <oerjan> 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 <oerjan> (or more often, thinks their argument is worth reading at all)
05:26:15 <kallisti> precedencegroup Arithmetic = (+), (-) < (*), (/), `div`, `mod`, `divMod` < (^), (^^), (**)
05:26:23 <kallisti> you could also refer to other groups relationally.
05:26:35 <kallisti> the group simply exists for ease of referral in other precedence relations
05:28:55 <kallisti> the only problem is that it says nothing about the associativivity
05:28:58 <kallisti> I'm sure there's a better notation
05:29:00 <oerjan> 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 <oerjan> e.g. $ and parsec's <?>
05:29:12 <kallisti> yes
05:29:14 <kallisti> $ and $!
05:29:28 <oerjan> um they _do_ have the same don't they?
05:29:33 <oerjan> > (0$0$!)
05:29:34 <lambdabot> The operator `Prelude.$!' [infixr 0] of a section
05:29:34 <lambdabot> must have lower prec...
05:29:36 <oerjan> yep
05:30:02 <oerjan> but some think they should have been left instead
05:30:07 <oerjan> (i.e. Cale)
05:30:46 <kallisti> 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 <kallisti> looks very good
05:31:08 <kallisti> assuming left associativity
05:31:38 <kallisti> not sure how to cleanly encode associativity in precedence groups though
05:31:47 <kallisti> "opgroup" is probably a better name.
05:31:49 <kallisti> shorter
05:32:05 <kallisti> or maybe opset
05:32:31 <kallisti> also I'm not sure how you'd do things like $
05:32:54 <kallisti> and specify that it's either "lower than everything" or "lower than some other really low thing"
05:32:59 <oerjan> <kallisti> precedencegroup Arithmetic = (+), (-) < (*), (/), `div`, `mod`, `divMod` < (^), (^^), (**) <-- rather silly use of `` and () there :P
05:33:06 <kallisti> oh, yes.
05:33:16 <kallisti> well I thought the `` was required?
05:33:30 <oerjan> yes, but the () is prohibited in fixity declarations
05:33:37 <kallisti> right I forgot about that.
05:34:47 <kallisti> it would probably be a good idea to define one level at a time with different associativities
05:34:54 <kallisti> so that other operators could be put inbetween those.
05:35:12 <kallisti> the relations would be <, =, and >
05:35:52 <kallisti> anyway I just think it adds more flexibility than the fixed set of integer levels.
05:36:03 <kallisti> which are all completely filled by Prelude operators.
05:36:39 <oerjan> hm easy solution to the $ and . problem - require all new groups to be defined _between_ two existing ones.
05:36:39 <kallisti> I'm not sure how intuitive it would be either. in simple cases it would be more intuitive I think
05:37:12 <kallisti> other problems: no default precedence
05:37:16 <kallisti> unless...
05:37:19 <kallisti> you have a special Default grou[
05:37:23 <kallisti> p
05:38:02 <oerjan> you could just make it the . group, and change that to infixl - the operator's bloody associative, after all!
05:38:18 <oerjan> although it would break old sections.
05:38:49 <oerjan> of the (. f . g) form
05:38:54 <kallisti> I thought the default was like 4 or something?
05:39:02 <oerjan> no, default is infixl 9
05:39:06 <kallisti> oh
05:39:07 <kallisti> okay.
05:39:49 <oerjan> 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 <oerjan> (i think.)
05:40:21 <oerjan> :t (?f . ?g .)
05:40:22 <kallisti> I didn't know changing the associativity would break sections like that
05:40:22 <lambdabot> The operator `.' [infixr 9] of a section
05:40:22 <lambdabot> must have lower precedence than that of the operand,
05:40:22 <lambdabot> namely `.' [infixr 9]
05:40:28 <oerjan> :t (. ?f . ?g)
05:40:28 <kallisti> I figured it would just parse it as (. (f . g))
05:40:29 <lambdabot> forall a b a1 (f :: * -> *). (?f::a1 -> a, ?g::f a1, Functor f) => (a -> b) -> f b
05:41:36 <oerjan> nope, the rule is that it's only legal if \x -> x . f . g parses like \x -> x . (f . g)
05:42:18 <oerjan> of course it's been discussed whether it should always mean the former
05:42:24 <kallisti> 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 <kallisti> it could even be a "None" group... so...
05:46:01 <kallisti> opgroup App = $, $!, `seq` where App > None
05:46:11 <kallisti> (improved the syntax a bit, not sure how to do associativity cleanly)
05:46:23 <oerjan> :t (0$0 `seq`)
05:46:24 <lambdabot> The operator `seq' [infixr 0] of a section
05:46:24 <lambdabot> must have lower precedence than that of the operand,
05:46:24 <lambdabot> namely `$' [infixr 0]
05:46:42 <kallisti> oerjan: I recently took a look at the Reports operator table so this shit's still fresh in memory. :P
05:48:10 <kallisti> 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 <kallisti> elliott linked me to a paper on this style of precedence handling, but I never read it. :P
05:48:35 <kallisti> well
05:48:38 <kallisti> I read part of it.
05:48:42 <kallisti> just not the implementation details.
05:49:09 <kallisti> oh it was Agda mixfix .
05:49:14 <kallisti> that it was describing
05:55:58 <kallisti> 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 <Deewiant> fizzie: You're more face-hairy than when I last saw you.
09:21:45 <fizzie> It keeps happening.
09:22:03 <fizzie> Also I didn't notice anyone noticing me.
09:27:24 <kmc> 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 <Madoka-Kaname> 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 <fizzie> And global warming.
10:01:51 <Madoka-Kaname> fizzie, I'm trying to make kmc feel crushing despair!
10:03:58 <kmc> the difference is that "reflection tutorial" is not sought out as the solution to each and every Java question
10:04:40 <Madoka-Kaname> Okey
10:04:48 <Madoka-Kaname> "Object Oriented Design tutorial"
10:04:59 <kmc> anyway why is this supposed to make me feel crushing despair
10:08:42 <kmc> i'll bet the average java reflection tutorial imparts more knowledge than the average monad tutorial
10:08:48 <kmc> since the average monad tutorial imparts negative knowledge
10:54:31 * kallisti eats a burrito quietly in the background.
10:55:11 <kallisti> kmc: what knowlege are you looking for a monad tutorial to impart?
10:56:10 <kallisti> teaching someone how to use monads is probably the easiest to do, and the most relevant to Haskell programming.
10:56:31 <kallisti> I don't need to know everything about real categorical theoretical monads to write programs.
10:58:03 <kallisti> 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 <kallisti> so, if you're not actually stuck in the questions of why like many do
11:05:07 <kallisti> it's a good learning resource.
11:10:22 <kmc> i'm not looking for a monad tutorial to impart any knowledge
11:10:32 <kmc> but apparently lots of other people are
11:40:50 <Deewiant> 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 <Phantom_Hoover> 09:49:58: <Madoka-Kaname> kmc, graph it agienst the number of Java reflection tutorials
12:04:54 <lambdabot> Phantom_Hoover: You have 3 new messages. '/msg lambdabot @messages' to read them.
12:05:02 <Phantom_Hoover> Java reflection sounds unpleasant.
12:05:22 <kmc> it sounds better than not having it
12:05:45 <Phantom_Hoover> I don't know what it /is/.
12:05:52 <Phantom_Hoover> It just sounds unpleasant.
12:06:35 <kmc> heh
12:10:36 <kmc> it gives you Java classes named Class, Method, Constructor, etc.
12:11:01 <kmc> 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 <kmc> 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 <fizzie> Deewiant: Hokay. I recall vaguely that some people came out of there. Maybe.
12:30:19 <Ngevd> Hello
12:33:05 <Deewiant> Well, they did.
12:37:36 <kmc> hi Ngevd
12:39:46 <ais523> Phantom_Hoover: reflection in OO languages is when the language constructs themselves are represented by objects
12:39:59 <ais523> so, e.g., you can have a Class object and get a list of Method objects corresponding to it
12:40:12 <Phantom_Hoover> ais523, that sounds like the kind of thing which puts Feather beyond the reach of man.
12:40:29 <ais523> typically, you can also use these things indirectly, e.g. you can do something like Class.callStaticMethod(Method x)
12:40:34 <ais523> probably named differently
12:40:54 <ais523> 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 <fizzie> java.lang.System.class.getMethod("exit", int.class).invoke(null, 42); + catch a dozen checked exceptions.
12:47:07 <fizzie> Static methods are just Methods, and their .invoke() ignores the first parameter.
12:48:56 <fizzie> 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 <kmc> how is it determined whether a particular exeception is checked?
12:50:01 <fizzie> If it derives from a Throwable that's not a descendant of Error or RuntimeException, it's checked, IIRC.
12:51:11 <fizzie> "The unchecked exceptions classes are the class RuntimeException and its subclasses, and the class Error and its subclasses."
12:52:04 <kmc> ah
12:52:54 <kmc> is that equivalent to saying that "throws RuntimeException, Error" is implicit on every method?
12:55:09 <kmc> 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 <ais523> kmc: right
12:55:29 <fizzie> Yes.
12:55:36 <kmc> cool
12:56:32 <ais523> fizzie: ExceptionInitializerError?
12:56:33 <fizzie> 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 <fizzie> ais523: "ExceptionInInitializerError - if the initialization provoked by [Method.invoke] fails".
12:58:00 <ais523> oh, Exception In Initializer
12:58:06 <ais523> not Exception Initializer
12:58:08 <ais523> I see
12:58:28 <ais523> I thought it was something like an exception trying to create an exception, and became an error to stop recursion
12:58:42 <kmc> i heard you like exceptions
12:59:58 <fizzie> 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::map<std::string,std::ifstream*>s, or other sane things.
13:00:14 <kmc> :D
13:02:06 <kmc> "if the initialization provoked by [Method.invoke] fails"
13:02:10 <kmc> i like the use of the word "provoked" here
13:09:51 <kmc> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <kmc> heh
13:44:18 <kmc> that's entertaining
13:49:15 <fizzie> if (++which >= EMERGENCY_OBJ_COUNT) goto failed;
13:49:39 <fizzie> It's very bitmasky.
13:50:44 <fizzie> There's also some sort of a emergency_mutex to avoid multiple threads messing the emergency_buffer at the same time.
13:51:18 <fizzie> Ah, so there's space for 64 of those at-most-a-kilobyte emergency objects.
13:53:17 <roper> too much arbitrary numbers
14:07:02 <Gregor> <fizzie> 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 <kmc> i was thinking it would be in the thrower's stack frame
14:07:49 <Gregor> That could get overwritten.
14:07:56 <Gregor> 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 <kmc> you wouldn't actually free the stack until exception handling is complete
14:08:09 <Gregor> But the handler can call functions.
14:08:16 <Gregor> And hence extend its stack back over the thrower's.
14:08:17 <kmc> you'd run exn handling code on a separate stack
14:08:20 <kmc> i think that's pretty common
14:08:21 <Gregor> Ohhhhhhhhhhhh
14:08:28 <Gregor> Idonno if it is *shrugs*
14:08:56 <kmc> but you're still unwinding those original stack frames and executing destructors
14:09:02 <kmc> even if you're not freeing the memory
14:09:07 <kmc> and so I think it's still problematic
14:09:23 <Gregor> Ohyeah :)
14:09:43 <kmc> hmm, but a temporary can outlive the auto variables of the activation where it was created, right?
14:10:17 <Gregor> "Can" in what sense? Technically or spectically?
14:10:26 <kmc> that the spec allows it
14:10:42 <Gregor> 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 <ais523> 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 <oklopol> so i think from a zero entropy SFT, ultimate sets of CA can be RE^RE^RE-complete
14:36:35 <oklopol> what do *you* think?
14:36:45 <oklopol> i think this result will help finland.
14:38:46 <ais523> but will it help finland /more/ than it helps other countries?
14:39:43 <oklopol> hmm
14:40:03 <oklopol> i don't know which turing degrees each country prefers
14:41:30 <oklopol> 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 <oklopol> the funny part is they are in some sense just as natural as limit sets (which obviously capture co-RE)
14:42:39 <oklopol> you just take the f-orbit closure of each point and take their union (where f is the CA)
14:42:51 <oklopol> the limit set is the set of points with an infinite preimage chain
14:43:39 <kmc> is their research useful for breaking nazi codes
14:43:59 <oklopol> RE^RE^RE-complete sets can break quite a few codes at least
14:44:06 <kmc> it's true
14:44:12 <kmc> i heard you like oracles
14:44:17 <oklopol> :D
14:44:40 <oklopol> fuck you, now we have to name our article "so i heard u like oracles..."
14:45:02 <ais523> *liek
14:45:06 <kmc> get xzibit as a co-author
14:45:09 <ais523> also, IIRC *herd, but I'm less sure on that one
14:45:10 <oklopol> :DD
14:45:33 <oklopol> that would be fucking awesome
14:46:11 <kmc> 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 <kmc> they're having meme-babies
14:46:50 <ais523> kmc: indeed, I noticed that a while ago
14:47:11 <oklopol> i wonder if we'd have to pay xzibit to be allowed to use his name
14:47:32 <oklopol> his real name obviously, i doubt it's that
14:47:45 <oklopol> well i guess you can just change your name whenever you like in the us
14:48:20 <kmc> (that's RE^(RE^RE) right? i guess (RE^RE)^RE = RE^RE)
14:48:55 <oklopol> yes
14:49:27 <oklopol> ^ is usually right-associative because of reasons
14:52:04 -!- MSleep has changed nick to MDude.
14:53:04 <oklopol> 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 <oerjan> 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 <oerjan> it appears /topic removes the #esoteric as a channel argument
15:01:57 <oerjan> <fizzie> 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 <oklopol> elliott is gone? :o
15:06:43 <Sgeo> He's active in #haskell
15:06:55 <oerjan> i haven't seen him since he ragepatted
15:07:20 <oerjan> (here, that is.)
15:07:48 <oklopol> what is ragepatting
15:08:09 <oerjan> like rageparting, but more hands-on, i think
15:10:53 <oklopol> why did he ragepat?
15:11:44 <oerjan> mainly because i quieted him after spamming
15:11:56 <oklopol> how much did he spam
15:12:10 <oklopol> o
15:12:11 <oklopol> o
15:12:11 <oklopol> o
15:12:11 <oklopol> o
15:12:11 <oklopol> o
15:12:11 <oklopol> o
15:12:11 <oklopol> o
15:12:12 <oklopol> o
15:12:12 <oklopol> oo
15:12:13 <oklopol> o
15:12:13 <oklopol> o
15:12:14 <oklopol> o
15:12:20 <oerjan> a couple screenfuls?
15:12:20 <oklopol> okokokokokokokokokokokokokokokokokokokokoko
15:12:24 <oklopol> :P
15:12:37 <oklopol> was the channel active
15:12:56 <oerjan> not that much
15:14:03 <oerjan> ok he also went ballistic with another nick after being quieted
15:14:10 <oerjan> which ais523 kicked
15:15:30 <oerjan> and i was reading backscroll so not responding promptly...
15:16:36 <oerjan> 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 <oerjan> and then finally i took 2 minutes longer to unquiet him than he had patience for.
15:17:24 <oerjan> *sarcastic
15:17:56 <oerjan> so now he has probably written us all off as evil oppressive dictators.
15:22:04 <oerjan> <Deewiant> 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 <Deewiant> We don't live in the same town, AIUI.
15:23:15 <oerjan> details.
15:23:29 <Deewiant> And he doesn't know what I look like so it's all good.
15:23:36 <oerjan> aha
15:24:08 <oerjan> i guess that's acceptable.
15:26:19 <ais523> Deewiant: but you do know what /he/ looks like?
15:26:26 <Deewiant> Yep
15:26:46 * oerjan knows what ais523 looks like. In theory.
15:27:03 <ais523> if you ever happen to meet me, say hi
15:27:48 <oerjan> assuming i remember what you look like. i _said_ it was in theory.
15:28:46 <Sgeo> I know what Gregor looks like, but that's it
15:29:37 <oerjan> ardent channel regulars may know what i looked like 15 years ago or so.
15:36:19 <ais523> I think I saw a photo of oklopol once, not sure though
15:36:28 <ais523> (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 <oerjan> <ais523> also, IIRC *herd, but I'm less sure on that one <-- how does one herd mudkips, anyway.
15:41:18 <ais523> oerjan: drawing circles around them very quickly
15:41:21 * ais523 is a Pokémon expert
15:41:39 <ais523> amazingly, this is apparently canon by now
15:41:41 <ais523> not sure though
15:45:20 <oerjan> 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 <kmc> i don't see a burst bubble
15:45:50 <kmc> it's still trending up
15:45:52 <kmc> buy buy buy
15:46:28 <oerjan> kmc: tutorials don't usually stop existing, you know.
15:46:41 <kmc> ah, so you're saying we should consider the derivative
15:46:47 <oerjan> yeah
15:48:19 <monqy> in an ideal world: exponential rate of monad tutorial growth
15:48:41 <monqy> in an ideal world: monad tutorials can reproduce
15:48:55 <oerjan> monqy: insufficiently singularitarian, we need an asymptote!
15:49:14 <monqy> monad tutorials for everyone, and then some
15:49:45 <oerjan> 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 <oerjan> *the
15:52:16 <Sgeo> Why do I listen to The Onion radio stuff?
15:52:28 <Sgeo> I like the Onion, except for that, which is usually garbage
15:54:57 <oerjan> 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 <oerjan> shocking
16:50:58 <oerjan> hm, something is fishy
16:51:44 * Gregor hides the trout.
16:51:51 -!- Ngevd has joined.
16:52:20 <oerjan> nah, the trout is a red herring
16:53:24 <Gregor> 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 <Gregor> Y'know what I love and think is the greatest technological achievement of our era?
17:14:56 <fizzie> 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 <Gregor> SSH (<-- ais523 looky)
17:15:11 <ais523> heh
17:17:43 <Phantom_Hoover> 15:17:56: <oerjan> so now he has probably written us all off as evil oppressive dictators.
17:18:05 <Phantom_Hoover> 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 <oerjan> 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 <Phantom_Hoover> oerjan, even when you were /asked/ to do something about it?
17:20:05 <Phantom_Hoover> Do you really need to read through backscroll to see that the channel is being spammed?
17:20:29 <oerjan> Phantom_Hoover: um reading backscroll means i don't see what's _new_
17:20:38 <Phantom_Hoover> ...
17:21:03 <zzo38> Have you ever tried the Internet Quiz Engine?
17:21:07 <oerjan> irssi only tells me there is more in the window, not how much.
17:21:09 <Gregor> 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 <oerjan> 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 <Gregor> Mmmmmmmmmmm
17:22:04 <oerjan> s/banned/quieted/
17:22:07 <Phantom_Hoover> 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 <Gregor> Oh, people who take things seriously.
17:22:25 <Gregor> So adorable.
17:22:29 <oerjan> i didn't know he had stopped when +q'ing him.
17:23:24 <oerjan> and then he went ballistic before i reached the end of backscroll and could make a proper decision.
17:25:58 <oerjan> i wish irssi had a way to split a channel window like vim does :(
17:26:39 <oerjan> at least i couldn't find one last i checked
17:27:39 <oerjan> (by which i mean two subwindows with different views of the same channel)
17:31:03 <FishNot> Hm, who is using my nick?
17:31:51 <FishNot> >.> Fishbot imposter
17:33:27 <oerjan> eek, the bot speaks!
17:34:05 <fizzie> fungot: Speak!
17:34:06 <fungot> 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 <oerjan> italian pensioners overturning europe, check
17:39:23 -!- _Slereah has joined.
17:39:34 -!- Slereah has quit (Ping timeout: 240 seconds).
17:42:12 <fizzie> 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 <fizzie> (/lastlog always outputs to the active window.)
17:44:12 <oerjan> i'd switch that around if i used it, i think
17:45:41 <oerjan> ...i guess i could just use the logs.
18:15:58 <oklopol> did you know that ice is made of water?
18:18:12 <oerjan> i heard rumors.
18:30:02 -!- Vorpal has joined.
18:30:57 <fizzie> 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 <kallisti> why are macros called macros?
19:34:32 <Deewiant> Short for macroinstruction, which is essentially "an instruction that does many things".
19:34:55 <fizzie> Aw. :/ My invented etymology was that you get a big ("macro") thing (the expansion) out of a small thing (the invocation).
19:35:02 <kallisti> macroinstruction literally means "big instruction"
19:35:12 <kallisti> yes
19:35:51 <fizzie> I fully support the campaign for renaming all macros "biggies".
19:35:54 <Deewiant> The "big" can mean "big in effect" or something like that, which is why I preferred "does many things".
19:36:06 <Deewiant> It's not big in itself, IMO.
19:36:11 <fizzie> "So what's this C++ template?" "Oh, it's no biggie."
19:37:30 <zzo38> http://esolangs.org/wiki/User_talk:User450 This is the only contribution by this user.
19:38:56 -!- Ngevd has joined.
19:39:22 <Ngevd> Hello!
19:40:02 -!- kmc has joined.
19:40:28 -!- kmc has quit (Read error: Connection reset by peer).
19:40:28 <Ngevd> I've written te start of an Underload interpreter in Haskell
19:41:45 -!- kmc has joined.
19:45:09 <fizzie> ^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 <fungot> Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell Haskell ...too much output!
19:45:19 <Gregor> MUSHROOM MUSHROOM
19:45:44 <kallisti> YESSSSSSSS
19:46:02 <quintopia> fizzie :D
19:46:20 -!- kmc has quit (Remote host closed the connection).
19:46:46 -!- kmc has joined.
19:48:13 <fizzie> 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 <fizzie> ^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 <fungot> Haskell! Haskell? Haskell! Haskell? Haskell! Haskell? Haskell! Haskell? Haskell! Haskell? Haskel ...too much output!
19:49:01 <fizzie> (Now it utilimazes all 16 collurs.)
19:50:44 <zzo38> Why are movies only shown in 3D today? I tried to purchase non-3D ticket but they didn't have one.
19:50:45 <olsner> good utilimazation
19:51:10 <Ngevd> zzo38, because your cinema is FUTURISTIC
19:51:24 <Ngevd> Even Hexham's cinema has 3D now
19:51:46 <olsner> so what happened to elliott?
19:51:57 <Ngevd> I think he's banned from this channel
19:52:15 <fizzie> The rumours are going wild!
19:52:23 <fizzie> (No, he's not.)
19:52:26 <Ngevd> Okay
19:52:28 <zzo38> If elliott is banned then you should make then unbanned
19:52:37 <kallisti> lol
19:52:54 <kallisti> he just ragequit.
19:53:09 <fizzie> 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 <Sgeo> He's very much talking in #haskell
19:54:03 <Sgeo> I wonder if I should ask
19:54:12 <kallisti> Sgeo: ask what?
19:54:20 <Sgeo> Why he hasn't come back
19:54:34 <Ngevd> I'm scared of #haskell
19:54:38 <Ngevd> It's big and scary
19:54:43 <kallisti> should be pretty clear why he hasn't come back, I would think.
19:55:06 <fizzie> It's in the topic and all; we're all bunch of power-mad optators.
19:55:11 <quintopia> i missed all the drama
19:55:20 -!- Gregor has left ("Leaving").
19:55:24 -!- Gregor has joined.
19:55:29 <quintopia> i am glad to have done
19:55:35 <Gregor> Reminder: Ctrl+W is leave channel, ctrl+Q is quit.
19:55:52 <fizzie> 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 <Ngevd> I AM RESENT!!!
19:57:02 <kallisti> lol
19:57:10 <Sgeo> Hmm
19:57:20 <Sgeo> Should I bother updating elliott when there's an update?
19:57:27 <Vorpal> Phantom_Hoover, there?
19:57:40 <kallisti> Sgeo: these are questions you must ask yourself. deep soul-searching questions that define who you are.
19:58:11 <fizzie> Sgeo: Why not, maybe the updated versions will get new features or something?
20:04:04 <Phantom_Hoover> helo
20:04:50 <kallisti> gretins
20:04:54 <Ngevd> ih
20:04:56 <Phantom_Hoover> <Sgeo> Should I bother updating elliott when there's an update?
20:05:01 <Phantom_Hoover> Yes.
20:05:04 <Phantom_Hoover> <Sgeo> Why he hasn't come back
20:05:06 <Vorpal> 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 <Phantom_Hoover> He hates everyone.
20:05:24 <Phantom_Hoover> Vorpal, oh dear.
20:05:54 <Vorpal> 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 <Phantom_Hoover> What is it?
20:06:14 <Vorpal> Phantom_Hoover, called Evochron Mercenary. Saw it on the front page of steam.
20:06:25 <Phantom_Hoover> Oh no does it cost MONEYS
20:06:30 <Vorpal> well yes
20:06:36 <Vorpal> Phantom_Hoover, quite a bit in fact
20:06:40 <Vorpal> looks like a free-form open world space simulator.
20:06:40 <Phantom_Hoover> space is supposed to be freeeeeeeeeee
20:06:50 <Vorpal> with trading and battles and what not
20:07:08 <Phantom_Hoover> Also I got Skyrim like 4 days ago so other games are kind of pushed aside.
20:07:41 <Vorpal> 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 <Vorpal> (though it does seem to have both jump drives and jump gate thingies)
20:08:05 <kallisti> 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 <kallisti> (by game-breaking I mean your save file, not the entire game. :P )
20:08:43 <Phantom_Hoover> kallisti, d'aaaaaaw.
20:08:52 <Vorpal> 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 <Vorpal> Anyway I guess you got your new computer working then Phantom_Hoover?
20:09:14 <Vorpal> what was the issue?
20:09:26 <Phantom_Hoover> The issue was the graphics card not working.
20:09:32 <Vorpal> yes but why?
20:09:37 <Vorpal> fabrication issue?
20:09:40 <Vorpal> handling issue?
20:10:10 <Phantom_Hoover> We Just Don't Know(TM).
20:10:18 <Vorpal> hm okay
20:10:47 <Vorpal> the game cost 18.39€ btw
20:10:54 <Vorpal> quite a bit outside my current budget
20:11:20 -!- kmc has joined.
20:11:32 <Vorpal> anyway it has good a reasonable metacritic score (not that that means much)
20:12:02 <kallisti> Phantom_Hoover: isn't that the expression people make when something is really cute or adorable?
20:12:14 <Phantom_Hoover> kallisti, indeed.
20:12:24 <Vorpal> also it seem to have a shipyard system comparable to the character creation in skyrim XD
20:13:12 <kallisti> Phantom_Hoover: then I don't understand that reaction. :P
20:13:22 <Phantom_Hoover> kallisti, I know. d'aaaaaaaaw.
20:13:52 -!- Ngevd has joined.
20:13:57 <Ngevd> Hello!
20:14:32 <Phantom_Hoover> Hello.
20:15:18 -!- kmc has quit (Client Quit).
20:18:06 <Ngevd> There are a few small bugs in my code
20:21:16 <Phantom_Hoover> Oi, Ngevd, are matrices a further maths thing
20:21:34 <Ngevd> Yes
20:21:40 <quintopia> what
20:21:45 <quintopia> further than what
20:21:52 <Ngevd> Normal maths
20:21:55 <Ngevd> Of course
20:22:02 -!- kmc has joined.
20:22:03 <quintopia> i consider linear algebra normal maths
20:22:19 <Ngevd> There's also Even Further maths and Too Far You've Passed It maths
20:22:28 <quintopia> normal maths is everything up to calc 3
20:22:36 <quintopia> 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 <Vorpal> Phantom_Hoover, ooh you can build new stations and such, and AI ships and so on will begin use them.
20:37:12 <Vorpal> that seems pretty cool
20:38:29 <Phantom_Hoover> quintopia, linear algebra linear algebra or matrices but a bit harder linear algebra?
20:39:45 <quintopia> Phantom_Hoover: say that again but differently
20:40:20 <Phantom_Hoover> quintopia, do you write, at any point, a double-struck K?
20:41:03 <quintopia> uh
20:41:04 -!- Ngevd has quit (Ping timeout: 248 seconds).
20:41:13 <quintopia> no?
20:42:01 <Phantom_Hoover> Then it's matrices but a bit harder linear algebra, qed
20:43:13 <quintopia> what is a double-struck k for?
20:43:26 <Phantom_Hoover> Any field.
20:48:53 <Vorpal> 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 <Vorpal> might try it out tomorrow :)
20:52:19 <quintopia> oh i did that stuff in abstract algebra :)
20:53:17 <Phantom_Hoover> But if you were just doing linear algebra with C or R...
20:56:45 <quintopia> we differentiate between abstract algebra and linear algebra
20:56:53 <quintopia> linear algebra doesnt leave C
20:57:07 <quintopia> abstract algebra is not normal math...its a specialization
20:57:18 <Phantom_Hoover> ...
20:57:46 <Vorpal> quintopia, which country is that?
20:58:10 <quintopia> at least georgia, probably most of the u.s.
20:58:34 <Vorpal> ah
20:58:51 <quintopia> 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 <Vorpal> Phantom_Hoover, btw several reviews of this game compares it to Elite. And I know you played oolite a lot so...
21:00:00 <Vorpal> might be worth looking at, I'm definitely going to look at the demo at least
21:00:20 <Phantom_Hoover> Vorpal, did you get hired by a marketing agency or something?
21:01:14 <Vorpal> 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 <Ngevd> Hello
21:07:04 <Ngevd> @ping
21:07:04 <lambdabot> pong
21:07:44 <kallisti> Ngevd: hey
21:07:59 <Ngevd> Well, my Underload interpreter is nearing completion
21:08:08 <FishNot> Underload?
21:08:13 * FishNot esolangs it
21:08:50 <Ngevd> Also, my family computer has a virus on it
21:09:06 <Ngevd> And my internet is ridiculously slow, except for IRC?
21:09:36 <FishNot> IRC doesn't take a lot of bandwidth. Your internet might just be slow
21:09:54 <FishNot> I've run IRC on 1kb/s without a problem.
21:10:30 <Ngevd> http://hpaste.org/56751
21:16:30 <Ngevd> Ooh, just thought of something
21:18:19 <kallisti> so uh....
21:18:22 <kallisti> if I'm writing an instance
21:18:28 <kallisti> where I've defined some typeclass constraints
21:18:45 <kallisti> are those variables visible in the scope of type annotations within the methods....?
21:19:11 <kallisti> I'm guessing no.
21:20:10 <kallisti> oh nevermind GHC already has a bounded instance for (Bounded a, Bounded b) => Bounded (a,b)
21:20:20 <kallisti> (but no Enum instance interestingly, I had to write that one myself)
21:20:37 <fizzie> Ngevd: What's the W and F stand for?
21:20:42 <Ngevd> Wrap and Flip
21:20:48 <fizzie> Ah.
21:21:43 <Ngevd> Also, I've changed the run and run' functions to make them more usable and less stupid
21:27:44 <fizzie> (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 <kallisti> instance (Enum a, Enum b, Bounded a) => Enum (a,b) where
21:28:35 <kallisti> imagine this one, at that size of tuple.
21:30:04 <Ngevd> http://en.wikipedia.org/wiki/Pairing_function
21:30:15 <Ngevd> Although that makes it less obvious
21:31:00 <fizzie> 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 <kallisti> fizzie: I'm not really sure how I would do that.
21:36:39 <Ngevd> <Ngevd> http://en.wikipedia.org/wiki/Pairing_function
21:37:15 <kallisti> > 1 + (2 * 28)
21:37:16 <lambdabot> 57
21:37:31 <kallisti> as it turns out, this is much less than 255.
21:37:34 <kallisti> *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 <kallisti> a list of sets actually.
21:38:15 <fizzie> ^chr 57
21:38:16 <fungot> 9
21:38:34 <fizzie> Yay, it did have that.
21:38:41 <fizzie> (Wasn't sure.)
21:38:52 <Ngevd> ^chr 100
21:38:52 <fungot> d
21:39:15 <fizzie> > 256 + 65
21:39:16 <lambdabot> 321
21:39:24 <fizzie> ^chr 321
21:39:24 <fungot> A
21:39:34 <fizzie> Now with wraparound.
21:39:38 <Ngevd> ^ord t
21:39:38 <fungot> 116
21:39:46 <fizzie> (Well, and before, too.)
21:39:53 <fizzie> ^show chr
21:39:53 <fungot> ,[>[->+10<]>[-<+>]<2-48[>+<-],]>.
21:39:59 <fizzie> ^show ord
21:40:00 <fungot> >>,[[-<+2>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<2[>+6[<+8>-]<-.[-]<]+32.[-]>>,]
21:40:21 <fizzie> Much ado about decimals.
21:42:03 <fizzie> ^chr 10@
21:42:04 <fungot> t
21:42:20 <fizzie> Doesn't also much care about digits, exactly.
21:52:15 <zzo38> 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 <quintopia> 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 <zzo38> (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 <zzo38> 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 <quintopia> why the vatican? noncatholics practice easter too...
21:55:05 <quintopia> oh
21:55:05 <zzo38> So, even now, the Orthodox Easter is different. Is that a problem?
21:55:12 <quintopia> nope
21:55:18 <Ngevd> I would suggest Jerusalem rather than Rome
21:55:25 <quintopia> you're only suggesting a time for the catholics to have easter
21:55:33 <quintopia> makes sense
21:56:05 <zzo38> 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 <zzo38> (If it is not agreed by the Catholics, then Jerusalem might be usable instead of Rome)
21:56:32 <quintopia> its their job only because they say it is
22:01:05 <fizzie> 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 <pikhq> Another factor in it is that Orthodox churches generally use the Julian calendar for holidy dates, not the Gregorian.
22:02:33 <quintopia> `addquote <fizzie> 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 <pikhq> Which effects the calculation subtly.
22:02:44 <HackEgo> 805) <fizzie> 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 <zzo38> pikhq: Yes, I know that too.
22:06:34 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
22:07:19 <zzo38> 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 <zzo38> And free-software/open-source.
22:08:47 <Ngevd> We should call it Askell
22:09:04 <zzo38> OK
22:10:31 <quintopia> haha
22:10:49 <quintopia> i think we should have such a system based on the watson algorithms
22:12:03 <zzo38> 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 <Ngevd> So, thoughts on my Underload interpreter?
22:41:20 -!- augur_ has joined.
22:42:55 <Ngevd> Oh god I just managed to reference Lightning Made of Owls
22:45:15 <kallisti> oh, hmmm, I just found the core of my portal chess implementation.
22:45:30 <kallisti> it's, the code that provides a list of all the possible moves for a given piece.
22:45:36 <kallisti> pretty much handles all the logic.
22:45:40 <kallisti> except capturing.
22:45:42 <kallisti> which is handled by...
22:45:52 <kallisti> the code that provides a list of all the possible captures for a given piece. :P
22:56:15 <Sgeo> elliott is turning #haskell into a place for esolang discussion.
22:57:04 <Ngevd> Oh no
22:57:21 <Ngevd> Is #haskell logged?
22:57:33 <Sgeo> Yes
22:57:40 <Ngevd> Where?
22:57:51 <Sgeo> http://bit.ly/5mwtRQ
22:58:04 <Sgeo> 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 <Ngevd> What time zones are the logs in?
23:00:24 <Ngevd> Hang on7
23:00:32 <Phantom_Hoover> The Tunes ones?
23:00:34 <Phantom_Hoover> Tunes time.
23:00:44 <Phantom_Hoover> It corresponds to no known timezone of any channel regular.
23:01:04 <zzo38> I think they are Pacific timezone because it is the same as my timezone
23:01:38 <Ngevd> They appear to be 7 hours and 49 minutes behind GMT?
23:02:07 <Phantom_Hoover> See what I mean?
23:03:25 <Ngevd> Personally, I think something like cascade :: (a -> a) -> Int -> a -> a should be in prelude
23:03:33 <Ngevd> cascade _ 0 a = id
23:03:47 <Ngevd> cascade f n a = cascade f (n-1) (f a)
23:03:53 <Ngevd> s/id/a/
23:03:54 <Phantom_Hoover> That's churchify, isn't it?
23:03:56 <Phantom_Hoover> Yes, it is.
23:04:12 <Phantom_Hoover> You mean cascade f n = f^n?
23:04:31 <Ngevd> Prossibly?
23:05:27 <Phantom_Hoover> @hoogle (a->a)->Int->a->a
23:05:27 <lambdabot> Data.Sequence iterateN :: Int -> (a -> a) -> a -> Seq a
23:05:28 <lambdabot> Data.Sequence adjust :: (a -> a) -> Int -> Seq a -> Seq a
23:05:28 <lambdabot> Data.IntMap adjust :: (a -> a) -> Key -> IntMap a -> IntMap a
23:05:47 <Phantom_Hoover> I guess it's just not all that useful?
23:06:10 <Ngevd> I use it surprisingly frequently
23:06:36 <Ngevd> :t \f n a -> iterate f a !! n
23:06:37 <lambdabot> forall a. (a -> a) -> Int -> a -> a
23:06:54 <Phantom_Hoover> :t iterate
23:06:55 <lambdabot> forall a. (a -> a) -> a -> [a]
23:07:23 <Phantom_Hoover> > iterate (++"a") ""
23:07:24 <lambdabot> ["","a","aa","aaa","aaaa","aaaaa","aaaaaa","aaaaaaa","aaaaaaaa","aaaaaaaaa"...
23:07:28 <monqy> a
23:07:59 <Phantom_Hoover> http://www.reddit.com/r/math/comments/opb83/programming_for_mathematicians/
23:08:09 <Phantom_Hoover> /r/math's top suggestion: Javascript.
23:08:24 <kallisti> writing the move set is less tedious than I thought: http://hpaste.org/56754
23:08:36 <Ngevd> @ask elliott How goes Rosyarrow?
23:08:36 <lambdabot> Consider it noted.
23:09:11 <monqy> :t \ f n -> foldr (.) id (replicate n f)
23:09:12 <lambdabot> forall b. (b -> b) -> Int -> b -> b
23:09:48 <Phantom_Hoover> Ngevd, you know he's online, right?
23:09:51 <Ngevd> Yes
23:09:52 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
23:09:58 <Ngevd> I'm just scared of #haskell
23:10:03 <Ngevd> And don't like /msg
23:10:07 <Ngevd> @messages
23:10:07 <lambdabot> elliott said 50s ago: Guess!
23:10:17 <Phantom_Hoover> You... don't... like... /msg...
23:10:17 <fizzie> Useful!
23:10:58 <fizzie> PRIVMSG allergy is a real disease! (Shush about the real nature of channel messages.)
23:11:06 <Ngevd> @tell elliott ...being invaded by hoards of goblins, out of coal, and burning in lava?
23:11:06 <lambdabot> Consider it noted.
23:11:25 <Phantom_Hoover> Ngevd, hey, at least the third problem obviates the second.
23:11:53 <monqy> NOTICE "the only way"
23:12:01 <Ngevd> So...
23:12:02 <lambdabot> Ngevd: You have 2 new messages. '/msg lambdabot @messages' to read them.
23:12:03 <fizzie> What's this now, #esoteric-dorkfortress suddenly?
23:12:07 <Ngevd> @messages
23:12:07 <lambdabot> elliott said 34s ago: Exactly the same as it was the last time you asked.
23:12:07 <lambdabot> elliott said 22s ago: Also, you used @tell when you meant @ask; die.
23:12:46 <monqy> it's like elliott is right here with us
23:12:49 <Ngevd> @tell elliott I thought they were synonymous!
23:12:49 <lambdabot> Consider it noted.
23:13:14 -!- hanzifey9 has joined.
23:13:20 <Ngevd> @messages
23:13:20 <lambdabot> You don't have any new messages.
23:13:42 <Ngevd> Aww
23:13:42 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
23:13:48 <Ngevd> @messages
23:13:48 <lambdabot> 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 <Ngevd> @tell elliott also, why are you not in #esoteric?
23:14:28 <lambdabot> Consider it noted.
23:14:40 <monqy> what if he is in #esoteric
23:14:41 <monqy> secretly
23:14:46 <Ngevd> So, I've got to keep talking so I know when there is a response
23:14:54 <monqy> alternatively: he's in our hearts
23:14:58 <monqy> and our hearts are in #esoteric
23:14:59 <monqy> so
23:15:11 -!- FishNot has joined.
23:15:17 <Ngevd> He called me a bad person. He is not in my heart.
23:15:50 <Ngevd> And I suspect he may be not talking to me for using @tell again
23:15:51 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
23:15:54 <Ngevd> @messages
23:15:54 <lambdabot> elliott asked 29s ago: Why are you not in #haskell?
23:16:07 <Ngevd> @ask elliott because it is big and scary and big.
23:16:07 <lambdabot> Consider it noted.
23:16:17 <Ngevd> Okay, he is talking to me
23:16:19 <Ngevd> Ish
23:16:23 <Ngevd> By proxy
23:16:36 <Ngevd> Hmm
23:17:02 -!- Sgeo has quit (Read error: Connection reset by peer).
23:17:11 <Ngevd> Favourite esolang, everybody
23:17:11 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
23:17:14 <Ngevd> @message
23:17:14 <lambdabot> Maybe you meant: messages messages?
23:17:20 <Ngevd> @messages
23:17:20 <lambdabot> elliott said 38s ago: That's not a question.
23:17:48 <Ngevd> @tell elliott How is it not a question?
23:17:48 <lambdabot> Consider it noted.
23:18:21 <Ngevd> My favourite esolang is Piet, because it was the first esolang I was really interested in.
23:18:26 <kallisti> > 1 + 2 * (8*2+8*8*8+4)
23:18:27 <lambdabot> 1065
23:18:29 <Ngevd> Also, the pictures are pretty
23:18:31 <kallisti> damn
23:19:16 -!- Sgeo has joined.
23:19:18 <monqy> whats esolang
23:20:10 <kallisti> monqy: describe to me the list of words that you have an objective definition for.
23:20:20 <monqy> help
23:21:19 <Ngevd> <monqy> whats esolang <-- Why... it is man's endevour to become God!
23:21:20 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
23:21:23 <Ngevd> @messages
23:21:23 <lambdabot> 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 <Ngevd> @ask elliott Kittens are mean and scary and I got scratched by a kitten when I was 3.
23:22:01 <lambdabot> Consider it noted.
23:22:11 <Ngevd> True story
23:22:58 <zzo38> Yes that is possible to be scratched by a kitten, or bitten by a dog, or shot by a human.
23:23:10 <Phantom_Hoover> Ngevd, DIE YOU BASTARD
23:23:31 <Ngevd> Phantom_Hoover, you already want me dead for at least 2 reasons
23:23:40 <Phantom_Hoover> I forget the second.
23:23:47 <kallisti> 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 <kallisti> I think I'm going to go with a
23:24:09 <Ngevd> My desire to play Portal Chess, and expressions of its awesomeness
23:24:31 <Ngevd> kallisti, a. That's thinking with portals
23:24:36 <Phantom_Hoover> If you need someone to /tell/ you that chess variants should have as little hidden state as possible...
23:24:57 <kallisti> what makes state "hidden" in an implementation
23:25:16 <Ngevd> I don't know of any hidden states in Portal Chess
23:26:05 <zzo38> 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 <kallisti> ha! portal chess doesn't even have that. therefore less hidden state than FIDE chess.
23:26:35 <kallisti> provided you have like...
23:26:39 <kallisti> some string
23:26:43 -!- Phantom_Hoover has quit (Quit: Leaving).
23:27:06 <Ngevd> kallisti, define queen movement etc and I'll give you a game of Portal Chess tomorrow
23:27:21 <kallisti> ....but I'm currently working on it.
23:27:31 <kallisti> DUPLICATION OF EFFORT IS NO GOOD
23:27:46 <kallisti> instead you should work on a graphical client, uh, with the network protocol I haven't designed yet.
23:28:01 <kallisti> or a CLI client if you prefer.
23:28:07 <kallisti> I want one of those too.
23:28:46 <kallisti> zzo38: other hidden state: whose turn it is!!!
23:29:13 <kallisti> man chess is the worst chess variant.
23:30:24 <zzo38> 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 <kallisti> 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 <kallisti> which is the same as my original prism concept, except directed.
23:31:56 <quintopia> you should be able to tell if en passant is allowed just by looking at the board...
23:32:07 <kallisti> the turn too
23:32:21 <quintopia> nah
23:32:23 <kallisti> white should always be the current turn. each turn you should switch out every black piece with every white piece
23:32:34 <quintopia> lol
23:33:13 <quintopia> that works well on a computer where people are looking at two different screens, but it would just confuse people irl
23:33:45 <kallisti> > 8^3
23:33:46 <lambdabot> 512
23:33:54 <MDude> 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 <MDude> Maybe have the last peice moved be upside down.
23:35:27 <Ngevd> But unless it's a rook or a Knight, it'd fall over!
23:35:27 <lambdabot> Ngevd: You have 1 new message. '/msg lambdabot @messages' to read it.
23:35:30 <Ngevd> @messages
23:35:31 <lambdabot> 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 <quintopia> MDude: it is possible though. hence the rule where looping moves become stalemates?
23:37:56 <Ngevd> @tell elliott I will attempt to reform myself. Also I will sleep. Goodnight.
23:37:56 <lambdabot> Consider it noted.
23:37:58 <Ngevd> Goodnight
23:38:00 <kallisti> > (8*2+8*8*8+4)
23:38:01 <lambdabot> 532
23:38:04 -!- Ngevd has quit (Quit: Goodbye).
23:38:19 <zzo38> Another rule used in some variants, any player causing a repeated position loses
23:38:21 <MDude> I tihnk so, though I don't remember any particular loop.
23:38:22 <quintopia> @tell elliott don't come back anytime; you've already run me dry! this is your payback...moneygrabber!
23:38:22 <lambdabot> Consider it noted.
23:39:11 <zzo38> Do we like Pokemon Card????? http://zzo38computer.cjb.net/img_14/pokemon_card_01.png
23:39:31 <quintopia> 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 <quintopia> (yes those rules are common though)
23:40:10 <zzo38> quintopia: Still, it depends on the variant. In FIDE chess, repetition is a draw.
23:40:47 <zzo38> In games with random card/dice there needs no rule for repetition, just continue the game in case of repetition.
23:42:28 <quintopia> 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 <zzo38> 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 <quintopia> wow
23:42:55 <zzo38> quintopia: Yes, same board position on different player's turn should still be permitted.
23:42:56 <quintopia> lucky
23:44:20 <zzo38> 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 <zzo38> 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 <quintopia> is it the card that lets you replace your hand?
23:51:06 <zzo38> Bluffing was an important aspect in this duel.
23:51:23 <zzo38> quintopia: PROFESSOR OAK card means "Discard your hand and then draw seven cards."
23:51:35 <quintopia> yeah that was my thought
23:53:46 <zzo38> (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 <zzo38> 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 <kallisti> > succ (maxBound :: Bool)
23:59:12 <lambdabot> *Exception: Prelude.Enum.Bool.succ: bad argument
23:59:14 <quintopia> i dont know anything about pokemon card
23:59:15 <zzo38> 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 <monqy> > maxBound
23:59:36 <lambdabot> ()
23:59:37 <kallisti> is there anything that catches exceptions and returns a Maybe without wrapping IO?
←2012-01-19 2012-01-20 2012-01-21→ ↑2012 ↑all