00:14:01 -!- Vorpal has quit (Ping timeout: 264 seconds). 00:14:59 -!- FireFly has quit (Quit: swatted to death). 00:23:02 -!- calamari has joined. 00:30:39 -!- calamari has left ("Leaving"). 00:32:36 Is it possible to make a statistical distribution (or some sort of statistical construct) that obeys Gambler's Fallacy? 00:33:45 It's easier for me to vaguely invision with something discrete 00:34:37 Would (1/2)^x work? 00:36:45 a markov chain is dependent on previous outcomes, right? 00:37:32 but yeah you'd scale p down after getting more 1s and up after getting more 0s 00:37:41 either looking at the latest streak or how many of each you've gotten since you started 00:39:12 Hmm, I was thinking more of termination on failure. I kind of have death on my mind recently, and one chain of thought lead to that question 00:39:27 Termination on failure? 00:39:30 (Someone from my graduating class died recently) 00:39:39 Patashu, that is, if I get a 0, it's over 00:39:49 aah 00:39:55 it's the 'playing slots at vegas' distribution :) 00:41:44 so you want something like 'flip coins and +1 for heads -1 for tails, stop if you hit 0' and you want the average length it'll go for, hmm... 00:41:47 I know there's a distribution for that 00:42:33 Not quite what I meant, to be honest, but close, I guess 00:42:33 try a markov chain? 00:43:08 well, there are a couple of similar takes like 'at X steps, what percentage of gamblers are at 0' and 'at X steps, what's the average money of a gambler' 00:45:32 http://en.wikipedia.org/wiki/Gambler's_ruin relevant 00:45:49 Is it correct to say that I have a 50% chance of living to see half the people in my age group die? 00:46:07 Hmmm 00:46:11 Depends on the distribution of deaths 00:46:27 I think... 00:46:35 Sgeo: no 00:46:56 CakeProphet, hm? 00:46:59 No, I think it is true 00:47:04 Consider the median of the distribution, whatever it is 00:47:14 Everyone above the median will have seen 50% of the people die 00:47:40 but that doesn't imply that they had a 50% chance of seeing 50% of the people die. 00:47:57 yes, but no matter how you slice it, 50% will live past the deaths of the other 50% 00:48:01 (going to assume no simultaneous deaths) 00:48:09 -!- oerjan has joined. 00:49:03 -!- pikhq_ has quit (Ping timeout: 244 seconds). 00:49:10 -!- pikhq has joined. 00:49:29 sure, if you simplify things, that makes sense. But I would say in this scenario that not everyone has equal likelihood of survival. 00:49:45 If you want to model gamblers, use this: http://en.wikipedia.org/wiki/Markov_chain You want a markov chain where at 0 you always stay at 0, and at any higher number you have a p chance of going up and a p chance of going down 00:49:56 Well, if not everyone has the same distribution of lifespan...we need to know what distributions people are using :9 00:49:59 Otherwise I can't say much aboutit 00:50:09 indeed 00:50:31 but yeah if you consider number of equally likely favorable outcomes / number of equally likely total outcomes 00:50:34 you would get .5 00:50:52 for that. 00:51:05 Hmm, because by being healthier than aveage, it increases the individual's chances? 00:51:11 Yep 00:51:45 If I was guaranteed to be immortal I'd always see 50% of my generation die, which robs some other sod of that distinction (since I have a 0% chance of dying) 00:51:47 humans are much more complicated than numbers and such, there are a lot of factors to consider if you want to make any kind of realistic statement about the outcome of a person's life. 00:52:07 Can't you model human lifespan as a normal distribution reasonably well? 00:52:25 reasonably, I suppose 00:53:03 anyways, gotta run. 00:53:03 my intuition from 'introduction to statistics' is 'throw a normal distribution at it' 00:53:05 cya 00:53:35 Patashu: yes, that's what I was taught as well. But I doubt it's very accurate for lifespan, since that varies by environmental factors quite a bit. 00:53:48 what other kind of distribution is it likely to be? 00:53:55 Improvements in medicine make certain causes of death less likely over time 00:54:22 (Of course, that's not factoring in the possibility of antibiotics becoming ineffective) 00:54:27 it could be a negatively skewed normal distribution I suppose 00:54:37 I have no idea, I'm not a statistics person. :P -leaves- 00:59:37 why on earth does mueval give me "Exception: not a number" when I try to eval ['a'..'z'] 00:59:42 what's the type of eval 01:01:42 @hoogle eval 01:01:43 Control.Monad.RWS.Lazy evalRWS :: RWS r w s a -> r -> s -> (a, w) 01:01:43 Control.Monad.RWS.Strict evalRWS :: RWS r w s a -> r -> s -> (a, w) 01:01:43 Control.Monad.RWS.Lazy evalRWST :: Monad m => RWST r w s m a -> r -> s -> m (a, w) 01:01:47 bah 01:02:18 wtf why do people leave the moment before i want to respond to them 01:02:23 -!- zzo38 has quit (Quit: I think it is improper being immortal.). 01:04:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 01:28:48 -!- oerjan has quit (Quit: leaving). 01:30:54 -!- F has quit (Changing host). 01:30:54 -!- F has joined. 01:34:15 -!- cheater_ has quit (Ping timeout: 240 seconds). 01:36:32 -!- copumpkin has joined. 01:43:03 -!- pikhq_ has joined. 01:44:20 -!- pikhq has quit (Ping timeout: 244 seconds). 01:53:27 -!- elliott has joined. 01:54:07 00:45:49: Is it correct to say that I have a 50% chance of living to see half the people in my age group die? 01:54:07 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 01:54:10 this log sure will be fun 01:54:16 elliott: I thought you might like to know that today was the day of Dresden Codak's semimonthly update. 01:55:07 pikhq_: Ha ha ha, I only follow comics which update at least once per day. 01:55:19 (He says, noting that there was no Homestuck update today, and crying.) 01:55:31 elliott: Then you don't follow SMBC? BLASPHEMER 01:56:24 I'm on the internet, I see every SMBC without trying. 01:56:25 SMBC doesn't update once a day? 01:56:49 Sgeo: Oh, wait, it does. Thinko. 01:57:12 elliott: Sorry, let's change that to something that actually has a non-daily schedule. :P 01:57:21 elliott: Then you don't follow Dr. McNinja? BLASPHEMER 01:57:36 You don't follow Bonobo Conspiracy? 01:57:55 (Well, ok, there's nothing left to follow. Maybe in 5 years there'll be an update) 01:58:02 Dr. McNinja looks like way too much initial investment for the payoff, to be perfectly honest. 01:58:39 elliott: "Investment" implies you can not read it after a handful of pages. 01:59:36 pikhq_: It implies I don't read any comic without reading the entire backlog. 01:59:43 Unless it's Dinosaur Comics or something in which case it's totally irrelevant. 01:59:59 elliott: No, I mean "You can't not finish once you start the backlog". 02:01:21 I totally could. 02:01:37 pikhq_, that's true for me with most things that have backlogs 02:01:48 Except SBaHJ 02:02:17 elliott: Irish ninja doctor comic. Why aren't you reading already? 02:02:18 :P 02:02:42 Sgeo: Uhh, SBaHJ is more addicting than Homestuck. 02:14:15 -!- foocraft has joined. 02:24:25 "As a long time unix user, I don't have to figure out file types. If I see a binary file without an extension and I don't know what it might be, it is going off my system." 02:24:59 what 02:25:29 Does using file count as "not having to figure out file types"? 02:25:41 Using file sounds sensible. Using extensions on UNIX less so 02:29:26 'using file'? 02:29:44 Patashu: file(1) performs heuristics to tell you information about what a given file is. 02:29:53 ah, handy 02:30:12 it's a big ball of knowledge about every file format's headers? 02:30:18 Yup. 02:34:25 -!- pikhq has joined. 02:34:28 -!- pikhq_ has quit (Ping timeout: 246 seconds). 02:40:37 :lol: this is the best trojan ever http://www.symantec.com/connect/imagebrowser/view/image/1815391/_original 02:46:30 -!- Lymia has joined. 02:46:30 -!- Lymia has quit (Changing host). 02:46:30 -!- Lymia has joined. 02:55:58 -!- Behold has quit (Remote host closed the connection). 03:01:02 -!- Adamfyre has joined. 03:06:17 -!- Adamfyre has quit (Ping timeout: 260 seconds). 03:09:24 -!- Adamfyre has joined. 03:09:31 elliott, elliott 03:09:59 what 03:10:37 Oh, you saw it 03:10:42 Just saw your comment on Reddit 03:12:10 I find it hilarious that bitcoin is unencrypted by default 03:14:16 -!- Adamfyre has quit (Ping timeout: 240 seconds). 03:16:43 -!- Adamfyre has joined. 03:19:09 Patashu: Eh? 03:19:18 your wallet.dat 03:19:20 which has a private key 03:19:23 sits unencrypted on your drive 03:19:32 rather than e.g. behind a symmetric key algorithm that takes a password 03:19:33 Well, what is it going to be encrypted with? Another private key? :) 03:19:35 :P 03:19:42 (Joke.) 03:19:50 there's an algorithm that takes a password and spits out a symmetric key 03:19:56 put it into AES-256 or whatever 03:22:04 -!- Adamfyre has quit (Ping timeout: 252 seconds). 03:28:32 -!- pikhq has quit (Ping timeout: 240 seconds). 03:28:45 -!- pikhq has joined. 03:31:48 -!- Adamfyre has joined. 03:35:53 -!- Adamfyre has quit (Ping timeout: 240 seconds). 03:37:19 pikhq: I was thinking that, with my revised needs mechanism, "c99 needs libs ..." should actually be "c99 libs ...", since it actually has special code now, rather than being part of a "generic" mechanism. 03:37:36 (Despite that it's actually more flexible, but yeah, it's not straight "needs" any more, it postprocesses the output from the solver to translate the result into the right flags.) 03:38:13 "This is one of the pitfalls of Ubuntu: it uses the command make for the same program that basically every other Unix-based OS calls gmake." 03:38:43 uh... dude 03:38:50 most Linux do that aiui 03:39:04 coppro: When I quote things, it is because they are stupid. 03:39:11 Usually. 03:39:15 Unless they're awesome. 03:39:33 what's the difference 03:40:32 Also, it is *entirely* reasonable to install GNU make as "make". 03:40:46 As, as far as I'm aware, it suffices as a POSIX make. 03:41:46 What do you want the distro makers to do, maintain a BSD make package as well? 03:43:24 -!- Adamfyre has joined. 03:47:09 -!- ralc has quit (Quit: Leaving). 03:56:37 -!- Adamfyre has quit (Ping timeout: 264 seconds). 04:00:04 "Okay, I guess that's it. The last HLE code in bsnes is now gone, and every special chip uses LLE." 04:00:07 :) 04:02:20 -!- Adamfyre has joined. 04:07:32 -!- Adamfyre has quit (Ping timeout: 252 seconds). 04:13:58 -!- DocHerrings has joined. 04:14:47 -!- hagb4rd has quit (Quit: hagb4rd). 04:16:24 DocHerrings: doc, we need some herrings. 04:16:34 Anyone here any good with common lisp? I have a eodermdrome interpreter in its final stages and I just can't seem to find the problem? 04:16:50 I've... written a few Common Lisp programs. 04:16:52 elliott: I'm a doctor, not a fisherman! 04:17:09 Isn't the problem with Eodermdrome efficient implementation? 04:17:18 Hold on.. I will put it on pastebin. Beware, it's a bit if a beast. 04:17:19 ISTR it's really slow done naively, but ais knows more than me. 04:18:06 elliott: I did it by implementing a hash mapping nodes to sets of connections. Seems to be working fine currently... 04:18:36 How do you know? I only know of one publicly-posted Eodermdrome program, and it sounds like your implementation doesn't actually work yet :) 04:19:02 Not doubting, just curious. 04:20:24 The fact is, the parts work. The program does not seem to. (It could be minor bugs I haven't traced yet). 04:21:02 http://pastebin.com/V7Qg0Pw9 Beware... I did not use comments. I kinda wrote it in a single session. 04:21:24 ^There you go, elliott. Good luck with it. 04:21:28 I find the lack of empty lines more distressing :P 04:21:58 DocHerrings: But, erm, "it doesn't work" is a bit non-specific. 04:22:07 The program is non-trivial, so I don't even know where I'd start debugging it. 04:22:38 Well, here is the breakdown - it parses the file properly, and produced the correct graphs and mappings. 04:23:13 It also correctly detects input and all other prerequisites. 04:23:45 But when running an actual program, ...? 04:24:06 BUT the example program fails miserably. All the code seems to be executed, but no changes to the internal graph are made 04:24:45 DocHerrings: Bear in mind that it is completely untested... 04:25:08 So it may be that the program is broken. It is likely, even. 04:25:23 You might be able to pry a simpler example program out of ais523 here or on the wiki. 04:25:57 True, but by tracing the that section of code, I see something even worse - for some reason, the internal graph is not being altered - at all. 04:26:19 Weird. 04:26:53 DocHerrings: Perhaps you are expecting a functional operation to behave imperatively? i.e., you are transforming the graph into a new graph, but not actually _mutating_ it, and in the end just throwing it away. 04:27:01 This is just a guess based on a cursory glance at your code, no actual evidence. 04:27:30 And I made one of my own - I simply reduced the graph to one node 'a', and then string down the alphabet, printing "Counting 1" etc. That does not work either. 04:27:37 Hm. 04:28:11 Maybe I should get back into CL 04:28:25 elliott: You will notice the gratuitous use of setf. Even if the function returns an object, as long as it is setf'ed, the changes stick. 04:28:42 That's an odd way to put it, but sure. 04:28:58 DocHerrings: Still, closed-nothings bugs me. 04:29:10 For a start, 04:29:29 you're discarding the result of a map, which means you should really use LOOP instead. 04:29:41 Or, well, anything that isn't a map. 04:29:59 Oh wait. 04:30:04 maphash does not actually map. 04:30:09 DocHerrings: "The consequences are unspecified if any attempt is made to add or remove an entry from the hash-table while a maphash is in progress, with two exceptions: the function can use can use setf of gethash to change the value part of the entry currently being processed, or it can use remhash to remove that entry. 04:30:09 " 04:30:13 This doesn't affect you, right? 04:30:45 No, the only time I use maphash, a local variable is the one being changed. 04:30:52 Right. 04:31:37 I dunno, it's weird. 04:31:54 Hmm... I am going to comment out the main loop, and execute the commands by hand. Maybe that will help. 04:32:25 And I badly need to clean and refactor this code anyways. It's a god-awful mess. 04:32:32 It kind of is, yes. 04:32:53 I diagnose this as the obvious result of not being written in Haskell. :p 04:33:30 Funny, I have written in Haskell. Playing around with Clean now. 04:34:10 Clean is interesting, although I'm not convinced that uniqueness types are useful enough to justify the added complexity to the type system and language. 04:34:26 (Apart from that, of course, it's mostly a carbon copy of Haskell-98 with some weirdness.) 04:34:41 -!- kwertii has joined. 04:35:24 Yeah, I find that monads are a more natural abstraction to apply to sequencing IO than uniqueness typing. 04:35:31 Interesting idea, though. 04:35:44 Well I don't know about that. 04:36:17 But two different ways of modelling imperative IO semantics are... hard to compare because the end result is practically the same. 04:36:26 It's a heavily subjective thing. 04:36:30 The question is whether uniqueness types are fun for anything else. 04:36:37 Ahahah, okay, now I know I need to re-do part of this. 04:37:00 Seems my state-machine/regexp code hates the letter a. 04:37:07 wat 04:37:16 I diagnose your code with wat. It is terminal. 04:37:23 I am so, so sorry. 04:38:14 man, terminal code is a pain 04:38:15 I prefer initial 04:38:16 Since I didn't feel like getting a regexp library involved with what was already a trainwreak, I wrote a state machine to parse the input. 04:38:32 Not simple, and nicely esoteric. 04:39:14 If your first thought for an Actual Parsing Library is dragging regexps in, then you have a problem and it's a good thing you were too lazy :P 04:40:38 Well, I found the problem. 04:40:46 -!- oerjan has joined. 04:40:55 "It was the (if letter-is-a (break-randomly)) line." 04:41:00 hi oerjan your eodermdrome program MIGHT be broken MIGHT 04:41:13 Working on it. 04:41:21 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:41:53 No, seems the code failed miserably when the match or replacement subgraph was of length 1. gotta go fix that. 04:42:00 i shall have to ban DocHerrings for this 04:42:10 ? 04:42:39 FOR SULLYING MY PRISTINE PROGRAM WITH ACTUAL BUG CHECKING 04:43:08 Whoah whoa WHOAH. Slow down there! The your pristine program might still work, your majesty! 04:43:24 The implimentation is a bit broken. 04:43:32 the your pristine program 04:43:32 O KAY. WE'LL POSTPONE THE OFF WITH YOUR HEAD, THEN 04:44:20 elliott: this is what I get for not sleeping, okay? :p 04:45:26 Bah, sleep is for mortals. 04:46:21 DocHerrings: talking to a person who operates on average 0 sleep/day 04:46:55 elliott: I thought you averaged higher than that, but that the mode was 0. 04:51:20 * oerjan opens http://hackage.haskell.org/package/mueval and backs away when he notices there are no haddock links 04:51:46 its ok oerjan i will give you a hug 04:51:46 btw 04:51:47 by "eval" 04:51:50 i think CakeProphet just meant > 04:51:51 not a function 04:51:53 u r dum lol 04:51:55 > ['a'..'z'] 04:51:55 "abcdefghijklmnopqrstuvwxyz" 04:51:58 oh 04:52:07 elliott: oh 04:52:14 but still it might have been in a repl or w / e 04:52:46 > sum ['a'..'z'] 04:52:46 No instance for (GHC.Num.Num GHC.Types.Char) 04:52:46 arising from a use of `Data... 04:52:53 Insanity, go... aww 04:52:59 > sum [0..] 04:53:16 thread killed 04:53:30 > sum \$ map (\x -> x * x) [0..] 04:53:37 elliott: i was imagining he was trying some eval "['a'..'z']" which defaulted to Integer 04:53:39 mueval-core: Time limit exceeded 04:54:29 Lymia: sum is indeed a strict function 04:54:31 @src sum 04:54:32 sum = foldl (+) 0 04:54:44 is it! 04:54:45 Lymia is not a he. 04:55:00 Lymia: i was referring to CakeProphet 04:55:06 Oh. 04:55:28 well, at least we know that Lymia is not a he now 04:55:45 note that this does not necessarily mean that Lymia is a she, though 04:55:52 That is correct. 04:56:12 yes. confer a certain soupy, faxy dragon pig 04:56:39 wait, a new one? 04:57:07 hmm, sum [0..] :: LazyNat is _|_, gross 04:57:08 well i don't _think_ Lymia is fax etc. 04:57:25 hasn't Lymia not being a he been established for months 04:57:29 or was that in -minecraft 04:57:33 Dunno. 04:57:35 ("A he": best terminology?) 04:57:41 well i did notice it a while ago 04:57:59 I thought oerjan was referring to me, considering the whole "defaulted to Integer" clause. 04:58:20 > foldl (++) ['a'..'z'] 04:58:22 Overlapping instances for GHC.Show.Show 04:58:22 ([[GHC... 04:59:03 > foldl (/x -> show \$ ++) ['a'..'z'] 04:59:04 : parse error on input `->' 04:59:15 > foldl (\x -> show \$ ++) ['a'..'z'] 04:59:16 : parse error on input `++' 04:59:18 Lymia: missing argument on the first one 04:59:30 oerjan, ? 04:59:42 Lymia: foldl takes 3 args 04:59:53 or more! 05:00:07 Alright, problem found. Well check back in when I have everything done. Then oerjan can have proof of his pristine program. 05:00:09 :t foldl 05:00:11 forall a b. (a -> b -> a) -> a -> [b] -> a 05:00:14 as for the parse, sections can only have arguments of higher (or sometimes equal precedence) 05:00:27 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]). 05:00:34 oh wait 05:00:51 > foldl (\x y -> show \$ ++ x y) "" ['a'..'z'] 05:00:52 : parse error on input `++' 05:00:59 > foldl (\x y -> show \$ x ++ y) "" ['a'..'z'] 05:00:59 Couldn't match expected type `[GHC.Types.Char]' 05:01:00 against inferred ty... 05:01:12 > foldl (\x y -> show \$ (show x) ++ (show y)) "" ['a'..'z'] 05:01:12 what do you want the show for 05:01:16 mueval-core: Time limit exceeded 05:01:17 Uh.. 05:01:18 Dunno. 05:01:32 hm 05:01:33 > foldl (\x y -> x ++ y) "" ['a'..'z'] 05:01:34 Couldn't match expected type `[GHC.Types.Char]' 05:01:34 against inferred ty... 05:01:37 Right 05:01:39 Char!=String 05:01:39 > foldl (\x y -> show \$ (show x) ++ (show y)) "" ['a'..'z'] 05:01:41 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 05:01:55 > foldl (\x y -> x ++ \$ show y) "" ['a'..'z'] 05:01:56 : parse error on input `\$' 05:01:57 not all timeouts are for infinite looping 05:02:04 > foldl (\x y -> x ++ (show y)) "" ['a'..'z'] 05:02:06 "'a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y... 05:02:46 > fix show 05:02:47 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 05:03:02 > map length . group . fix \$ show 05:03:10 [1 05:03:44 > take 5 . map length . group . fix \$ show 05:03:45 wat 05:03:46 [1,1,1,3,1] 05:03:51 wat 05:03:55 > take 10 . map length . group . fix \$ show 05:03:57 [1,1,1,3,1,7,1,15,1,31] 05:04:02 > map length . group . fix \$ show 05:04:06 mueval-core: Time limit exceeded 05:04:09 heh 05:04:12 > take 10 . filter (/= 1) . map length . group . fix \$ show 05:04:14 [3,7,15,31,63,127,255,511,1023,2047] 05:04:30 copumpkin: the \ groups go as 2^n-1 05:04:38 yep 05:04:52 I'm mostly puzzled wtf is wrong with lambdabot 05:04:55 that [1 05:05:18 > map length . group . fix \$ show 05:05:24 mueval-core: Time limit exceeded 05:05:25 mueval: ExitFailure 1 05:05:33 yes that was weird 05:05:49 lambdabot seems to have many possible failure modes for too long computations 05:06:01 yeah, but normally it'll lazily produce some of that list 05:06:13 more than the first element, at least 05:06:29 copumpkin: not if it times out before producing a whole line, does it? 05:06:46 hm 05:06:50 oerjan: maybe not, but it's weird that it spat out [1 before 05:06:54 yes 05:07:37 i mean if it reaches an exception it does spit out what came before, but i don't think it does that with timeout 05:07:43 "ESTNE VOLVMEN IN TOGA, AN SOLVM TIBI LIBET ME VIDERE" This is a real phrase from a (presumably phrase) book on Latin. 05:07:47 Meaning "Is that a scroll in your toga, or are you just happy to see me?" 05:08:10 :D 05:08:13 how old 05:09:07 oh the previous mueval version has haddock 05:09:15 No idea; the quote came to me by way of Omniglot. 05:09:39 pikhq: sounds a bit familiar 05:11:06 eval :: MonadInterpreter m => String -> m String 05:11:10 no shit sherlock :P 05:11:12 oerjan: "Is that a pistol in your pocket, or are you just glad to see me?" is an extraördinarily well-known, oft slightly mis-quoted, oft referenced quip by the actress Mae West. 05:11:28 pikhq: i mean the actual latin you dolt 05:12:09 i'm sure there's a list of several of them 05:12:23 Ah. Yeah. 05:14:16 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!). 05:17:27 -!- wareya has quit (Read error: Operation timed out). 05:19:38 "Serbia includes the Bosnian language as an elective subject in primary schools." 05:19:41 That is comical. 05:20:01 That would be like America including the Canadian language as an elective subject. 05:20:13 i don't know what you mean eh 05:20:30 * oerjan beats pikhq on the head with a Nynorsk dictionary 05:20:34 -!- rodgort has quit (Read error: Operation timed out). 05:21:09 elliott: Serbian/Croatian/Bosnian/Montenegrin/Standard Serbo-Croatian is a pluricentric language with a multitude of names for nationalist reasons. 05:21:32 how ridiculous, eh 05:21:41 isn't it more likely to just be classes on how to insult bosnians? 05:21:43 oerjan: At least Nynorsk and Bokmål *possess* differences. 05:21:44 i'm going to go and get some syrup from a tree, or whatever it is canadians do all day, eh 05:21:50 coppro: a fellow canadian 05:21:51 coppro: eh 05:22:14 goodnight, eh? 05:22:27 coppro: eh 05:24:46 oerjan: The differences between the different Serbo-Croatian "languages" are best compared to "color" vs. "colour" type spelling differences. 05:25:45 except for the shooting at people who say "colour" 05:25:47 (okay, so you *can* write "Serbian" text that a speaker of "Croatian" can't read, but that's only because Croatian only uses Latin script) 05:26:02 oerjan: I did say it was for nationalist reasons, did I not? 05:26:14 Unlike US vs. UK spelling, which is for hysterical raisins. 05:26:35 yes, yes. iiuc the differences where hastily introduced after the wars started... 05:26:51 Yup. 05:27:59 lol 05:28:26 just like canadian english eh 05:28:27 coppro: eh 05:28:28 coppro: eh 05:29:43 I'm not sure it's even meaningful to say "Canadian English". 05:30:29 eh 05:30:30 eh 05:30:34 syrup from trees 05:30:35 bears in snow 05:30:35 eh 05:30:36 eh 05:32:00 syrup from bears in snow, check 05:32:29 -!- rodgort has joined. 05:32:54 -!- rodgort has quit (Client Quit). 05:34:11 -!- rodgort has joined. 05:34:14 so I was thinking it would interesting to make a language that was both high level and low level. 05:34:18 almost as two sublanguages. 05:34:23 that can interact with one another. 05:34:36 so you can write efficient code or you can write abstract code. 05:34:59 CakeProphet: We call it "Haskell". 05:36:30 well, as an alternative to Haskell. 05:36:38 -!- pikhq_ has joined. 05:39:33 -!- pikhq has quit (Ping timeout: 250 seconds). 05:42:12 I could see using Python's with statement to write monadic code... but I'm not entirely sure. 05:43:07 -!- kwertii has quit (Quit: bye). 05:44:19 pikhq_, now all we need is Haskell with a builtin C-like language. 05:46:49 that's called haskell 05:46:58 (he says, despite thinking pikhq_'s original statement a bit rich) 05:49:25 would an interpreter in Haskell be reasonable if you're concerned with performance? 05:49:40 elliott: Only mild hyperbole. 05:50:06 CakeProphet: If you're good at Haskell, of course :-) 05:50:19 Shiro is... faster than pyfunge :P 05:50:21 Lymia: If you were mildly crazy, you could probably implement C in Template Haskell. 05:50:26 (It was faster before I refactored the code.) 05:50:45 pikhq_: mildly crazy, you say? :D 05:50:55 CakeProphet: I mean, obviously you need to have some kind of intuition about the performance characteristics of Haskell structures and code which are very different to most languages. 05:51:00 But yes, Haskell interpreters can be very fast. 05:51:25 Also I feel like linking to: 05:51:26 http://augustss.blogspot.com/2009/02/more-basic-not-that-anybody-should-care.html 05:51:28 Lymia: Without doing crazy implementations of things C assumes; you could just translate pointer semantics directly. 05:51:35 which is an embedded BASIC DSL in Haskell that uses LLVM to produce BLAAAZING fast code. 05:51:43 You could easily do that with... a less perverse language. 05:51:52 elliott, Haskell.... uh.... 05:51:52 Wow. 05:51:54 Like, one that doesn't use horrific syntactic tricks. 05:52:16 elliott: so you mean Perl? :3 05:52:19 elliott, I thought a rough ordering of language speed goes something like this [C,C++]>[Java,C#,Haskell]->[Python,Perl,Ruby] 05:52:25 CakeProphet: ... 05:52:33 Lymia: Languages don't have speeds. 05:52:42 Implementations have speeds (except they don't really). 05:52:55 processors have speed? 05:52:57 Lymia: Languages don't have speeds, code has speeds, and implementations might affect this. 05:53:04 Yes, this matters, because the world is not always "C is the fastest language, lol, everything else is slower". 05:53:10 C was probably not very fast on a Lisp Machine, for instance. 05:53:42 s/language speed/speed of your typical implementation/ 05:53:51 or The Analytic Engine. 05:53:52 On a typical Intel processor and Unix? 05:54:05 s/language speed/speed of your typical implementation on a typical Intel processor and Unix/ 05:54:11 Lymia: Implementations don't *have* speeds, they can only affect speeds. 05:54:25 Lymia: It's possible to write Haskell code as fast as C code that performs the same task, naturally. It might be a pain -- but you can get within the same order of magnitude without too much fuss. 05:54:34 ITC: pedanticism 05:54:51 CakeProphet: It's kind of relevant, because "C and C++ are fast" is a persistent, idiotic myth. 05:54:55 Although I think pikhq_ is taking it a bit too far. 05:54:58 Lymia: A completely moronic algorithm in C will probably get beat by a good algorithm in, say, Brainfuck. 05:55:07 pikhq_, of course. 05:55:20 What we're measuring is "the same algorithm, implemented in an idiomatic-to-mildly-optimised style, compiled by an implementation with full optimisation settings" 05:55:22 i.e., the /overhead/. 05:55:25 Lymia: Comparing against OCaml is probably worthwhile. 05:55:33 But it's useless to compare apples to grapes. 05:55:40 Lymia: Typical OCaml code will be faster than typical Haskell code, most likely. 05:55:48 I should look into that language. 05:55:49 :) 05:55:50 But Haskell code can easily be as fast as typical OCaml code. 05:55:53 Lymia: What, OCaml? 05:55:58 Yeah. 05:56:00 Don't, it's fairly rubbish with only a few nice features. 05:56:15 * CakeProphet is planning some ridiculous language shit. 05:56:23 The ML module system, and some of the structural typing is nice, but the toolchain and library ecosystem SUCKS SUCKS SUCKS, and the strictness is annoying. 05:56:30 Plus the type system is fairly weak and some of the syntax is really grating. 05:56:33 Also it's impure. 05:56:56 elliott: The issue is, of course, that this is rarely a good comparison. Some languages make it much easier to write smarter code than others, so it's not that common that you can do a comparison of the same algorithm in multiple languages to each other. 05:57:11 pikhq_: Yeah yeah yeah it is not helpful to pedant a question to the point of unanswerability. 05:57:31 Lymia: Anyway, my assessment is: You can get a Haskell program within the same order of magnitude or two as a C program doing the same thing without /too/ much fuss (although it'll require hand optimisation). 05:57:42 Thankfully, most of the time you simply don't need this. 05:57:48 Lymia: And certain types of code will be _really_ fast without any work. 05:58:00 elliott: My point is that the question *is basically meaningless*, so yes, it is helpful. :P 05:58:04 Lymia: For instance, fusion means that array-transforming and iterating operations with some of the popular libraries will be RIDICULOUSLY fast. 05:58:13 Not really that surprising. 05:58:17 Automatically vectorised, parallelised, fused, etc. 05:58:56 Lymia: And this is probably more relevant than whole-program performance: it means that you can write simple, functional compositions of combinators to do a certain, atomic task in an easy-to-write way, and it'll compile to a fast tight loop. 05:59:04 Which, if you use it a lot, will help a ton. 05:59:21 Basically, "Haskell is way easier to optimize than C" 05:59:21 =p 05:59:31 I dunno about that. 05:59:44 Some things get automatically optimised with no work for you, and are basically the best you'll get. 05:59:48 And strictness annotations always help. 05:59:49 I dunno, it's certainly easier to microöptimize C. 05:59:55 But C code is usually easier to microoptimise, yes. 06:00:17 elliott, Haskell ensures that a function call with the same parameters would have the same result, right? 06:00:34 Lymia: It's not so much "ensures" as "there is no way to violate that from the language definition". 06:00:47 Heh. 06:00:48 Lymia: Exercise: Write a lambda calculus function that returns a different result given identical arguments at different times. 06:00:55 You can't, but not because of any specific law preventing it. 06:01:05 Lymia: Of course unsafePerformIO and unsafeCoerce and all hosts of horrible things violate this. 06:01:12 But if you use them you better know what you're doing. 06:01:33 Doesn't that go for almost all features explicitly called "unsafe" in any language? 06:01:36 Exposing such non-referentially-transparent things outside of an internal module implementation is a crime worthy of death. 06:01:39 Lymia: Yes. 06:01:40 The compiler *will* assume that the function remains pure, and if you break that assumption you can keep both pieces. 06:01:44 could the FFI be used to violate that principle of Haskell? 06:01:47 pikhq_: It's not quite that bad. 06:02:00 Hmm, I guess unsafeCoerce is actually referentially transparent 06:02:04 Oh, hmm, maybe 06:02:08 CakeProphet: The FFI *contains* unsafeCoerce. 06:02:11 If you cast something in a way that lets you get at its pointer then no. 06:02:26 CakeProphet: Yes, but if you do it you'll know you've done it. 06:02:51 elliott: ...I would hope so. 06:03:12 CakeProphet: And if you expose that impurity from a public module without big warning signs: 06:03:15 TA: kiind of liike wiith regii2tered 2ex offender2 and 2chool2. 06:03:15 TA: iif you move two a new town you have two go up two your neiighbor2 door and warn them about how 2tupiid you are. 06:03:16 TA: and giive them a chance two hiide all theiir iinnocent technology. 06:03:16 TA: and vandaliize your hou2e. 06:03:20 (ANY EXCUSE TO USE THAT QUOTE) 06:03:23 (ANY EXCUSE) 06:03:53 Lymia: One of the things that *really* helps with Haskell is that it's rather easy to write reasonable parallel code. 06:04:02 pikhq_, can't you automate that? 06:04:07 no. 06:04:11 not unless you're a researcher. 06:04:17 Open problem. 06:04:21 and even then, no, not always, just no. 06:04:25 don't even think about it. stop. stop that thinking. 06:04:40 why 06:05:04 stop 06:05:39 yeah, my dual core processor is going to be able to take advantage of all that parallel code, while running other processes at the same time. 06:06:11 CakeProphet: Your processors are idling 90% of the time. 06:06:31 >implying dual core processors will even exist in consumer computers in a few years 06:06:50 now, some /algorithms/ can be sped up by parallelism, I think. 06:06:52 "Dumb" automatic parallelisation would probably work in a N-core graph reduction machine where N is ridiculously large (like, at least sixty-four), mind you. 06:06:57 or potentially sped up 06:07:00 CakeProphet: What do you even mean by that? 06:07:31 And, yeah, the core count is going to go up until either we hit physical limits or we fuck up human civilization enough to stop chip manufacturing. 06:07:32 well, nevermind. it basically still relies on how many processors there are. 06:07:47 elliott, the standard library can be paralleled without the code being aware of it, no? 06:08:10 Lymia: It would usually be a net loss. 06:08:21 You don't want every map of a hundred-element list to involve bulky thread spawning code. 06:08:25 That is Stupid. 06:08:37 Lymia: The trick is to do parallel code that is faster than sequential code, not just doing parallel code. 06:08:54 You can't, but not because of any specific law preventing it. <-- you _might_ say it's because of confluence 06:08:57 elliott, good point. 06:08:57 =p 06:09:15 Even Haskell's really ubergood threading stuff doesn't make `par` free. 06:09:22 oerjan: that's not really an explicit Law, though 06:09:24 it's just a consequence 06:10:33 -!- zzo38 has joined. 06:10:36 "This statement is either false or paradoxical." 06:11:37 Nonsense. 06:11:56 boy howdy, I sure wish the liar's paradox was still interesting 06:12:02 Besides 06:12:14 There's a easy escape clause to that. 06:12:47 This sentence is uninteresting. 06:13:03 your MOM is uninteresting lmao 06:13:12 im: the funniest? 06:13:15 Epimenides of Crete says: "All Cretans are liars." But first he put all the other Cretans in a box and made an experiment like Schrodinger's Cat. 06:13:15 (im the funniest.) 06:16:49 "You do not know how to prove this statement." 06:17:50 Isn't making a sentence that starts 'this sentence' like trying to use an object's variables before the constructor finishes? 06:18:18 Patashu: Maybe it is something like that. 06:18:50 -!- zzo38 has set topic: Rule #1: Ignore Rule #2. Rule #2: Ignore Rule #3. ... Rule \$n\$: Ignore Rule \$n+1\$. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:18:55 lol 06:19:06 Patashu, yes. 06:19:16 zzo38: hi asie 06:19:58 elliott: Can you elaborate on that please? 06:20:01 The proper answer to such paradoxes is simple. 06:20:03 maybe 06:20:03 "Fuck you". 06:20:07 zzo38: can YOU???? 06:20:20 elliott: I don't know. 06:20:32 -!- Lymia has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any positive integer. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any positive integer. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:20:47 zzo38: Try. And see if you can! Else, then maybe you can not. 06:20:49 Wait... 06:20:50 But try. 06:20:54 OK. 06:21:05 -!- Lymia has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:24:00 im a tired 06:24:17 Your challenge is to figure out the end result of this rule. 06:24:22 no 06:25:58 "Fuck off and die in a fire" 06:26:32 pikhq_: great temper A+ 06:28:24 how does this rule system work 06:28:25 -!- zzo38 has quit (Quit: ERROR: CPU TEMPERATURE IS A NONREAL NUMBER). 06:28:38 do I apply a rule only once, or make sure it's always being held after each rule application? 06:28:51 if it's the latter then I can't ignore a rule if I'm told to follow 'em all 06:29:13 Patashu: badly 06:29:19 o 06:32:19 inconsistent ruleset is inconsistent 06:39:07 hey oerjan 06:39:12 *Main> let nine = fromInteger 9 :: Sym in runSym (nine == nine) :: Expr 06:39:12 Fun "==" [Con 9,Con 9] 06:39:16 im breaking rules 06:40:11 lol 06:40:22 idk what's going on!! 06:40:38 Patashu: evil 06:42:13 elliott: erm that fromInteger is redundant 06:42:25 oerjan: oh indeed 06:42:26 *Main> runSym (fromIntegral (fromEnum (nine + nine == nine)) == nine) :: Expr 06:42:26 Fun "(==)" [Con *** Exception: SymException (Fun "(==)" [Fun "(+)" [Con 9,Con 9],Con 9]) 06:42:28 oerjan: darn, so close 06:42:36 scared yet? :D 06:42:53 wat 06:44:41 ok that _is_ a bit scary 06:44:52 you are not hiding Prelude functions are you? 06:45:02 oerjan: nope (well, catch, to use Control.Exception's) 06:45:11 runSym :: (Show e, Typeable e, Show a, Typeable a) => e -> a 06:45:11 runSym x = unsafePerformIO \$ eval x `catch` \(SymException r) -> return r 06:45:11 where eval x = do r <- evaluate x 06:45:11 throw (SymException r) 06:45:13 this is the magic sauce 06:45:34 (if you try and use it as the wrong type it will cause a runtime exception by failing to catch the exception) 06:45:37 (this scares even me...) 06:45:46 oerjan: basically I'm making a _real_ damn symbolic package :D 06:45:52 exception-oriented programming 06:46:32 oh right, it's not _actually_ returning anything from fromEnum 06:46:39 *Main> runSym (fromEnum (nine + nine == nine)) :: Expr 06:46:39 Fun "(==)" [Fun "(+)" [Con 9,Con 9],Con 9] 06:46:46 lol, I like how the fromEnum just gets ignored, yeah 06:46:54 I guess I will not be able to support that, unfortunately 06:48:25 wait catch is a Prelude function? 06:48:31 Yes 06:48:32 :t Prelude.catch 06:48:35 forall a. IO a -> (IOError -> IO a) -> IO a 06:48:45 (sweet, finally some on-topic discussion in here!) 06:48:57 hmm, darn, I forgot that 06:49:00 class (Show a, Typeable a) => Sym a 06:49:03 doesn't really work to bundle constraints 06:49:05 olsner: there was eodermdrome earlier 06:50:13 elliott: it doesn't? 06:50:47 oerjan: you have to define instances manually... 06:50:52 well yeah 06:51:04 mumble mumble class aliases 06:53:13 just use the preprocessor? :) 06:53:41 something something template haskell 06:54:06 * oerjan wonders if someone could implement class aliases _in_ template haskell 06:54:50 it seems eminently possible, mainly from the fact i know very little about template haskell 06:55:27 im templated YOUR haskela 06:56:03 oh, itsa brokes... 06:56:11 them's the brokes! 06:56:18 oerjan: can i just say how scary haskell's pure exception semantics are... 06:56:25 _|_ is like a whole RANGE of values now :< 06:57:41 @quote awesome.majesty 06:57:41 malcolm says: I don't believe you need to invoke the full awesome majesty of Template Haskell 06:58:19 oerjan: Technically, you could do anything with it. Though you might just have a Haskelloid to Haskell compiler by you're done. 06:58:49 elliott: it's not just a RANGE, it's the POWER SET of a range 06:59:09 oerjan: carbon dioxide, man 06:59:15 oerjan: Not helping. 06:59:56 show x = sym (Fun "show" [unsafeCoerce (runSym (unsafeCoerce x::())) :: Expr ()]) 07:00:00 (if an expression has more than one possible exception raised inside dependent on evaluation order, then the resulting _|_ is the _set_ of them) 07:00:01 dammit why isnt unsafeCoerce making my problems go away.......... 07:00:09 TYPE DAMMIT 07:00:32 :t unsafeCoerce 07:00:33 Not in scope: `unsafeCoerce' 07:00:36 one of yours? 07:00:53 oh. 07:00:56 a virgin mind. 07:00:58 Patashu: unsafeCoerce :: a -> b 07:01:01 Patashu: adults are talking plz leave 07:01:07 pikhq_: wow way to ruin their childhood 07:01:15 lol 07:01:24 :( 07:01:28 @hoogle unsafeCoerce 07:01:29 Unsafe.Coerce unsafeCoerce :: a -> b 07:01:48 @src unsafeCoerce 07:01:49 Source not found. Wrong! You cheating scum! 07:01:55 And distinct from \x -> undefined 07:02:01 :t \x->undefined 07:02:01 forall t a. t -> a 07:02:58 import GHC.Prim (unsafeCoerce#) 07:02:58 unsafeCoerce :: a -> b 07:02:58 unsafeCoerce = unsafeCoerce# 07:03:01 Patashu: ^ 07:03:10 so, basically builtin 07:03:12 right 07:03:14 thought so 07:03:48 you can implement it 07:03:50 with unsafePerformIO 07:04:06 -!- cheater_ has joined. 07:05:27 oerjan: whoops i exceeded the limits of the type system 07:05:33 already? 07:05:34 whoops.......... 07:05:41 Patashu: this tends to happen to me 07:05:53 elliott, always pushing the boundaries 07:06:08 is that a pun 07:06:30 maybe in a very abstract way 07:06:59 as in, a pun on concepts, not words... 07:07:01 unsafeCoerce a = let ref = unsafePerformIO (newIORef undefined) in unsafePerformIO \$ writeIORef ref a >> readIORef ref 07:07:16 At least one of the forall'd type variables mentioned by the constraint 07:07:16 must be reachable from the type after the '=>' 07:07:18 whyyyyyyyyyyy 07:07:20 Deewiant: OMG NOT THREAD SAFE THAT'S EVIL 07:08:11 oerjan: erm how is it not 07:08:13 nothing else can access the ioref 07:08:31 oh wait hm 07:08:52 actually, it _could_ be floated out, so still not thread safe 07:09:12 oh wait 07:09:27 Deewiant: you also hit the monomorphism restriction 07:09:27 oh hm what if I... 07:09:29 excellent 07:09:32 Data.Dynamic time 07:10:41 oerjan: Hmm, not in my GHCi 07:10:45 otoh there is also no guarantee that it _does_ keep just one value 07:10:49 unsafeCoerce :: a1 -> a 07:10:59 Deewiant: well obviously you'll have it turned off, then 07:11:43 Nope 07:12:00 Deewiant: and you say it actually gives that type? 07:12:17 > let x = 0 07:12:17 > :t x 07:12:17 x :: Integer 07:12:17 Deewiant: oh wait it works because there is no typeclass involved 07:12:19 It's quite on 07:12:19 : parse error on input `:' 07:12:19 not an expression: `let x = 0' 07:12:27 so the MR doesn't trigger 07:13:39 Deewiant: still, there is no guarantee from haskell that this function does what it's intended to do... the ref could be floated out, thus thread unsafe, or it could be replicated, thus not transferring any value... 07:13:51 * oerjan is just musing 07:14:00 Sure 07:15:25 in the latter case it _would_ probably end up equivalent to \x -> undefined 07:18:03 ?hoogle [ShowS] -> ShowS 07:18:04 Prelude showParen :: Bool -> ShowS -> ShowS 07:18:04 Text.Show showParen :: Bool -> ShowS -> ShowS 07:18:04 Network.URI uriToString :: (String -> String) -> URI -> ShowS 07:18:06 :( 07:18:09 :t ShowS 07:18:10 Not in scope: data constructor `ShowS' 07:18:27 elliott: what do you want? 07:18:59 :k ShowS 07:19:00 * 07:19:06 oerjan: foldr (.) id, it seems 07:19:09 :) 07:19:10 *Main> runSym (nine + nine == nine) 07:19:11 9 + 9 == 9 07:19:14 yeah 07:19:17 yay! 07:19:18 @src ShowS 07:19:18 type ShowS = String -> String 07:21:08 @hoogle [a -> a] -> a -> a 07:21:08 Data.Generics.Schemes everywhere :: (a -> a) -> a -> a 07:21:09 Data.Generics.Schemes everywhere' :: (a -> a) -> a -> a 07:21:09 Prelude until :: (a -> Bool) -> (a -> a) -> a -> a 07:21:51 @src Endo 07:21:52 Source not found. You untyped fool! 07:21:57 @hoogle Endo 07:21:57 Data.Monoid newtype Endo a 07:21:57 Data.Monoid Endo :: (a -> a) -> Endo a 07:21:57 Data.Monoid appEndo :: Endo a -> a -> a 07:22:40 :t appEndo . mconcat . map Endo 07:22:41 forall a. [a -> a] -> a -> a 07:23:00 that's longer than foldr (.) id :/ 07:23:06 now whether that folds left or right, i don't recall. 07:23:10 sadly yes 07:23:30 lol at endo 07:23:44 :t foldA 07:23:45 Not in scope: `foldA' 07:23:49 @hoogle fold 07:23:49 Data.Foldable fold :: (Foldable t, Monoid m) => t m -> m 07:23:50 Data.IntMap fold :: (a -> b -> b) -> b -> IntMap a -> b 07:23:50 Data.IntSet fold :: (Int -> b -> b) -> b -> IntSet -> b 07:24:03 @hoogle foldMap 07:24:03 Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m 07:24:03 Data.Traversable foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m 07:24:08 yay 07:24:19 :t appEndo . foldMap Endo 07:24:20 Not in scope: `foldMap' 07:24:24 eek 07:24:31 :t appEndo . Data.Foldable.foldMap Endo 07:24:31 forall a (t :: * -> *). (Data.Foldable.Foldable t) => t (a -> a) -> a -> a 07:26:32 > (appEndo . Data.Foldable.foldMap Endo) (repeat ('a':)) undefined 07:26:35 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 07:26:46 ok it folds the right way 07:27:12 (worst implementation of fix ever?) 07:27:33 -!- oerjan has quit (Quit: Later). 07:28:28 *Main> runSym (max (9::Symbolic Int) (head (enumFrom 0))) 07:28:28 max 9 (enumFrom 0) 07:28:37 olsner: i like the kind of bugs this is going to create 07:31:58 > let fix' :: (a -> a) -> a; fix' f = (appEndo . Data.Foldable.foldMap Endo) (f:repeat' f) undefined; repeat' x = fix' (x:) in fix' ('a':) 07:32:00 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 07:35:33 *Main> runSym (lift (lift True == lift False) == lift True) 07:35:33 (True == False) == True 07:35:35 wow, that actually works 07:35:41 -!- Sgeo has quit (Read error: Connection reset by peer). 07:36:40 -!- wareya has joined. 07:39:29 eugh, "demonstrating the power of Racket by writing Brainfuck Compiler in it." ... since when does compiling brainfuck provide some indication of "power"? 07:41:27 xD 07:41:44 olsner: i think they mean "im going to use a bf compiler to demonstate fancy features of racket" 07:41:45 but lol 07:42:21 ahaha, the article opens with "If people say that Racket is just a Scheme, they are short-selling Racket a little." ... this thing looks exactly like scheme 07:43:09 that is actually true, though 07:43:22 Racket is a family/environment of languages, not a language 07:43:30 and indeed the main Racket language is very, very different from Scheme 07:43:42 (yes, it's mostly compatible with Scheme, but idiomatic Racket looks nothing like idiomatic Scheme) 07:45:41 aha, ok, the point is that they integrate it as a #lang translator/parser thingy for running brainfuck with Racket 07:45:58 maybe that explains the huge amount of code they need 07:46:10 * elliott looks 07:46:10 *he needs 07:46:13 it's not much code, really 07:46:19 most of it is just boilerplate that is only being used to demonstrate, it seems 07:46:27 i.e. for any language that wasn't bf, you'd actually want it :) 07:46:49 not golfed => bloated 07:47:08 olsner: hi person who uses C in their bloated kernel 07:47:45 hehe, I don't use any C though 07:47:59 i thought you were going to 07:50:09 -!- monqy has quit (Quit: hello). 07:51:39 dunno, maybe, making linker scripts and stuff to do the right thing turned out to be more difficult and more boring than I thought... so I might not do C at all until I make an ELF loader 07:54:17 olsner: carpenters 08:04:36 olsner....hes got the carpenting but he doesnt realise 08:10:01 -!- elliott has quit (Ping timeout: 258 seconds). 08:22:36 -!- cheater_ has quit (*.net *.split). 08:22:37 -!- Patashu has quit (*.net *.split). 08:26:01 -!- cheater_ has joined. 08:26:01 -!- Patashu has joined. 08:29:11 -!- cheater_ has quit (*.net *.split). 08:29:11 -!- Patashu has quit (*.net *.split). 08:34:50 -!- cheater_ has joined. 08:34:51 -!- Patashu has joined. 09:25:27 -!- Vorpal has joined. 10:23:10 -!- Phantom_Hoover has joined. 10:23:36 asdf 10:23:36 Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them. 10:25:00 -!- PatashuPikachuRe has joined. 10:27:37 -!- Patashu has quit (Ping timeout: 252 seconds). 10:33:39 -!- FireFly has joined. 10:35:31 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 10:36:28 -!- Phantom_Hoover has joined. 10:40:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 10:41:23 -!- Phantom_Hoover has joined. 10:44:14 -!- pikhq has joined. 10:44:57 -!- pikhq_ has quit (Ping timeout: 276 seconds). 10:45:09 -!- BeholdMyGlory has joined. 11:00:53 yeah, so mueval gives a not a number exception when I call fromEnum on Char.. 11:01:26 makes no sense at all. 11:21:34 -!- PatashuPikachuRe has quit (Ping timeout: 246 seconds). 11:25:10 -!- Patashu has joined. 11:38:12 http://www.reddit.com/r/askscience/comments/i1txy/askscience_what_programming_language_do_you_use/ 11:38:16 Why 11:52:00 -!- Phantom__Hoover has joined. 11:56:38 -!- Patashu has quit (Read error: Connection reset by peer). 11:57:09 -!- Patashu has joined. 11:57:28 -!- Phantom__Hoover has quit (Quit: Leaving). 12:06:19 Phantom_Hoover: why not 12:06:38 augur, seemed like a weird question. Dunno why. 12:06:52 have you SEEN the questions people ask in there? 12:07:16 FSVO "weird". 12:13:12 honestly some of the askscience questions are so inane 12:13:16 shit like 12:13:38 how would an antimatter bomb have to be to kill all life on earth if it was on the edge of the observable universe 12:14:02 learn to multiply you shithead and stop asking that kind of crap here 12:14:18 The vague ones and the ones which would take 10 seconds of Google are the worst. 12:14:34 well its not like you could google for this 12:14:38 but you could google for the parameters 12:14:51 and all it requires is a little knowledge to figure out 12:15:01 meanwhile i ask deep hard questions and get fuck all :( 12:15:14 "Are there any negative ramifications of collecting solar power? (self.askscience)" 12:15:20 That's the kind of thing I'm talking about. 12:15:22 why does noone know about chaitin-kologorov complexity? 12:15:32 Also, is that really science? 12:15:38 what 12:15:41 c-k complexity? 12:15:42 I would classify it as maths. 12:15:50 close enough 12:16:03 i dont think theres an askmath 12:21:21 math-asked 12:30:08 I don't think ask math would be as popular 12:31:21 probably not 12:31:30 except for students who want help 12:31:35 yeah 12:32:07 there's mathoverflow 12:32:12 full of trolls tho 12:32:19 http://www.reddit.com/r/cheatatmathhomework/ 12:32:23 also i cant understand this but 12:32:25 how do you troll math? 12:32:38 give it a go and you'll see 12:32:39 'pi is 4 in taxicab geometry' 'FUUUUUUUUUUUU' 12:32:44 /r/math's links are half to tinyurl even tho they're reddit internal 12:33:45 'only numbers that you can compute exist' 'FUUUUUUUUUUUU' 12:36:30 actually it's 2sqrt2 12:37:04 it's 4 in |x|_inf geometry 12:40:52 no 12:41:29 the circumference of a L_1 circle is definitely 8 12:42:18 er, rather, circle on a grid 12:42:25 interesting that the term 2 pi r still is valid 12:42:46 i suppose its almost definitional but 12:43:20 i wonder if in principle c = 2 pi r could be the incorrect equation for some geometries 12:44:42 nope. pi will always be defined at the length of a unit semicircle 12:44:48 in any geometry 12:44:49 pi is defined to be the ratio between diameter and circumference 12:44:51 so it always worsk 12:44:58 that too 12:45:05 it's a self fulfilling prophecy 12:45:36 well 12:45:44 in any sane geometry 12:46:17 one can imagine insane geometries where the circumference of a circle does not vary linearly with the radius i bet 12:46:31 but calling it a 12:46:42 "circle" is questionable then 12:47:06 circle's the locus of all points equally distant from a point 12:47:09 works for any geometry 12:49:04 what about a geometry where that describes the entirety of space 12:49:20 aka, a single point 12:49:42 that can have any name 12:49:58 so all points are equally distant from all other points 12:50:04 quintopia: right but i mean, could it be possible that the length of a unit semi-circle is not d/c 12:50:29 we need to come up with something like that if it exists 12:54:58 (note that saying it exists is the same as saying circumference does not vary linearly with radius) 12:58:00 quintopia: in that geometry 12:58:19 but wouldnt that be true in, say, a parabolic geometry? 12:58:55 or a cylinder capped with a sphere? 12:59:00 well, hemisphere 12:59:19 where the circumference would increase up to a point 12:59:22 and then stay constant 12:59:32 if the circle were centered on the pole of the hemisphere 13:00:39 yes, there is a space in which circles would not have a constant pi 13:07:13 -!- MigoMipo has joined. 13:09:35 perhaps we should confine ourselves to geometries in which circles with different radii are distinct 13:09:46 that seems the more interesting case 13:19:31 In my space, pi is the rectangle function. 13:20:09 this leads to circles disappearing when they're not within a set of cycling ranges. 13:21:27 rectangle function? 13:21:41 aka unit pulse. 13:22:38 as a function of radius i suppose? 13:22:59 yep. 13:23:08 pi(r)r 13:23:16 ^2, even 13:24:24 pulse functions are used in music synthesis a lot because they contain infinitely many harmonics. 13:25:03 which makes them ideal for subtractive synthesis. Applying filters to a pulse wave lets you "sculpt" different timbres. 13:25:25 indeed, one-bit music and one-bit symphony consist entirely of square waves 13:25:38 lol... one-bit music? 13:25:55 one bit per channel 13:26:02 per sample 13:26:23 everything would have a constant amplitude... 13:26:28 of 1... 13:26:37 or .5 even 13:26:47 depending on how you measure these things. 13:26:48 sure 13:27:22 but perceived loudness is not a linear function of amplitude 13:27:28 indeed not. 13:27:30 in fact, it's a very complicated function 13:27:45 but it's hard to vary amplitude at all when you only have two values. 13:27:48 that's what I'm saying. 13:28:06 well, it's not only hard, it's impossible 13:28:15 ....well, yes.. that's what I was going for. 13:28:16 but perceived loudness you can play with if you're good 13:28:25 I suppose it would rely on frequencies then. 13:29:07 mmm 13:29:27 http://en.wikipedia.org/wiki/File:Perceived_Human_Hearing.png 13:31:37 i've seen that 13:31:48 tha's the average threshold for pure tones 13:32:16 I think it's an equal-loudness contour. I don't think that's the same thing as threshold. 13:32:29 well 13:32:33 i've seen the full version 13:32:37 ah. 13:32:55 which has a lot of equal loudness contours, including the threshold, for pure tones 13:32:59 http://en.wikipedia.org/wiki/File:Lindos1.svg 13:32:59 this 13:33:17 I assume it applies spectrally as well. But that's probably not entirely accurate. 13:33:25 meaning that it applies to the pure tones in a complex tone. 13:33:52 but i'm certain that perceived loudness is far more a function of timbre than frequency 13:34:14 well yes, frequencies of the spectral components, not the pitch of the note played. 13:34:43 which is to say, even if two sounds were equal in total amplitude, the complex one might sound louder than the pure one 13:35:01 indeed. 13:35:12 *equal in summed perceived loudness over spectral components 13:35:53 I've always wanted to play around with granular synthesis. It generates some pretty rich timbres. 13:36:47 i have played aroud with it 13:37:17 btw i love that little bump on the contours right at the center of the human voice frequency range 13:37:54 oh, yeah. I didn't realize that's what that was. 13:38:11 that's certainly interesting. psychoacoustics in general is interesting. 13:38:30 Most of what I know about it I learned from "Computer Music: Synthesis, Composition, and Performance" 13:38:55 a good book to learn about signal processing in relation to music. 13:39:12 to be sure, i think it's exactly the frequency of a baby's crying :P 13:41:08 most of what i know about it i learned in electronic music history and computer music composition class 13:41:19 that sounds like an awesome class... 13:41:24 I don't think any school I've ever been to has that. 13:41:57 I wonder what purpose the second bump serves, in the higher ranges. 13:46:40 it serves to make applause a painful thing to hear 13:47:18 actually i'm reading this upside-down 13:47:46 what that says is that higher frequencies are suppressed and harder to hear 13:48:13 and that there is a bump in the middle of the human vocal range that is harder to hear 13:49:13 possibly to make it easier to tune out annoying children on airplanes 13:49:21 :P 13:52:11 haha 13:52:17 yeah we were both reading it the wrong way 13:52:44 lower frequencies are much harder to hear that, at a certain point. 13:52:58 presumably because they're so funky fresh. 13:53:03 chaitin-kolmogorov complexity. :T 13:59:23 three body problem. 13:59:46 -!- Sgeo_ has joined. 13:59:48 -!- Sgeo has joined. 14:00:03 http://en.wikipedia.org/wiki/Belt_(music) anatomy is hard 14:00:09 -!- Sgeo_ has quit (Client Quit). 14:06:43 talking to stupid people is hard. 14:06:51 I will have to do a lot of this today. 14:09:22 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:09:37 i sawwy 14:38:44 -!- copumpkin has joined. 14:47:14 -!- oerjan has joined. 14:51:47 yeah, so mueval gives a not a number exception when I call fromEnum on Char.. 14:51:55 wat. 14:52:01 what command does that? 15:00:49 -!- zzo38 has joined. 15:01:10 -!- Vorpal has quit (Ping timeout: 250 seconds). 15:01:24 Do you know what happened stupid today? 15:01:51 people all over the world did tons of stupid things today 15:01:56 Yes. 15:02:03 is it a newsworthy event or something that happened to you 15:02:06 But not what I am refering to. 15:02:19 I was helping someone with Yahoo! Mail. 15:02:32 It switched the new one there seems no way to switch back. 15:02:40 The new one doesn't even work properly. 15:03:36 But I managed to fix it by setting the general.useragent.override option on their computer temporarily and then it displayed a message "Your browser does not support Yahoo! Mail. * Switch to classic temporarily * Switch to classic permanently" 15:03:47 ha 15:04:14 So I pushed "* Switch to classic permanently" and then removed the general.useragent.override option and that fixed it. Now all the messages are available again. 15:04:48 But it seems Yahoo! acting stupid trying to force everyone to use the new one 15:09:57 -!- dell has joined. 15:10:12 -!- dell has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:10:18 -!- dell has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:10:28 -!- dell has left ("Leaving"). 15:10:35 huh 15:11:06 did anything change at all? 15:11:34 It doesn't seem different to me than how it was before. 15:11:48 I don't know what that was 15:13:45 What was the purpose of whatever just happened? 15:14:05 i don't know 15:15:17 i bet it changed something after the maximum topic length and then removed it 15:15:27 hm 15:16:43 i don't think our topic is anywhere near the maximum 15:17:17 -!- oerjan has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa. 15:17:55 -!- oerjan has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:18:48 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:20:09 maybe it put a lot of spaces before whatever it changed :P 15:21:19 -!- zzo38 has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule \$n\$: Ignore all rules \$n\$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 16:28:15 The value of pi is the same regardless of the diameter of circles 16:30:24 augur, that /r/askscience question about families of laws puts me in mind of Dedekind cuts for some reason. 16:32:57 "Haskell is way easier to optimize than C" 16:33:03 "Haskell is way easier to optimize than C"? 16:33:42 "Haskell is way easier to optimize than C"? I looked at LLVM and really it looks like the features of the LLVM make it possible to optimize in many ways (but probably some ways are not implemented yet) 16:39:17 When looking at LLVM it seems like there is some things missing. 16:52:56 zzo38, WRONG! read up on geometric defect. 16:58:04 What is geometric defect? 17:01:05 Phantom_Hoover, what question? Link? 17:07:25 -!- monqy has joined. 17:07:41 -!- oerjan has quit (*.net *.split). 17:07:41 -!- pikhq has quit (*.net *.split). 17:07:41 -!- FireFly has quit (*.net *.split). 17:07:41 -!- cheater_ has quit (*.net *.split). 17:08:21 -!- pikhq has joined. 17:08:21 -!- FireFly has joined. 17:08:45 -!- Vorpal has joined. 17:09:04 -!- pikhq_ has joined. 17:09:08 -!- pikhq has quit (Ping timeout: 252 seconds). 17:14:03 -!- FireFly has quit (*.net *.split). 17:26:45 -!- TOGoS has joined. 17:26:50 -!- TOGoS has left. 17:27:43 -!- FireFly has joined. 17:29:07 Sgeo, clicked away now; it's in his submission history, near the top. 17:29:26 his? 17:29:40 As in, yours? 17:30:42 Or "the"? 17:30:47 * Sgeo is confused 17:31:07 * Phantom_Hoover is metaconfused. 17:33:33 http://www.reddit.com/r/askscience/comments/he5fv/what_do_magnetic_field_lines_actually_represent/ whoever was replying to you deleted their comments :( 17:43:25 -!- dell has joined. 17:43:37 Yeah, can't remember why. 17:43:49 Who is this dell fellow 17:44:01 * Sgeo listens to all of Homestuck Vol. N albums 17:45:04 i think that if a high level language is to converted to a brainfuck code then the best method is to convert the HLL code into a bytecode(resembling asm like code) and after that the task would become easy 17:46:31 what do you think about it 17:46:33 ? 17:48:24 -!- Kustas has joined. 17:48:38 i am thinking to start a project which will convert python like language code to bf 17:48:41 I know that there's a C-2-BF converter 17:48:52 And a weird language called bfc 17:48:54 -!- Kustas has left. 17:49:12 bfc uses an intermediate bytecode language, not sure about C-2-BF 17:49:20 dell, if you'll find it fun, go for it! 17:49:33 i will have to peep into the code of C-2-Bf how does it do 17:49:46 Sgea:sure! 17:49:48 I have no idea 17:50:08 about what 17:50:18 How C2BF does 17:50:19 http://esolangs.org/wiki/C2BF 17:52:18 this will be of much help 17:52:30 BRB 17:54:09 I wonder,if, there might be some LLVM into Brainfuck compiler? I know there is a Brainfuck into LLVM compiler (it is included in the source code repository for LLVM)! 17:54:44 low level v machine 17:54:45 ? 17:54:47 Probably it would be more difficult than making Brainfuck into LLVM 17:55:11 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:56:14 you mean llvm assembly language? 17:56:52 There is already a program compiling Brainfuck to LLVM. 17:57:24 http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/BrainF/ 17:57:44 brainfuck to any language is pretty easy things gets messy when its the reverse 17:57:54 i made a bf to c compiler in 10 minutes 17:57:58 its very easy 17:58:42 Yes it is very easy to convert brainfuck into other codes, although doing optimiziation is a bit more difficult. 17:59:55 How well will LLVM optimize the code converted using the "BrainF" into LLVM? 18:01:10 -!- Phantom_Hoover has joined. 18:03:48 dell: Doing it efficiently is hard. 18:04:52 not hard tooo hard 18:08:50 -!- pingveno has quit (Ping timeout: 258 seconds). 18:10:46 -!- pingveno has joined. 18:12:20 -!- azaq23 has joined. 18:14:59 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 18:22:49 -!- monqy has quit (Quit: hello). 18:23:08 Why does Homestuck Vol. 3 put remixes right next to the originals? 18:23:35 -!- Phantom_Hoover has joined. 18:25:12 -!- dell has quit (Quit: Leaving). 18:28:00 -!- monqy has joined. 18:50:36 -!- jix has quit (Ping timeout: 260 seconds). 18:50:40 -!- jix has joined. 18:51:33 -!- iamcal has quit (Ping timeout: 246 seconds). 18:51:39 -!- iamcal has joined. 18:58:03 * Phantom_Hoover tires of juggling his Google accounts. 18:58:26 -!- iamcal has quit (Read error: Operation timed out). 18:58:30 -!- iamcal has joined. 19:24:33 -!- pikhq_ has quit (Ping timeout: 244 seconds). 19:24:49 -!- pikhq has joined. 19:25:14 How much money would you have to pay them to release the ADOM source codes? One million dollars? One billion dollars? One trillion dollars? One *ZILLION* dollars? 19:36:08 one zillion is a lot of dollars 19:38:59 -!- cheater_ has joined. 19:41:46 -!- atrapado has joined. 20:25:14 http://wiki.eth-0.nl/index.php/LackRack this is wonderful 20:26:14 Want one. 20:29:24 good news! it's only like €5! 20:29:57 probably less in sweden (though i suppose it'd be in SKK) 20:34:27 why would ikea take slovak money in sweden? they don't even use it in slovakia anymore 20:51:40 what's the designation for swedish kronur? 20:51:57 SVK? 20:53:01 Play Pokemon card. The opponent manages to pick up five side cards but runs out of cards before being able to pick up the sixth side card, therefore losing. 20:59:55 -!- wareya has quit (Ping timeout: 252 seconds). 21:00:35 -!- azaq23 has quit (Quit: Leaving.). 21:04:47 -!- teuchter has quit (Ping timeout: 258 seconds). 21:09:47 quintopia: SEK 21:10:40 Also, I wonder why Sweden isn't on the Euro; it's treaty-bound to. 21:11:46 -!- TOGoS has joined. 21:11:50 -!- TOGoS has left. 21:12:16 *Admittedly*, given the present economic instability, it's understandable that nobody wants to dick with their currency at present. 21:14:57 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:16:12 zzo38, that's uncommon? 21:16:33 When playing Magic the Gathering, I've won more than once with very little life, or even 1 life left. 21:17:13 In the Pokemon TCG, such things seem even more likely with two decks around the same level facing each other. 21:18:03 -!- pikhq_ has joined. 21:19:15 -!- pikhq has quit (Ping timeout: 244 seconds). 21:20:24 Gregor: when did my little pony become so popular in youtube poopyness? 21:21:49 -!- wareya has joined. 21:22:36 Lymia: When I play it is not uncommon. Nothing to do with levels or with the deck, really. Really it is the opponent who is making bad choices. Such as, they might be unable to retreat. And if I don't attack, then they will not ever put another card up until it is too late. 21:22:52 I've heard that the latest My Little Pony cartoon is very very good. 21:23:20 zzo38, wait. 21:23:23 Runs out of deck cards? 21:23:29 Lymia: Yes. 21:23:33 Ah. 21:24:12 Usually when I see that happening, it's in Magic the Gathering, and it's quite intentionally caused. 21:24:43 quintopia: Probably about the time that My Little Pony became popular amongst 20-something males. 21:24:53 Man. Brazil borders France. 21:24:57 That is, at the beginning, you can attack and attach energies and prepare. In middle, just resist opponent and prevent them from retreating (such as by not attacking). Near the end, just do nothing. Usually the reason is due to opponent playing stupid. 21:25:01 which was when? 21:25:17 zzo38, I'm not too familiar with the Pokemon TCG 21:25:19 quintopia: At most like a year ago? 21:25:26 hmm 21:25:27 I know the basic idea behind the rules, but not much else. 21:25:42 I'd love to pull out the big pile of cards I had from who knows when and bring it to my school. 21:25:52 -!- atrapado has quit (Quit: FIN). 21:25:54 "Let's figure out this game, and then beat the crap out of each other in it!" 21:26:06 Apparently the latest cartoon has a writer that gives a fuck, which probably is a major factor. :P 21:26:15 I assume Zerg Rush does not work in Pokemon 21:26:34 pikhq_, hmm.. 21:26:44 Lymia: You aren't familiar? I play both Pokemon and Magic. However, I don't know what Zerg Rush is. 21:26:45 Those demographics sound suspiciously like those of magical girl anime. 21:26:54 zzo38, Starcraft term. 21:27:09 Lymia: Gaaah, that genre. 21:27:28 I don't know about Starcraft. What is Zerg Rush? 21:27:35 zzo38, what the zergs do. 21:27:51 In case you can't tell, I am not a fan. 21:27:52 In Magic, I do believe White Weenie is quite close in execution. 21:28:00 pikhq_, it is quite clear. 21:28:09 Fans are inanimate objects, and cannot use IRC. 21:28:40 When I do play Pokemon TCG, I have adapted it to Limited format, as well as modifying a few of the rules for who goes first and for ties and a few other rules. 21:28:40 Lymia: However, they can kill people in the Republic of Korea. 21:28:50 pikhq_, oh. 21:28:52 :( 21:28:59 :P 21:29:29 I still have more than one anime left on my list of "things to watch" 21:29:38 Such as, the number of cards in your deck can be any number as long as it is a multiple of ten and both players must have the same number of cards in their deck, and the number of initial side cards (also same for both players) is one tenth of your deck. 21:29:43 Several of these are magical girl anime. I think you wouldn't like this very much. 21:29:59 Not generally. 21:30:19 zzo38, dunno Pokemon that much. 21:30:31 I assume "mill" and "stall" are not valid strategies? 21:30:36 I use the old rules rather than the new ones in general, with changes. 21:30:45 (Well, the second might actually work) 21:31:43 Lymia: Mill and stall are possible in Pokemon but more difficult to do. Mill is difficult but there is one card that can help you to do it. Stall is easier but still requires some tactics and things to consider. 21:32:54 I also use the rule that whoever has the active card with the lower level at the beginning of the game (Clefairy Doll is treated as zero) plays first, if they are not the same level. 21:33:40 I prefer to use the rules as written, and respond to unfun decks with even more unfun decks. 21:34:33 And for coin tosses, you can do Rock-Paper-Scissors; whoever win RPS is heads (whether they want it or not, but usually you do want heads); stalemates you try again. In case of tie, if it is during an attack, the attacker loses; otherwise it is a tie, and the tie stands (no sudden deathmatch). 21:35:42 Lymia: I have adapted it to Limited so that it is not a Constructed game, which means that deck construction is somewhat less important (you cannot bring your own cards). 21:35:58 zzo38, no fun. 21:36:19 One of my friends uses Earthcraft+Squirrel Farm for infinite tokens. 21:36:29 It's not exactly fair. 21:36:35 It is funny and fun. 21:38:02 -!- pumafyre has joined. 21:38:21 Lymia: Why do you think no fun? I prefer Limited play rather than Constructed. 21:38:46 (In fact I do not own any cards, so I am unable to play Constructed anyways.) 21:39:10 zzo38, because you can make decks centered around completely insane ideas. 21:41:33 -!- pumafyre has quit (Client Quit). 21:42:17 -!- pumafyre has joined. 21:42:50 (Actually I do have a few Magic: the Gathering cards, because you get to keep the cards you draft. I would prefer if the original owner (the store) kept them; even in ante I think all cards should be returned after the match.) 21:44:33 (And to allow some cards such as "Double Cross" (from Unglued) but they can only affect the current match. *Nothing* you do should affect any game outside of the current match, and any cards you purchase or whatever else you do before the match also should not affect the current match.) 21:57:17 hello 21:59:09 -!- pumafyre has quit (Quit: AndroidIrc Disconnecting). 22:03:33 -!- pikhq has joined. 22:04:17 -!- pikhq_ has quit (Ping timeout: 240 seconds). 22:08:57 -!- sebbu has joined. 22:08:58 -!- sebbu has quit (Changing host). 22:08:58 -!- sebbu has joined. 22:12:08 -!- sebbu2 has quit (Ping timeout: 255 seconds). 22:14:44 -!- elliott has joined. 22:14:44 -!- elliott has quit (Changing host). 22:14:44 -!- elliott has joined. 22:17:19 Phantom_Hoover: 22:17:19 elliott: You have 4 new messages. '/msg lambdabot @messages' to read them. 22:17:21 oops 22:17:31 that'll teach me to type p 22:26:03 elliott: carpenters? 22:26:10 olsner: yes. 22:26:25 I still don't get it 22:26:58 EgoBot, 22:27:07 elliott, see, that's how you do it. 22:27:13 Type in the first letter, hold tab, press enter when ready. 22:27:25 EgoBot: 22:27:30 i got the same one 22:27:52 elliott, 22:28:10 I was hoping it would be EgoBot. 22:28:46 -!- SimonRC has quit (Ping timeout: 260 seconds). 22:29:15 so, the icfp programming contest has started now 22:29:32 ICFP? 22:30:06 olsner: wasn't there an icfp irc channel? 22:30:39 there probably is 22:33:37 http://www.guardian.co.uk/commentisfree/libertycentral/2011/jun/17/library-censoring-internet-hexham 22:33:43 Hexham: exactly the same as China. 22:46:29 -!- SimonRC has joined. 22:46:59 -!- pikhq_ has joined. 22:47:14 elliott: Working on implementing the changes you suggested a while back. 22:47:19 Holy frak this makes things cleaner. 22:48:41 ALL IT NEEDS NOW IS TO BE WRITTEN IN HASKELL 22:49:31 elliott: Call me up when Haskell has a reasonable chance of even working on all architectures supported by Debian. :P 22:49:51 elliott, it is indeed grim up North. 22:50:12 pikhq: HUGS 22:50:14 Until you get a bit more north, when suddenly it becomes Scotland and it's quite pleasant. 22:50:21 -!- pikhq has quit (Ping timeout: 260 seconds). 22:58:12 -!- pumafyre has joined. 23:00:46 how many fires in the pumas pumafyre 23:01:24 * Lymia hugs elliott 23:01:28 DId you summon me? 23:01:29 Did* 23:01:30 what 23:08:20 -!- elliott has quit (Remote host closed the connection). 23:08:23 -!- elliott_ has joined. 23:08:33 -!- elliott_ has quit (Client Quit). 23:08:33 i like that Lymia randomly hugs people hear. i feel like some of the people here don't get enough hugs 23:08:52 Where is hear? 23:09:37 it's a typo that i saw but was too lazy to comment on figuring everyone would get the point 23:09:42 -!- pumafyre has quit (Quit: AndroidIrc Disconnecting). 23:12:52 -!- elliott has joined. 23:19:46 Bleck, I keep getting tempted to just add a custom object system to this sucker. 23:20:10 And it'd be much saner to just pull in one instead. 23:20:31 But I'd really prefer to not have non-trivial dependencies. 23:22:10 then pull it in completely and make it your own :) 23:22:35 And ideally I could use a fairly small-footprint Tcl for this. I.E. one that's not going to provide the various Tcl 8.5 features I've been making extensive use of. :/ 23:25:01 Though, Tcl 8.5 should be fairly portable. 23:29:20 Meh, I can probably rely on Tcllib. 23:30:40 -!- Patashu has joined. 23:31:05 Okay, yeah, the official distribution works on WinNT, OS X, *-linux-gnu, Solaris, HP-UX, AIX, *BSD, OpenVMS, IRIX, OSF, SCO Unix, and UnixWare. 23:31:52 I don't think I need to concern myself with depending on Tcl 8.5 or pure Tcl libraries. 23:33:49 -!- foocraft has joined. 23:36:38 How do you play "Went"? Is that similar to "Go"? 23:36:54 Or is just the stones similar except that it is magnetic? 23:47:55 you need time travel to play Went 23:57:38 quintopia, linky? 23:59:34 Good design is hard. 23:59:55 pikhq_: I wouldn't bother making a generic object system yet.