<    April 2017    >
Su Mo Tu We Th Fr Sa  
                   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 28 29  
30
00:06 abhiroop joined
00:15 takle joined
00:18 baweaver joined
00:20 uglyfigurine joined
00:23 newhoggy joined
00:30 takle joined
00:42 geekosaur joined
00:45 MotherFlojo joined
00:52 eacameron joined
00:58 newhoggy joined
01:03 eacameron joined
01:10 Pupnik joined
01:12 newhoggy joined
01:20 peterbecich joined
01:20 Rodya_ joined
01:21 newhoggy joined
01:26 peterbecich joined
01:26 peterbec` joined
01:26 peterbec` joined
01:30 eacameron joined
01:38 takle joined
01:39 guampa joined
01:41 skeet70 joined
01:43 Axman6 joined
01:46 newhoggy joined
01:50 pixelfog_ joined
01:57 vaibhavsagar joined
02:16 newhoggy joined
02:17 abhiroop joined
02:20 Rodya_ joined
02:24 MotherFlojo joined
02:27 uglyfigurine joined
02:28 takle joined
02:29 louispan joined
02:35 malaclyps joined
02:40 taksuyu joined
02:42 jarshwah joined
02:42 newhoggy joined
02:45 exferenceBot joined
02:45 newhoggy joined
02:48 abhiroop joined
02:49 hexagoxel joined
03:11 nicknovi1 joined
03:18 takle joined
03:24 skeet70 joined
03:28 abhiroop joined
03:48 malaclyps joined
03:54 takle joined
04:02 newhoggy joined
04:05 nicknovi1 joined
04:09 systemfault joined
04:10 systemfault joined
04:13 malaclyps joined
04:15 newhoggy joined
04:15 newhoggy joined
04:22 Rodya_ joined
04:29 skeet70 joined
04:38 newhoggy joined
04:39 vaibhavsagar joined
04:41 MotherFlojo joined
04:49 abhiroop joined
04:55 geekosaur joined
05:01 takle joined
05:02 texasmynsted joined
05:23 Rodya_ joined
05:28 takle joined
05:39 monochrom joined
05:42 p123 joined
05:48 skeet70 joined
05:50 abhiroop joined
06:00 abhiroop joined
06:04 ebw joined
06:06 newhoggy joined
06:17 newhoggy joined
06:20 simony joined
06:23 Rodya_ joined
06:27 newhoggy joined
06:33 abhiroop joined
06:41 newhoggy joined
06:43 geekosaur joined
06:49 abhiroop joined
06:51 newhoggy joined
06:52 kritzcreek joined
07:00 newhoggy joined
07:09 newhoggy joined
07:10 Durz0 joined
07:17 newhoggy joined
07:25 newhoggy joined
07:28 takle joined
07:29 taksuyu joined
07:30 Levex joined
07:33 haskelleksah joined
07:33 newhoggy joined
07:38 <haskelleksah> I have a clarifying question regarding stackage just to make sure I am understanding right…so I read somewhere that “Stackage provides a stable set of packages which are known to build” and that Stack uses “this curated stackage packages by default”. I have two question. First is about what it actually means to provide a stable set of packages known to build…does it mean if my program depends on Package A, which itself
07:38 <haskelleksah> depends on Package B…Stackage will keep track of the right versions of Package B needed by each versions of Package A? And this tracking of dependency can go on transistively as long as the dependency graph dictates? If this is the case, then the second question…how is such tracking done? it sounds like an almost impossible amount of work if “all packages out there needs to be covered by stackage”
07:41 newhoggy joined
07:44 <srhb> haskelleksah: iirc it means there's one version of each package, and each is known to build with every other. Your package has no bearing on this.
07:44 Denthir joined
07:46 srhb joined
07:47 takle joined
07:50 newhoggy joined
07:59 newhoggy joined
08:08 newhoggy joined
08:10 haskelleksah joined
08:10 <haskelleksah> srhb: ok
08:11 <haskelleksah> “ there's one version of each package” all the package in the whole wide haskell world? or what/who get to determine that is included?
08:11 <srhb> haskelleksah: The stackage curators, and individual package maintainers. Basically Stackage is a subset of Hackage.
08:11 <srhb> Or more correctly, each stackage package set is a subset of Hackage.
08:12 <haskelleksah> k
08:15 newhoggy joined
08:18 MotherFlojo joined
08:23 newhoggy joined
08:28 takle joined
08:39 newhoggy joined
08:42 Gurkenglas joined
08:43 MollifiedQuasar joined
08:48 takle joined
08:51 takle joined
08:55 pbrant joined
08:55 newhoggy joined
09:02 newhoggy joined
09:08 MotherFlojo joined
09:10 mengu joined
09:17 uglyfigurine joined
09:18 Levex joined
09:20 newhoggy joined
09:29 newhoggy joined
09:29 MotherFlojo joined
09:30 nullcone joined
09:33 qu1j0t3 joined
09:36 grayjoc joined
09:37 m` joined
09:44 newhoggy_ joined
09:49 louispan joined
09:51 geekosaur joined
09:51 delexi joined
09:58 cschneid_ joined
10:01 newhoggy joined
10:07 xarvh joined
10:08 <xarvh> Is this the right place to ask help about stack?
10:09 louispan joined
10:21 nobodyzxc joined
10:22 mengu joined
10:23 cschneid_ joined
10:28 netheranthem joined
10:28 crave joined
10:35 yellowj joined
10:40 newhoggy joined
10:43 bvad joined
10:50 aarvar joined
10:53 louispan joined
10:57 cschneid_ joined
10:58 geekosaur joined
11:02 newhoggy joined
11:20 bvad joined
11:23 louispan joined
11:36 <srhb> xarvh: You can try, there's also #haskell-stack
11:36 <srhb> But it's not very active.
11:36 <srhb> (I probably can't help personally)
11:38 thc202 joined
11:42 bvad joined
11:42 ebw joined
11:47 bvad joined
11:50 delexi joined
11:53 zaphyr joined
11:53 Pupnik_ joined
11:58 zaphyr_ joined
12:17 geekosaur joined
12:19 psylentvoid joined
12:21 nobodyzxc joined
12:24 mengu joined
12:31 bvad joined
12:33 newhoggy joined
12:34 exferenceBot joined
12:35 Levex joined
12:37 yellowj joined
12:41 binaryplease joined
12:45 ebw joined
12:47 Levex joined
12:48 nobodyzxc joined
12:56 MotherFlojo joined
12:57 crave joined
12:57 wildlander joined
13:13 vaibhavsagar joined
13:14 jship joined
13:18 Denthir joined
13:18 haskelleksah joined
13:26 bvad joined
13:31 chlong joined
13:33 Levex joined
13:47 mheinzel joined
13:54 harfangk joined
13:58 Rodya_ joined
14:06 Deide joined
14:09 geekosaur joined
14:25 takle joined
14:27 pilne joined
14:34 nicknovi1 joined
14:37 tapirus joined
14:39 Sose_ joined
14:43 takle joined
14:45 kritzcreek joined
14:45 plakband joined
14:48 haskelleksah joined
14:49 nobodyzxc joined
14:51 eacameron joined
14:54 romank joined
14:57 takle joined
14:58 romank joined
15:06 takle joined
15:07 romank joined
15:10 newhoggy joined
15:15 m1dnight_ joined
15:18 newhoggy joined
15:27 Rodya_ joined
15:33 ebw joined
15:33 newhoggy joined
15:35 <ebw> Hi I installed ghc with stack. Do I have the documentation of the standard library somewhere on my computer now, or do I need to use hackage?
15:35 m1ng0sfear joined
15:53 newhoggy joined
16:06 newhoggy joined
16:10 peterbecich joined
16:13 meandi_2 joined
16:19 MotherFlojo joined
16:21 newhoggy joined
16:21 mengu joined
16:24 Denthir joined
16:27 newhoggy joined
16:54 conal joined
16:56 Rodya_ joined
16:58 newhoggy joined
16:59 ephemeral joined
17:01 <dmj`> ebw: maybe poke around in ~/.stack
17:08 haskelleksah joined
17:09 systemfault joined
17:14 newhoggy joined
17:26 Levex joined
17:29 yellowj joined
17:30 newhoggy joined
17:31 MotherFlojo joined
17:33 hphuoc25 joined
17:34 romank joined
17:36 pungi-man joined
17:36 mengu joined
17:49 contiver joined
17:51 newhoggy joined
17:52 JimmyJon joined
17:57 Rodya_ joined
18:05 grayjoc joined
18:10 takle joined
18:12 newhoggy joined
18:19 nicknovi1 joined
18:22 nobodyzxc joined
18:28 newhoggy joined
18:32 conal joined
18:37 newhoggy joined
18:38 nicknovi1 joined
18:42 peterbecich joined
18:43 myrkraverk_ joined
18:49 newhoggy joined
18:54 newhoggy joined
18:58 takle joined
18:59 Rodya_ joined
19:09 vito_swi1s joined
19:11 newhoggy joined
19:17 takle joined
19:19 newhoggy joined
19:20 _ikke_ joined
19:23 jship joined
19:27 <haskelleksah> but but…concatenation of string does not appear to be an associative operation (“dad” ++ “mom” /= “mom ++ “dad”) and law of associative I am reading is one of the pattern to be satisified by a Monoid…so why then does List have an Instance of a Monoid?!
19:28 newhoggy joined
19:28 carlomagno joined
19:29 geekosaur joined
19:30 <haskelleksah> Also why does the monoid typeclass have mconcat? I thought the two minimum requirement for a structure to be a monoid are 1.) Binary operation that follows the law of associativity 2) An Identity value for the binary operation
19:31 <geekosaur> another reason to put a method in a class is when some types can provide optimized implementations
19:32 <geekosaur> usually those have default implementations, so when declaring an instance you'd only include a definition of mconcat if you had a better one than the default
19:35 <monochrom> "associative" does not mean x++y = y++x.
19:35 <monochrom> "associative" means x++(y++z) = (x++y)++z.
19:35 newhoggy joined
19:36 <monochrom> "commutative" is x++y = y++z. But no one said commutative of Monoid.
19:37 <geekosaur> you meant = y++x I think?
19:37 <monochrom> Ah yes.
19:37 <monochrom> x++y = y++x
19:38 <haskelleksah> monochrom: thanks for the pointers…I will take a step back for a bit to clarify my understanding of associative, commutative etc
19:40 takle joined
19:46 <haskelleksah> k…I see how List perfectly satisfies the requirements to have a Monoid Instance…the other question was the fact that I thought mempty and mappend would be the two methods needed in the monioid Typeclass…but there also exist mconcat function which from its signature (and included implementation), seems to be applying mappend over a “list” of things. It this not then a “utility function” instead of a core function that
19:46 <haskelleksah> should define a monoid?
19:46 xificurC joined
19:46 newhoggy joined
19:47 Big_G joined
19:47 <geekosaur> yes, that's the part I answered earlier
19:48 <geekosaur> it's not unusual to allow instances to provide optimized versions of utility functions
19:48 <haskelleksah> I see. Just wanted to confirm if indeed mconcat is a “utility function” instead of one that defines what a “monoid” is supposed to be
19:48 <geekosaur> so the class has a default implementation in terms of mempty and mappend, and if an instance can provide something better then it specifies its own mconcat
19:48 <haskelleksah> yeah
19:49 <geekosaur> (and then there's classes like Foldable which are arguably *all* utility functions...)
19:50 Denthir joined
19:50 <monochrom> For some Monoid instances, mconcat is better off as a foldr; for some others, better off as a foldl'.
19:50 <MarcelineVQ> in the not too distant future Applicative will include liftA2 as a utility function
19:50 <glguy> haskelleksah: When you're reading the documentation look at the "Minimal complete definition" section http://hackage.haskell.org/package/base-4.9.1.0/docs/Data-Monoid.html
19:51 <glguy> That will help you to know what's required and what is not
19:51 <haskelleksah> glguy: that is a super helpful tip :) thanks!
19:51 <monochrom> The case for liftA2 is even stronger. liftA2 is one way to define Applicative to begin with; from this perspective <*> is a utility. :)
19:51 <MarcelineVQ> monochrom: agree
19:52 <monochrom> Similarly you would rather like Eq having both == and /= and mutually circular reference, than to have to choose only one of them to enshrine.
19:53 Kuros` joined
19:55 newhoggy joined
19:58 takle joined
20:00 Rodya_ joined
20:00 MotherFlojo joined
20:12 takle joined
20:13 Levex joined
20:16 newhoggy joined
20:17 cschneid_ joined
20:22 takle joined
20:22 <geppettodivacin> What kind of graph representations are best for functional programming, or Haskell specifically? I'm thinking that an adjacency matrix doesn't make sense ([[Bool]] or [[Int]]), but is there something that makes more sense than adjacency list?
20:23 carlomagno1 joined
20:24 newhoggy joined
20:29 cschneid_ joined
20:32 <glguy> geppettodivacin: have you looked at the fgl package?
20:34 <geppettodivacin> glguy: No, I'll take a look in a bit. Thanks!
20:34 newhoggy joined
20:34 <geppettodivacin> Does that representation focus on elegance or efficiency? Or did it kind of wrap both up into one?
20:35 <glguy> it's not one representation
20:35 <monochrom> IIRC its API is elegant and its under-the-hood is asymptotic efficient but unfortunately the constant terms are not competitive.
20:36 <geppettodivacin> Oh. Neat.
20:37 Big_G joined
20:38 <MarcelineVQ> competative with what?
20:38 <monochrom> with imperative algorithms that enjoy mutable states
20:38 <MarcelineVQ> rather, what are the other choices one might look into
20:38 newhoggy_ joined
20:38 <monochrom> unfortunately if you stay immutable there is no other choice :)
20:39 <MarcelineVQ> alright :>
20:40 <monochrom> graph theory algorithms are unfortunately where pure-functional programming is still playing catch up to established imperative programming.
20:41 <monochrom> (But thank Okasaki our FIFO queues have exceeded them.)
20:41 <glguy> fgl has mutable and immutable representations
20:41 <glguy> and more than one choice in each category
20:41 <MarcelineVQ> I like fgl's idea to work with graphs via decomposition, if that's at all a fair way to say what it does, but I know so little of graphs that it's novel rather than something I can compare
20:41 <monochrom> Ah yeah, I had the immutable one in mind.
20:41 <MarcelineVQ> graphs are starting to become relevant to my work so this topic matters to me if you two have much more to say about them
20:41 <monochrom> Yes, fgl's fold is elegant and novel.
20:42 takle joined
20:43 <monochrom> Well, not novel if you have seen how mathematicians have always done induction on graph size. But novel in the programming world at all, imperative algorithms simply never did that.
20:44 pixelfog_ joined
20:45 <monochrom> So, meta-novel in having the gut to introduce the induction idea to a graph library API :)
20:46 <monochrom> Sometimes I respect that meta-novel guts more than target-level innovations.
20:47 newhoggy joined
20:55 mengu joined
20:56 newhoggy joined
21:01 Rodya_ joined
21:02 newhoggy joined
21:10 newhoggy joined
21:15 Sose_ joined
21:22 newhoggy joined
21:28 takle joined
21:31 newhoggy joined
21:31 eacameron joined
21:33 seangrove joined
21:36 newhoggy joined
21:42 mstruebing joined
21:43 ego joined
21:45 eacamero_ joined
21:46 cschneid_ joined
21:51 eacameron joined
21:53 hiratara joined
21:53 nyuszika7h joined
21:55 newhoggy joined
21:55 eacamero_ joined
21:56 geekosaur joined
21:58 eacameron joined
22:00 newhoggy joined
22:02 Rodya_ joined
22:03 carlomagno joined
22:03 Rodya_ joined
22:03 eacameron joined
22:08 eacameron joined
22:08 newhoggy joined
22:11 eacamero_ joined
22:16 eacameron joined
22:17 nullcone joined
22:19 newhoggy joined
22:25 carlomagno joined
22:27 newhoggy joined
22:31 hiratara joined
22:32 louispan joined
22:32 eacameron joined
22:35 systemfault joined
22:36 newhoggy joined
22:36 systemfault joined
22:41 eacameron joined
22:44 newhoggy joined
22:52 newhoggy joined
22:54 Guest60990 joined
22:57 aarvar joined
23:00 newhoggy joined
23:04 takle joined
23:08 newhoggy joined
23:13 newhoggy joined
23:23 takle joined
23:29 romank joined
23:30 newhoggy joined
23:34 louispan joined
23:36 newhoggy joined
23:44 newhoggy joined
23:44 cschneid_ joined
23:50 romank joined
23:51 newhoggy joined
23:56 tlaxkit joined
23:59 newhoggy joined