00:12:02 -!- elliott_ has joined. 00:12:14 i want a shirt made of spider silk 00:12:16 um are you ph 00:15:26 -!- myndzi has quit (Remote host closed the connection). 00:20:47 -!- augur has joined. 00:38:05 -!- augur has quit (Remote host closed the connection). 00:52:05 -!- myndzi has joined. 01:08:40 > 1/0 01:08:41 Infinity 01:08:43 > 0/0 01:08:44 NaN 01:08:56 > [1/0 01:08:57 : parse error (possibly incorrect indentation) 01:09:00 > [1/0,5..] 01:09:01 [Infinity,5.0,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N... 01:09:08 wtf :P 01:09:26 > [1/0,5,1/0..] 01:09:27 : parse error on input `..' 01:09:35 > [1/0,5..-1/0] 01:09:36 Not in scope: `..-' 01:09:39 > [1/0,5..-(1/0)] 01:09:40 Not in scope: `..-' 01:09:43 > [1/0,5..0-(1/0)] 01:09:44 [Infinity,5.0,-Infinity,-Infinity] 01:09:52 > [1/0,5..(0/0)] 01:09:53 [] 01:11:49 > let l = [1/0,5..] in l !! 2 == l !! 3 01:11:50 True 01:12:30 Gregor Gregor Gregor Gregor Gregor 01:12:42 > [1/0,pi..] 01:12:44 [Infinity,3.141592653589793,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN... 01:12:47 > [1/0,pi..-pi] 01:12:48 Not in scope: `..-' 01:12:50 weird, why does it have two equal elements and _then_ a different one... 01:12:53 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:12:53 > [1/0,pi..-1000] 01:12:54 Not in scope: `..-' 01:12:55 oerjan: foalting point 01:13:00 oerjan, because infinity is weird. 01:13:40 elliott_: well i'm just wondering what kind of algorithm can do that, it means it cannot be adding the same constant each time... 01:13:55 oerjan: um you realise (==) is not true on floating point 01:14:02 a can == b but f a can /= f b 01:14:14 oh hm... 01:14:54 @src RealFloat 01:14:54 Source not found. Do you think like you type? 01:15:01 er 01:15:06 :k RealFloat 01:15:08 Class `RealFloat' used as a type 01:15:08 In the type `RealFloat' 01:15:19 ok it exists 01:15:23 what are you looking for 01:15:31 the RealFloat methods... 01:15:34 http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4.3.1.0/src/Numeric.html 01:15:39 or uh wait 01:15:40 > [0/1,0/1..] 01:15:42 [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.... 01:15:46 http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4.3.1.0/Prelude.html#t:RealFloat 01:15:47 oerjan: http://www.haskell.org/ghc/docs/7.0.2/html/libraries/base-4.3.1.0/Prelude.html#t:RealFloat 01:15:49 > [1/0,1/0..] 01:15:50 [Infinity,Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,... 01:15:56 wtf 01:16:05 > [0/0,1/0..] 01:16:06 [NaN,Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N... 01:16:11 > [0/0,5..] 01:16:12 [NaN,5.0,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,Na... 01:17:25 > map decodeFloat [1/0,5..] 01:17:26 [(4503599627370496,972),(5629499534213120,-50),(-4503599627370496,972),(-45... 01:17:36 > map decodeFloat [0/0,5..] 01:17:38 [(-6755399441055744,972),(5629499534213120,-50),(-6755399441055744,972),(-6... 01:17:41 > drop 2 $ map decodeFloat [1/0,5..] 01:17:42 [(-4503599627370496,972),(-4503599627370496,972),(-6755399441055744,972),(-... 01:17:59 elliott_: well that did not distinguish them 01:18:14 hmm 01:18:17 ?src Float enumFromTo 01:18:18 Source not found. And you call yourself a Rocket Scientist! 01:18:26 > map decodeFloat $ map (\x y -> (x/10,y)) [1/0,pi..-pi] 01:18:27 Not in scope: `..-' 01:18:30 oerjan: i guess a sequential addition loop would do differently 01:18:33 > map decodeFloat $ map (\x y -> (x/10,y)) [1/0,pi..] 01:18:34 No instance for (GHC.Float.RealFloat (t -> (a, t))) 01:18:34 arising from a use o... 01:18:45 > map decodeFloat $ map (\x y -> (x/10,y)) $ [1/0,pi..] 01:18:47 No instance for (GHC.Float.RealFloat (t -> (a, t))) 01:18:47 arising from a use o... 01:19:01 > map decodeFloat $ map (\(x, y) -> (x/10,y)) $ [1/0,pi..] 01:19:02 No instance for (GHC.Float.RealFloat (t, t1)) 01:19:02 arising from a use of `GHC... 01:19:06 :< 01:19:27 -!- elliott_ has quit (Remote host closed the connection). 01:19:58 -!- elliott has joined. 01:20:27 -!- cheater__ has quit (Ping timeout: 255 seconds). 01:20:52 -!- tswett has joined. 01:20:52 > map (map decodeFloat) $ map (\(x, y) -> [x/10,y]) $ [1/0,pi..] 01:20:54 No instance for (GHC.Enum.Enum (a, a)) 01:20:54 arising from the arithmetic seque... 01:20:57 oops 01:21:00 Hey, does anyone want to play Zendo? 01:21:11 oh wait 01:21:21 > map ma decodeFloat [1/0,pi..] 01:21:22 Not in scope: `ma' 01:21:25 > map decodeFloat [1/0,pi..] 01:21:26 [(4503599627370496,972),(7074237752028440,-51),(-4503599627370496,972),(-45... 01:21:40 sebbu: ur a zendo 01:21:54 > map (map decodeFloat) $ map (\x -> [x/10,x]) $ [1/0,pi..] 01:21:55 > drop 3 $ map decodeFloat [1/0,pi..] 01:21:55 [[(4503599627370496,972),(4503599627370496,972)],[(5659390201622752,-54),(7... 01:21:56 [(-4503599627370496,972),(-6755399441055744,972),(-6755399441055744,972),(-... 01:22:11 [(4503599627370496,972),(7074237752028440,-51),(-4503599627370496,972),(-4503599627370496,972),(-6755399441055744,972),(-6755399441055744,972)] 01:22:15 Now to figure out wtf is happening. 01:22:23 well i have a theory 01:22:36 sebbu: no, I'm a zendo! 01:22:36 enumFromTo probably does not use repeated addition 01:22:39 > [1/0,5..] 01:22:39 perhaps instead multiplying the constant 01:22:40 [Infinity,5.0,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N... 01:22:41 No, I mean... 01:22:44 elliott: no, I'm a zendo! 01:22:45 > -Infinity - -Infinity 01:22:46 Not in scope: data constructor `Infinity'Not in scope: data constructor `In... 01:22:55 > 5+(1/0) 01:22:56 Infinity 01:22:58 > 5+(1/0)+(1/0) 01:22:59 Infinity 01:23:02 > 5+(1/0)+(1/0)+(1/0) 01:23:04 Infinity 01:23:06 > (-1/0) - (-1/0) 01:23:06 oh wait it's removing 01:23:07 NaN 01:23:09 > 5-(1/0) 01:23:11 -Infinity 01:23:12 > 5 - (-1/0) 01:23:13 Infinity 01:23:14 > 5-(1/0)-(1/0) 01:23:15 -Infinity 01:23:16 > 5-(1/0)-(1/0) 01:23:17 -Infinity 01:23:18 > 5-(1/0)-(1/0)-(1/0) 01:23:19 -Infinity 01:23:23 oerjan: yeah, it is not repeated subtraction 01:23:23 or 01:23:24 maybe it is 01:23:27 but with different precedence 01:23:35 > 5-((1/0)-((1/0)-(1/0))) 01:23:36 NaN 01:23:38 oerjan: :D 01:23:39 tada 01:23:41 elliott. 01:23:45 > 5-((1/0)-(1/0)) 01:23:46 NaN 01:23:48 oh 01:23:49 >(1/0) - 5 01:23:54 > (1/0) - 5 01:23:55 Infinity 01:23:56 Lymee: stop pinging me without saying anything 01:24:02 > 5 - ((1/0) - 5) 01:24:03 -Infinity 01:24:10 > (5 - ((1/0) - 5)) - ((1/0) - 5) 01:24:11 -Infinity 01:24:19 > ((5 - ((1/0) - 5)) - ((1/0) - 5)) - ((1/0) - 5) 01:24:20 -Infinity 01:24:23 nyan? 01:24:43 > let f x y = x : f y (y+(y-x)) in f (1/0) 5 01:24:44 [Infinity,5.0,-Infinity,-Infinity,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,N... 01:24:48 elliott: ^ 01:24:54 is my theory 01:25:02 oerjan: what a strange way of doing it 01:27:28 yeah you'd think that would be inefficient 01:29:17 hm that's not what h98 report says... 01:29:43 > 1 + 1 = 1 01:29:44 : parse error on input `=' 01:29:48 * Lymee runs 01:30:23 > let f x y = map ((x+).((y-x)*) [0..] in f (1/0) 5 01:30:24 : parse error on input `in' 01:30:35 > let f x y = map ((x+).((y-x)*)) [0..] in f (1/0) 5 01:30:37 [NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,Na... 01:30:54 oh hm 01:31:11 ?pl let f x y = map ((x+).((y-x)*)) [0..] in f (1/0) 5 01:31:11 map ((1 / 0 +) . ((5 - 1 / 0) *)) [0..] 01:31:14 What. 01:31:23 That's not as near as dotty as I expected. 01:31:50 there are no lambdas to dot 01:31:58 um that's just beta reduction Lymee 01:32:02 to remove the f point 01:34:08 -!- cheater__ has joined. 01:38:51 tehz is really annoying... 01:43:24 Enum Double appears to be an orphan instance, it's hard to find the actual source :( 01:45:12 -!- Lymia has joined. 01:45:38 -!- Lymee has quit (Disconnected by services). 01:45:40 -!- Lymia has changed nick to Lymee. 01:47:25 -!- augur has joined. 01:50:59 * oerjan finally finds a link to GHC.Float source 01:52:59 oerjan: you should just download ghc when looking for internal module sources :P 01:53:35 -!- augur has quit (Remote host closed the connection). 01:54:19 hmph 01:58:11 numericEnumFromThen n m= n `seq` m `seq` (n : numericEnumFromThen m (m+m-n)) 01:58:24 finally found it in GHC.Real 01:58:48 :D 01:58:57 but why such a weird definition, i guess maybe it's more accurate 02:00:52 -!- Madk has joined. 02:01:06 hello 02:01:19 -!- Madk has quit (Client Quit). 02:01:30 hi 02:01:58 elliott: according to some comments i found under way, these were originally in the haskell 1.2 report 02:02:04 the h98 report instead has 02:02:16 numericEnumFromThen n m = iterate (+(m-n)) n 02:02:36 was that madk.... 02:02:53 well those comments may of course be out of date for the actual current ghc code 02:03:35 the ghc code has a strictness error, me thinks 02:03:44 > [1.0, undefined ..] 02:03:45 *Exception: Prelude.undefined 02:03:58 the report indicates it should give the 1.0 02:04:04 oerjan: report it? :P 02:04:09 NEVER 02:04:17 oerjan: (also, you realise h98 isn't the report any more, right?) 02:04:26 where does it indicate that? 02:04:29 yeah but i doubt this changed 02:04:36 http://www.haskell.org/onlinereport/standard-prelude.html 02:04:37 * elliott will report it 02:04:52 oerjan: which part exactly? 02:04:54 gimme a string to grep :P 02:05:07 enumFromThen :: a -> a -> [a] -- [n,n'..] 02:05:07 that? 02:05:41 numericEnumFromThen 02:06:13 oerjan: um is exact identicality required? 02:06:16 even when _|_ is involved? 02:06:29 _especially_ when _|_ is involved. 02:06:33 -!- Lymia has joined. 02:07:29 there was a reasonable improvement to filterM which they wouldn't make because it would cause certain _|_'s to show up in a different place 02:07:34 argh, Chrome, forget my guest/guest login 02:08:13 elliott: you might mention the silly [1/0, 5..] behavior :P 02:08:25 how is it silly? 02:08:45 FUCK THIS HOW THE FUCK DO I LOG IN JESUS 02:09:29 -!- Lymee has quit (Ping timeout: 240 seconds). 02:09:32 fu;KCK 02:09:37 ill use firefox 02:09:52 see, this is precisely the kind of reason why i refuse to report things :P 02:10:13 um that was my stupidity for logging in to the guest account first 02:10:18 > [0, undefined..] 02:10:19 [0*Exception: Prelude.undefined 02:10:22 > [0.0, undefined..] 02:10:24 *Exception: Prelude.undefined 02:10:55 oerjan: paste me numericEnumFrom, numericEnumFromThen definitions? 02:10:56 from ghc 02:11:11 numericEnumFrom :: (Fractional a) => a -> [a] 02:11:12 numericEnumFrom n= n `seq` (n : numericEnumFrom (n + 1)) 02:11:12 numericEnumFromThen :: (Fractional a) => a -> a -> [a] 02:11:12 numericEnumFromThen n m= n `seq` m `seq` (n : numericEnumFromThen m (m+m-n)) 02:11:44 the former looks reasonable 02:12:33 although the seq means it's not entirely equivalent to the standard Prelude 02:13:13 > map (const ()) [0, undefined..] 02:13:14 [()*Exception: Prelude.undefined 02:13:41 oerjan: hm so the standard evaluation of [0.0, undefined..] should be... 02:13:42 ?src iterate 02:13:43 iterate f x = x : iterate f (f x) 02:14:09 0.0 : iterate (+(0.0-undefined)) (0.0+(0.0-undefined)) 02:14:15 oerjan: in other words, 0.0 : undefined? 02:14:31 0.0 : repeat undefined, i think 02:14:51 oerjan: um so 02:14:51 > map (const ()) [0, undefined..] 02:14:51 [()*Exception: Prelude.undefined 02:14:52 is broken too? 02:15:15 oerjan: does that mean more than numericEnumFromThen is broken? 02:15:30 ok, confirmed nothing has changed with those two functions in h2010 02:15:58 elliott: erm Integer doesn't use numericEnumFromThen 02:16:10 oerjan: i already confirmed that 02:16:14 oerjan: and yes, but doesn't it mean it's still broken? 02:16:14 it's solely for Float and Double 02:16:20 whatever is used there 02:16:54 there is no code. it is quite possible undefined behavior is not specified for those :P 02:17:04 fair enough 02:17:12 > [undefined..] 02:17:13 *Exception: Prelude.undefined 02:17:29 > iterate (+1) undefined 02:17:30 [*Exception: Prelude.undefined 02:17:34 > map (const ()) (iterate (+1) undefined) 02:17:35 [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),()... 02:19:08 oerjan: http://hackage.haskell.org/trac/ghc/ticket/5279 02:19:26 oerjan: my first GHC bug :) 02:19:31 er, I probably should have credited you 02:19:35 I can edit it if you want :P 02:19:39 or, hm, no I can't, only reply 02:19:53 elliott: oops 02:19:57 oerjan: ? 02:20:07 i wasn't quite finished checking the report 02:20:14 oerjan: well I did my own checking... 02:20:17 "For all four of these Prelude numeric types, all of the enumFrom family of functions are strict in all their arguments." 02:20:33 argh 02:21:11 the code in the report is not consistent with it, but ghc may have added those seq's for it 02:21:27 oerjan: made invalid 02:21:31 (by me) 02:21:48 anyway, this still doesn't change that enumFromThen is stupidly defined on Float/Double 02:22:05 by repeatedly recalculating the difference to add 02:23:21 elliott: btw this means Integer is not strict _enough_ in ghc :P 02:23:27 oerjan: :D 02:23:30 you can never be unstrict enough 02:23:30 > [0, undefined..] 02:23:31 [0*Exception: Prelude.undefined 02:23:39 oerjan: you could reply to the bug report as a guest saying it's sort of valid :P 02:23:51 -!- Robdgreat has quit (Ping timeout: 244 seconds). 02:24:00 by that report line that should not give the initial 0 02:24:23 oerjan: check that that's ABSOLUTELY sure and I'll report it 02:24:48 since when am i absolutely sure about anything 02:25:03 oerjan: >:( 02:25:20 but i just quoted that line above, which applies to Int, Integer, Float and Double 02:25:55 of course the report (both h98 and h2010) is inconsistent :P 02:26:11 oerjan: report a bug in the report :P 02:29:58 no. 02:32:15 oerjan: fly 02:36:04 -!- Lymia__ has joined. 02:36:16 -!- Lymia__ has changed nick to Lymee. 02:36:18 -!- Lymee has quit (Changing host). 02:36:18 -!- Lymee has joined. 02:38:11 -!- myndzi\ has joined. 02:38:54 -!- Lymia has quit (Ping timeout: 276 seconds). 02:41:17 -!- myndzi has quit (Read error: Connection reset by peer). 02:42:09 -!- augur has joined. 02:58:04 -!- Lymia has joined. 02:58:44 -!- Lymee has quit (Disconnected by services). 02:58:46 -!- Lymia has changed nick to Lymee. 03:02:06 http://www.haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/src/GHC-Tuple.html#%28%2C%29 this is the best thing 03:02:10 especially the commented out part 03:03:34 wait, ghc actually defines tuples in source? 03:04:14 why wouldn't it? 03:04:31 monqy: lol at segfault 03:04:38 mainly because it's not legal haskell syntax 03:04:41 and it just keeps on going 03:04:50 oerjan: um neither is (:) and [] 03:05:12 /home/elliott/Code/test.hs:1:6: 03:05:12 Illegal binding of built-in syntax: (,) 03:05:15 indeed. are they defined in source, too? 03:05:17 oerjan: i guess ghc-prim gets some special flags 03:05:31 elliott: maybe it's that GHC.Generics import 03:05:58 * elliott looks for lits 03:06:00 list 03:06:22 argh it makes reference to GHC.List, which is not listed 03:07:16 hm i had similar trouble finding GHC.Float 03:07:22 oerjan: checking the tarball now 03:08:01 huh GHC.List may not actually exist? 03:08:03 dunno 03:08:10 oh wait 03:08:25 module GHC.List ( 03:08:25 -- [] (..), -- Not Haskell 98; built in syntax 03:08:26 oerjan: hmph 03:08:46 -- We need to set the package name to ghc-prim (without a version number) 03:08:46 -- as it's magic. 03:08:46 ghc-options: -package-name ghc-prim 03:08:50 oerjan: i bet that allows binding of the syntax 03:09:02 GHC.Generics is just 03:09:04 {-# OPTIONS_GHC -XNoImplicitPrelude -XTypeOperators #-} 03:09:04 module GHC.Generics where 03:09:04 default () 03:09:04 data Unit = Unit 03:09:04 #ifndef __HADDOCK__ 03:09:05 data (:+:) a b = Inl a | Inr b 03:09:07 data (:*:) a b = a :*: b 03:09:09 #endif 03:09:12 elliott: i found it in the same directory as GHC.Float, i think it's split according to original base version 03:09:48 ah 03:10:55 NoImplicitPrelude might help with some things too 03:11:00 Some of my (or my parents' I guess) money went to Deepak Chopra 03:11:02 :(:(:(' 03:12:16 hahahahahaha 03:12:32 ?hoogle (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b 03:12:33 Control.Parallel.Strategies (-|) :: (a -> b) -> Strategy b -> (b -> c) -> a -> c 03:12:33 Control.Parallel.Strategies (-||) :: (a -> b) -> Strategy b -> (b -> c) -> a -> c 03:12:33 Control.Parallel.Strategies (.|) :: (b -> c) -> Strategy b -> (a -> b) -> a -> c 03:12:36 :( 03:12:45 ?. pl djinn (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b 03:12:45 (line 3, column 11): 03:12:45 unexpected ">" or "-" 03:12:45 expecting variable, "(", operator or end of input 03:12:49 ?.djinn (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b 03:12:50 f a b c d = 03:12:50 case a d of 03:12:50 False -> b d 03:12:50 True -> c d 03:12:54 ugh 03:13:33 :t bool 03:13:35 Not in scope: `bool' 03:13:39 :t if' 03:13:40 Not in scope: `if'' 03:13:42 > a+b `mod` 03:13:43 > a+b `mod` c 03:13:44 : parse error (possibly incorrect indentation) 03:13:44 a + b `mod` c 03:13:47 >_< 03:13:50 > (a+b) `mod` c 03:13:51 (a + b) `mod` c 03:13:55 > a+(b `mod` c) 03:13:56 a + b `mod` c 03:14:00 they don't seem to have included any of those yet 03:14:19 actually, I'm id if the condition is not true 03:14:29 ?hoogle (a -> Bool) -> (a -> a) -> a -> a 03:14:30 Prelude until :: (a -> Bool) -> (a -> a) -> a -> a 03:14:30 Prelude (.) :: (b -> c) -> (a -> b) -> a -> c 03:14:30 Data.Function (.) :: (b -> c) -> (a -> b) -> a -> c 03:14:34 gah 03:14:46 it's foo p f x = if p x then f x else x 03:14:56 oerjan: chr (ord 'a' + ((ord c - ord 'a') + n) `mod` 26) 03:14:57 MAKE PRETTIER 03:15:34 -!- zzo38 has joined. 03:16:26 dunno 03:17:02 There are many things in Magic: the Gathering that if I was making rules of a similar game I would consider different things to be logical than what they would have. 03:17:27 I wonder how many of the MtG rules are due to historical cruf 03:17:29 cruft 03:17:37 Making sure old cards still work etc. 03:17:47 I don't think there's as much as exists in Windows. 03:17:51 If that's a useful comparison. 03:17:53 Like, I would name the zones differently: library is now called "draw zone", graveyard is "discard zone", hand is still called "hand zone", exile/remove-from-game is called "miscellaneous zone", stack is still caleld "stack zone". 03:18:34 Those arn't rules. 03:18:58 I dislike the rule that a aura is not also allowed to be a creature, and would remove that rule. 03:20:36 -!- oerjan has quit (Quit: Good night). 03:20:47 When a object moves from one zone to another, in most cases, the old object no longer exists and the new object is created from the old object's "initial data". A token has none and therefore when it moves, nothing is added to the new zone; there would be no state based effect for making tokens cease to exist when moving outside play. 03:21:02 A copy of a spell would now be considered a token. 03:21:37 This means a copy of a artifact/creature/enchantment spell can be played and you move an object from stack to play, it remains the same object so it is the same token and it will still work. 03:24:25 And then that sources of damage that do not exist do not deal any damage (the target will not receive any damage from non-existent source). However damage still waiting to be dealt is still dealt the same way if the source object still exists, regardless of changes that might have been made (except possibly for triggered abilities that prevent it). 03:24:55 Do you think my way is more logical or more insane or both or neither? 03:27:52 -!- azaq23 has joined. 03:31:27 -!- Robdgreat has joined. 03:32:09 :t replicate 03:32:10 forall a. Int -> a -> [a] 03:34:29 > replicate 4 4 03:34:30 [4,4,4,4] 03:34:34 > replicate 4 [1..] 03:34:35 [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2... 03:39:03 -!- azaq23 has quit (Ping timeout: 255 seconds). 03:56:35 i like how (f x x) and (let y = x in f y y) aren't equivalent 03:57:05 o.O What? 03:58:03 -!- Lymia has joined. 03:58:33 Sgeo: consider 03:58:41 > let foo f x = f x in foo 9 9 03:58:42 9 03:58:49 > let foo f x = f x in (let x = 9 in foo x x) 03:58:50 9 03:58:53 wait what 03:58:55 oh 03:58:59 > let foo f (x::Int) = f x in (let x = 9 in foo x x) 03:59:00 9 03:59:05 wait, what? 03:59:11 that surely should be a type error 03:59:27 oh wait 03:59:32 Sgeo: ok im pretty sure you can have it done but 03:59:36 its not that easy :D 03:59:56 -' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._. 03:59:56 -._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄' 03:59:56 -' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._. 03:59:56 -._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄'-._.-' ̄' 03:59:57 Pewpew. 04:00:40 elliott: ? 04:00:58 copumpkin: ? 04:01:05 -!- Lymee has quit (Ping timeout: 240 seconds). 04:01:11 why should it be a type error? 04:01:31 coppro: it shouldn't 04:01:31 copumpkin: 04:02:07 why? 04:02:10 oh 04:02:12 yeah, it shouldn't 04:02:20 * copumpkin doesn't get what you were trying to show 04:03:05 copumpkin: a case of (f x x) and (let y = x in f y y) one of which failing to type and the other not 04:04:37 Does this have anything to do with monomorphic thingies? 04:05:06 none of the attempts make any sense to me 04:05:09 Sgeo: yes 04:05:10 elliott: how dare you take my name in vain 04:05:10 monqy: why not 04:05:15 coppro ass 04:05:38 elliott: why thank you 04:06:17 (let foo f x = f x in foo 9 9) => (9 9) => ?????????????? 04:06:42 my ghci can't type it either without assitance :( 04:07:00 monqy: num instance for functions 04:07:03 oh 04:07:06 f+g = \x -> f x+g x 04:07:07 etc. 04:07:14 > 9 9 04:07:15 9 04:07:24 lambdabot is crazy 04:07:30 ur MOM is cerzzy 04:08:14 I always expect things like that to be in a newtype so it's harder to accidentally apply them 04:08:31 > 4 9 04:08:32 4 04:08:37 > 4 $ 9 04:08:38 4 04:08:41 What 04:08:48 monqy: thats so less elegant :( 04:08:55 > (succ + pred) 9 04:08:56 18 04:09:15 ouch 04:09:18 ?pl (succ + pred) 9 04:09:18 (succ + pred) 9 04:09:22 nyan oh 04:09:44 > (succ + pred / succ + pred) 9 04:09:45 18.8 04:09:49 wat 04:09:56 > succ + pred 04:09:57 Overlapping instances for GHC.Show.Show (a -> a) 04:09:57 arising from a use of `... 04:11:11 :t (succ + pred) 04:11:12 forall a. (Enum a, Num a) => a -> a 04:12:17 :t succ 04:12:18 forall a. (Enum a) => a -> a 04:12:20 :t red 04:12:21 Not in scope: `red' 04:12:23 :t pred 04:12:24 forall a. (Enum a) => a -> a 04:12:36 Does " (Enum a, Num a) " mean "an Enum and Num?" 04:13:22 yes 04:14:41 > (show :: Num a => a -> String) (succ + pred) 04:14:41 "*Exception: show: No overloading for function 04:14:53 oops 04:15:01 :t show $ (succ + pred) 04:15:02 String 04:15:12 :t show (succ + pred) 04:15:13 String 04:15:19 :t show . (succ + pred) 04:15:20 forall a. (Num a, Enum a) => a -> String 04:17:25 ?pl show . (succ + pred) 04:17:25 show . (succ + pred) 04:17:35 What is point-free style anyways? 04:20:32 ?pl (\ x -> x x) (\ x -> x x) 04:20:35 ap id id (ap id id) 04:20:35 optimization suspended, use @pl-resume to continue. 04:20:47 @pl-resume 04:20:54 ap id id (ap id id) 04:20:54 optimization suspended, use @pl-resume to continue. 04:20:57 mmh 04:26:22 @pl-resume 04:26:35 ap id id (ap id id) 04:26:35 optimization suspended, use @pl-resume to continue. 04:27:29 What is point-free style anyways? 04:27:31 the lack of points 04:27:44 where a point is a named argument 04:27:51 i.e. \x -> x has one point, id has none 04:28:13 point-free style builds up functions with combinators and composition rather than explicitly writing a lambda transformation 04:32:23 That sounds annoying to write out in some circumstances 04:33:09 can you do any more haskell than that goldilocks joke again 04:33:46 I wrote a junky BF interpreter onc 04:33:47 oncee 04:33:49 once 04:34:07 I kind of misplaced it 04:39:19 > succ (9::Integer) 04:39:20 10 04:39:25 > toEnum 0 04:39:26 () 04:39:28 ?src Enum 04:39:29 class Enum a where 04:39:29 succ :: a -> a 04:39:29 pred :: a -> a 04:39:29 toEnum :: Int -> a 04:39:29 fromEnum :: a -> Int 04:39:31 [3 @more lines] 04:43:37 -!- azaq23 has joined. 04:44:33 :t foldr 04:44:34 forall a b. (a -> b -> b) -> b -> [a] -> b 04:55:20 foldr? I just met'r! 05:00:44 ?src ap 05:00:44 ap = liftM2 id 05:01:28 ?type ap id id 05:01:28 Occurs check: cannot construct the infinite type: a = a -> b 05:01:29 Probable cause: `id' is applied to too few arguments 05:01:29 In the second argument of `ap', namely `id' 05:03:46 lol xkcd 05:06:11 loaded, saw title, closed 05:06:38 theory: it is impossible to write anything relating to douglas hofstadter without being really cringeworthy, this includes being hofstadter and writing anything 05:07:30 Does anyone know how to find something in Chrome's cache? 05:07:36 It stores a lot of things compressed, etc. 05:08:17 a quick search came up with about:cache -- is that what you want 05:08:45 i bet they know in #chromium and #chromium-os 05:08:54 monqy: no that's just a huge list of cached things 05:09:01 newsham: but this is the channel for everything :( 05:09:03 try clicking on them?? 05:09:10 monqy: gives the compressed data :) 05:09:16 oh ew :( 05:09:31 ?pl [pi..] 05:09:32 [pi..] 05:09:36 -ChanServ- [#chromium] Welcome to #chromium! Please see topic; this is NOT a support channel. 05:09:37 newsham: you lied to me 05:09:38 oh hey toying around with it and the back button crashed chromium 05:09:39 what do you know 05:09:55 speaking of esolangs, is there a record of who makes the most brainfuck derivatives 05:09:55 monqy: srsly? 05:10:06 chromium crashes on the stupidest things sometimes 05:10:14 I tried to hit back while viewing some good compressed data 05:10:15 bam crashed 05:10:18 everything i say is a lie 05:10:20 except that 05:10:21 and that 05:10:22 and that 05:10:23 and that 05:10:32 monqy: i suspect something that isnt chromium 05:10:48 maybe it's something that isn't chromium 05:11:13 but then why would that kill chromium 05:11:15 a mystery 05:11:39 packaging 05:11:43 something else in your system 05:11:43 etc 05:11:53 chrome literally never crashes for me 05:12:04 parody error 05:12:36 it only crashes on dumb things for me 05:12:54 like hitting back or dragging a bookmark into the tab bar thing 05:13:09 -!- sebbu has quit (Ping timeout: 260 seconds). 05:13:14 and even then it only crashes sometimes 05:13:20 what wm 05:13:32 and by hitting back I mean specificially when viewing cached data and only that one time. I haven't tried reproducing it 05:13:35 xmonad 05:13:44 does xmonad have a reputation for killing chromium 05:13:52 maybe chromium has some tiling wm-related bugs 05:14:12 bizarre they would trigger then though 05:15:05 well "dragging" 05:15:08 thats a wm-ish thing 05:15:14 maybe because xmonad causes it to resize the window quicker than it is prepared to be resized? 05:15:18 or something like that 05:15:38 ie. race condition 05:15:55 -!- sebbu has joined. 05:15:56 -!- sebbu has quit (Changing host). 05:15:56 -!- sebbu has joined. 05:16:32 I just tried some fancy resizing tricks and did get a bug but not a crashy one 05:16:52 the tab bar failed to resize and now it's running out of the frame 05:17:07 by which I mean it cuts off 05:25:23 http://esolangs.org/wiki/Image:Staq.jpg 05:25:23 art 05:26:03 which prompted me to raise my question about brainfuck derivative quantity championship 05:26:51 assuming that language is indeed a brainfuck derivative -- I only glanced at it (too many instructions but I might try reading the spec anyway) 05:27:55 monqy: yes 05:27:59 have such a competition 05:28:02 advertise on slashdot 05:28:42 I wouldn't call staq a bf derivative though 05:29:00 distant cousin 05:30:18 still need a hostname here 05:30:50 from my glance, []() and the command style/syntax/program execution style taste of brainfuck 05:32:54 -!- cheater__ has quit (Ping timeout: 255 seconds). 05:38:14 monqy: It's got an execution model nothing like brainfuck's 05:38:25 my glance sucked 05:38:46 [] admittedly are similar to BF 05:38:47 I'm going to pretend style doesn't mean model 05:39:15 but otherwise, the only similarity is that every instruction has no arguments 05:39:51 (and are, except for {}, one character) 05:40:21 I wish there were fewer nonessential instructions so I could find the good parts 05:41:22 its a madk language it is probably boring 05:42:05 it's closer to befunge, honestly 05:42:06 -!- comex has quit (Read error: Connection reset by peer). 05:42:10 I dunno; it is characterized by its fairly unique take on program flow, which allows intertwined loops and instruction overrides among other oddities. The language has robust access to two separate stacks, so the language is probably Turing-complete. 05:42:27 oh it's obviously turing complete 05:43:47 it's pretty easy to implement fixed-tape-length BF on top of it 05:44:00 slightly more complex if you want infinite tape 05:44:03 but far from impossible 05:44:36 lol coppro 05:44:40 you realise that was a copypaste 05:45:00 nope 05:45:09 I didn't read the wiki article 05:45:13 just the definition 05:45:20 articles are lame 05:45:21 -!- cheater__ has joined. 05:45:30 it makes it sound exciting 05:45:45 or at least fairly unique 05:46:30 elliott: how's your nethack variant coming along 05:48:44 coppro: you mean vagrant? 05:50:11 no 05:50:54 coppro: then?? 05:50:57 ais is the one with acehack 05:51:58 elliott: do you have an angband variant? 05:52:34 ... 05:52:35 no 05:52:42 do you know some other elliott 05:53:18 I have been unable to compile Nethack and probably won't bother with it. 05:54:43 elliott: you do not have an angband variant 05:54:47 therefore you have a nethack variant 05:54:48 qed 05:55:05 coppro: oh 05:57:28 coppro: That is not any sort of proper proof. Q.E.D. 05:57:45 coppro: i am starting a zzo38 appreciation club do you want to join 06:04:16 elliott: only if we get to be snobby 06:07:45 GCC bootstrap: worst thing, or worst thing *ever*? 06:09:15 Gregor Gregor Gregor 06:09:20 * pikhq wonders who thought it made sense to build the compiler not once, not twice, but three times. 06:09:32 I NEED GREGOR'S ASSISTAIOTNE 06:14:25 pikhq, does it actually make a difference if you don't build it the third time? 06:14:51 Sgeo: It hardly makes a differencew if you don't build it a second time. 06:16:14 Seems like the second time would be a sort of safety thing. Unless I'm counting weirdly. Or second time with itself, and first time by your numbering is second time total, just first time with itself? 06:16:17 * Sgeo dizzies 06:25:49 Elizacat: You do not need my assisteaoux 06:26:08 Gregor: I dooooo 06:26:14 Gregor: The prgmr billing page how does it wooork 06:26:14 YOU DO NOT 06:26:27 By fucking MAGNETS. 06:26:31 Gregor: I literally do, I think my prgmr billing page is broken :P 06:26:42 Ohwait 06:26:47 Now it works because it is asking for my money 06:27:06 elliott: They send you an invoice by email, the actual site just allows you to choose how often you wish to pay and that kind of thing. 06:27:23 Gregor: It's just that I went to "Change payment information" 06:27:23 and 06:27:27 bill.html P.O. number 06:27:27 Attention 06:27:27 Email address to invoice 06:27:30 Last one has no field 06:27:33 Attention has "customerElliott Hird" 06:27:36 P.O. number has "paypal" 06:27:37 >what 06:27:55 Gregor: Hmm, is it going to bug me to do a paypal payment every single month? Greaaat :P 06:28:36 lul 06:42:04 -!- aloril has quit (Ping timeout: 246 seconds). 06:55:09 -!- aloril has joined. 07:12:58 wow, they made opengl even more of a pain to use 07:13:02 begin/end have been removed 07:13:15 you're meant to use shader programs and buffer objects now APPARENTLY 07:16:07 I know very little about opengl but that sounds delicious 07:16:20 the most I know is that it's a pain 07:16:33 I've also used the haskell bindings a bit but I've pretty much forgotten everything I knew about them 07:29:11 -!- zzo38 has quit (Remote host closed the connection). 07:45:30 -!- jcp has quit (Ping timeout: 241 seconds). 07:48:18 * pikhq wonders why Linux *needs* Perl to build. 07:51:55 -!- jcp has joined. 08:05:51 -!- monqy has quit (Quit: hello). 08:07:05 -!- jcp|other has joined. 08:35:12 -!- Wamanuz2 has joined. 08:37:00 -!- Wamanuz has quit (Ping timeout: 252 seconds). 08:40:22 http://en.wikipedia.org/wiki/Quantum_tic_tac_toe 08:41:27 -!- cheater__ has quit (Ping timeout: 255 seconds). 09:13:31 -!- lambdabot has quit (Ping timeout: 258 seconds). 09:18:04 -!- lambdabot has joined. 09:28:47 elliott, want to play? 09:29:20 Lymia: you mean quantum tictactoe? 09:29:23 got no idea how :) 09:32:03 The linked Java applet was somewhat illustrative 09:42:18 i didnt click :< 10:04:35 http://translate.google.com/#ja|en|%E3%81%8A%E3%81%A3%E3%81%99 10:13:50 -!- elliott has quit (Remote host closed the connection). 10:14:15 -!- elliott has joined. 10:41:02 -!- Wamanuz2 has quit (Remote host closed the connection). 10:41:16 -!- Wamanuz2 has joined. 10:45:13 -!- Wamanuz2 has quit (Read error: Connection reset by peer). 10:45:30 -!- Wamanuz2 has joined. 11:03:28 "Is there code to draw a teapot without GLUT?" 11:19:04 so uh is anyone an opengl expert 11:21:14 "ZeeBoy 11:21:14 I wishing you cancer. :(" 11:21:14 "oh yeah!! than u 11:21:14 Hope u drown in ur own Butt Mucous. 11:21:14 Perhaps ur head is already too far up ur "___" fill in the blanks. 11:21:14 plz dont take offence. 11:21:16 sorry" 11:24:17 wut. 11:26:27 -!- elliott_ has joined. 11:26:28 -!- elliott has quit (Read error: Connection reset by peer). 11:36:31 sup 11:36:48 Elizacat: You do not need my assisteaoux 11:36:52 I need your soul 11:40:07 who are you 11:52:41 http://i.imgur.com/Uf5Xc.png YES! progress! 11:53:01 The beginnings of a teapot? 11:54:51 Deewiant: I think a teapot is a little ambitious at this point. 11:55:01 Deewiant: But hey, it ties OpenGL and SDL together in Haskell. 11:55:19 Deewiant: Although I fear "GL.renderPrimitive GL.Points" might be using that deprecated begin/end stuff that is _obviously_ evil. 11:55:33 Yep, evilness abound 11:55:39 But http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-BufferObjects.html terrifies me, so. 11:55:49 Or is it that, or was it something else. 11:55:56 http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-VertexArrays.html Whatever it is it's terrifying. 11:57:05 I'm only half-evil, I used display lists 11:57:15 Deewiant: How'd those work 11:57:26 And why are they even evil why is any of this evil why was begin/end removed why is all this shit shit 11:57:30 compileDisplayList $ do GL stuff 11:57:38 HOW IS THAT ANY DIFFERENT 11:57:42 * elliott_ cires 11:57:59 And then callList 11:58:17 GL.renderPrimitive GL.Points $ do 11:58:17 GL.vertex $ GL.Vertex2 (0::GL.GLint) 0 11:58:17 GL.vertex $ GL.Vertex2 (99::GL.GLdouble) 99 11:58:23 That second line is causing no difference to the drawing 11:58:25 Still just a single pixel 11:58:25 Hmm 11:58:36 http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-DisplayLists.html ;; I see no compileDisplayList 11:58:41 elliott_: It's like the difference between interpreting the renderPrimitive stuff every time versus compiling it once and then running it 11:58:43 defineNewList is probably it 11:58:45 Oh, whoops 11:58:53 Yeah, it is 11:59:00 compileDisplayList was a helper of mine 11:59:04 There's a CompileAndExecute mode, which seems... missing the point. 11:59:13 Deewiant: What did you use for windowing/event stuff? 11:59:21 GLFW 11:59:44 Deewiant: Cool, it's that thing I rejected because it takes callbacks in IO. 11:59:54 As opposed to? :-P 12:00:05 Deewiant: As opposed to not being callback-based so I can use liftIO in my own monad 12:00:08 Consider 12:00:10 forever $ do 12:00:10 ev <- SDL.waitEvent 12:00:10 case ev of 12:00:10 SDL.Quit -> SDL.quit >> exitSuccess 12:00:10 _ -> print ev 12:00:45 I just use IO and millions of IORefs 12:01:08 Deewiant: I'm trying to write an entire game here (yeah yeah, build one to throw away), that's kind of a non-ideal solution :P 12:01:25 Deewiant: (At the very least I'm going to use STM to make me feel better about myself, even if I'm not exactly sure how multiple cores would help here.) 12:01:31 (Maybe map generation could run in a background thread.) 12:01:35 http://tar.us.to:31177/ just take a look if you like (warning, may not compile etc) 12:02:21 Oh man, is this where I do the fizzie mirroring thing 12:02:35 fatal: http://tar.us.to:31177/liaera/info/refs not found: did you run git update-server-info on the server? 12:02:43 DISAPPOINTED DEEWIANT 12:02:55 The .git was incidental :-P 12:03:08 What's this actually trying to do anyway 12:03:19 HAVE FUN REVERSE ENGINEERING 12:03:28 What if I just ran it 12:03:33 WHAT THEN 12:03:38 Oh well, I ran that command 12:03:45 I think it'd do nothing without an input file but I may misremember 12:03:49 -!- Vorpal has joined. 12:03:55 oh wait duh i just typod the url 12:04:02 error: The requested URL returned error: 400 while accessing http://tar.us.to:31177//info/refs 12:04:04 thats the actual error 12:04:13 oh wait, need the .git 12:04:15 Uh 12:04:15 maybe it will work 12:04:17 Yes 12:04:25 IT WORKED HAHAHA IM KING 12:04:33 a king without all these dependencies oh well 12:04:48 is this meant to be like some kind of freaky source code viewer 12:04:51 cabal install 12:04:56 Deewiant: also need c libs 12:05:06 pacman -S 12:05:09 newPath :: Gr Path () 12:05:09 -> Map (Pair Int Int, Pair Int Int) G.Node 12:05:09 -> Pair Int Int 12:05:09 -> G.Node 12:05:09 -> Pair Int Int 12:05:10 -> Pair Int Int 12:05:14 -> Pair Int Int 12:05:16 -> ( Gr Path () 12:05:18 -> Map (Pair Int Int, Pair Int Int) G.Node 12:05:20 -> G.Node 12:05:22 -> (Gr Path (), Map (Pair Int Int, Pair Int Int) G.Node)) 12:05:24 -> (Gr Path (), Map (Pair Int Int, Pair Int Int) G.Node) 12:05:26 i think when you get function arrows this big 12:05:28 its time to reconsider your code 12:05:30 and, also, your life 12:05:34 :-) 12:06:30 i think im just going to write my own code and forget you as a person exist 12:06:37 itll be therapeutic ok time to try this display list stuff 12:06:47 That's not really relevant to your interests 12:06:56 what, the code? 12:06:57 Assuming your interests == GL 12:07:00 That code 12:07:05 Function arrows etc 12:07:05 right 12:07:10 well my interest is 12:07:13 not GL 12:07:16 it's writing this fucking game 12:07:21 What game 12:07:24 i'm just not enough of an idiot to think that software rendering will have acceptable performance 12:07:32 Deewiant: trade secret (its elliottcraft) 12:07:48 im nihing entire million dollar products 12:07:53 wait i was already doing that 12:08:31 hmm... how do I render some points with display lists 12:08:32 or do I just 12:08:34 not do that stuff 12:08:36 -!- oerjan has joined. 12:08:39 like the "GL.Points" stuff 12:08:42 hi oerjan im failing at opengl/haskell 12:09:12 ic. well i only know some of the latter part. 12:11:31 GL.defineNewList GL.CompileAndExecute $ do -- GL.Points $ do 12:11:31 GL.vertex $ GL.Vertex2 (0::GL.GLint) 0 12:11:31 GL.vertex $ GL.Vertex2 (99::GL.GLdouble) 99 12:11:33 Deewiant: well that is not right 12:12:59 Beats me 12:13:08 I'm gone, server's still up in case you lose your local copy --> 12:17:27 drawLine w2d p1 p2 = 12:17:27 GL.renderPrimitive GL.Lines $ 12:17:31 Deewiant: youre just as bad as me 12:17:38 elliott_: Like said, half-evil 12:17:45 (I didn't go after all) 12:17:57 Deewiant: but that's begin/end :< 12:18:07 Yes, but it's put in a display list 12:18:11 Half-evil 12:19:47 Deewiant: i dont understand your ways.............................. 12:19:54 do you know what these display object things are btw i honestly have no idea 12:20:26 A display list is something like a compiled sequence of opengl commands 12:21:25 not display list 12:21:31 i mean the things that are totally unevil 12:22:22 I think the least unevil thing these days would be writing your stuff with OpenCL or equivalent and compiling it to a shader 12:22:30 -!- elliott_ has quit (Remote host closed the connection). 12:22:33 But no, I don't really know anything 12:23:03 His head apparently exploded, so I'm really leaving now --> 12:23:06 -!- elliott has joined. 12:24:17 12:22:22: I think the least unevil thing these days would be writing your stuff with OpenCL or equivalent and compiling it to a shader 12:24:21 haha really 12:24:26 why is everything shaders :( 12:24:36 also "least unevil" 12:26:50 i never avoid no double negations 12:29:29 -!- BeholdMyGlory has joined. 12:38:07 sdls method of doing centred windows:. 12:38:07 .. 12:38:08 ... 12:38:08 ... 12:38:12 an environemtn variable 12:40:05 elliott: Most unevil* 12:40:49 least unevil is much less uninteresting 12:40:54 i still have no idea how to draw a cube :) 12:41:13 Vertex3 and primitivemodes = Quads? 12:42:00 Triangle strip is probably better 12:42:15 But 3d is hard 12:42:34 I can barely do some 2d 12:42:37 Deewiant: that is what i am afraid of :( 12:43:00 why is everything triangles :( 12:43:30 Then again I'm not too clever when it comes to this stuff, YMMV 12:44:21 Deewiant: this is like one of my GREATEST FEARS 12:44:22 threedee 12:44:39 Ditto 12:45:03 Slash OpenGL in general 12:45:26 But you know, software rendering sucks etc 12:48:33 Deewiant: wouldnt it be hilarious 12:48:36 if software rendering ended up being like 12:48:39 as fast as opengl 12:48:40 for this 12:48:43 by hilarious 12:48:46 i mean id want to kill myself 12:51:02 elliott: because triangles are awesome. 12:51:10 fuck triangles 12:51:31 YEAH SO YOU KNOW THOSE RECTANGLES AND STUFF? 12:51:36 YOU HATE THOSE TOO 12:51:55 twice as much. 12:52:24 twice the hate, twice the area 12:54:41 Deewiant: oerjan: http://i.imgur.com/oo9oH.png 12:54:43 fuck yes its a triangle 12:55:18 nice. 12:55:30 I am already immersed in this world. 12:55:59 and its length ratios. 13:01:37 looks more like the complement of a triangle to me 13:03:13 it's a triangle and a complement. Well, it could also be a complement of a triangle and its complement. 13:04:40 oerjan: shut up 13:07:14 elliott: ... dude. 13:07:25 Gregor: what 13:07:26 elliott: You want to make a game with CUBES and you make a TRIANGLE. 13:07:28 (Fail) 13:07:32 Gregor: this is a joke right 13:07:43 im pretty sure the cubes in minecraft are made out of a bunch of triangles 13:07:50 *duh* :P 13:07:53 :P 13:08:03 Gregor: maybe ill make them spheres 13:08:13 in some weird-ass fuck geometry where spheres can have spheres next to them 13:08:16 uncountably infinite spheres 13:08:17 fuck yes 13:08:20 best system 13:08:53 im actually kind of weirded out by opengls coordinate system 13:08:59 the size of my window is distorting all shapes... 13:09:05 i guess i do some camera magic to fix that though 13:09:05 I should learn OpenGL perhaps 13:09:28 Or just WebGL 13:09:30 Sgeo: You should learn to stop saying "I should learn maybe" and then never learning it. 13:10:12 HOW DO YOU EVEN PLACE THESE TRIANGLES OMG 13:10:14 I DONT UNDERSTAND GEOMTRY 13:10:26 FUCK ITS TURNED INTO A SQUARE 13:10:33 with a coordinates probably? 13:10:35 Perfect! 13:11:05 Play the violin, elliott! 13:11:08 Play it forever! 13:13:19 http://i.imgur.com/ZMCbo.png 13:13:21 I know in XNA the coordinate system runs has the top-left corner as the origin, which is somewhat weird. 13:13:21 wHAT, nO, 13:14:55 GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0 0 13:14:55 GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0.5 0 13:14:55 GL.color (GL.Color3 (0::GL.GLbyte) maxBound maxBound) 13:14:55 GL.vertex $ GL.Vertex3 (0.5::GL.GLdouble) 0.5 0 13:14:57 how does that even do that 13:15:01 ...which troll is it that types like that? 13:15:52 ?hoogle OpenGL rotate 13:15:52 No results found 13:16:05 elliott: that would be too easy. 13:16:11 ?hoogle ?fuck ?you 13:16:11 Parse error: 13:16:11 --count=20 "?fuck ?you" 13:16:11 ^ 13:16:14 CakeProphet, Tavros 13:16:16 ?hoogle --count=bitch 13:16:16 Unrecognised or malformed flags: 13:16:16 Bad argument to flag count, expected argument of type POS, got "bitch" 13:16:16 For details on correct flags pass --help 13:16:18 ?hoogle --count=bitch FUCK YOU 13:16:18 Parse error: 13:16:19 --count=20 "--count=bitch FUCK YOU" 13:16:19 ^ 13:16:20 ?hoogle --count=bitch FUCK YOU DIE 13:16:21 ?hoogle --count=bitch FUCK YOU DIE ASS 13:16:21 Parse error: 13:16:22 ?hoogle --count=bitch FUCK YOU DIE ASS CRAP 13:16:22 ?hoogle --count=bitch FUCK YOU DIE ASS CRAP SHIT 13:16:23 --count=20 "--count=bitch FUCK YOU DIE" 13:16:25 i hate lambdabot 13:16:25 ^ 13:16:27 Parse error: 13:16:29 --count=20 "--count=bitch FUCK YOU DIE ASS" 13:16:31 ^ 13:16:33 Parse error: 13:16:35 --count=20 "--count=bitch FUCK YOU DIE ASS CRAP" 13:16:37 ^ 13:16:39 Plugin `hoogle' failed with: thread killed 13:16:43 :( 13:18:00 in some weird-ass fuck geometry where spheres can have spheres next to them <-- ye olde L^\infty metric 13:18:18 oerjan: is it actually possible say its true 13:19:13 ...can 13:19:28 't you have spheres next to sphere in good ol' euclidean geometry? 13:19:37 not without gaps 13:19:40 (equal-sized spheres) 13:19:46 god thatd be so amazing 13:19:59 hmmm, what, no. This goes against my intuition. 13:20:32 wow you mean itd be non-euclidean NO SHIT 13:21:00 though I guess I've never interacted with two perfect Euclidean spheres before. 13:21:26 oerjan: is it possible 13:22:10 but I'm pretty sure balls can touch. (So much ennuendo I don't know how I keep it up) 13:22:26 elliott: the joke is that L^\infty spheres look like what you usually call cubes >:) 13:22:56 oerjan: GRRRRRRRR 13:23:08 oerjan: invent me a geometry where a sphere can be totally packed on every side with infinite other spheres 13:23:11 so i can have spherecraft 13:25:46 packed soap bubbles 13:26:02 i suspect those would look like cubes too 13:27:31 oerjan: um cubes cant be packed with infinite other cubes on their sides 13:27:37 (of the same size) 13:28:07 hm you want something fractal 13:28:33 in minecraft, you can put a cube on every side of another cube 13:28:35 elliott: they can in four dimensions! 13:28:39 in spherecraft, you need to be able to put a sphere on every side of another sphere 13:28:43 thus infinite spheres on a sphere 13:28:47 leaving no gaps 13:28:49 but of the same size 13:29:29 perhaps with extra dimensions? 13:29:34 elliott: do you play the circle in a band? 13:29:47 yes im a professional circlist 13:30:03 seemed your style 13:30:09 -!- oerjan has quit (Quit: Later). 13:30:23 nice way to escape >:( 13:30:49 http://www.reddit.com/r/homestuck/comments/ia2nm/so_theres_this_rumor_going_around_about_eoa5/ 13:30:59 wonder if there's a 3D version of a mudflake... 13:31:21 mudcube 13:31:42 do octahedrons tesselate space? 13:32:05 hmm 13:32:29 http://www.davidjayjordan.com/SexualTesselation.html what 13:33:01 http://www.davidjayjordan.com/MathematicalProofDesign1.html 13:33:30 it looks like that guy is trying to tesselate space with TIMECUBE 13:34:33 sexual timecube 13:35:16 ouch 13:38:17 needs moar 4d minecraft. 13:39:03 Not sleeping last night was a bad idea 13:39:14 not sleeping is usually a bad idea unless it's required/. 13:39:30 as sleep is pretty vital to your overall well-being 13:39:43 speaking of which, I'm going to go to sleep. 13:39:49 cya 13:39:54 but anyways, q and e should move you along the 4th axis. 13:40:01 good night. 13:40:18 I could have gone to sleep earlier but I can't now 13:40:45 food for thought on the crafting. Or maybe... thought for food? or just thought for thought? fuck it. sleep time. 13:41:08 which 2D slices should we see? 13:42:50 This is one hot plain agel 13:42:52 abgle 13:42:54 bagle 13:42:54 bagel 13:47:36 I'm going to figure out how to reverse Life, although surely it's been done before given the existence of search programs 13:51:01 eh/ 13:51:03 ? 13:51:08 life is not reversible 13:52:30 elliott, if I make it nondeterministic or sort of store all possibilities... 14:00:27 -!- augur has quit (Remote host closed the connection). 14:00:29 Sgeo: you realise the searchers just look for random patterns 14:00:29 right? 14:00:41 Oh 14:01:06 -!- Vorpal_ has joined. 14:01:09 Vorpal 14:01:12 how do i shot opengl 14:03:00 -!- Vorpal has quit (Ping timeout: 260 seconds). 14:03:46 -!- Vorpal_ has changed nick to Vorpal. 14:04:00 elliott, through the foot 14:04:03 ok 14:04:07 how do i draw cube with opengl 14:04:16 from triangles... 14:04:16 elliott, buggered if I remember 14:04:22 elliott, well that is easy 14:04:23 GL.renderPrimitive GL.TriangleStrip $ do 14:04:23 GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0 0 14:04:23 GL.vertex $ GL.Vertex3 (0::GL.GLdouble) 0.5 0 14:04:23 GL.vertex $ GL.Vertex3 (0.5::GL.GLdouble) 0.5 0 14:04:23 GL.color (GL.Color3 (0::GL.GLbyte) maxBound maxBound) 14:04:24 GL.vertex $ GL.Vertex3 (0.5::GL.GLdouble) 0.5 0.5 14:04:28 he;lp 14:04:33 each face could be two triangles 14:04:48 yes but it turns out i do not understand coordinates 14:04:53 elliott, don't look at me, this doesn't look like opengl in C 14:04:57 Vorpal: its the same 14:05:00 renderprimitive = GL_BEGIN 14:05:07 what are the coordinates then 14:05:09 the binding is pretty light its not hard to see 14:05:12 Vorpal: um in the vertexes 14:05:20 GL.GLdouble is just to get the types right 14:05:22 oh you have ::GL.GLdouble, right 14:05:42 elliott, well they are x,y,z or something like that, I don't remember the order 14:05:52 i know that 14:05:55 >_< 14:05:58 I haven't been doing opengl for over 2 years 14:07:07 elliott, so what is it you don't understand? 14:07:40 meh, nothing 14:07:51 elliott, so you understand it all? 14:08:02 no, but this is going nowhere 14:08:12 elliott, well I'm not sure what you are asking 14:08:17 try a more specific question 14:08:30 i can't get the vertices right to give me a cube because i'm retarded :D 14:08:50 elliott, oh I know that issue, I had issues with working out the coordinates too I remember. 14:09:11 elliott, it is easiest if you consider it from the point of view of linear algebra 14:09:14 i keep getting triangles stretching off into nowhere... no... make a cube... 14:09:28 that is, the vectors as column matrices 14:09:51 * elliott tries to get the drawing rotated so that hell be able to see the cube isometrically 14:10:27 http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-Rectangles.html 14:10:30 heh efficient rectanlges 14:10:34 wonder if its faster than triangles 14:10:35 elliott, for that you need to change the matrix defining the viewing frustum iirc 14:10:59 elliott, likely if you need to do a cube 14:11:45 elliott, wait they are all in the z=0 plane 14:11:54 elliott, I guess this is for 2D usage 14:12:33 oh youre right 14:12:33 dammit 14:12:59 of course I am. I'm me after all :P 14:13:01 i still dont know why they removed begin/end :( 14:13:23 elliott, they did? That is new 14:14:02 elliott, or is that about the haskell interface? 14:14:30 Vorpal: in opengl four yeah 14:14:32 deprecated in three 14:14:41 you're meant to use shaders or those buffer object things 14:14:51 http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-BufferObjects.html cry 14:14:52 oh I see 14:14:54 cryy 14:14:55 what is it even 14:15:03 http://hackage.haskell.org/packages/archive/OpenGL/2.4.0.1/doc/html/Graphics-Rendering-OpenGL-GL-VertexArrays.html wh;at ttt 14:15:27 elliott, I have no clue 14:16:11 elliott, do opengl 2 then 14:16:21 yeah 14:16:21 i am 14:16:22 but 14:16:25 its still horrible :( 14:18:59 elliott, it is meant to be fast, not nice 14:19:38 Vorpal: yeah well 14:19:47 cant appreciate a fast program i cant write 14:20:15 elliott, I heard directx is easier to write :P 14:21:42 Vorpal: har har har 14:34:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:34:35 elliott, this makes perfect sense to me: http://en.wikipedia.org/wiki/Vertex_Buffer_Object 14:35:42 but its 14:35:44 so 14:35:48 boring 14:35:49 and boilerplate 14:36:00 elliott: Where's spherecraft? 14:36:01 elliott, *shrug* 14:36:02 I wanna see it NOW 14:36:07 Gregor: oerjan ran away before he invented the jommetry. 14:36:23 BTW, Elliottcraft still needs a decent (code)name >_> 14:37:24 elliottcraft 14:37:25 Can you imagine the sheer horsepower that spherecraft would take? X-D 14:37:38 Gregor, what is that in oxpower? 14:37:55 With spheres that behave exactly like normal spheres, and are super-high-friction so you can actually stack them and such. 14:38:03 Vorpal: 2x 14:38:05 ouch 14:38:20 Gregor: It would be kind of impossible what with the uncountably infinite thing :P 14:38:27 -!- augur has joined. 14:38:32 It'd have to be a ten thousand sided object instead. 14:38:43 elliott, make it out of atoms 14:38:59 i know ill just make a new universe 14:38:59 /run 14:39:00 oh its this one 14:39:04 im gonna kill Vorpal in it 14:39:11 fuc;k problem of evil stops me doing nanything 14:39:42 XD 14:44:13 theology is basically based on god maknig the universe and discovering all sorts of semantic restrictions 14:44:22 until he finally says fuck it and stops trying to let his presence be known 14:44:26 i call this type system deism 14:47:14 elliott, XD 14:57:00 Daaaaaaaaaaaamn it's expensive to fly to the UK. 14:57:55 you might be a spic we have to be careful 14:58:47 In retrospect, it's cheaper than it was to fly to Paris, I'm just already $3,000 in the hole from this trip so diving in further isn't fun X-D 15:00:44 money.jpg 15:06:58 Total Airfare $789.00 15:06:58 Airfare taxes and fees $558.80 15:07:04 Taxes and fees: Nearly equal to the airfare 15:08:30 -!- copumpkin has joined. 15:08:30 -!- copumpkin has quit (Changing host). 15:08:30 -!- copumpkin has joined. 15:11:41 -!- Wamanuz2 has quit (Ping timeout: 240 seconds). 15:11:44 -!- Wamanuz3 has joined. 15:27:40 Gregor 15:27:42 how triangle 15:27:57 Same way babby formed. 15:29:32 how 15:29:33 cube 15:32:09 http://i.imgur.com/nXI2y.png 15:32:10 no 15:32:10 how 15:32:11 Gregor: how 15:32:16 Wamanuz3: how 15:37:36 oh god i dont triangles 15:46:39 -!- elliott has quit (Remote host closed the connection). 15:47:06 -!- elliott has joined. 16:05:07 -!- MigoMipo has joined. 16:24:39 elliott, looks like a nice flag 16:26:45 elliott, kind of like http://en.wikipedia.org/wiki/File:Naval_Ensign_of_Denmark.svg 16:40:10 -!- Phantom_Hoover has joined. 16:50:20 -!- Wamanuz4 has joined. 16:51:04 -!- Wamanuz3 has quit (Ping timeout: 276 seconds). 17:06:15 -!- comex has joined. 17:07:12 back 17:18:30 -!- zzo38 has joined. 17:28:46 http://esoteric.voxelperfect.net/w/index.php?title=Brainbrain&curid=3659&diff=23442&oldid=22103 17:28:46 No. 17:31:40 -!- jcp|1 has joined. 17:33:22 -!- jcp|other has quit (Ping timeout: 255 seconds). 17:33:55 -!- jcp has quit (Ping timeout: 258 seconds). 17:34:03 -!- elliott has quit (Read error: Connection reset by peer). 17:34:25 -!- elliott has joined. 17:39:56 -!- jcp has joined. 17:48:13 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:50:01 -!- Phantom_Hoover has joined. 18:03:04 -!- Sgeo has quit (Ping timeout: 255 seconds). 18:03:50 You can make this http://golf.shinh.org/p.rb?google in dc without any loops. 18:05:28 (at least in GNU dc) 18:07:00 -!- monqy has joined. 18:44:00 -!- augur_ has joined. 18:44:04 -!- augur has quit (Read error: Connection reset by peer). 18:55:05 -!- mtve has quit (Ping timeout: 260 seconds). 19:20:12 -!- augur_ has quit (Remote host closed the connection). 19:31:27 spere 19:31:29 packing 19:34:06 elliott, wait, why are you going on about sphere packing. 19:34:06 Phantom_Hoover: You have 2 new messages. '/msg lambdabot @messages' to read them. 19:34:42 sperrrré 19:34:44 paque 19:41:19 -!- oerjan has joined. 19:42:48 do octahedrons tesselate space? 19:43:09 an interesting question, as those are the spheres of the L^1 metric... 19:43:33 being dual to cubes, one would think it likely 19:43:58 oerjan: http://i.imgur.com/KH1z9.png im good cube draw 19:44:22 (L^1 and L^\infty also have a sort of dual relationship, although not as strong as for L^p spaces strictly between 1 and \infty) 19:44:30 L^-1 19:45:02 elliott: i don't think that is a metric. hm that would be harmonic sum... 19:45:11 L^0 19:45:12 * oerjan is not sure 19:45:15 L^urface 19:45:34 do octahedrons tesselate space? 19:45:34 elliott: L^0 would be somewhat degenerate 19:45:34 No. 19:45:40 Phantom_Hoover: darn 19:45:41 Octahedra and tetrahedra do. 19:45:43 ur a degneiggerate 19:46:49 elliott: in case you don't know, the L^p norm for most p has the form (x_1^p + x_2^p + ... + x_n^p)^(1/p) 19:46:58 ur con formist 19:47:04 <-- productive irc contributor 19:47:06 you may recognize L^2 as ordinary euclidean metric 19:47:15 so waht if i do 19:47:18 um 19:47:24 oerjan, so what's L^\infty? 19:47:36 sum p+q/n(0) 19:47:37 Limit as p → \infty? 19:47:37 hth 19:47:48 (pronounce:;``hutthuh'') 19:47:50 * (|x_1|^p + |x_2|^p + ... + |x_n|^p)^(1/p) 19:48:12 you don't need to absolute values or p an even natural number, naturally 19:48:15 *to take 19:48:20 Phantom_Hoover: yeah iirc 19:48:53 alternatively, ||(x_1,...,x_n)||_\infty = max(|x_1|,...,|x_n|) 19:49:35 i think ive heard of linfty 19:49:35 Oh, of course. 19:49:59 ...wait, that's not as 'of course' as it seemed. 19:50:04 did you know that im a robot 19:50:11 gripping talse.... 19:50:19 and for p<1 i think some things break down, although i'm not sure if everything does 19:50:31 L caret negative two 19:50:35 what NowowoWOw, science 19:50:39 Hmm, m < n → m^p << m^p for large p, so yeah, it's obvious. 19:51:00 elliott, makes sense. 19:51:02 *n somewhere in there 19:51:55 Yesyesyesyes 19:52:12 i want a shirt made of spider silk 19:52:17 I wanted one before it was cool. 19:53:40 elliott: however p=-1 is still _interesting_ since it's related to harmonic mean 19:54:29 ~~ livin in harmony w/ mean you ~~ 19:54:46 pronunciation what is it 19:55:37 oerjan, L_2/3 is a well-defined metric, apparently. 19:56:09 I wish there was a simple way of plotting the unit circle in L_n metrics in Mathematica. 19:57:29 all mathematica can do is play games and have children 19:58:51 Phantom_Hoover: http://en.wikipedia.org/wiki/Lp_space implies that for 0 Phantom_Hoover: http://mathworld.wolfram.com/Superellipse.html might help 20:08:33 -!- Lymia has quit (Ping timeout: 240 seconds). 20:08:55 there's a mathematica notebook link 20:09:17 No, the parametric forms are enough. 20:10:34 Although it's a bit annoying, doing it by reductio ad Wolfram. 20:12:26 "In 1968, when negotiators in Paris for the Vietnam War could not agree on the shape of the negotiating table, Balinski, Kieron Underwood and Holt suggested a superelliptical table in a letter to the New York Times." 20:13:03 YOUR MOM is superelliptical 20:13:07 that was 20:13:09 directed at Phantom_Hoover 20:13:09 btw 20:13:28 Some negotiators. 20:13:41 they should have made sphere table 20:14:51 they could have the chairs bolted to the inside of a half-spher bowl. and occasionally the bolts could break. 20:14:56 Ah, Piet Hien. 20:14:58 *e 20:15:01 Inventor of the grook. 20:15:09 Which Vorpal confused for 'grok'. 20:15:27 Oh, for the days when he would speak of how he grooked this and that. 20:15:33 piet hein grokked a lot, we may assume 20:15:59 ill grok my fist into ur face (@ all u punk ass nerds) 20:16:19 wouldn't it be awesome if someone came in here while i was like this and didn't realise i was being sarcastic all the time 20:16:32 and wondered why i wasn't banned yet, maybe you too are wondering this same thing now???????? 20:17:47 oerjan, one might even say he grake. 20:18:03 grutenberg 20:18:11 =gay ass loser bookreader club.... 20:18:29 gruten tag, mein herr 20:18:33 Says the guy who can't even render a cube. 20:20:53 Phantom_Hoover: gay va 20:20:54 mpire 20:21:02 -!- azaq23 has quit (Quit: Leaving.). 20:22:06 -!- Lymia has joined. 20:38:24 :t Prelude.intersperse 20:38:24 Not in scope: `Prelude.intersperse' 20:38:31 @hoogle intersperse 20:38:32 Data.ByteString intersperse :: Word8 -> ByteString -> ByteString 20:38:32 Data.List intersperse :: a -> [a] -> [a] 20:38:32 Data.ByteString.Char8 intersperse :: Char -> ByteString -> ByteString 20:40:54 http://esolangs.org/w/index.php?title=Deadfish&curid=2038&diff=23453&oldid=22913 20:40:56 unforgivable 20:41:08 oerjan: HAPPEN TO BE WORKING ON A PROGRAM DO WE 20:41:51 i'm not surprised to hear they dont tesselate. i couldnt visualize a way to do it. 20:43:09 elliott: um ">> " is pretty much standard if anything is 20:43:53 oerjan: ... ? 20:44:15 elliott: cpressey's correction looks reasonable to me... 20:44:25 I made the copy of the GNU GPL v3 with Plain TeX. Will FSF accept it? 20:44:47 http://sprunge.us/HJOh 20:45:04 oerjan: it is 20:45:08 the original mistake is what is unforgivable 20:45:11 zzo38: no 20:45:11 aha 20:46:05 I was parsing that code with the >>> outside the quotes and I was getting confused. 20:46:12 :t (>>>) 20:46:13 forall (cat :: * -> * -> *) a b c. (Control.Category.Category cat) => cat a b -> cat b c -> cat a c 20:46:53 :T (W.r[paad,aspdwqprmqrpowmepwoqje 20:46:55 :T (life 20:46:58 :type (life 20:47:02 ?...type (life 20:47:03 Unknown command, try @list 20:47:05 ?.type (life 20:47:06 parse error (possibly incorrect indentation) 20:47:07 oerjan: HAPPEN TO BE WORKING ON A PROGRAM DO WE <-- just looking briefly at the "google" golf zzo38 mentioned 20:47:08 ?. . . type (life 20:47:08 Plugin `compose' failed with: Unknown command: "(life" 20:47:10 ?. . . type (life) 20:47:10 Plugin `compose' failed with: Unknown command: "(life)" 20:47:13 ?. . . type type (life) 20:47:14 Plugin `compose' failed with: Unknown command: "parse" 20:47:16 ?. . . type type type (life) 20:47:17 Plugin `compose' failed with: Unknown command: "parse" 20:47:19 ?. . . type type type type (life) 20:47:20 Plugin `compose' failed with: Unknown command: "parse" 20:47:22 ?. . . type type type type type type type type a (life) 20:47:23 Plugin `compose' failed with: Unknown command: "parse" 20:47:24 sdgh 20:47:41 who what 20:47:47 oinoinion 20:47:47 my first try was 52 chars while several others have shorter ones, and it occured to me that intersperse might help if it were in the Prelude 20:47:57 oerjan: maybe something monadic 20:48:13 >"go">>"ogle" 20:48:18 > "go">>"ogle" 20:48:18 "ogleogle" 20:48:18 elliott: well my first try used interact 20:48:32 > "go">>="ogle" 20:48:32 Couldn't match expected type `GHC.Types.Char -> [b]' 20:48:33 against inferr... 20:48:39 > "go">>=(++"ogle") 20:48:39 Couldn't match expected type `GHC.Types.Char' 20:48:39 against inferred type... 20:48:41 and plain replicate 20:48:44 oji 20:49:23 :t Prelude.sequence 20:49:24 forall (m :: * -> *) a. (Monad m) => [m a] -> m [a] 20:49:28 hm 20:50:00 -!- SimonRC has quit (Ping timeout: 260 seconds). 20:51:50 go==og backwards..le 20:52:31 00:40:40: there's something funny going on with the 17s (well maybe it's just because that's the smallest prime other than 2) 20:53:25 elliott: i remember enough of that discussion to note that is entirely reasonable in context 20:53:34 I also forget 3,5,7,11 and 13 now and then :) 20:53:45 oerjan: shhhh :D 20:54:26 elliott: it's not like crystal-cola needs that kind of assistance 20:56:06 oh hm wait 20:56:32 -!- SimonRC has joined. 20:57:35 -!- Lymia has changed nick to Lymee. 20:59:22 elliott: ok monadic was a good idea, [1..n]>>"o" is shorter than n`replicate`'o' 20:59:38 > let n = 9 in "go"++[1..n]>>"o"++"ogle" 20:59:39 No instance for (GHC.Num.Num GHC.Types.Char) 20:59:39 arising from a use of `n' a... 20:59:43 now i'm just one char longer than the winners 20:59:44 wha 20:59:49 > let n = 9 in "go"++([1..n]>>"o")++"ogle" 20:59:50 "gooooooooooogle" 21:00:00 oerjan: hm what's your current solution? 21:00:09 main=interact$(\n->'g':([1..n]>>"o")++"gle").read 21:00:16 hm 21:00:19 Are you golfing? 21:00:22 :t interact$(\n->'g':([1..n]>>"o")++"gle").read 21:00:23 IO () 21:00:44 ?pl interact$(\n->'g':([1..n]>>"o")++"gle").read 21:00:44 interact (('g' :) . (++ "gle") . (>> "o") . enumFromTo 1 . read) 21:00:46 Lymee: yeah, mainly just checking if i can tie with the top 21:01:00 with 7 others tied it seems unlikely to beat :P 21:01:28 Link? 21:01:42 http://golf.shinh.org/p.rb?google 21:01:49 it's a very old one btw 21:02:16 print"g%sgle"%"o"*input() 21:02:19 First thing that comes to mind. 21:02:35 Lymee: oh i'm sure the python ones are tiny 21:02:40 -!- mtve has joined. 21:03:05 Lymee: in fact you just tied with those 21:03:20 Order of operation stuff to sort out. 21:03:59 fizzie 21:04:08 link me to that graphical version of tswett's chinese remainder theorem clcok you made 21:04:17 Lymee: i'd say you're also unlikely to beat them, with 19 tied at the top for a years old golfing 21:04:24 or anyone 21:04:28 So, 2 over max. 21:04:29 :c 21:05:03 Lymee: hm? yours is 25 as are the winners 21:05:04 elliott: well, I have a textual version of that. 21:05:07 oerjan, no. 21:05:09 oerjan: Send what you have anyways, you can send a better solution later if you figure it out. 21:05:10 I had order of operations issues. 21:05:13 oh 21:05:14 tswett: yes but i want fizzie's :D 21:05:15 print"g%sgle"%("o"*input()) 21:05:17 Had to do that. 21:05:36 aha 21:07:05 hmm related to http://zem.fi/~fis/crcsq.html 21:07:28 http://zem.fi/~fis/crcbar.html 21:07:29 here we go 21:07:54 I *just* located those. 21:08:24 fizzie: :D 21:08:30 the crcsq one is the bestest 21:08:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 21:08:41 -!- elliott has left ("Leaving"). 21:08:45 -!- elliott has joined. 21:11:59 zzo38: i don't see the point in sending a worse one to a contest which is 4 years old and has 7 tied at the top 21:12:38 oerjan: hey oerjan implement my ghcwishlist... :( 21:12:47 not a chance :P 21:12:52 - IdiomBrackets, MultipleOperatorSections, MLModules 21:12:53 thx 21:12:58 lemme know when they're done 21:13:13 hm MultipleOperatorSections sounds like something i've wanted 21:13:27 is it like (+x*) ? 21:13:32 as in (2*9+) 21:13:36 or more pedestrianly 21:13:37 (9+9+) 21:13:43 oerjan: It is OK if you do not want to send. 21:13:48 or (*9*9) 21:13:49 etc. 21:13:55 oerjan: it'd also make repeated compositions nicer 21:13:56 elliott: um those are already legal if you don't clash with precedence 21:14:03 (a . b . c .) rather than ((a . b . c) .) 21:14:09 oerjan: um I mean as in 21:14:13 ((*9).(*9)) 21:14:16 you know what i mean 21:14:25 basically generalising sections to be able to have a whole chain 21:14:25 that's _also_ legal :P 21:14:29 of course it is 21:14:32 oh 21:14:33 but its not a section 21:14:34 (a . b . c .) rather than ((a . b . c) .) 21:14:35 thats the mean thing 21:14:41 main 21:14:54 elliott: yeah that one has annoyed me before 21:15:10 IdiomBrackets and MLModules should be obvious I hope 21:15:11 oh 21:15:12 I also want 21:15:15 those typekinds that are being worked on 21:15:30 that unifies data and datakinds so that you can do type-level programming freely 21:15:33 squee 21:15:36 but 21:15:36 yeah 21:15:37 i dont have to 21:15:42 enslave anyone to do that since it is already happening 21:16:14 > (0$0 <$>) 21:16:15 The operator `Data.Functor.<$>' [infixl 4] of a section 21:16:15 must have lowe... 21:16:42 > (sin<$>cos<$>tan<$>) 1 21:16:43 No instance for (GHC.Num.Num (f a)) 21:16:43 arising from a use of `e_11' at wtf 21:16:58 oh 21:17:06 > (sin<$>cos<$>tan<$>) exp 1 21:17:07 0.7834561490393223 21:17:46 hm that works? 21:18:01 yes, because <$> is infixl rather than infixr 21:18:13 >(sin$cos$tan$exp)1 21:18:17 > (sin$cos$tan$exp)1 21:18:18 0.7834561490393223 21:18:27 > (sin$cos$tan$)exp 1 21:18:28 The operator `GHC.Base.$' [infixr 0] of a section 21:18:28 must have lower prec... 21:18:33 Ah. 21:18:34 Lymee, what on earth made you think that would have interesting behaviour. 21:18:43 Phantom_Hoover, I was seeing what oerjan was testing. 21:19:13 Lymee: your first one only works because of lambdabot's Floating instances for functions, i think 21:19:30 oerjan: also ghc wishlist: record system that uses fclabels or lenses instead of the crap we have now 21:19:39 and uhhhh 21:19:41 thath 21:19:45 that would make me pretty happy 21:19:53 also maybe the replacement of String with Text would be nice... 21:20:02 and the generalisation of ++ etc. to some kind of container class 21:20:09 (yeah yeah, i am aware of monoid :)) 21:20:19 :t (++) 21:20:19 forall m. (Monoid m) => m -> m -> m 21:22:26 CAAAAAAAAAAAALE 21:22:58 elliott: you should go in #haskell and blame cale for caleskell, ISTR he likes that 21:23:45 olsner: i do that on a daily basis or so 21:23:50 i think cale may dislike me dunno why 21:24:36 funny that 21:26:06 :t readIO 21:26:07 forall a. (Read a) => String -> IO a 21:26:16 :t readLn 21:26:16 forall a. (Read a) => IO a 21:26:55 !haskell readIO "what does this button do?" 21:27:20 !haskell main = readIO "what does this button do?" 21:27:46 !haskell main = readIO "what does this button do?" :: IO Int 21:27:51 input.21959.hs: user error (Prelude.readIO: no parse) 21:28:13 * oerjan wonders what that string is for 21:28:22 "The readIO function is similar to read except that it signals parse failure to the IO monad instead of terminating the program." 21:28:36 oh right 21:28:47 so useless for this 21:29:08 -!- copumpkin has joined. 21:29:08 -!- copumpkin has quit (Changing host). 21:29:08 -!- copumpkin has joined. 21:29:18 hmm, but IO can catch errors just as well as it can catch exceptions, can't it? 21:29:37 -!- Vorpal has quit (Ping timeout: 255 seconds). 21:29:44 olsner: in ghc yes, not the standard 21:31:24 oh, ok 21:33:15 > (0$0>>) 21:33:16 The operator `GHC.Base.>>' [infixl 1] of a section 21:33:16 must have lower pre... 21:38:32 oh, putting read outside the lambda was a mistake, now i'm tying with the top 21:39:00 :t interact$ \n->'g':([1..read n]>>"o")++"gle" 21:39:00 IO () 21:50:27 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:16:14 * Phantom_Hoover → sleep 22:16:18 -!- Phantom_Hoover has left ("Leaving"). 22:16:47 -!- augur has joined. 22:23:57 -!- Ycros has quit (Remote host closed the connection). 22:24:17 -!- Ycros has joined. 22:33:24 -!- augur has quit (Remote host closed the connection). 22:40:23 -!- augur has joined. 23:05:31 I decided to use a different set of units than TeX some are different, I have: pt bp in cm mm P0 p0 q em ex 23:06:27 are any of those Planck lengths? 23:06:39 No. 23:06:49 Can you make ink that small? 23:07:49 I guess not. But it could still be used as a unit with ridiculously fine-grained precision. 23:08:51 The precision is already 1/4736286.72 inch (you can use numbers after the decimal point too), and I don't know of any printing equipment that has that much resolution. 23:09:32 But I suppose in programs for designing physics stuff you might have Planck lengths as one of the units for really precision. 23:09:49 What is the most resolution of any printer you have seen or know of? 23:10:42 Four million dots per inch? I don't think so. 23:12:46 -!- CakeProphet has quit (Ping timeout: 240 seconds). 23:15:14 -!- elliott has quit (Quit: Leaving). 23:16:29 -!- CakeProphet has joined. 23:18:18 > 'a'<'b' 23:18:18 True 23:23:15 :t compare 23:23:16 forall a. (Ord a) => a -> a -> Ordering 23:23:23 @src Ordering 23:23:23 data Ordering = LT | EQ | GT 23:28:38 > (0$0`compare`) 23:28:39 The operator `GHC.Classes.compare' [infixl 9] of a section 23:28:39 must have l... 23:32:04 -!- augur has quit (Remote host closed the connection). 23:44:46 -!- augur has joined. 23:44:58 -!- augur has quit (Remote host closed the connection).