<    June 2018     >
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 _2_2 23  
24 25 26 27 28 29 30
00:01 <nitrix> My my. I'll have to be more active!
00:06 louispan joined
00:20 conal_ joined
00:29 acarrico joined
00:30 progfun_ joined
00:40 andreabedini joined
00:45 ebsen joined
00:48 conal_ joined
00:53 louispan joined
01:02 conal_ joined
01:14 <jle`> Squarism: congrats :D
01:14 <jle`> looks great :)
01:15 iAmerikan joined
01:24 hamishmack joined
01:31 harfangk joined
01:34 mizu_no_oto_work joined
01:44 <Squarism> thanks!
01:47 hamishmack joined
01:47 <paraseba> In the vector package, why are functions like find, findIndex, etc. implemented only for immutable vectors and not for mutable ones? I'd expect to have available very fast find functions for unboxed mutable vectors, compiling them down to libc memory search functions.
01:56 andreabedini joined
02:10 hamishmack joined
02:16 Linter joined
02:18 obi_jan_kenobi_ joined
02:21 Linter joined
02:24 nacon joined
02:24 nacon joined
02:25 mizu_no_oto_work joined
02:50 dogweather joined
02:52 <nitrix> If you're just doing a linear search, so O(n), having unboxed and mutable values don't grant you anything else more than immutable ones do. I feel like the choice of linear scaling in the design is a much bigger concern.
02:54 <nitrix> I suspect the people in need of mutable vectors (due to performance concerns) are probably biases towards not needed find and findIndex, thus, it not being present in the library yet.
02:55 <nitrix> You could open a PR (:
03:03 dogweather joined
03:06 <paraseba> probably a good guess nitrix. What would be a good place to ask if such a PR would be considered? There could be other limitations we are missing
03:16 <sclv> paraseba: a good way to ask is to open an issue suggesting it and offering to implement it on the tracker
03:16 <nitrix> https://github.com/haskell/vector/issues
03:18 <paraseba> thank you
03:18 <nitrix> Found this: https://github.com/haskell/vector/issues/203
03:18 <nitrix> Someone suggesting to isolate "pure operations" on mutable vectors.
03:19 <nitrix> Maybe be other ones related to it, I don't know :P
03:20 louispan joined
03:20 dogweather joined
03:21 obi_jan_kenobi_ joined
03:21 <paraseba> very interesting, and it seems connected to my use case, I'll join that thread an ask around. Thanks
03:22 zaquest joined
03:22 progfun joined
03:23 nitrix left
03:37 bbrodriguez joined
03:42 dogweather joined
03:48 kapil___ joined
03:50 dogweather joined
03:58 AetherWind joined
03:59 AetherWind left
04:00 kroomey joined
04:04 Linter joined
04:09 louispan joined
04:12 <paraseba> for reference: this issue is also related to my question https://github.com/haskell/vector/issues/64
04:16 AetherWind joined
04:17 mac10688 joined
04:21 aarvar joined
04:45 andreabedini joined
05:02 seangrove joined
05:07 Ariakenom joined
05:07 mcspud joined
05:20 progfun joined
05:35 bbrodriguez joined
05:38 ToffeeYogurtPots joined
05:43 Linter joined
05:49 cur8or joined
05:59 slomo joined
05:59 slomo joined
06:08 andreabedini joined
06:26 b-b joined
06:54 <jle`> paraseba: what advantage would you expect for using find, findIndex, etc. on mutable vectors?
06:54 <jle`> paraseba: you can just use find _ <$> freeze v, right?
06:55 charukiewicz joined
06:55 nickolay_ joined
06:55 dadabidet joined
07:02 eminhi joined
07:03 dogweather joined
07:07 Pupnik joined
07:13 Folkol joined
07:13 Cthalupa joined
07:17 harfangk joined
07:18 dogweather joined
07:25 Linter joined
07:28 dogweather joined
07:29 ThomasLocke joined
07:36 thc202 joined
07:37 zakora joined
07:39 Pupnik_ joined
07:41 vurtz joined
07:42 curious_corn joined
07:45 progfun joined
07:57 louispan joined
08:03 Folkol joined
08:05 fabsn joined
08:12 curious_corn joined
08:17 louispan joined
08:27 curious_corn joined
08:28 vazark joined
08:29 vazark joined
08:30 slomo_ joined
08:32 hamishmack joined
08:35 slomo joined
08:37 dogweather joined
08:48 hamishmack joined
09:08 progfun joined
09:11 grdryn joined
09:12 louispan joined
09:15 louispan joined
09:16 fabsn joined
09:22 djtyml joined
09:26 seangrove joined
09:30 cur8or joined
09:37 nschoe joined
09:51 lumm joined
09:51 zero_byte joined
09:53 progfun joined
09:55 Linter joined
09:56 kapil___ joined
10:03 machinedgod joined
10:08 curious_corn joined
10:08 b-b joined
10:10 seangrove joined
10:12 pie_ joined
10:14 averell joined
10:23 louispan joined
10:27 sulan_ joined
10:28 zero_byte joined
10:28 averell joined
10:29 matsurago joined
10:33 rzp joined
10:34 iAmerikan joined
10:41 emilypi joined
10:45 pfurla joined
10:49 hphuoc25 joined
11:08 howdoi joined
11:08 sQVe joined
11:12 slomo joined
11:12 slomo joined
11:14 seangrove joined
11:16 louispan joined
11:17 emilypi joined
11:21 dogweather joined
11:23 curious_corn joined
11:32 pfurla_ joined
11:35 malaclyps joined
11:37 dogweather joined
11:49 vurtz joined
11:54 seangrove joined
11:58 trcc joined
11:58 aarvar joined
12:08 dogweather joined
12:10 curious_corn joined
12:21 dogweather joined
12:25 Linter joined
12:30 carlomagno1 joined
12:33 dogweather joined
12:35 seangrove joined
12:43 nitrix joined
12:43 Pupnik joined
12:53 jsondavis joined
12:55 mizu_no_oto_work joined
12:56 sheyll joined
13:04 dogweather joined
13:09 kapil___ joined
13:10 hphuoc25 joined
13:12 seangrove joined
13:16 dogweather joined
13:22 slomo joined
13:22 slomo joined
13:30 dogweather joined
13:38 vurtz joined
13:39 cur8or joined
13:39 iAmerikan joined
13:39 curious_corn joined
13:43 dogweather joined
13:43 Azel joined
13:50 seangrove joined
13:53 pbrant joined
13:56 emilypi joined
14:00 pfurla joined
14:02 zakora joined
14:13 dogweather joined
14:26 sulan_ joined
14:30 dogweather joined
14:48 dogweather joined
14:55 Linter joined
14:56 dogweather joined
14:57 jkachmar joined
14:57 hphuoc25 joined
15:00 conal_ joined
15:05 thc202 joined
15:08 dogweather joined
15:10 lumm joined
15:26 howdoi joined
15:27 c_my_nick joined
15:31 dogweather joined
15:31 <c_my_nick> i have a caba.project.freeze file that has "Cabal ==1.18.1.5" on the first line, but when i run cabal new-configure, it tells me it is going to build Cabal-2.2.0.1
15:31 <c_my_nick> i also tried cabal new-configure constraint="Cabal ==1.18.1.5", with the same result
15:32 <sclv> does it have a custom setup?
15:33 <sclv> it may be that that package or one of its deps wants to use the newer Cabal in a setup script?
15:33 <c_my_nick> not sure? it is a snap web app, i havent changed the cabal file or anything since i last installed it
15:33 <sclv> which is different than the one it links against in the constraint
15:33 <sclv> idk though
15:34 curious_corn joined
15:39 trcc joined
15:44 dogweather joined
15:49 slomo joined
15:52 slomo joined
16:04 skeet70 joined
16:11 dogweather joined
16:17 progfun joined
16:22 Linter joined
16:24 dogweather joined
16:37 dogweather joined
16:37 vurtz joined
16:48 Gurkenglas joined
16:54 jsondavis joined
17:05 progfun joined
17:13 dogweather joined
17:32 dogweather joined
17:43 lumm joined
17:43 dxld joined
17:44 Folkol joined
17:47 MarcelineVQ joined
17:49 dogweather joined
17:54 <paraseba> jle`: re: find + mutable vectors. freeze is O(n), so it would have to be unsafeFreeze. But in the unsafeFreeze documentation: "The mutable vector may not be used after this operation."
17:56 <paraseba> also freeze doesn't seem to work using the Generic interface to mutable vectors
17:56 conal_ joined
17:57 emilypi joined
17:58 zero_byte joined
18:00 Durbley joined
18:01 ToffeeYogurtPots joined
18:01 jez_ joined
18:02 jez_ joined
18:02 dogweather joined
18:02 conal_ joined
18:07 asdfjkljkl joined
18:10 replay joined
18:24 dogweather joined
18:24 nitrix joined
18:25 nitrix joined
18:28 Linter joined
18:33 Linter joined
18:35 deeplearner joined
18:36 dogweather joined
18:37 emilypi joined
18:40 conal_ joined
18:42 nickolay_ joined
18:43 emilypi joined
18:48 albertus1 joined
18:58 acarrico joined
19:04 Deide joined
19:05 nitrix joined
19:05 nitrix joined
19:09 zakora joined
19:16 jsondavis joined
19:42 seangrove joined
19:48 iAmerikan joined
20:02 dogweather joined
20:04 Deide joined
20:09 TCZ joined
20:12 dogweath_ joined
20:17 pie_ joined
20:23 <jle`> paraseba: hm, that interesting. i think find _ <$> unsafeFreeze v should be okay, and you should be able to use the mutable vector after
20:23 <jle`> the reason why it's forbidden is that if you hold on to the immutable vector, it might be mutated unexpectedly
20:24 <jle`> but if you use it and let it go right away, using the mutable version should be fine?
20:24 <jle`> i guess what we really need is a flipped version of `modify`
20:27 <jle`> hm, there might not be a way to implement it safely.
20:27 pie__ joined
20:29 rzp joined
20:30 emilypi joined
20:34 replay joined
20:34 dogweather joined
20:42 machined1od joined
20:49 <paraseba> jle`: my other point was that using find would eventually reach this code https://github.com/haskell/vector/blob/master/Data/Vector/Fusion/Stream/Monadic.hs#L854
20:50 <paraseba> which is deconstructing data types, taking functions as arguments, and that kind of stuff. I think that is probably very far from the kind of performance you would get in an inner loop using, for example, libc memory inspection functions
20:51 <paraseba> the interface needed for immutable, generic vectors hurts the performance you could get from an unboxed chunk of memory
20:52 <paraseba> (guessing, without actually benchmarking)
20:54 zero_byte joined
21:01 dogweather joined
21:01 sheyll joined
21:03 <jle`> hm, but why couldn't libc memory inspection functions be used on immutable vectors as well?
21:03 <jle`> are they destructive?
21:05 replay joined
21:11 seangrove joined
21:15 conal_ joined
21:19 pie_ joined
21:23 conal_ joined
21:29 conal_ joined
21:45 madjestic joined
21:53 hiratara joined
21:54 ConTeXnician joined
21:54 iAmerikan joined
22:05 emilypi joined
22:06 louispan joined
22:20 Linter joined
22:27 emilypi joined
22:31 hiratara joined
22:41 fabsn joined
22:47 lambdamu joined
22:49 lambdamu joined
22:56 progfun joined
23:01 nitrix joined
23:01 conal joined
23:05 mizu_no_oto_work joined
23:14 _ikke_ joined
23:21 emilypi joined
23:33 patlv joined
23:36 louispan joined
23:41 pie__ joined
23:44 _ikke_ joined
23:52 Linter joined