00:00:07 a _bit_ 00:01:30 (that's the amount you have to pay back, btw) 00:02:08 wait, except it was post-tax 00:02:28 What kind of tax applies to this 00:02:42 Doesn't the american tax form have a field for "illegal activities" 00:02:59 -!- monqy has quit (Quit: hello). 00:03:03 something like that 00:03:52 there's supposed to be a way to declare those without being caught, since otherwise it would be against the 5th amendment to have to declare them 00:03:57 iirc 00:04:46 I thought that was just there so that the government could prosecute you twice 00:05:04 Once for illegal activities; and then for not paying tax on those activities 00:05:36 not what i heard 00:07:18 -!- nooodl_ has quit (Ping timeout: 264 seconds). 00:16:13 Is it just me, or is Haskell probably a good language for expressing D&D stuff? 00:16:59 -!- nooga has quit (Ping timeout: 255 seconds). 00:17:23 validDruid (Alignment Neural _) = True; validDruid (Alignment -- 00:17:40 I hope nobody minds that I paste things I see in here to other people sometimes. 00:17:42 erk, can't use Neutral as a constructor for both GoodEvilAxis and LawChaosAxis 00:17:43 Apropos of nothing. 00:18:14 Also s/Neural/Neutral/ 00:18:48 Yes, I can see that you can't 00:18:54 You have to try something else 00:18:56 Doesn't fourth ed simplify the alignment system ayway. 00:18:58 anyway* 00:19:08 Bike: Yes, in a *stupid* way. 00:19:11 I guess d20srd isn't 4th ed? 00:19:17 Also, OOTS is 3.5 00:19:34 * Bike just got out of a 4e game, knows shit about the rules other than that they're a favored target of grognards 00:19:54 And I am in fact playing a neutral druid. 00:19:56 * Bike eyes Sgeo 00:20:04 NN druid? 00:20:10 yes. 00:20:29 OK 00:20:34 Bike, did I say you can't? 00:20:52 I'm just miffed at having to use different words for Neutral 00:21:24 No, I just meant because a neutral druid was your example :P 00:21:24 Actually you can use the same word for both (in a kind of hackish way) by using GADTs 00:21:27 are you stalking me etc 00:22:10 data AlignmentOn :: * -> * where Good :: AlignmentOn GoodEvilAxis; Evil :: AlignmentOn GoodEvilAxis; Lawful :: AlignmentOn LawfulChaoticAxis; Chaotic :: AlignMentOn LawfulChaoticAxis; Neutral :: AlignmentOn anyAxis , HTH 00:22:37 data AlignmentAxis :: * -> * where { Neutral :: forall x. AlignmentAxis x; Good :: AlignmentAxis GoodEvil; Evil :: AlignmentAxis GoodEvil; Lawful :: AlignmentAxis LawChaos; Chaotic :: AlignmentAxis LawChaos; } 00:22:50 Bike, well, Druids have to be neutral at least on one axis 00:22:56 Took me a bit too long to work that out 00:23:02 yes but i am being silly. 00:23:08 "Neutral good, lawful neutral, neutral, chaotic neutral, or neutral evil." is a bit verbose 00:23:09 (Unlike the serious Haskell discussion here) 00:23:24 data Alignment = Alignment (AlignmentAxis LawChaos) (AlignmentAxis GoodEvil); 00:23:41 Now you can call them both Neutral if you want to. 00:23:48 (alt.: insult of haskell based on comparison to toy morality that is the D&D alignment system) 00:26:31 Bike: i am sorry but my evil plans must _not_ be referred to outside this channel. i hope you understand. 00:26:36 Now to make Icosahedral alignment, it is the same as 3.5e except that there is also a "creature kind alignment entry", which is a bit more complicated, now either axis can be X for "don't care", and there is also a prefix which can be S (stereotypical), A (always), U (unaligned), or X (don't care). This is more complicated. 00:26:45 oerjan: your what 00:26:58 no, not my what. my evil plans. 00:27:04 hth. 00:27:08 Oh. 00:27:22 oerjan: What about references to the timestamp of the message of your evil plan of the channel? 00:27:42 zzo38: dubious. 00:29:12 (S is the most common alignment for intelligent creatures, A is the most common alignment for outsiders, U is the most common alignment for normal animals and simple constructs, and X is the most common alignment for normal humans.) 00:30:11 Icosahedral RPG is more mathematical than D&D, so probably many more things (but still not everything) can be expressed in Haskell in some ways, too. 00:30:44 What does something being "more mathematical" mean 00:31:52 What do *you* think??? 00:32:42 Uh, I don't know. So I asked. 00:32:59 I don't entirely know either. 00:33:38 data AlignmentBias = AlignmentBias AlignmentMode (Maybe (AlignmentAxis LawChaos)) (Maybe (AlignmentAxis GoodEvil)); 00:35:57 newtype Mana = Mana (Color -> Natural); newtype Multimana = Multimana (Mana -> Natural); -- Not a computable representation of multimana, also allows it to be infinite, which it might not supposed to be 00:37:03 (Map Mana Natural) might be a more precise representation 00:37:17 * Sgeo is somewhat surprised that Mark of Justice is an actual spell 00:37:36 -!- tromp__ has joined. 00:37:52 I made up some spells for Dungeons&Dragons game. 00:39:13 -!- coppro_ has joined. 00:39:21 If you are playing a NN druid, can you give the other details of the character? (animal companions, character species, etc) 00:41:34 In other words, a mana is a multiset of colors (where the "colors" are w,u,b,r,g), and a multimana is a multiset of manas, and forms a semiring. 00:41:51 That is what I mean by being "more mathematical". 00:44:17 -!- Bike has quit (*.net *.split). 00:44:17 -!- SirCmpwn has quit (*.net *.split). 00:44:17 -!- tromp_ has quit (*.net *.split). 00:44:17 -!- jconn has quit (*.net *.split). 00:44:17 -!- coppro has quit (*.net *.split). 00:44:34 Now is it understandable? 00:55:01 Dear Google: My dad was _not_ talking about a clear pharmacy. 00:55:27 (He was saying 'call your father') 00:59:10 your dad... refers to himself in the third person 00:59:12 formally 01:00:21 Only when leaving a voicemail. 01:02:37 I should start treating my YouTube favorites as more of a queue. Currently it's very stacklike 01:02:49 I so rarely look at the earliest things I favorited 01:06:09 Phantom_Hoover: I frequently refer to someone I'm talking to in the third person if I think other people might be reading and confused as to who it's addressed at 01:06:32 just like I treat days in the third person (rather than "today") if there might be a delay in the message, or timezone issues 01:09:25 -!- TeruFSX has joined. 01:10:26 slightly related, blogs where you have to hunt around to find either the message posting date or the author's name are a pet peeve of mine. 01:11:12 -!- ais523 has quit. 01:11:35 ALSO PEOPLE QUITTING JUST AS I RESPOND TO THEM 01:11:38 hth. 01:14:17 i hate blogs which don't let you page through posts easily 01:47:42 -!- Nisstyre-laptop has quit (Quit: Leaving). 01:49:03 o.O hsc2hs is a thing that's part of the Haskell Platform? 01:49:07 Hmm, maybe... 01:50:02 :k Free 01:50:04 Not in scope: type constructor or class `Free' 01:50:04 Perhaps you meant `Tree' (imported from Data.Tree) 01:50:13 I'm sure I tried it 01:51:39 -!- Frooxius has quit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204]). 01:51:51 -!- Frooxius has joined. 01:58:28 Nothing wrong with using fixIO directly if I understand it better than DoRec, right? 01:59:55 -!- carado_ has joined. 02:01:03 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:01:42 * tswett ponders the free monad. 02:02:31 Yeah, that's trivial to come up with. data FreeM a where FBind :: FreeM a -> (a -> FreeM b) -> FreeM b; FReturn :: a -> FreeM a 02:02:41 wow, intrade just shut down 02:03:14 -!- carado has quit (Ping timeout: 256 seconds). 02:04:19 -!- carado_ has changed nick to carado. 02:05:31 Is the play money one still up/ 02:06:07 Well, they say that they're "ceasing trading, settling all open positions, and ceasing all banking transactions". 02:06:21 Technically, the play money one isn't any of those; it's just a game. 02:06:39 Though the play money one might have been tied to real-money numbers, and those numbers no longer exist. 02:06:42 I don't know. 02:07:21 intrade.net says the playmoney one has been moved to play.intrade.com, and play.intrade.com is down 02:07:22 Sgeo: the options for monadic recursion are in a bit of a mess, with them just recently deciding to switch which one they're deprecating. so in ghc head DoRec is deprecated, but the other option now includes both the mdo and rec keywords with slightly different meanings. 02:07:25 "The service is not available. Please try again later." 02:07:46 Wait, that thing I came up with above isn't the free monad, because it isn't a monad. 02:07:58 Hmmm. 02:08:07 oerjan, fixIO uses unsafeInterleaveIO, but I can write the operator I need without it. Should I still use fixIO? 02:08:12 The interleaving can't hurt, can it? 02:08:41 -!- kallisti_ has joined. 02:08:42 tswett: istr there are at least two implementations of free monads on hackage, one i think is free and the other is called operational 02:08:58 Sgeo: it's _supposed_ to do the right thing :P 02:09:43 but if you are not _actually_ doing value recursion across IO actions, then i suppose you shouldn't really use fixIO either. 02:10:02 Sgeo: what operator are you trying to write? 02:10:59 oerjan, I have a library that has an addEvent function, which returns a Unique. I need that Unique in order to remove the event handler. I want to write a thing that makes an event only run 1 time, so basically it would take an event handler and make it also cancel the event at the end. 02:11:33 Probably would have to take the place of addEvent 02:12:03 -!- kallisti has quit (Ping timeout: 276 seconds). 02:12:10 ok i don't immediately see why that requires any recursion 02:12:35 oh hm right 02:12:47 Need the result of addEvent in the thing I pass to addEvent 02:12:53 you want an event to see its own Unique. 02:13:05 But I don't see why that would need unsafeInterleaveIO... I think 02:13:31 well are you writing addEvent yourself? 02:13:34 No 02:14:03 what's its type? IO () -> IO Unique ? 02:14:46 i would think that requires fixIO yes. 02:15:04 Not quite, but along those lines 02:15:42 well if its actually type doesn't have something else allowing you to sneak in the Unique, then you still need fixIO. 02:16:19 Why not passing in an MVar Unique instead of a Unique? 02:16:21 etc. 02:16:34 i mean, if it was addEvent :: (Unique -> IO ()) -> IO Unique, then we wouldn't be having this conversation. :) 02:16:43 oh right, you could do that. 02:17:47 But I guess there isn't really a reason not to use fixIO, is there? And better to avoid writing custom code for a thing 02:20:21 -!- TeruFSX has quit (Quit: Leaving). 02:20:47 fixIO is probably prettier than MVars, even if it uses mutable vars underneath. 02:20:57 and unsafeInterleaveIO. 03:07:08 Other thing that continuation monad does is such as http://esolangs.org/wiki/Talk:Bruijndejx does continuation do that in other programming languages too or only in Haskell? 03:13:53 zzo38: i'm sure you can do it in e.g. scheme although you would have to make the f () equivalent expressions into thunks or the PutZero etc. into macros to avoid the continuations being called early, since scheme is a strict language. 03:15:02 oerjan: Can you give an example? 03:15:37 :t cont $ \f -> Just (f ()) 03:15:38 Occurs check: cannot construct the infinite type: a0 = Maybe a0 03:15:38 In the return type of a call of `f' 03:15:38 In the first argument of `Just', namely `(f ())' 03:15:56 hm... 03:16:18 That obviously won't work! What are you trying to make? 03:16:43 i'm just checking the type of what you wrote in the article 03:16:45 :t cont 03:16:46 ((a -> r) -> r) -> Cont r a 03:18:31 The type of what I wrote in the article uses a recursive datatype, so Maybe doesn't work 03:18:45 right 03:21:24 oh wait now i see the problem 03:21:50 scheme doesn't have a direct equivalent to calling the _top_ continuation directly. 03:22:21 so maybe you need to do something else. 03:22:38 perhaps delimited continuations could do it. 03:23:41 which i don't understand very well, but i recall haskell continuation monads can emulate them 03:24:13 What I know is that the example I have given doesn't use callCC at all, and I'm not sure if it could reasonably be written with callCC. 03:26:14 i suspect not. 03:27:25 -!- copumpkin has quit. 03:27:50 -!- copumpkin has joined. 03:28:01 -!- trout has changed nick to function. 03:28:26 it seems like it's more like coroutines maybe 03:31:32 oerjan, haskell continuation monad is delimited. cont corresponds directly to shift 03:31:43 -!- jconn has joined. 03:31:55 O, it is? Then that would work, I suppose. 03:32:22 aha 03:33:04 Does Scheme and other programming languages have that, and if so would it function in a same or similar way? 03:33:40 -!- sebbu has quit (Read error: Connection reset by peer). 03:34:07 -!- sebbu has joined. 03:34:07 -!- sebbu has quit (Changing host). 03:34:07 -!- sebbu has joined. 03:36:24 scheme doesn't have it built-in, but it can supposedly be implemented using ordinary continuations and a mutable variable - however oleg kiselyov and others have critisized that this doesn't fit well with the rest of the language (because things break when you mix it with certain other things, including other ordinary continuations) 03:36:42 *criticized 03:36:47 Continuation are usually done with call/cc but I find law of excluded middle continuations are usually more clear to understand to me. 03:37:35 oerjan: Then would there be better ways to do such thing in Scheme other than continuations, if that would be the case? 03:41:24 from wikipedia's delimited continuation article: (define (yield x) (shift k (cons x (k (void))))) 03:42:29 assuming Sgeo's claim that shift = cont, that looks similar to your code in a way 03:43:30 Want me to run some examples of shift/reset on wikipedia? 03:43:31 zzo38: well the claim is you need to take _delimited_ continuations as the primitive building block and build the rest of the control structures from those to make it fit together 03:43:47 @let reset = flip runCont 03:43:49 Defined. 03:43:50 :t reset 03:43:51 (a -> c) -> Cont c a -> c 03:43:59 oops 03:44:02 @let reset = flip runCont id 03:44:03 :2:1: 03:44:04 Multiple declarations of `reset' 03:44:04 Declared at: ... 03:44:09 @unlet reset 03:44:10 TemplateHaskell is not enabled 03:44:14 uh 03:44:15 @undefine 03:44:19 @undefine reset 03:44:26 @let reset = flip runCont id 03:44:28 Defined. 03:44:32 @let shift = cont 03:44:33 that scraps _all_ definitions, there is no way to remove a particular one 03:44:34 Defined. 03:44:37 Oh, oops 03:44:43 -!- SirCmpwn has joined. 03:44:46 :t reset 03:44:47 Cont c c -> c 03:45:06 but given that, everyone has to wipe out everything occasionally. 03:45:20 > 2 * (reset (1 + (shift $ \k -> k 5))) 03:45:21 Ambiguous occurrence `shift' 03:45:22 It could refer to either `L.shift', defined a... 03:45:33 uh? 03:45:40 dammit is the housemate knocking on the wall because of my typing... 03:45:55 > 2 * (reset (1 + (cont $ \k -> k 5))) 03:45:57 No instance for (GHC.Num.Num (Control.Monad.Trans.Cont.Cont a0 a0)) 03:45:57 aris... 03:46:00 hm 03:46:52 > 2 * (reset $ do { c <- (cont $ \k -> k 5); return (1 + c)}) 03:46:54 12 03:47:04 "yay"? 03:50:16 :t shift 03:50:17 Ambiguous occurrence `shift' 03:50:17 It could refer to either `L.shift', defined at :2:1 03:50:17 or `Data.Bits.shift', 03:53:17 :t L.shift 03:53:19 ((a -> r) -> r) -> Cont r a 03:54:33 > 2 * (reset (1 + (L.shift $ \k -> k 5))) 03:54:35 No instance for (GHC.Num.Num (Control.Monad.Trans.Cont.Cont a0 a0)) 03:54:35 aris... 03:55:55 oerjan, it's still an issue of shift giving a Cont ... 03:56:04 I think there is a thing that enables that style though 03:56:30 Can <$> be used? 03:56:40 Yes 03:56:43 Cont r is a monad 03:56:47 > 2 * (reset ((1 +) <$> (L.shift $ \k -> k 5))) 03:56:49 12 03:58:35 It can also make ContT () IO a -> IO [a] is possible, too. 03:59:23 It doesn't work with ContT on other monads, and it also doesn't work ContT () IO a -> IO a 04:07:01 Do you know if there is a way to convert a list of connections between 74xx components into a Verilog code? 04:08:01 -!- augur_ has joined. 04:16:56 -!- Jafet has quit (Quit: Leaving.). 04:19:27 -!- augur_ has quit (Read error: Connection reset by peer). 04:19:49 -!- augur has joined. 04:45:47 -!- Mathnerd314 has quit (Remote host closed the connection). 04:45:57 -!- Mathnerd314 has joined. 04:58:35 :t asks 04:58:37 MonadReader r m => (r -> a) -> m a 04:58:43 Ok, so I'm not hallucinating it 05:00:55 > ask (+) 1 2 05:00:56 3 05:00:59 > asks (+) 1 2 05:01:01 3 05:01:06 WHAT'S SO HARD 05:04:10 Hopefully you can understand what ContT () IO a -> IO [a] is meaning? 05:04:23 Would you ever use such a thing in some program, though? 05:04:50 _probably_ not 05:10:02 :t ask 05:10:03 MonadReader r m => m r 05:10:07 er 05:10:20 Is (r->) a MonadReader? 05:10:26 * oerjan whistles innocently 05:10:30 COULD BE 05:11:10 * Sgeo remembers someone saying that ask and asks are both id 05:11:18 But I thought that was conceptual 05:11:19 sometimes i think one should make an entire langauge based on monads 05:12:06 DAE THINK THAT ($) IS LITERALLY ID? 05:12:21 HULK SMASH 05:13:30 > let ($) = ask in length $ "foo" 05:13:32 3 05:24:47 -!- sebbu has quit (Ping timeout: 260 seconds). 05:28:15 myname: Make one based on monads on other categories too 05:29:15 I think Gregor is going to kill me 05:29:22 I am laughing hysterically at something he introduced me to, and I'm eating. 05:30:36 Kill you by what? The food, which is poisoned or whatever? 05:30:47 -!- carado_ has joined. 05:32:05 zzo38, by making me choke on my food 05:32:15 Because I'm laughing while eating 05:32:21 O, yes, that too 05:32:27 I forgot about that. 05:33:35 pesky human esophagi 05:35:20 pesky randall munroe ruining math 05:38:00 -!- carado_ has quit (Ping timeout: 256 seconds). 05:40:25 Math is ruined? 05:40:48 at least math notation is ruined in today's xkcd 05:57:11 @hoogle usafeCoerce 05:57:11 No results found 05:57:15 @hoogle unsafeCoerce# 05:57:16 No results found 05:57:29 Unsafe.Coerce.unsafeCoerce 05:57:45 @hoogle unsafeCoerce 05:57:45 Unsafe.Coerce unsafeCoerce :: a -> b 05:57:51 speling hleps 05:58:03 usafeCoerce was how it was spelled in a comment 05:58:12 ah 05:58:13 http://hackage.haskell.org/packages/archive/base/4.6.0.1/doc/html/src/Unsafe-Coerce.html#unsafeCoerce 05:58:19 -- See Note [Unsafe coerce magic] in basicTypes/MkId 05:58:19 -- NB: Do not eta-reduce this definition, else the type checker 05:58:19 -- give usafeCoerce the same (dangerous) type as unsafeCoerce# 05:58:46 Then report that mistake 06:00:57 so the question is, how can unsafeCoerce# possibly be more dangerous 06:02:25 I think they mean the type is more dangerous 06:02:34 (That still doesn't explain it, though) 06:05:56 the types listed are the same... 06:08:21 I thought it was something like unsafeCoerce# :: forall (a :: ??) (b :: ?). a -> b 06:10:17 so it doesn't show any difference when the types are shown without their kinds 06:10:31 :k (->) 06:10:32 * -> * -> * 06:11:02 they removed those special kinds from -> though... 06:11:47 Some functions uses it though, such as function with # 06:12:59 A Coyoneda f a can be converted into an f a if f is a Functor? 06:13:13 Sgeo: Yes 06:45:01 -!- oerjan has quit (Quit: leaving). 06:57:35 -!- sebbu has joined. 07:13:33 -!- Bike has joined. 07:14:36 -!- FreeFull has quit (Quit: See ya.). 07:24:08 -!- impomatic has quit (Quit: impomatic). 07:32:23 -!- epicmonkey has joined. 07:38:42 -!- Snowyowl has quit (Quit: Page closed). 07:53:00 -!- epicmonkey has quit (Ping timeout: 252 seconds). 08:23:04 -!- Bike has quit (Ping timeout: 252 seconds). 08:23:21 -!- zzo38 has quit (Remote host closed the connection). 08:53:40 -!- monqy has joined. 09:03:49 -!- epicmonkey has joined. 09:08:06 -!- Jafet has joined. 09:25:08 -!- copumpkin has quit (Ping timeout: 248 seconds). 09:25:39 -!- copumpkin has joined. 09:35:49 -!- nooga has joined. 10:02:15 -!- Phantom_Hoover has joined. 10:09:12 -!- azaq23 has joined. 10:10:24 -!- impomatic has joined. 10:24:58 -!- Taneb has joined. 11:23:00 -!- Taneb has quit. 11:25:55 -!- DHeadshot has quit (Read error: Connection reset by peer). 11:59:22 -!- carado has quit (Ping timeout: 256 seconds). 12:28:17 -!- boily has joined. 12:28:20 -!- boily has quit (Client Quit). 12:28:30 -!- boily has joined. 12:31:30 -!- ais523 has joined. 12:42:31 -!- metasepia has joined. 12:43:11 -!- hagb4rd2 has joined. 12:44:30 -!- hagb4rd has quit (Ping timeout: 252 seconds). 13:49:18 -!- impomatic has quit (Ping timeout: 264 seconds). 13:54:59 -!- augur has quit (Remote host closed the connection). 14:19:14 -!- aloril has quit (Ping timeout: 276 seconds). 14:22:05 -!- carado has joined. 14:30:55 -!- atehwa has quit (*.net *.split). 14:30:55 -!- TodPunk has quit (*.net *.split). 14:30:55 -!- rodgort has quit (*.net *.split). 14:30:56 -!- fizzie has quit (*.net *.split). 14:31:02 -!- fizzie has joined. 14:31:03 -!- atehwa has joined. 14:31:08 -!- TodPunk has joined. 14:31:18 -!- impomatic has joined. 14:31:30 -!- rodgort has joined. 14:32:21 -!- aloril has joined. 14:37:06 -!- augur has joined. 14:41:24 -!- ais523 has quit (Ping timeout: 250 seconds). 15:07:12 -!- Taneb has joined. 15:29:23 -!- hagb4rd2 has quit (Quit: hagb4rd2). 15:33:58 -!- FreeFull has joined. 15:34:35 -!- carado_ has joined. 15:35:07 -!- carado has quit (Quit: Leaving). 15:41:21 -!- hagb4rd has joined. 15:42:48 -!- metasepia has quit (Ping timeout: 264 seconds). 15:48:16 -!- Phantom_Hoover has quit (Remote host closed the connection). 15:50:48 -!- nooodl has joined. 16:00:04 -!- elliott_ has joined. 16:00:23 -!- elliott has quit (Disconnected by services). 16:00:35 -!- elliott_ has changed nick to elliott. 16:18:47 -!- Nisstyre has joined. 16:40:30 -!- monqy has quit (Quit: hello). 17:00:32 -!- Jafet has quit (Read error: Connection reset by peer). 17:01:54 -!- Jafet has joined. 17:06:10 I am outstanded at my ability to put papers into a bag 17:06:19 Need to clear out my school bag... 17:06:31 I appear to have broken physics 17:07:29 outstanded? 17:07:53 Outstanded 17:08:03 I think I was going for astonished 17:12:44 you should try «fasciné». it has a nice, artsy and classy «é». 17:13:26 Also, its name is surrounded in those foreign-looking French quotamajigs. 17:13:35 «Oooooh» 17:13:37 «Ahhhhh» 17:14:05 «oh là là». you can't get sexier than that. 17:14:27 I thought it was spelled “ou” or something thereabouts. 17:15:27 well, the keys are right next to each other. 17:16:03 -!- coppro_ has changed nick to coppro. 17:44:18 -!- Taneb has quit (Quit: Leaving). 17:44:35 -!- augur has quit (Read error: Connection reset by peer). 17:45:02 -!- augur has joined. 17:57:41 -!- Phantom_Hoover has joined. 18:03:30 -!- Bike has joined. 18:06:52 -!- monqy has joined. 18:07:32 -!- sebbu has quit (Ping timeout: 255 seconds). 18:17:08 -!- sebbu has joined. 18:32:41 -!- zzo38 has joined. 18:37:34 -!- AnotherTest has joined. 18:42:41 -!- epicmonkey has quit (Ping timeout: 248 seconds). 18:57:50 -!- augur has quit (Read error: Connection reset by peer). 18:58:23 -!- augur has joined. 18:59:16 -!- AnotherTest has quit (Quit: Leaving.). 19:00:06 -!- AnotherTest has joined. 19:29:06 -!- function has quit (Write error: Broken pipe). 19:30:46 -!- kallisti_ has quit (Ping timeout: 252 seconds). 19:31:59 -!- dessos has left. 19:37:24 -!- augur has quit (Remote host closed the connection). 19:40:10 -!- augur has joined. 19:40:41 -!- augur has quit (Remote host closed the connection). 19:42:47 -!- augur has joined. 19:48:59 -!- sirdancealot has joined. 19:49:36 -!- hagb4rd has quit (Ping timeout: 245 seconds). 19:55:01 @hoogle [(a,a)] -> [a] -> [a] 19:55:01 System.Random randomRs :: (Random a, RandomGen g) => (a, a) -> g -> [a] 19:55:01 Data.Ix inRange :: Ix a => (a, a) -> a -> Bool 19:55:01 Data.Ix index :: Ix a => (a, a) -> a -> Int 19:56:50 I was thinking there should be a function that takes a list of tuples, and a list of things, and replaces any occurence of something that's a first thing in a tuple with the second thing 19:57:13 Do you have a prorgam to connect Verilog programs to MIDI ports and MIDI files? 19:57:15 Hayoo can't find anything like that 19:58:27 Maybe that would be more efficiently done with a Map 19:59:19 Hoogle isn't giving anything for a map either though 19:59:52 -!- oerjan has joined. 20:00:58 wouldn't that be built out of a substitute function 20:03:12 -!- epicmonkey has joined. 20:05:26 «oh là là». you can't get sexier than that. <-- but you need to combine it with that strange gesture only french (canadian?) people can make, i learned this from guy delisle's pyongyang comic (the north korean animators could never get it right) 20:06:31 FreeFull, would at least need an Eq constraint 20:06:32 some kind of weird waving of the hand iirc 20:06:44 @hoogle (Eq a) => [(a,a)] -> [a] -> [a] 20:06:44 System.Random randomRs :: (Random a, RandomGen g) => (a, a) -> g -> [a] 20:06:44 Data.Ix inRange :: Ix a => (a, a) -> a -> Bool 20:06:44 Data.Ix index :: Ix a => (a, a) -> a -> Int 20:08:01 youtube provides: http://www.youtube.com/watch?v=syuwyjzyAy4 20:08:32 @hoogle (Eq a) => [a] -> a -> [a] 20:08:33 Data.List delete :: Eq a => a -> [a] -> [a] 20:08:33 Network.CGI.Protocol replace :: Eq a => a -> a -> [a] -> [a] 20:08:33 Data.List (\\) :: Eq a => [a] -> [a] -> [a] 20:09:40 oerjan: «oh là là» is mainly from the other side of the Great Puddle. people here don't use that expression that much. 20:09:58 :t unzip -- Sgeo 20:09:59 [(a, b)] -> ([a], [b]) 20:10:09 oh wait 20:10:10 boily: is it from canadian french? 20:10:13 :t lookup 20:10:15 Eq a => a -> [(a, b)] -> Maybe b 20:10:26 oerjan, it's Freefull who wanted something 20:10:44 :t map . (flip lookup) 20:10:45 Eq a => [(a, b)] -> [a] -> [Maybe b] 20:11:03 :t filterJust 20:11:05 Not in scope: `filterJust' 20:11:06 :t catMaybes . map . (flip lookup) 20:11:08 Couldn't match expected type `[Maybe a0]' 20:11:08 with actual type `[a1] -> [b0]' 20:11:08 Expected type: (a1 -> b0) -> [Maybe a0] 20:11:12 wat 20:11:21 :t (catMaybes .) . map . (flip lookup) 20:11:22 Eq a1 => [(a1, a)] -> [a1] -> [a] 20:11:22 you don't want to remove the nothings either, do you? 20:11:55 well then he needs a default if he's going to keep the type 20:12:32 :t (f .) 20:12:34 (Functor f, Show a, FromExpr b) => f a -> f b 20:12:48 :t map . (fromMaybe ?default .) . flip lookup 20:12:49 (?default::b, Eq a) => [(a, b)] -> [a] -> [b] 20:13:14 My intuition of (f .) is that it pushes f so that it occurs after an argument, a .. wow I'm being incoherent 20:13:15 olsner: no, from France French. 20:13:32 `? boily 20:13:37 boily is Canadian or something. We are not sure about Canada's existence. 20:13:53 (just checking which side of the puddle boily means :P) 20:13:59 I need a list of typical noob interjects. Any help? 20:14:04 > (((*) .) . (+)) 3 4 20:14:05 No instance for (GHC.Show.Show (a0 -> a0)) 20:14:05 arising from a use of `M24551... 20:14:19 boily: however guy delisle himself is canadian... 20:14:20 meh 20:14:36 but it may have been work for a french company 20:14:57 oerjan: Has the right type but I've been thinking of a function that doesn't drop things that don't match 20:15:03 -!- Phantom_Hoover has quit (Read error: Operation timed out). 20:15:25 FreeFull, so, if it's found you want the match, if not found you want the original? 20:15:31 oerjan: I don't know who he is. let me wikipedia him... 20:16:31 FreeFull: oh so you really _do_ want it to be b = a. 20:16:35 hm... 20:17:12 boily: oh, you're from the other side of the puddle so when you say the other side of the puddle it's the other other side? 20:17:30 @hoogle subst 20:17:31 Data.ByteString breakSubstring :: ByteString -> ByteString -> (ByteString, ByteString) 20:17:31 Data.ByteString.Char8 breakSubstring :: ByteString -> ByteString -> (ByteString, ByteString) 20:17:31 Data.ByteString findSubstring :: ByteString -> ByteString -> Maybe Int 20:17:33 tch 20:17:43 data SideOfPuddle = ThisSide | OtherSide 20:17:51 -!- Taneb has joined. 20:18:04 data Other side 20:18:11 :t map . (\dict a -> fromMaybe a $ lookup a dict) 20:18:12 Eq b => [(b, b)] -> [b] -> [b] 20:18:30 FreeFull: ^ that one? 20:18:36 olsner: there are some people here from the same puddleside as me, IIRC. but I can't remember who they are. 20:19:03 :t map . flip (\a -> fromMaybe a . lookup a) 20:19:05 Eq a => [(a, a)] -> [a] -> [a] 20:19:59 :t map . flip ((.) <$> fromMaybe <*> lookup) 20:20:01 Eq b => [(b, b)] -> [b] -> [b] 20:20:30 (the last one is probably overdoing pointlessness) 20:22:36 Sgeo: filterJust is a synonym for catMaybes which i just yesterday learned is in reactive-banana for some reason, don't know where else. but catMaybes should be more official. 20:23:25 I need a list of typical noob interjects. Any help? <-- what is a noob interject? 20:24:26 boily: zzo38 is also canadian, this surprises some people. 20:24:41 not french canadian though afair 20:24:53 indeed, I am surprised. 20:25:26 -!- nooodl has quit (Read error: Connection reset by peer). 20:25:30 a noob interject is a function that is defined for each noob. 20:25:50 aha. wat. 20:26:21 -!- nooodl has joined. 20:26:30 @hoogle catMaybes 20:26:30 Data.Maybe catMaybes :: [Maybe a] -> [a] 20:26:41 oerjan: an interject that a "noob" would typically use 20:26:57 with noob I mean someone is new to IRC 20:27:04 ne1 20:27:09 (so an IRC noob really) 20:27:16 I said ne1 a lot back in 2001 20:27:19 AnotherTest: but presumably not new to youtube, facebook 20:27:21 oerjan: Looks good 20:27:23 etc. 20:27:29 Although I guess that's not an interject 20:27:31 oerjan: yes, just IRC 20:27:34 oh 20:28:13 AnotherTest: anyone using @nick instead of nick: to address people. lambdabot really helps people get over that fast. :P 20:28:23 oh yes 20:28:25 I need that 20:29:04 @oerjan didn't know about that one. people really do that? 20:29:04 Unknown command, try @list 20:29:26 boily: it has happened several times. it's standard twitter idiom, of course. 20:29:57 (afaiu, i don't have a twitter account.) 20:30:41 (i assume twitter even notifies the addressee, but don't really know.) 20:31:04 sometimes I check if I drunkenly created an account, just to be sure I still don't have any. 20:31:18 -> 20:31:37 -!- oonbotti has quit (Remote host closed the connection). 20:31:37 →? 20:32:47 -!- Taneb has quit (Quit: Leaving). 20:34:25 -!- Phantom_Hoover has joined. 20:35:19 Can some INTERCAL programs be compiled into Verilog programs? There is INTERCAL into C compiler, but is there INTERCAL into Verilog, VHDL, and INTERCAL into 6502 machine codes? 20:35:33 -!- AnotherTest has quit (Quit: Leaving.). 20:40:26 zzo38: Have you ever gotten an answer to your random, out-of-the-blue questions like this one? 20:40:51 Sometimes, if people actually know the answer. 20:41:18 (which is sometimes difficult) 20:42:07 -!- clog_ has joined. 20:43:17 -!- oonbotti has joined. 20:43:26 -!- augur has quit (Remote host closed the connection). 20:47:14 -!- clog has quit (Ping timeout: 246 seconds). 21:00:59 →? <- "->" is an #esoteric interject which i use roughly equivalently to "afk". i think oklopol started it. 21:02:03 * <-- 21:02:34 zzo38: i expect that question in particular will be more useful to ask when ais523 is here. 21:03:15 seeing as he is both a C-INTERCAL maintainer and a hardware compilation expert 21:04:38 oerjan: OK 21:05:45 I thought it was spelled “ou” or something thereabouts. <-- google seems to insist on "oh", even when i use "o" 21:08:34 Hm 21:10:12 -!- sebbu has quit (Ping timeout: 272 seconds). 21:11:05 I have an interview! 21:11:08 With Cablevision! 21:11:29 It's on the same day as the internship that I don't care about anymore though, so don't know how that's going to work out :/ 21:12:13 next up: Sgeo learns time management skills 21:12:21 (then he has to teach them to me) 21:12:43 Crap. 21:12:52 I flat out do not see a way to get from one to the other in time. 21:13:40 Sgeo: i think the trick is supposed to be to check these things _before_ making the appointment. 21:15:32 I suggested Thursday or Friday to the Cablevision person, but the person said Wednesday 21:15:35 remember that time you said "tomorrow would be fine" and then realized you had no idea what you just said and got yourself into 21:15:39 good times 21:17:49 i suspect that telling people "i'm sorry, i have another appointment that day" should in theory make a _positive_ impression, since it tells the other person you actually _have_ a slight amount of time management skills. 21:18:21 Is it too late to call the person and say that? 21:18:43 Or should I reschedule the other appointment? 21:18:43 no, but i suspect it is too late to make a good impression while doing it 21:18:45 I don't know 21:20:22 funny this comes up the day before i have my yearly dentist checkup appointment, and my sleeping schedule is so bad it will be _hell_ to get to it. 21:20:22 I think I need a backbone. 21:20:48 and my sleeping schedule is not predictable enough to reschedule things 21:21:42 I like dentists. I tend to fall asleep on their chairs. 21:22:19 can't you just set an alarm 21:22:26 i don't usually fall asleep at the dentist's, but tomorrow _could_ be an exception. 21:22:52 oerjan, reminder: Don't drive while tired. 21:22:54 Bike: um the most promising method will be to force myself to stay up until the appointment. 21:23:05 your schedule is fucked up man 21:23:05 Sgeo: i don't drive at all these days. 21:23:10 straight fucked 21:23:15 yes. yes it is. 21:23:28 (the appointment is at 2 PM) 21:23:34 @_@ 21:23:45 @localtime oerjan 21:23:46 Local time for oerjan is Mon Mar 11 22:23:46 2013 21:23:49 oerjan: the best beverage to keep you awake I know is yerba mate infused with black coffee instead of hot water. 21:23:58 only use that as a last resort. 21:24:10 oerjan, because of sleep issues, or other reasons? 21:24:14 (about not driving) 21:24:22 i don't have coffee, although i _should_ be able to force myself to a cafeteria. 21:24:34 -!- sebbu has joined. 21:24:42 Sgeo: no, that's because i don't have the self confidence to drive, also no car. 21:24:47 Ah 21:25:02 I HATE TALKING ON THE PHONE SO MUCH 21:25:16 I feel so restricted from checking stuff while on the phone 21:25:32 Maybe it's because this phone is so broken I have to actually hold it up to my mouth and wear headphones 21:25:37 man remember when phones were for talking 21:25:39 that was so weird! 21:25:49 I'm more comfortable when I use my computer as a phone 21:26:04 I can actually multitask like that 21:26:14 do you then use your phone as a computer 21:27:01 http://media.tumblr.com/2c38ccac77eabfb694a3d4299f7682e5/tumblr_inline_mjereimmXg1qz4rgp.jpg 21:28:03 wow. I want one. 21:30:01 -!- boily has quit (Quit: n'oubliez pas, la banane est un fruit nocturne.). 21:31:17 Incidentally, I've been talking to a recruiter, so they have a vested interest in making sure I get the job 21:31:21 Is this good to say? 21:31:22 "Are there no other days that would work well? I had scheduled an interview for an internship that day, but initially thought that I could do both on the same day. That looks impossible now though. The Cablevision opportunity is more important to me, so I could try to reschedule the other thing." 21:34:22 Sent 21:37:21 Dad's saying I shouldn't have sent that 21:38:05 oops 21:38:14 well why didn't you ask him _first_, then. 21:38:29 He just came home 21:38:34 ah. 21:38:42 bad karma. 21:53:18 Sgeo: so was the plan for your father to stop ruling your life after you graduate, or 21:56:46 I think it helps that the Cablevision person is a recruiter, so if I make a bit of a bad impression, it's with him and not with Cablevision 21:57:16 (Presumably he still wants to make money) 22:11:02 Do you not use phones for talking? 22:11:25 I want to use my PC for talking and my phone for browsing Reddit. 22:11:30 People still use phones for talking? 22:11:35 Oh right yeah, there's Skype isn't there 22:11:41 elliott, hey c'mon now that's not overly controlling 22:12:38 -!- sebbu has quit (Ping timeout: 245 seconds). 22:12:46 Do you have a microphone on your PC? 22:13:01 Phantom_Hoover: true! history shows Sgeo's father will limit himself to a reasonable amount of controlling, after all 22:13:28 is sgeo a rogue robot maid built by his father 22:13:33 yes. 22:13:44 keep your fetishes out of this Bike 22:13:58 s/et// 22:14:50 keep your fishes out of this Bike? 22:15:04 Bike is now talking to himself about his fish fetish. 22:15:07 Yes, keep your fishes out of this, too, not only your fetishes 22:15:14 OK. 22:15:16 I will do that. 22:15:34 is Bike a fish 22:16:24 no, everyone knows a fish doesn't need a bike 22:17:16 unless it has a fetish for them 22:31:16 hello 22:31:21 -!- sebbu has joined. 22:32:04 I think bikes are a lure commonly used by fish when they fish 22:32:52 I feel like I really messed up :( 22:33:41 I don't know if I would mention interviews for other jobs to the person interviewing me 22:34:56 Technically, I only mentioned it to a recruiter 22:35:02 unless you're using that other interview to sell yourself... "hey, I'd be happy to take a course in your school, but can we do the interview another day? on that date I already have an interview with the MIT" 22:35:36 isn't the recruiter the guy who interviews you? 22:35:41 or is that an interviewer 22:36:05 The recruiter is a person independent of the company that gets paid when they get someone into a job 22:36:18 oooooooooh ok 22:36:42 I do that with restaurants 22:37:00 -!- clog_ has quit (Quit: ^C). 22:37:10 -!- clog has joined. 22:37:12 -!- sebbu has quit (Ping timeout: 250 seconds). 22:37:13 sometimes I can get free meals by having friends over 22:38:26 eating for free makes sets me in a good mood, so I want to come to that place again, so I bring new friends 22:38:31 it's a vicious loop 22:38:55 if you're not careful you might end up never paying again 22:39:28 But the recruiter has no reason to communicate my time management issues to Cablevision, right? 22:40:00 except casual coffee talk 22:40:17 ? 22:40:51 well, casual talk near the coffee machine during the coffee break 22:41:08 "hey, how's the recruitment going" "well, I had to reschedule" "oh, why?" 22:42:17 but since he'll be paid if you get the job, it's probably in his best interests to give them a good impression about you, right? 22:43:12 "The Cablevision opportunity is more important to me, so I could try to reschedule the other thing." will make you sound weak, though 22:43:40 or very interested depending on the circumnstances, I guess 22:43:53 "What would robot Jenny do?" 22:45:42 the obvious criticism "so why didn't you try to reschedule that _first_?" 22:45:45 *+is 22:46:48 Does cablevision have anything to do with eurovision 22:47:18 seems unlikely. 22:48:24 -!- sebbu has joined. 22:48:24 -!- sebbu has quit (Changing host). 22:48:24 -!- sebbu has joined. 22:48:32 -!- variable has joined. 23:03:03 -!- sebbu has quit (Ping timeout: 245 seconds). 23:05:34 -!- zzo38 has quit (Quit: eat). 23:16:22 -!- carado_ has quit (Quit: Leaving). 23:16:34 -!- carado has joined. 23:17:33 "Criticisms of basic income are only possible when conflating it with minimum/guaranteed income, and criticizing that instead." 23:17:40 That's not POVed at all, Wikipedia. 23:17:43 blah 23:22:02 http://en.wikipedia.org/w/index.php?title=Basic_income&action=history 23:23:05 wow how totally normal huh 23:23:41 Oh, I think Shalizi mentioned this though. 23:37:18 -!- epicmonkey has quit (Ping timeout: 264 seconds). 23:47:27 I fear that I may have screwed myself over so badly :( 23:51:20 -!- nooga has quit (Ping timeout: 255 seconds). 23:54:14 -!- sebbu has joined.