Logs: freenode/#haskell
| 2021-03-13 15:01:16 | ← | RamZess parts (~osboxes@213.142.184.77) () |
| 2021-03-13 15:01:17 | <absence> | Philonous: thanks, guess i'll stick with freeze for now |
| 2021-03-13 15:02:34 | <loyon> | oh dear, ormolu and servant typed apis don't go well together :-/ |
| 2021-03-13 15:02:58 | × | ddellacosta quits (~ddellacos@86.106.143.226) (Ping timeout: 245 seconds) |
| 2021-03-13 15:04:41 | <Mrbuck> | any one here write haskell on windows? |
| 2021-03-13 15:04:56 | <absence> | yes |
| 2021-03-13 15:05:07 | × | CrazyPython quits (~crazypyth@98.122.164.118) (Ping timeout: 256 seconds) |
| 2021-03-13 15:08:41 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
| 2021-03-13 15:09:19 | <Mrbuck> | absence: ok |
| 2021-03-13 15:09:51 | <timCF> | Are there any shortcuts for `((f <$>) <$>)` or `((bimap f g) <$>)`? I found that I'm often using these boilerplate expressions with `m (Either a b)` |
| 2021-03-13 15:10:26 | × | hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
| 2021-03-13 15:11:13 | <Philonous> | What workflow do people have to come up with version bounds for dependencies? |
| 2021-03-13 15:11:37 | <Philonous> | Try to guess each one manually by looking at hackage? |
| 2021-03-13 15:11:43 | × | bergey` quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 2021-03-13 15:11:52 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 2021-03-13 15:11:56 | <maerwald> | just use ^>= |
| 2021-03-13 15:12:08 | <absence> | timCF: if you wrap the "m (Either e a)" in ExceptT, you only need one fmap. unfortunately bimap doesn't work :/ |
| 2021-03-13 15:12:43 | <absence> | (but there's withExceptT for modifying the "e" value) |
| 2021-03-13 15:13:14 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
| 2021-03-13 15:13:58 | <timCF> | absence: yeah, this sounds reasonable. I was recommended many times to use `ExceptT`. Probably it's time to overcome fear of monad transformers and learn them) |
| 2021-03-13 15:14:28 | <Philonous> | maerwald, I still need to know the version to match on |
| 2021-03-13 15:14:39 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 2021-03-13 15:14:41 | <maerwald> | timCF: `Excepts` is cooler |
| 2021-03-13 15:15:00 | <maerwald> | Philonous: start with the one in your build plan |
| 2021-03-13 15:15:04 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 2021-03-13 15:15:10 | <absence> | timCF: they can be intimidating and confusing for sure, but you'll run into them all the time, so it's worth learning |
| 2021-03-13 15:15:34 | <maerwald> | timCF: https://hackage.haskell.org/package/haskus-utils-variant-3.0/docs/Haskus-Utils-Variant-Excepts.html |
| 2021-03-13 15:15:54 | <maerwald> | ExceptT is boring... if I use it, I just go with String for the error type, because otherwise it's too annoying |
| 2021-03-13 15:16:21 | <maerwald> | constant back and forth translation or an app-wide error type |
| 2021-03-13 15:16:25 | <maerwald> | those are your options |
| 2021-03-13 15:16:59 | <timCF> | maerwald: why String? Why not to create custom sum type to represent differnt errors? |
| 2021-03-13 15:17:12 | <maerwald> | timCF: because then you have to translate back and forth |
| 2021-03-13 15:18:10 | <absence> | maerwald: perhaps let him walk before running :) sounds like he's new to monad transformers |
| 2021-03-13 15:18:46 | <timCF> | haha, that's true |
| 2021-03-13 15:21:09 | → | blueonyx joins (59cc8bbd@unaffiliated/blueonyx) |
| 2021-03-13 15:26:17 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2021-03-13 15:27:13 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:c79:3d13:d977:c947) |
| 2021-03-13 15:29:05 | × | bgamari quits (~bgamari@72.65.101.184) (Quit: ZNC 1.8.1 - https://znc.in) |
| 2021-03-13 15:29:31 | → | raiaq joins (~raiaq@2a02:120b:2c2d:2310:94ae:9dd9:49dc:99b2) |
| 2021-03-13 15:30:36 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds) |
| 2021-03-13 15:31:50 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:c79:3d13:d977:c947) (Ping timeout: 264 seconds) |
| 2021-03-13 15:32:21 | × | frozenErebus quits (~frozenEre@94.128.82.20) (Ping timeout: 264 seconds) |
| 2021-03-13 15:32:33 | × | Waifod quits (Waifod@gateway/vpn/protonvpn/waifod) (Ping timeout: 245 seconds) |
| 2021-03-13 15:33:15 | × | Sornaensis quits (~kvirc@077213203030.dynamic.telenor.dk) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
| 2021-03-13 15:33:53 | → | bgamari joins (~bgamari@72.65.101.101) |
| 2021-03-13 15:39:29 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) () |
| 2021-03-13 15:42:04 | → | pyx joins (~pyx@unaffiliated/pyx) |
| 2021-03-13 15:42:28 | × | pyx quits (~pyx@unaffiliated/pyx) (Client Quit) |
| 2021-03-13 15:44:58 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2021-03-13 15:50:48 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 2021-03-13 15:50:59 | → | CrazyPython joins (~crazypyth@98.122.164.118) |
| 2021-03-13 15:52:43 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Client Quit) |
| 2021-03-13 15:53:21 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 264 seconds) |
| 2021-03-13 15:54:46 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2021-03-13 15:55:40 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2021-03-13 15:55:58 | → | VeeBoi joins (8077ca8d@natp-128-119-202-141.wireless.umass.edu) |
| 2021-03-13 15:57:00 | × | teardown_ quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 268 seconds) |
| 2021-03-13 15:57:16 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 2021-03-13 15:59:08 | × | puke quits (~vroom@217.138.252.202) (Quit: puke) |
| 2021-03-13 16:00:19 | × | BenSima[m] quits (bensimatim@gateway/shell/matrix.org/x-qkslyhndqfzvjpcd) (Quit: Idle for 30+ days) |
| 2021-03-13 16:00:20 | × | utdemir[m] quits (utdemirmat@gateway/shell/matrix.org/x-suedpldutimmauoc) (Quit: Idle for 30+ days) |
| 2021-03-13 16:04:36 | × | ddellaco_ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds) |
| 2021-03-13 16:04:44 | → | supercoven joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
| 2021-03-13 16:06:12 | × | CrazyPython quits (~crazypyth@98.122.164.118) (Ping timeout: 246 seconds) |
| 2021-03-13 16:06:12 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 246 seconds) |
| 2021-03-13 16:07:37 | × | toorevitimirp quits (~tooreviti@117.182.180.50) (Remote host closed the connection) |
| 2021-03-13 16:08:38 | × | jumper149 quits (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.0.1) |
| 2021-03-13 16:10:31 | → | puke joins (~vroom@217.138.252.202) |
| 2021-03-13 16:11:03 | × | VeeBoi quits (8077ca8d@natp-128-119-202-141.wireless.umass.edu) (Ping timeout: 240 seconds) |
| 2021-03-13 16:13:36 | → | carlomagno joins (~cararell@148.87.23.6) |
| 2021-03-13 16:14:51 | × | usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 2021-03-13 16:15:22 | × | swarmcollective quits (~joseph@cpe-24-208-140-96.insight.res.rr.com) (Ping timeout: 256 seconds) |
| 2021-03-13 16:15:27 | → | renzhi joins (~renzhi@2607:fa49:653f:eb00::296e) |
| 2021-03-13 16:17:25 | → | swarmcollective joins (~joseph@cpe-24-208-140-96.insight.res.rr.com) |
| 2021-03-13 16:19:29 | → | stree joins (~stree@68.36.8.116) |
| 2021-03-13 16:19:58 | → | frozenErebus joins (~frozenEre@94.128.82.20) |
| 2021-03-13 16:20:28 | × | jrqc quits (~rofl@96.78.87.197) (Ping timeout: 256 seconds) |
| 2021-03-13 16:21:25 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 2021-03-13 16:22:47 | → | Vra joins (8077caa7@natp-128-119-202-167.wireless.umass.edu) |
| 2021-03-13 16:23:20 | → | jrqc joins (~rofl@96.78.87.197) |
| 2021-03-13 16:26:08 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 256 seconds) |
| 2021-03-13 16:27:13 | <__minoru__shirae> | maerwald: "constant back and forth translation or an app-wide error type" |
| 2021-03-13 16:27:53 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:c79:3d13:d977:c947) |
| 2021-03-13 16:28:00 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 2021-03-13 16:28:17 | <__minoru__shirae> | how about wrapping? |
| 2021-03-13 16:28:23 | Vra | is now known as zomq |
| 2021-03-13 16:28:34 | → | ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net) |
| 2021-03-13 16:28:50 | × | fendor quits (~fendor@178.115.131.242.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-03-13 16:29:09 | <__minoru__shirae> | you just wrap whatever error with your wrapper |
| 2021-03-13 16:29:11 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 2021-03-13 16:31:00 | → | fendor joins (~fendor@178.115.131.242.wireless.dyn.drei.com) |
| 2021-03-13 16:32:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:c79:3d13:d977:c947) (Ping timeout: 264 seconds) |
| 2021-03-13 16:34:33 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-03-13 16:36:30 | → | joebobjoe joins (~joebobjoe@unaffiliated/joebobjoe) |
| 2021-03-13 16:37:51 | <__minoru__shirae> | if this were to work, you wouldn't even need a wrapper, because Either itself is a wrapper |
| 2021-03-13 16:39:10 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds) |
| 2021-03-13 16:39:19 | <__minoru__shirae> | some problem with types? Don't all errors inherit from some class or something? |
| 2021-03-13 16:39:38 | <monochrom> | Huh, there is only one translation direction, and it's from your own error type to string, and it's only at the UI boundary. |
| 2021-03-13 16:40:33 | <monochrom> | You will want your own custom type, preferrably and ADT, if you want catch-and-conditionally-rethrow. |
| 2021-03-13 16:40:50 | <monochrom> | Because your condition will have to examine the content of the error. |
All times are in UTC.