Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,042 events total
2021-08-10 15:29:40 favonia joins (~favonia@user/favonia)
2021-08-10 15:29:44 pgib joins (~textual@173.38.117.66)
2021-08-10 15:29:59 son0p joins (~ff@181.136.122.143)
2021-08-10 15:30:27 × dajoer quits (~david@user/gvx) (Quit: leaving)
2021-08-10 15:31:23 rostero parts (uid236576@id-236576.tooting.irccloud.com) ()
2021-08-10 15:32:51 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection)
2021-08-10 15:32:58 ham2 is now known as ham
2021-08-10 15:32:59 × ham quits (~ham4@d8d8627d5.access.telenet.be) (Changing host)
2021-08-10 15:32:59 ham joins (~ham4@user/ham)
2021-08-10 15:33:09 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-10 15:33:53 × chomwitt quits (~chomwitt@ppp-2-85-147-24.home.otenet.gr) (Ping timeout: 248 seconds)
2021-08-10 15:36:57 hexology- is now known as hexology
2021-08-10 15:37:02 zmt00 joins (~zmt00@user/zmt00)
2021-08-10 15:37:04 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-08-10 15:37:12 ec joins (~ec@gateway/tor-sasl/ec)
2021-08-10 15:39:09 × juri_ quits (~juri@178.63.35.222) (Ping timeout: 276 seconds)
2021-08-10 15:44:46 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
2021-08-10 15:44:52 justsome1 joins (~justsomeg@user/justsomeguy)
2021-08-10 15:50:11 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-10 15:50:11 <gehmehgeh> hmm, can someone help me clear up the following misunderstanding: why isn't Unboxed.Vector a functor? Or rather: have I misunderstood what "unboxed" means? (could be)
2021-08-10 15:50:22 <schuelermine[m]> some Debian versions have no man afaik, if that's you, try sudo apt install man-db
2021-08-10 15:51:50 <glguy> gehmehgeh: unboxed vectors use a different representation for every element type, that representation has to be known to construct and index those vectors. Functor need to work for *all* element types
2021-08-10 15:52:08 <merijn> gehmehgeh: Functor can't hold *any* possible result value
2021-08-10 15:52:12 <glguy> gehmehgeh: 'map :: (Unbox a, Unbox b) => (a -> b) -> Vector a -> Vector b'
2021-08-10 15:52:21 <merijn> gehmehgeh: unboxed vectors can only hold Unboxable values
2021-08-10 15:52:25 <glguy> but to implement 'fmap' you don't get to rely on those Unbox constraints
2021-08-10 15:52:26 <merijn> So you can't implement fmap
2021-08-10 15:53:04 <merijn> Same reason why you can't make Set a Functor, really
2021-08-10 15:53:55 berberman joins (~berberman@user/berberman)
2021-08-10 15:55:04 × berberman_ quits (~berberman@user/berberman) (Ping timeout: 256 seconds)
2021-08-10 15:57:49 <gehmehgeh> hmmmm
2021-08-10 15:58:13 × Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds)
2021-08-10 16:00:12 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-10 16:00:40 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
2021-08-10 16:00:58 <gehmehgeh> hmm, so, forgive me if this is obvious, but for the regular ("boxed") Vector type, we've got basically an arrays of pointers to elements of type of the Vector, but an UNboxed.Vector is more like an array in C?
2021-08-10 16:01:07 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
2021-08-10 16:03:22 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-10 16:04:49 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-10 16:05:06 <gehmehgeh> ah
2021-08-10 16:07:29 × rmoe quits (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net) (Ping timeout: 248 seconds)
2021-08-10 16:07:34 ec joins (~ec@gateway/tor-sasl/ec)
2021-08-10 16:07:40 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-08-10 16:07:43 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-08-10 16:09:10 rmoe joins (~rmoe@c-71-236-207-44.hsd1.wa.comcast.net)
2021-08-10 16:11:44 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2021-08-10 16:15:22 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-10 16:23:37 × Patternm1ster quits (~georg@li1192-118.members.linode.com) (Quit: leaving)
2021-08-10 16:26:25 hrdl_ is now known as hrdl
2021-08-10 16:29:11 Patternmaster joins (~georg@li1192-118.members.linode.com)
2021-08-10 16:32:18 zebrag joins (~chris@user/zebrag)
2021-08-10 16:35:08 burnsidesLlama joins (~burnsides@dhcp168-020.wadham.ox.ac.uk)
2021-08-10 16:35:29 juri_ joins (~juri@178.63.35.222)
2021-08-10 16:36:01 econo joins (uid147250@user/econo)
2021-08-10 16:39:29 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-10 16:44:42 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-10 16:45:21 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 248 seconds)
2021-08-10 16:45:30 chomwitt joins (~chomwitt@ppp-2-85-147-24.home.otenet.gr)
2021-08-10 16:47:18 Pickchea joins (~private@user/pickchea)
2021-08-10 16:49:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-10 16:49:44 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-10 16:49:52 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-10 16:50:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-10 16:54:09 simendsjo joins (~user@84.211.91.241)
2021-08-10 16:56:23 <Cale> gehmehgeh: Yeah, that's correct. The boxes are pointers to code actually, when the code is entered, it returns the corresponding value on the stack. There's some pointer tagging which uses the low-order bits of the pointer to store the constructor if there are few enough constructors in the type so you don't always have to jump if the element's been evaluated before, but that's basically the deal.
2021-08-10 16:56:30 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-10 16:56:54 <lechner> Hi, is this also true for mapM_ with an underscore? "mapM is pretty much obsolete; use traverse instead" (seen on slack) Thanks!
2021-08-10 16:56:59 <Cale> gehmehgeh: The first time an element gets evaluated, you jump into the code and it computes the result, and rewrites the pointer to point at a much shorter piece of code that just returns the value.
2021-08-10 16:57:12 ec joins (~ec@gateway/tor-sasl/ec)
2021-08-10 16:57:16 <Cale> lechner: I don't even agree with that advice
2021-08-10 16:57:26 <lechner> thank you!
2021-08-10 16:57:31 <siraben> mapM is more intuitive at first
2021-08-10 16:57:40 <siraben> it's like saying map is deprecated use fmap
2021-08-10 16:57:59 <maerwald[m]> I never use map
2021-08-10 16:59:08 <Cale> If I see someone using traverse, it's a signal that Monad isn't a broad enough generalisation and perhaps Applicative is required. If that's not true, it's kind of obnoxious.
2021-08-10 16:59:33 × xff0x quits (~xff0x@2001:1a81:53d2:1c00:f58c:78ee:80de:d293) (Ping timeout: 258 seconds)
2021-08-10 16:59:45 <Cale> It's fine in the case of something like Lens/Traversals where you really want the Applicative abstraction exactly.
2021-08-10 17:00:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-10 17:01:54 y04nn joins (~y04nn@91.193.4.154)
2021-08-10 17:02:22 <gehmehgeh> Cale: thanks!
2021-08-10 17:02:32 <Athas> How do I use callCabal2Nix without getting "dumping very large path" errors? That is, how do I prune its understanding of what the source is?
2021-08-10 17:02:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-10 17:02:43 <Athas> It's a bit ridiculous I need more than 32GiB RAM to build my program.
2021-08-10 17:03:02 lavaman joins (~lavaman@98.38.249.169)
2021-08-10 17:03:06 <dminuoso> Athas: Uh? Can you elaborate a bit on what errors you're getting?
2021-08-10 17:03:17 <Cale> I'm afraid to ask what you're callCabal2Nixing :)
2021-08-10 17:04:13 <dminuoso> Im thinking you have a faulty derivation, something with an incredibly large src
2021-08-10 17:04:32 <dminuoso> So I'd try overriding the derivation
2021-08-10 17:04:37 <Cale> One thing that you can always do is just to run cabal2nix proper, and then you have nix code which you can manipulate by hand.
2021-08-10 17:04:38 <Athas> dminuoso: I have a default.nix with a mostly boring setup that uses 'callCabal2Nix', and when I run 'nix-build', I get the warning (and it takes an enormous amount of memory).
2021-08-10 17:04:51 <Athas> Cale: that is what I used to do, but I don't want to maintain a separate .nix file.
2021-08-10 17:04:52 <dminuoso> What Cale just said. :)
2021-08-10 17:04:53 <Cale> That's still at least a few steps away from being helpful though
2021-08-10 17:05:14 <dminuoso> If you figure out what's wrong, you can then switch back to callCabal2nix and override the generated derivation with override/overrideAttrs
2021-08-10 17:05:20 <Cale> It might be that cabal2nix is generating something pathological in this case somehow?
2021-08-10 17:05:28 <Athas> I am relatively sure my default.nix is not particularly awful: https://github.com/diku-dk/futhark/blob/master/default.nix
2021-08-10 17:05:50 × justsome1 quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-10 17:05:56 <Athas> It is almost certainly because I am passing ./. as the source, which contains lots of big stuff (like various cabal and stack directories) and cabal2nix does not prune them.
2021-08-10 17:06:34 xff0x joins (~xff0x@2001:1a81:53d2:1c00:f58c:78ee:80de:d293)
2021-08-10 17:06:38 <dminuoso> Then you need to cleanSource.
2021-08-10 17:06:48 <Athas> The callCabal2nix derivation looks basically completely undocumented (as is tradition), so I have a hard time figuring out how to do anything with it.

All times are in UTC.