Logs: liberachat/#haskell
| 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.