Logs: liberachat/#haskell
| 2021-07-27 10:37:23 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-46af-5566-11c4-28b2.fixed6.kpn.net) |
| 2021-07-27 10:37:26 | × | acidjnk_new3 quits (~acidjnk@p200300d0c72b953020abcb826e8e1ebf.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-07-27 10:37:29 | × | terrorjack quits (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection) |
| 2021-07-27 10:37:33 | <tomsmeding> | euouae: a regular here in this channel expresses this sentiment https://twitter.com/comerijn/status/1257804634833420292 |
| 2021-07-27 10:38:26 | → | terrorjack joins (~terrorjac@ec2-54-95-39-30.ap-northeast-1.compute.amazonaws.com) |
| 2021-07-27 10:38:39 | <euouae> | Doesn't matter what they think |
| 2021-07-27 10:39:09 | <euouae> | I know I waste time and energy overthinking it and it's better spent elsewhere |
| 2021-07-27 10:41:28 | → | neurocyte0 joins (~neurocyte@46.243.81.131) |
| 2021-07-27 10:41:28 | × | neurocyte0 quits (~neurocyte@46.243.81.131) (Changing host) |
| 2021-07-27 10:41:28 | → | neurocyte0 joins (~neurocyte@user/neurocyte) |
| 2021-07-27 10:41:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-07-27 10:43:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-27 10:43:39 | × | neurocyte0 quits (~neurocyte@user/neurocyte) (Client Quit) |
| 2021-07-27 10:43:51 | → | neurocyte0 joins (~neurocyte@46.243.81.131) |
| 2021-07-27 10:43:51 | × | neurocyte0 quits (~neurocyte@46.243.81.131) (Changing host) |
| 2021-07-27 10:43:51 | → | neurocyte0 joins (~neurocyte@user/neurocyte) |
| 2021-07-27 10:44:02 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 252 seconds) |
| 2021-07-27 10:44:17 | neurocyte0 | is now known as neurocyte |
| 2021-07-27 10:44:35 | × | fossdd quits (~fossdd@sourcehut/user/fossdd) (Ping timeout: 265 seconds) |
| 2021-07-27 10:44:59 | → | fossdd joins (~fossdd@sourcehut/user/fossdd) |
| 2021-07-27 10:45:52 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 2021-07-27 10:45:52 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 2021-07-27 10:46:25 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-27 10:46:30 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-46af-5566-11c4-28b2.fixed6.kpn.net) (Ping timeout: 256 seconds) |
| 2021-07-27 10:48:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 2021-07-27 10:48:50 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-27 10:49:22 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-27 10:49:52 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 2021-07-27 10:51:36 | × | dunkeln quits (~dunkeln@94.129.69.87) (Ping timeout: 256 seconds) |
| 2021-07-27 10:53:54 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 2021-07-27 10:54:17 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 258 seconds) |
| 2021-07-27 10:54:30 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:63c6:890b:fddc:7714) |
| 2021-07-27 10:54:39 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-27 10:54:50 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-27 10:57:23 | <Arahael> | It's remarkable how quickly one gets used to using lenses. |
| 2021-07-27 10:59:05 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2021-07-27 10:59:18 | <Rembane> | And then gets unused to them again after not using them for a while. |
| 2021-07-27 11:00:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
| 2021-07-27 11:00:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-27 11:01:58 | <Arahael> | Indeed. |
| 2021-07-27 11:02:24 | <Arahael> | I should re-learn the whole` Lens s t a b` thing again. |
| 2021-07-27 11:02:41 | <Arahael> | (But not today) |
| 2021-07-27 11:03:21 | × | euouae quits (~euouae@user/euouae) (Quit: euouae) |
| 2021-07-27 11:04:08 | → | dunkeln joins (~dunkeln@94.129.69.87) |
| 2021-07-27 11:04:48 | × | neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 2021-07-27 11:06:22 | → | neurocyte joins (~neurocyte@46.243.81.131) |
| 2021-07-27 11:06:22 | × | neurocyte quits (~neurocyte@46.243.81.131) (Changing host) |
| 2021-07-27 11:06:22 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 2021-07-27 11:07:41 | × | chele quits (~chele@user/chele) (Ping timeout: 255 seconds) |
| 2021-07-27 11:07:51 | → | chele joins (~chele@user/chele) |
| 2021-07-27 11:09:45 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-b572-7a56-aa26-eb3.fixed6.kpn.net) |
| 2021-07-27 11:10:46 | <arkanoid> | would you suggesto to learn error handling via Control.Exception or prefer Data.Either where left is custom Error type |
| 2021-07-27 11:11:46 | <Rembane> | arkanoid: I would go for Data.Either as long as possible |
| 2021-07-27 11:12:37 | <Arahael> | arkanoid: I'd use Control.Exception for seriously exceptional cases. |
| 2021-07-27 11:13:53 | <arkanoid> | Arahael: like when the program should really crash but it may be a library so it's up to the caller to decide what to do? |
| 2021-07-27 11:13:54 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-b572-7a56-aa26-eb3.fixed6.kpn.net) (Ping timeout: 240 seconds) |
| 2021-07-27 11:14:08 | <arkanoid> | Rembane: thanks! |
| 2021-07-27 11:14:15 | <Arahael> | arkanoid: I think so. |
| 2021-07-27 11:15:04 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-27 11:15:38 | <Rembane> | arkanoid: np! |
| 2021-07-27 11:16:08 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-27 11:16:44 | <arkanoid> | is there anything else I should consider for this topic apart from Control.Exception, Data.Either and Data.Maybe and obviously Monad pattern? |
| 2021-07-27 11:19:47 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2021-07-27 11:24:06 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-bf41-1b3a-cc17-853c.fixed6.kpn.net) |
| 2021-07-27 11:25:36 | × | azeem quits (~azeem@62.18.161.85) (Ping timeout: 256 seconds) |
| 2021-07-27 11:26:01 | → | azeem joins (~azeem@62.18.161.85) |
| 2021-07-27 11:26:08 | → | acidjnk_new3 joins (~acidjnk@p200300d0c72b950729faca9193881d78.dip0.t-ipconnect.de) |
| 2021-07-27 11:29:08 | → | tazca[m] joins (~tazcamatr@2001:470:69fc:105::c809) |
| 2021-07-27 11:29:40 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 2021-07-27 11:30:17 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 2021-07-27 11:30:59 | <merijn> | Simple heuristic: Either for library interfaces, exceptions for within my own program |
| 2021-07-27 11:31:11 | <merijn> | i.e. exceptions across package boundaries should be opt-in |
| 2021-07-27 11:31:50 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 2021-07-27 11:34:40 | × | burnsidesLlama quits (~burnsides@dhcp168-022.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
| 2021-07-27 11:36:10 | ← | tazca[m] parts (~tazcamatr@2001:470:69fc:105::c809) () |
| 2021-07-27 11:36:16 | → | Guest67 joins (~Guest67@bxk158.neoplus.adsl.tpnet.pl) |
| 2021-07-27 11:36:50 | × | dunkeln quits (~dunkeln@94.129.69.87) (Ping timeout: 258 seconds) |
| 2021-07-27 11:38:14 | → | arjun joins (~Srain@user/arjun) |
| 2021-07-27 11:42:57 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 2021-07-27 11:45:00 | × | azeem quits (~azeem@62.18.161.85) (Ping timeout: 265 seconds) |
| 2021-07-27 11:45:17 | → | azeem joins (~azeem@62.18.161.85) |
| 2021-07-27 11:47:33 | <Arahael> | Hmm. With lenses, I want to do `aVar & aField .~ aValue`, except I *don't* want the field set if aValue is Nothing. What should I do? |
| 2021-07-27 11:47:55 | <Arahael> | (ie, aValue is a `Maybe a`, and I want it to set the 'a' value if it exists) |
| 2021-07-27 11:48:36 | → | raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-07-27 11:48:52 | <Arahael> | merijn: That's fair - I remember getting surprised that wreq, as an example, didn't seem to work weirdly - turned out it was raising an exception. :) Using Either would have made that very explicit. (Though I think it was using Either, so I was quite confused) |
| 2021-07-27 11:50:44 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-27 11:51:21 | <Arahael> | I'm thinking of defining a new operator: .~? This sets the specified field to a if the RHS is "Just a", otherwise does nothing. |
| 2021-07-27 11:53:14 | × | Guest67 quits (~Guest67@bxk158.neoplus.adsl.tpnet.pl) (Quit: Client closed) |
| 2021-07-27 11:55:38 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2021-07-27 11:57:10 | → | dunkeln joins (~dunkeln@94.129.69.87) |
| 2021-07-27 11:57:13 | <Arahael> | Hmm, that was too easy. |
| 2021-07-27 11:57:24 | → | guest6474 joins (~guest6474@79.184.16.172.ipv4.supernova.orange.pl) |
| 2021-07-27 11:57:29 | → | mastarija joins (~mastarija@31.217.8.174) |
| 2021-07-27 11:57:51 | → | burnsidesLlama joins (~burnsides@dhcp168-022.wadham.ox.ac.uk) |
| 2021-07-27 11:59:20 | × | guest6474 quits (~guest6474@79.184.16.172.ipv4.supernova.orange.pl) (Remote host closed the connection) |
| 2021-07-27 12:02:23 | <jippiedoe> | Arahael: if it's not a common enough pattern to want a `.~?`, you could use `aVar & aField %~ (`fromMaybe` aValue)` instead |
| 2021-07-27 12:05:06 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds) |
| 2021-07-27 12:05:23 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-27 12:05:25 | <Arahael> | jippiedoe: It's common enough, but that looks even easier! Except that replaces the value in either case. |
| 2021-07-27 12:06:14 | <Arahael> | jippiedoe: I went with `a .~? (Just b) = a .~ b` and `a .~? Nothing = id` |
All times are in UTC.