Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,764 events total
2021-07-28 17:48:10 <zzz> *purposes
2021-07-28 17:49:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-28 17:50:02 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-28 17:50:34 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
2021-07-28 17:50:46 × burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
2021-07-28 17:52:24 motherfsck joins (~motherfsc@user/motherfsck)
2021-07-28 17:52:33 <jay-invariant> Do you mean you'd rather not use the built-in flip? Then it's flip f x y = f y x
2021-07-28 17:53:08 <jay-invariant> and what do you mean by arrow instance?
2021-07-28 17:54:30 justsomeguy joins (~justsomeg@user/justsomeguy)
2021-07-28 17:56:22 × jippiedoe quits (~david@2a02-a448-48bd-1-dcd-52b3-4d0e-bb70.fixed6.kpn.net) (Ping timeout: 245 seconds)
2021-07-28 17:59:23 sergal joins (~sergal@fsf/member/ezra)
2021-07-28 18:00:22 jippiedoe joins (~david@2a02-a448-48bd-1-3852-3dc5-540b-b540.fixed6.kpn.net)
2021-07-28 18:01:03 <boxscape> Is there a way to define a class and an instance on the same line? I'm trying to define a class and instance together in a CPP macro (I know) and they can't produce newline :(
2021-07-28 18:01:54 <geekosaur> semicolon?
2021-07-28 18:02:10 <boxscape> I played around with that a bit but couldn't find a configuration that works
2021-07-28 18:02:16 <dminuoso> I had the same experience
2021-07-28 18:02:25 <boxscape> (unless perhaps I used semicolons for the entire module, but I don't want to do that)
2021-07-28 18:02:28 <dminuoso> boxscape: I couldnt get it to work either, and ended up writing two macros.
2021-07-28 18:02:44 <boxscape> hm, okay, thanks
2021-07-28 18:02:49 lavaman joins (~lavaman@98.38.249.169)
2021-07-28 18:03:24 lbseale joins (~lbseale@user/ep1ctetus)
2021-07-28 18:03:48 × dschrempf quits (~dominik@mobiledyn-185-69-244-184.mrsn.at) (Ping timeout: 258 seconds)
2021-07-28 18:04:37 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-07-28 18:06:45 <boxscape> geekosaur: dminuoso : wait semicolon actually does work
2021-07-28 18:06:57 <boxscape> I surrounded it with braces as well, which didn't work, but semicolon alone is fine
2021-07-28 18:06:58 <boxscape> nice
2021-07-28 18:07:15 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-28 18:07:26 <boxscape> I think you also need to surround the where block in {}
2021-07-28 18:07:32 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-28 18:07:58 Sgeo joins (~Sgeo@user/sgeo)
2021-07-28 18:09:25 <ahri> davean: I have my eventlog loaded up in threadscope but I can't see how to use it to work out where the memory allocations are occurring - I've searched around a bit for info on how to do this and most places talk about the .hp files for analysing memory usage. do you have any pointers?
2021-07-28 18:09:49 <dminuoso> boxscape: Ah. Good to know.
2021-07-28 18:09:56 <dminuoso> boxscape: Can you show an example?
2021-07-28 18:10:28 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 268 seconds)
2021-07-28 18:12:36 <boxscape> dminuoso: https://paste.tomsmeding.com/arDZGLKW
2021-07-28 18:12:44 <lbseale> Hi, could you guys help me understand why this Validation type is not a Monad? https://hackage.haskell.org/package/validation-1.1.1
2021-07-28 18:13:47 × qrpnxz quits (~qrpnxz@user/qrpnxz) (Quit: Gateway shutdown)
2021-07-28 18:13:57 <zzz> jay-invariant: ignore the "arrow instance" bit. what i want is a (->) instance
2021-07-28 18:14:03 qrpnxz joins (~qrpnxz@user/qrpnxz)
2021-07-28 18:14:24 boxscape_ joins (~boxscape_@p4ff0b769.dip0.t-ipconnect.de)
2021-07-28 18:15:46 <jay-invariant> lbseale: It looks like if there are multiple errors in a computation, it accumulates them, rather than returning the first one. So e.g. (Failure e1) <*> (Failure e2) = Failure (e1 <> e2)
2021-07-28 18:16:02 dschrempf joins (~dominik@mobiledyn-185-69-244-184.mrsn.at)
2021-07-28 18:16:27 <lbseale> jay-invariant right, what about that behavior makes it not a Monad ?
2021-07-28 18:16:53 × fossdd quits (~fossdd@sourcehut/user/fossdd) (Remote host closed the connection)
2021-07-28 18:16:55 <ahri> davean: nm, I've discovered eventlog2html which seems like it might help - I'll carry on on my own for a while and see what I learn. thanks for your help!
2021-07-28 18:17:01 × ahri quits (~ahri@185.169.233.185) (Quit: gtg)
2021-07-28 18:17:12 zebrag joins (~chris@user/zebrag)
2021-07-28 18:17:13 <jay-invariant> If it were a monad, then how would you implement f >>= g? If f returns an error, you can't run g, since you have no input to feed it.
2021-07-28 18:17:22 <jay-invariant> So you would have to sequence errors.
2021-07-28 18:17:37 <jay-invariant> But then the laws about how >>= relates to <*> couldn't be satisfied
2021-07-28 18:18:04 kilolympus joins (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
2021-07-28 18:18:04 cfricke joins (~cfricke@user/cfricke)
2021-07-28 18:18:46 <lbseale> what are the laws relating >>= to <*> ? Is it explained in this SO post https://stackoverflow.com/a/63346617
2021-07-28 18:19:37 <jay-invariant> Yeah, that equation is what I'm talking about
2021-07-28 18:19:56 <lbseale> I have to sit with this equation and think about it
2021-07-28 18:20:18 × zgrep quits (~zgrep@user/zgrep) (Ping timeout: 240 seconds)
2021-07-28 18:20:34 zgrep joins (~zgrep@user/zgrep)
2021-07-28 18:21:13 burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-28 18:21:33 <jay-invariant> It might be easier in do notation: u <*> v = do { f <- u; x <- v; pure (f x) }
2021-07-28 18:22:01 <jay-invariant> Basically, "u <*> v should be equivalent to running u, then running v, then combining the results"
2021-07-28 18:22:38 × Deide1 quits (~Deide@217.155.19.23) (Ping timeout: 265 seconds)
2021-07-28 18:22:51 <dminuoso> boxscape: Ahh, the {} are the trick. I see.
2021-07-28 18:22:58 <dminuoso> Did not even know they were syntactically valid there.
2021-07-28 18:23:00 <dminuoso> TIL.
2021-07-28 18:23:19 <boxscape> I think you can use them everywhere `where` occurs
2021-07-28 18:23:21 fossdd joins (~fossdd@sourcehut/user/fossdd)
2021-07-28 18:23:33 <jay-invariant> But the Applicative instance for Validate wants to be able to run u and v "in parallel", and combine the errors if there are multiple
2021-07-28 18:23:35 <boxscape> (and then some)
2021-07-28 18:23:40 <dminuoso> boxscape: I take that as a challenge. :-)
2021-07-28 18:23:45 <boxscape> hehe
2021-07-28 18:23:47 <monochrom> > let {} in 4
2021-07-28 18:23:49 <lambdabot> 4
2021-07-28 18:24:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-28 18:24:04 <monochrom> In my let-in example, you can also omit {}.
2021-07-28 18:24:44 <boxscape> > do let in 4
2021-07-28 18:24:46 <lambdabot> 4
2021-07-28 18:24:50 <lbseale> jay-invariant the "parallel" aspect is intuitive to me, so if you ran u and v "in parallel", and one returned an error, you would only get the error
2021-07-28 18:24:53 <boxscape> (emphatically telling someone that 4 is allowed to come in)
2021-07-28 18:25:10 <lbseale> there is no way to run them in parallel if one returns an error
2021-07-28 18:25:27 Deide1 joins (~Deide@217.155.19.23)
2021-07-28 18:26:28 zyklotomic joins (~ethan@2604:a880:800:10::79f:8001)
2021-07-28 18:27:07 × burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-07-28 18:27:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-28 18:28:00 pavonia joins (~user@user/siracusa)
2021-07-28 18:31:11 geekosaur joins (~geekosaur@xmonad/geekosaur)
2021-07-28 18:31:14 <lbseale> ok this is helping me, thanks jay-invariant
2021-07-28 18:31:24 <jay-invariant> lbseale, no problem
2021-07-28 18:33:02 × dschrempf quits (~dominik@mobiledyn-185-69-244-184.mrsn.at) (Ping timeout: 245 seconds)
2021-07-28 18:33:46 × fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-28 18:34:21 fossdd joins (~fossdd@sourcehut/user/fossdd)
2021-07-28 18:35:00 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-28 18:37:13 dschrempf joins (~dominik@mobiledyn-185-69-244-184.mrsn.at)
2021-07-28 18:41:12 chris_ joins (~chris@81.96.113.213)
2021-07-28 18:42:34 × fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-28 18:43:37 fossdd joins (~fossdd@sourcehut/user/fossdd)
2021-07-28 18:43:48 × justache quits (~justache@user/justache) (Quit: The Lounge - https://thelounge.chat)
2021-07-28 18:44:37 justache joins (~justache@user/justache)
2021-07-28 18:46:55 <sshine> does anyone use ElasticSearch? it seems that the bloodhound packages has V1 and V5 support, but there's V6 and V7 in the wild. there's a stalled discussion on how to share data types to avoid copying across once more, but it's 2-3 years old.
2021-07-28 18:46:57 jumper149 joins (~jumper149@80.240.31.34)
2021-07-28 18:47:46 × fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)

All times are in UTC.