Logs: liberachat/#haskell
| 2025-11-14 11:43:08 | → | Vajb joins (~Vajb@n5zpdagy4txm6luukqy-1.v6.elisa-mobile.fi) |
| 2025-11-14 11:45:31 | × | superbil quits (~superbil@114-32-231-70.hinet-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2025-11-14 11:47:23 | → | superbil joins (~superbil@114-32-231-70.hinet-ip.hinet.net) |
| 2025-11-14 11:52:01 | × | superbil quits (~superbil@114-32-231-70.hinet-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2025-11-14 11:52:24 | → | superbil joins (~superbil@114-32-231-70.hinet-ip.hinet.net) |
| 2025-11-14 11:54:34 | → | Nachtgespenst joins (~user@user/siracusa) |
| 2025-11-14 11:54:55 | × | Vajb quits (~Vajb@n5zpdagy4txm6luukqy-1.v6.elisa-mobile.fi) (Ping timeout: 264 seconds) |
| 2025-11-14 11:55:50 | → | Vajb joins (~Vajb@n60ck02t8pyq870qtsc-1.v6.elisa-mobile.fi) |
| 2025-11-14 12:20:25 | × | trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-14 12:20:37 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-11-14 12:22:54 | → | Googulator93 joins (~Googulato@team.broadbit.hu) |
| 2025-11-14 12:26:29 | × | wbrawner quits (~wbrawner@129.146.105.153) (Remote host closed the connection) |
| 2025-11-14 12:26:46 | → | wbrawner joins (~wbrawner@129.146.105.153) |
| 2025-11-14 12:29:00 | → | acarrico1 joins (~acarrico@pppoe-209-99-223-51.greenmountainaccess.net) |
| 2025-11-14 12:30:37 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 264 seconds) |
| 2025-11-14 12:31:27 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-11-14 12:31:29 | → | xff0x joins (~xff0x@2405:6580:b080:900:6f96:f3d0:3ad2:3838) |
| 2025-11-14 12:36:13 | × | lucabtz quits (~lucabtz@user/lucabtz) (Ping timeout: 246 seconds) |
| 2025-11-14 12:39:57 | → | lucabtz joins (~lucabtz@user/lucabtz) |
| 2025-11-14 12:56:10 | × | tromp quits (~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-14 12:56:29 | → | fp joins (~Thunderbi@wireless-86-50-140-45.open.aalto.fi) |
| 2025-11-14 13:02:26 | → | tromp joins (~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9) |
| 2025-11-14 13:26:05 | → | DetourNe- joins (~DetourNet@user/DetourNetworkUK) |
| 2025-11-14 13:26:31 | × | DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2025-11-14 13:28:19 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2025-11-14 13:28:24 | DetourNe- | is now known as DetourNetworkUK |
| 2025-11-14 13:32:38 | Googulator93 | is now known as Googulator |
| 2025-11-14 13:33:43 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 240 seconds) |
| 2025-11-14 13:34:11 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-11-14 13:39:45 | trickard_ | is now known as trickard |
| 2025-11-14 13:42:30 | × | p3n quits (~p3n@217.198.124.246) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2025-11-14 13:50:59 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-11-14 13:54:18 | → | p3n joins (~p3n@217.198.124.246) |
| 2025-11-14 13:54:20 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-11-14 14:04:21 | × | fp quits (~Thunderbi@wireless-86-50-140-45.open.aalto.fi) (Ping timeout: 256 seconds) |
| 2025-11-14 14:06:53 | → | gorignak joins (~gorignak@user/gorignak) |
| 2025-11-14 14:07:31 | × | annamalai quits (~annamalai@157.32.197.187) (Remote host closed the connection) |
| 2025-11-14 14:09:47 | → | annamalai joins (~annamalai@157.32.201.89) |
| 2025-11-14 14:11:04 | → | fp joins (~Thunderbi@2001:708:150:10::7e06) |
| 2025-11-14 14:13:46 | → | fp1 joins (~Thunderbi@wireless-86-50-140-45.open.aalto.fi) |
| 2025-11-14 14:13:50 | × | fp quits (~Thunderbi@2001:708:150:10::7e06) (Client Quit) |
| 2025-11-14 14:13:51 | fp1 | is now known as fp |
| 2025-11-14 14:36:30 | <bwe> | Why does `Parsec Void Text` has no Eq? I am asking because I generate parsers and want to create unit tests, however realise now that Eq is missing... |
| 2025-11-14 14:37:15 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2025-11-14 14:37:43 | <merijn> | bwe: Because it's basically a function from text to a result? |
| 2025-11-14 14:38:03 | <merijn> | bwe: And identity on functions is notoriously hard problem, assuming you can even define what that means |
| 2025-11-14 14:38:13 | <merijn> | @quote strings.to.things |
| 2025-11-14 14:38:13 | <lambdabot> | No quotes match. Sorry. |
| 2025-11-14 14:38:17 | <merijn> | @quote string.to.things |
| 2025-11-14 14:38:18 | <lambdabot> | No quotes match. Maybe you made a typo? |
| 2025-11-14 14:38:19 | <merijn> | aww |
| 2025-11-14 14:38:24 | <merijn> | lambdabot, quit failing me |
| 2025-11-14 14:40:14 | <merijn> | @quote parser.for.things |
| 2025-11-14 14:40:14 | <lambdabot> | Dr._Seuss says: `type Parser a = String -> [(a,String)]' -- "A Parser for Things / is a function from Strings / to Lists of Pairs / of Things and Strings!" -- <https://willamette.edu/~fruehr/haskell/ |
| 2025-11-14 14:40:14 | <lambdabot> | seuss.html> |
| 2025-11-14 14:40:17 | <merijn> | There we go |
| 2025-11-14 14:45:15 | <merijn> | bwe: If you think about `Parsec Void Text e a` being approximately `Text -> Either e a` it's fairly self-explanatory why Eq does not exist. |
| 2025-11-14 14:45:39 | <merijn> | Well, I guess `Text -> Either e (a, Text)`, but you get the idea |
| 2025-11-14 14:46:03 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 2025-11-14 14:49:33 | × | trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-14 14:49:48 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-11-14 14:52:49 | → | pterobull1 joins (~Thunderbi@S0106f8790a53b594.cg.shawcable.net) |
| 2025-11-14 14:54:19 | × | pterobull1 quits (~Thunderbi@S0106f8790a53b594.cg.shawcable.net) (Client Quit) |
| 2025-11-14 15:02:43 | × | acarrico1 quits (~acarrico@pppoe-209-99-223-51.greenmountainaccess.net) (Ping timeout: 256 seconds) |
| 2025-11-14 15:04:03 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds) |
| 2025-11-14 15:07:07 | → | pterobull joins (~Thunderbi@S0106f8790a53b594.cg.shawcable.net) |
| 2025-11-14 15:07:46 | × | fp quits (~Thunderbi@wireless-86-50-140-45.open.aalto.fi) (Ping timeout: 246 seconds) |
| 2025-11-14 15:10:56 | trickard_ | is now known as trickard |
| 2025-11-14 15:11:35 | × | pterobull quits (~Thunderbi@S0106f8790a53b594.cg.shawcable.net) (Quit: pterobull) |
| 2025-11-14 15:13:50 | → | pterobul joins (~Thunderbi@S0106f8790a53b594.cg.shawcable.net) |
| 2025-11-14 15:15:12 | → | comerijn joins (~merijn@77.242.116.146) |
| 2025-11-14 15:15:18 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Read error: Connection reset by peer) |
| 2025-11-14 15:20:41 | → | spew joins (~spew@user/spew) |
| 2025-11-14 15:23:42 | × | Taneb quits (~username@host-95-251-57-201.retail.telecomitalia.it) (Ping timeout: 256 seconds) |
| 2025-11-14 15:25:18 | × | spew quits (~spew@user/spew) (Client Quit) |
| 2025-11-14 15:29:16 | × | YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:9f50:13f1:779b:4aa6) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
| 2025-11-14 15:29:36 | → | YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:5e58:dbf4:c0b:fbb3) |
| 2025-11-14 15:30:09 | → | spew joins (~spew@user/spew) |
| 2025-11-14 15:32:00 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 2025-11-14 15:37:57 | × | pterobul quits (~Thunderbi@S0106f8790a53b594.cg.shawcable.net) (Changing host) |
| 2025-11-14 15:37:57 | → | pterobul joins (~Thunderbi@user/pterobul) |
| 2025-11-14 15:48:18 | × | ubert quits (~Thunderbi@178.165.175.248.wireless.dyn.drei.com) (Ping timeout: 244 seconds) |
| 2025-11-14 15:48:38 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 2025-11-14 15:50:49 | → | megeve joins (sid727922@id-727922.lymington.irccloud.com) |
| 2025-11-14 15:52:54 | <dolio> | jreicher: In unison, we have a sort of algebraic effects that shift/reset is not enough to (easily) support. The difference is that you can have 'shallow' handlers that don't handle all the occurrences of an effect in the scope they're installed onto. That sort of corresponds to a single `reset` not guarding all the `shift` occurrences in its scope.... |
| 2025-11-14 15:53:31 | <dolio> | However, I think the vast majority of the time, people actually do define the 'deep' handler which does correspond to shift/reset. |
| 2025-11-14 15:53:45 | <lucabtz> | is there a way to have something similar to algebraic effects in haskell? |
| 2025-11-14 15:54:23 | <comerijn> | lucabtz: Only about a gazillion libraries |
| 2025-11-14 15:54:29 | <lucabtz> | cool |
| 2025-11-14 15:57:15 | <kuribas> | lol |
| 2025-11-14 15:57:54 | <[exa]> | the only thing more vast than the number of effect libraries in hackage is their accumulated time since last upload |
| 2025-11-14 15:58:09 | <[exa]> | lucabtz: you might like heftia |
| 2025-11-14 15:58:20 | <dolio> | mtl is like algebraic effects. |
| 2025-11-14 15:58:54 | <kuribas> | I still don't see the point of algebraic effects. |
| 2025-11-14 16:00:18 | <kuribas> | I could do "myFunction :: Monad m => (m UTCTime) -> ... -> m Result", I am now abstracted over currentTime. |
| 2025-11-14 16:01:00 | <kuribas> | if possible just "myFunction :: UTCTime -> ... -> Result" |
| 2025-11-14 16:01:01 | <geekosaur> | I see the point (better composition of effects ability to e.g. have two state effects and select by type) but I still am concerned that some effects aren't algebraic and pretending they are will just caause possibly subtle or corner-case breakage |
| 2025-11-14 16:01:14 | <comerijn> | What geekosaur said :p |
| 2025-11-14 16:01:59 | <geekosaur> | mtl is very careful to forbid combinations of effects that aren't safe |
| 2025-11-14 16:02:39 | <[exa]> | kuribas: imagine you have so much effect kinds that you think that an algebra over them would help you. |
All times are in UTC.