Logs: liberachat/#haskell
| 2021-08-27 12:13:02 | <dminuoso> | lazily producing is something different from streaming |
| 2021-08-27 12:13:15 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2021-08-27 12:13:17 | <Gurkenglas> | They say you can't have ((a -> Void) -> Void) -> a. But you can do ((a -> Void) -> Void) -> IO a by catch . ($throw). Does this unlock great powers? :) |
| 2021-08-27 12:13:17 | → | allbery_b joins (~geekosaur@xmonad/geekosaur) |
| 2021-08-27 12:13:20 | allbery_b | is now known as geekosaur |
| 2021-08-27 12:13:30 | <dminuoso> | Using lazyness to stream logs, while perhaps it can work, it's just not worth the headaches you get in debugging when it doesnt work |
| 2021-08-27 12:14:01 | <dminuoso> | With LoggingT you *know* you have no space leaks, and that logging happens *exactly* when you want it. |
| 2021-08-27 12:14:07 | <dminuoso> | With WriterT you have no clue when logging actually happens. |
| 2021-08-27 12:14:25 | × | acidjnk quits (~acidjnk@p200300d0c72b9541c8d0619322fc5f47.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 2021-08-27 12:14:38 | <dminuoso> | It happens separate, later. |
| 2021-08-27 12:14:49 | <dminuoso> | WriterT is just not a good fit for logs for so many reasons. |
| 2021-08-27 12:15:21 | Ananta-shesha | is now known as ArcticVaultETMar |
| 2021-08-27 12:15:38 | ArcticVaultETMar | is now known as ArcticVauETMarsH |
| 2021-08-27 12:15:38 | <dminuoso> | Consider something like: |
| 2021-08-27 12:15:48 | ArcticVauETMarsH | is now known as ArcticVauMarsHel |
| 2021-08-27 12:15:51 | ArcticVauMarsHel | is now known as ArcticVauMarsHPJ |
| 2021-08-27 12:16:03 | ArcticVauMarsHPJ | is now known as ArctVaultMarsHMP |
| 2021-08-27 12:16:33 | ArctVaultMarsHMP | is now known as ArctVaulMarsHMPJ |
| 2021-08-27 12:16:49 | <dminuoso> | `tell "Deleting file" >> deleteFile "someFile"` |
| 2021-08-27 12:17:04 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2021-08-27 12:17:23 | <dminuoso> | When will the outside consumer of this log pop that entry? You dont know and cant control it. |
| 2021-08-27 12:18:52 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-08-27 12:23:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-27 12:23:37 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-08-27 12:27:26 | → | chisui joins (~chisui@200116b868a14e009fa6896fe3af5cba.dip.versatel-1u1.de) |
| 2021-08-27 12:28:49 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 248 seconds) |
| 2021-08-27 12:28:54 | → | markpythonicbtc joins (~textual@50.228.44.6) |
| 2021-08-27 12:30:10 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2021-08-27 12:31:27 | → | neo1 joins (~neo3@cpe-292712.ip.primehome.com) |
| 2021-08-27 12:31:40 | × | mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 240 seconds) |
| 2021-08-27 12:32:25 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 2021-08-27 12:38:35 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-08-27 12:38:49 | → | favonia joins (~favonia@user/favonia) |
| 2021-08-27 12:38:56 | <Drew[m]> | fair |
| 2021-08-27 12:44:45 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
| 2021-08-27 12:45:52 | × | azeem quits (~azeem@176.201.20.14) (Ping timeout: 245 seconds) |
| 2021-08-27 12:46:42 | → | renzhi joins (~xp@2607:fa49:6500:3d00::d986) |
| 2021-08-27 12:47:47 | → | azeem joins (~azeem@176.201.20.14) |
| 2021-08-27 12:49:52 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 2021-08-27 12:57:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 2021-08-27 12:59:07 | × | aman quits (~aman@user/aman) (Ping timeout: 240 seconds) |
| 2021-08-27 12:59:27 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 2021-08-27 13:03:58 | × | derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2) |
| 2021-08-27 13:05:45 | × | Codaraxis_ quits (~Codaraxis@user/codaraxis) (Remote host closed the connection) |
| 2021-08-27 13:06:10 | → | Codaraxis_ joins (~Codaraxis@user/codaraxis) |
| 2021-08-27 13:08:08 | × | burnside_ quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-08-27 13:09:16 | → | cheater joins (~Username@user/cheater) |
| 2021-08-27 13:09:53 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-08-27 13:10:09 | × | nschoe quits (~quassel@178.251.84.79) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2021-08-27 13:12:02 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-08-27 13:15:32 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c1b3:f9cf:5870:faa7) |
| 2021-08-27 13:16:13 | × | lua quits (~ed@101.100.135.46) (Quit: WeeChat 2.8) |
| 2021-08-27 13:19:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c1b3:f9cf:5870:faa7) (Ping timeout: 240 seconds) |
| 2021-08-27 13:21:32 | × | Guest55 quits (~Guest55@182.64.179.3) (Quit: Client closed) |
| 2021-08-27 13:22:09 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-08-27 13:22:31 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-08-27 13:22:57 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-08-27 13:27:02 | × | FragByte quits (~christian@user/fragbyte) (Quit: Quit) |
| 2021-08-27 13:27:10 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 2021-08-27 13:28:52 | → | FragByte joins (~christian@user/fragbyte) |
| 2021-08-27 13:29:07 | × | azeem quits (~azeem@176.201.20.14) (Ping timeout: 240 seconds) |
| 2021-08-27 13:29:54 | → | azeem joins (~azeem@176.201.20.14) |
| 2021-08-27 13:30:22 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 2021-08-27 13:32:39 | × | t3hyoshi quits (~snicf@2600:8804:1b96:4900:a9b2:143c:7dd0:6ceb) (Quit: Konversation terminated!) |
| 2021-08-27 13:33:35 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-08-27 13:34:22 | → | hololeap joins (~hololeap@user/hololeap) |
| 2021-08-27 13:37:51 | → | Neuromancer joins (~Neuromanc@user/neuromancer) |
| 2021-08-27 13:38:22 | × | haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
| 2021-08-27 13:38:35 | → | haykam joins (~haykam@static.100.2.21.65.clients.your-server.de) |
| 2021-08-27 13:44:01 | × | qbt quits (~edun@user/edun) (Ping timeout: 248 seconds) |
| 2021-08-27 13:45:50 | <kuribas> | When do you use a list comprehension, instead of list monad? |
| 2021-08-27 13:46:06 | <kuribas> | maybe to avoid the extra "pure"? |
| 2021-08-27 13:46:24 | <Hecate> | kuribas: list comprehensions are implemented with list monad |
| 2021-08-27 13:47:02 | <dminuoso> | kuribas: Mmm, hard to say. |
| 2021-08-27 13:47:13 | <dminuoso> | I tend to prefer do-notation actually |
| 2021-08-27 13:47:32 | <kuribas> | then it's mostly redundant syntactic sugar? |
| 2021-08-27 13:49:01 | <[exa]> | kuribas: list comprehension removes `guard`, do-syntax is better if there's more conditions or complicated return that's best "explained" at the end instead of at the beginning |
| 2021-08-27 13:49:18 | <dminuoso> | [exa]: they dont remove guard. |
| 2021-08-27 13:49:27 | → | Guest48 joins (~Guest48@2606:54c0:5bc0:8::49:64) |
| 2021-08-27 13:49:31 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 2021-08-27 13:49:44 | <[exa]> | well you don't need to type `guard` in there right? |
| 2021-08-27 13:49:52 | <dminuoso> | % [ x | x <- [1,2,3], x > 2 ] |
| 2021-08-27 13:49:53 | <yahb> | dminuoso: [3] |
| 2021-08-27 13:49:58 | <dminuoso> | @undo [ x | x <- [1,2,3], x > 2 ] |
| 2021-08-27 13:49:58 | <lambdabot> | concatMap (\ x -> if x > 2 then [x] else []) [1, 2, 3] |
| 2021-08-27 13:50:01 | <Hecate> | kuribas: is it redundant if it improves readability? ;) |
| 2021-08-27 13:50:08 | <dminuoso> | Mmm, well. |
| 2021-08-27 13:50:10 | <dminuoso> | This is just guard. |
| 2021-08-27 13:50:14 | <[exa]> | dminuoso: yeah |
| 2021-08-27 13:50:19 | <kuribas> | Hecate: no, but it's debatable... |
| 2021-08-27 13:50:45 | × | Guest48 quits (~Guest48@2606:54c0:5bc0:8::49:64) (Quit: Client closed) |
| 2021-08-27 13:50:48 | <[exa]> | kuribas: one difference is that with `do` syntax you might get a Monad constraint with polymorphic type, which in cases might not be the way you want |
| 2021-08-27 13:51:06 | <[exa]> | ie when relying on memoization |
| 2021-08-27 13:51:32 | <[exa]> | (s/ie/eg/ whoops) |
| 2021-08-27 13:52:13 | × | ArctVaulMarsHMPJ quits (~pjetcetal@128-71-152-79.broadband.corbina.ru) (Quit: EXIT) |
| 2021-08-27 13:52:14 | <kuribas> | [exa]: how so? |
| 2021-08-27 13:52:49 | <[exa]> | if you don't explicitly bind a list, the monad type may stay undecided |
| 2021-08-27 13:53:13 | <kuribas> | hmm, right |
| 2021-08-27 13:53:45 | <kuribas> | perhaps do notation came after comprehensions? |
| 2021-08-27 13:54:32 | <Drew[m]> | Comprehensions predate the whole language IIRC |
All times are in UTC.