Logs: liberachat/#haskell
| 2021-06-07 20:31:52 | <_73> | or should I change the maybes to eithers as well? |
| 2021-06-07 20:31:59 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-07 20:33:18 | × | bruceleewees quits (~bruceleew@83.24.248.233.ipv4.supernova.orange.pl) (Ping timeout: 252 seconds) |
| 2021-06-07 20:33:51 | <dminuoso> | _73: I recommend massage functions `hush :: Either a b -> Maybe b` and `note :: a -> Maybe b -> Either a b` |
| 2021-06-07 20:34:34 | <tput> | maerwald: yes, that's why there are no good reasons! it would never be anywhere near the established slicers, just a useless toy |
| 2021-06-07 20:34:35 | <dminuoso> | Or perhaps a flavor polymorphic over monad transformers, like `noteM :: MonadError e m => e -> Maybe b -> m b` |
| 2021-06-07 20:35:05 | <dminuoso> | _73: Whether you tie these into a monad transformer depends on whether you wish to have shortcircuiting behavior |
| 2021-06-07 20:36:26 | → | ddellacosta joins (~ddellacos@89.46.62.127) |
| 2021-06-07 20:36:34 | <_73> | dminuoso: I see what you mean with note and hush. I do wish to have a shortcircuting behavior. In the end I want my program to return `Either Error FinalState` |
| 2021-06-07 20:36:42 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 2021-06-07 20:38:09 | <dminuoso> | _73: Next decide how you want to layer state and either then. Try and think what difference it makes how they are ordered. |
| 2021-06-07 20:38:44 | <dminuoso> | (i.e. whether to use `StateT S (Except Error)` or `ExceptT Error (State S)` |
| 2021-06-07 20:39:26 | <dminuoso> | @until StateT S (Except Error) |
| 2021-06-07 20:39:26 | <lambdabot> | Maybe you meant: unpl unmtl |
| 2021-06-07 20:39:28 | <dminuoso> | @unmtl StateT S (Except Error) |
| 2021-06-07 20:39:28 | <lambdabot> | err: `StateT S (Except Error)' is not applied to enough arguments, giving `/\A. S -> Except Error (A, S)' |
| 2021-06-07 20:39:34 | <dminuoso> | @unmtl StateT S (Except Error) M |
| 2021-06-07 20:39:34 | <lambdabot> | S -> Except Error (M, S) |
| 2021-06-07 20:39:42 | × | AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
| 2021-06-07 20:39:43 | <dminuoso> | @unmtl ExceptT Error (State S) M |
| 2021-06-07 20:39:43 | <lambdabot> | S -> (Either Error M, S) |
| 2021-06-07 20:39:55 | → | epolanski joins (uid312403@id-312403.brockwell.irccloud.com) |
| 2021-06-07 20:40:39 | <_73> | I see. I believe I want `ExceptT Error (State S)`. This is gonna work though thanks |
| 2021-06-07 20:41:48 | <dminuoso> | _73: You can write `type M = ExceptT Error (State S); hushT :: Either Error b -> M b; note :: Error -> Maybe a -> M a` |
| 2021-06-07 20:41:54 | <dminuoso> | Or maybe noteT for consistency |
| 2021-06-07 20:42:42 | <dminuoso> | or heh, the hushT is silly. It should be called `liftEither` rather |
| 2021-06-07 20:43:59 | → | ddellaco_ joins (~ddellacos@89.46.62.40) |
| 2021-06-07 20:44:05 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-07 20:45:23 | → | Codaraxis joins (~Codaraxis@89.45.7.142) |
| 2021-06-07 20:45:34 | × | _73 quits (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Ping timeout: 272 seconds) |
| 2021-06-07 20:45:47 | → | _73`` joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 2021-06-07 20:45:54 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds) |
| 2021-06-07 20:45:55 | → | Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net) |
| 2021-06-07 20:46:03 | <safinaskar> | @unpl |
| 2021-06-07 20:46:03 | <lambdabot> | Error: expected a Haskell expression or declaration |
| 2021-06-07 20:46:08 | <safinaskar> | @help |
| 2021-06-07 20:46:08 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
| 2021-06-07 20:46:54 | ← | _73`` parts (~user@pool-96-252-123-136.bstnma.fios.verizon.net) () |
| 2021-06-07 20:47:12 | ← | safinaskar parts (~user@109-252-90-89.nat.spd-mgts.ru) () |
| 2021-06-07 20:47:24 | → | space-shell joins (~space-she@88.98.247.38) |
| 2021-06-07 20:47:28 | × | Codaraxis quits (~Codaraxis@89.45.7.142) (Client Quit) |
| 2021-06-07 20:47:28 | × | ddellacosta quits (~ddellacos@89.46.62.127) (Ping timeout: 272 seconds) |
| 2021-06-07 20:47:59 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-06-07 20:48:03 | → | waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 2021-06-07 20:48:24 | → | Codaraxis joins (~Codaraxis@89.45.7.142) |
| 2021-06-07 20:48:45 | → | _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 2021-06-07 20:49:53 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 2021-06-07 20:52:34 | × | pe200012 quits (~pe200012@119.145.72.136) (Ping timeout: 245 seconds) |
| 2021-06-07 20:52:38 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:90fb:e693:9986:91e0) |
| 2021-06-07 20:52:53 | → | pe200012 joins (~pe200012@58.248.179.178) |
| 2021-06-07 20:53:59 | × | hiruji quits (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6) (Read error: Connection reset by peer) |
| 2021-06-07 20:54:12 | → | hiruji joins (~hiruji@user/hiruji) |
| 2021-06-07 20:55:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-07 21:02:37 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 2021-06-07 21:04:31 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 264 seconds) |
| 2021-06-07 21:04:57 | × | favonia quits (~favonia@user/favonia) (Remote host closed the connection) |
| 2021-06-07 21:06:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-07 21:08:42 | → | benin03 joins (~benin@183.82.206.233) |
| 2021-06-07 21:09:38 | × | ddellaco_ quits (~ddellacos@89.46.62.40) (Ping timeout: 272 seconds) |
| 2021-06-07 21:09:53 | <boxscape> | hmm <> for Map is union, I wonder if unionWith (<>) would be useful more often |
| 2021-06-07 21:09:57 | <boxscape> | it's what I need at the moment |
| 2021-06-07 21:11:45 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-06-07 21:12:34 | <tomsmeding> | a certain merijn has often complained about this exact thing |
| 2021-06-07 21:12:42 | <monochrom> | { union, intersect, unionWith (<>), intersectWith (<>) } |
| 2021-06-07 21:12:46 | <boxscape> | ah |
| 2021-06-07 21:13:28 | <monochrom> | I propose setting up an AOE2 tournament of 4 sides to determine which one wins. |
| 2021-06-07 21:13:50 | <boxscape> | that sounds like a great idea |
| 2021-06-07 21:14:26 | <monochrom> | But I belong to the 5th side that has the wisdom to refrain from picking any side for <> for Bool in the first place. |
| 2021-06-07 21:15:07 | <tomsmeding> | monochrom: isn't that saying that <> should be unionWith (<>) ? |
| 2021-06-07 21:15:42 | <monochrom> | I am fine with unionWith (<>) if you are also fine with intersectWith (<>). |
| 2021-06-07 21:15:58 | → | ddellacosta joins (~ddellacos@86.106.121.118) |
| 2021-06-07 21:16:12 | → | xsperry joins (~as@user/xsperry) |
| 2021-06-07 21:16:27 | <monochrom> | Hell, there are a 6th side I forgot. symmetric difference. |
| 2021-06-07 21:16:50 | <tomsmeding> | name me a data structure that chose to have a<>b be smaller than a and b |
| 2021-06-07 21:17:07 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-06-07 21:18:55 | <monochrom> | longest common subsequence |
| 2021-06-07 21:19:30 | <tomsmeding> | it's ultimately all arbitrary but I do think that there is a good case to be made for union rather than intersect; the case for unionWith (<>) rather than union is weaker but still present |
| 2021-06-07 21:20:00 | <tput> | wrapper types like Product and Sum? |
| 2021-06-07 21:20:14 | <boxscape> | I suppose if we had a commonly used commutative monoid class that would settle it |
| 2021-06-07 21:20:21 | <boxscape> | but yeah wrapper types would be one solution |
| 2021-06-07 21:20:21 | × | infandum quits (~user@207.44.105.67.res-cmts.all2.ptd.net) (Read error: Connection reset by peer) |
| 2021-06-07 21:20:34 | <monochrom> | I'm OK with giving some sides a bit more resources at the beginning of the tournament so they have a bit higher chance to win. :) |
| 2021-06-07 21:21:04 | <dminuoso> | Is there a way to annotate an attoparsec parser to guarantee it will not consume more than X tokens? |
| 2021-06-07 21:21:17 | <monochrom> | But time to promote my crazy idea again :) https://mail.haskell.org/pipermail/haskell-cafe/2010-November/086220.html |
| 2021-06-07 21:21:28 | <monochrom> | Err no wrong one. |
| 2021-06-07 21:21:39 | <monochrom> | This one: https://mail.haskell.org/pipermail/haskell-cafe/2017-May/127147.html |
| 2021-06-07 21:23:27 | <boxscape> | neat |
| 2021-06-07 21:26:44 | → | favonia joins (~favonia@user/favonia) |
| 2021-06-07 21:27:46 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 244 seconds) |
| 2021-06-07 21:28:00 | × | jneira quits (~jneira@166.red-81-39-172.dynamicip.rima-tde.net) (Ping timeout: 272 seconds) |
| 2021-06-07 21:29:24 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-06-07 21:29:42 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-06-07 21:32:32 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
| 2021-06-07 21:34:21 | → | notzmv joins (~zmv@user/notzmv) |
| 2021-06-07 21:34:26 | → | Heffalump joins (~ganesh@urchin.earth.li) |
| 2021-06-07 21:34:34 | ← | Heffalump parts (~ganesh@urchin.earth.li) () |
| 2021-06-07 21:39:13 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-07 21:40:11 | → | ystael joins (~ystael@user/ystael) |
| 2021-06-07 21:40:37 | × | ddellacosta quits (~ddellacos@86.106.121.118) (Remote host closed the connection) |
| 2021-06-07 21:41:12 | → | ddellacosta joins (~ddellacos@89.46.62.86) |
All times are in UTC.