Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,735 events total
2025-11-07 12:22:47 <lortabac> the fact that HLint is configurable doesn't make the defaults less bad
2025-11-07 12:23:33 <kuribas> agreed
2025-11-07 12:25:25 × wbrawner quits (~wbrawner@129.146.105.153) (Remote host closed the connection)
2025-11-07 12:25:36 wbrawner joins (~wbrawner@129.146.105.153)
2025-11-07 12:27:00 × gorignak quits (~gorignak@user/gorignak) (Ping timeout: 245 seconds)
2025-11-07 12:27:59 × trickard quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 12:28:13 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 12:28:23 vulpine joins (xfnw@user/meow/xfnw)
2025-11-07 12:29:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 12:30:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 12:30:42 <lortabac> There was an article about this but I can't find it anymore. It's a kind of fallacy where people who are expert about a field/tool tend to respond to criticism with "you are doing it the wrong way"
2025-11-07 12:31:47 <lortabac> which is the right answer of course, but sometimes it's also good to consider how to improve the tool
2025-11-07 12:35:18 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 12:41:57 <__monty__> dminuoso: Most of my linting experience is with Pylint and no I don't know of a way to configure it from outside the source files. Don't really see a good way that'd be resilient to refactoring. Can't rely on line numbers for example but even function/method names can change.
2025-11-07 12:42:46 kuribas` joins (~user@ip-188-118-57-242.reverse.destiny.be)
2025-11-07 12:44:12 × kuribas quits (~user@2a02:1808:d1:be31:ac10:dd83:cea2:1717) (Ping timeout: 244 seconds)
2025-11-07 12:45:47 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 12:51:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-11-07 12:51:32 × Square2 quits (~Square4@user/square) (Ping timeout: 244 seconds)
2025-11-07 12:52:44 Zemy_ joins (~Zemy@2600:100c:b0a1:9f27:50d3:74ff:fece:a256)
2025-11-07 12:56:25 × Zemy quits (~Zemy@72.178.108.235) (Ping timeout: 264 seconds)
2025-11-07 12:57:37 × bggd quits (~bgg@2a01:e0a:819:1510:488d:f1b1:72a6:5bef) (Remote host closed the connection)
2025-11-07 12:59:46 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
2025-11-07 13:00:26 gmg joins (~user@user/gehmehgeh)
2025-11-07 13:01:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 13:06:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-11-07 13:07:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 13:08:03 Square2 joins (~Square4@user/square)
2025-11-07 13:12:49 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2025-11-07 13:15:34 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2025-11-07 13:23:13 Zemy joins (~Zemy@syn-192-154-181-091.biz.spectrum.com)
2025-11-07 13:23:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 13:27:23 × Zemy_ quits (~Zemy@2600:100c:b0a1:9f27:50d3:74ff:fece:a256) (Ping timeout: 250 seconds)
2025-11-07 13:28:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 13:36:25 <Square2> In ghci, why can I do `:info Maybe` but not `:info List`?
2025-11-07 13:37:21 <tomsmeding> because List does not exist?
2025-11-07 13:37:31 <haskellbridge> <Morj> You can do ":info []"
2025-11-07 13:38:23 <tomsmeding> interesting:
2025-11-07 13:38:26 <tomsmeding> % :i []
2025-11-07 13:38:26 <yahb2> type List :: * -> * ; data List a = [] | a : [a] ; -- Defined in ‘GHC.Types’ ; instance Traversable [] ; -- Defined in ‘GHC.Internal.Data.Traversable’ ; instance MonadFail [] ; -- Defined in...
2025-11-07 13:38:36 <tomsmeding> turns out that since GHC 9.6, it prints `data List a` there
2025-11-07 13:38:36 <int-e> % import GHC.Types
2025-11-07 13:38:36 <yahb2> <no output>
2025-11-07 13:38:40 <int-e> % :i List
2025-11-07 13:38:40 <yahb2> type List :: * -> * ; data List a = [] | a : [a] ; -- Defined in ‘GHC.Types’ ; instance Traversable [] ; -- Defined in ‘GHC.Internal.Data.Traversable’ ; instance MonadFail [] ; -- Defined in...
2025-11-07 13:38:45 <int-e> see, it works ;-)
2025-11-07 13:38:59 <tomsmeding> then `:i []` is wrong, because the List should have been qualified
2025-11-07 13:39:16 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 13:40:26 <tomsmeding> % :i Data.List.List
2025-11-07 13:40:26 <yahb2> type List :: * -> * ; data List a = [] | a : [a] ; -- Defined in ‘GHC.Types’ ; instance Traversable [] ; -- Defined in ‘GHC.Internal.Data.Traversable’ ; instance MonadFail [] ; -- Defined in...
2025-11-07 13:40:30 <tomsmeding> int-e: it's also in Data.List
2025-11-07 13:40:53 <haskellbridge> <Morj> Are there any libraries to help me write (mostly) the same code for sqlite and postgres? I know of persistent, but I don't really love it
2025-11-07 13:41:55 <Square2> int-e, nice. Thanks
2025-11-07 13:42:34 <int-e> tomsmeding: That's new... since 9.10? Odd.
2025-11-07 13:44:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 13:44:23 <haskellbridge> <Morj> My ghci 9.6 doesn't have Data.List.List indeed, but :i [] still refers to some 'List' from who knows where
2025-11-07 13:45:54 <tomsmeding> Morj: GHC.Types
2025-11-07 13:46:13 <tomsmeding> hm, 9.10 indeed
2025-11-07 13:50:10 <int-e> tomsmeding: it was a proposal here: https://github.com/haskell/core-libraries-committee/issues/182
2025-11-07 13:51:24 <haskellbridge> <Morj> GHC.Types.List exists indeed
2025-11-07 13:55:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 13:59:31 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-11-07 14:04:05 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 14:04:17 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 14:04:48 Zemy_ joins (~Zemy@2600:100c:b0ab:d403:d483:98ff:fee4:d9f9)
2025-11-07 14:04:49 × Zemy quits (~Zemy@syn-192-154-181-091.biz.spectrum.com) (Read error: Connection reset by peer)
2025-11-07 14:05:16 Zemy joins (~Zemy@syn-192-154-181-091.biz.spectrum.com)
2025-11-07 14:08:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 14:09:18 × Zemy_ quits (~Zemy@2600:100c:b0ab:d403:d483:98ff:fee4:d9f9) (Ping timeout: 256 seconds)
2025-11-07 14:09:44 Zemy_ joins (~Zemy@2600:100c:b0ab:d403:cbc:dbff:fe6f:c62e)
2025-11-07 14:11:25 × Zemy quits (~Zemy@syn-192-154-181-091.biz.spectrum.com) (Ping timeout: 246 seconds)
2025-11-07 14:13:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-11-07 14:15:19 ft joins (~ft@p4fc2aaeb.dip0.t-ipconnect.de)
2025-11-07 14:22:20 Zemy joins (~Zemy@72.178.108.235)
2025-11-07 14:22:53 <[exa]> how does one rewrite a continuation-ish computation with a "fmap" in it, like `fmap something . blah $ \x -> ...`, into ContT? (All combinations failed for me so I'm asking)
2025-11-07 14:24:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 14:25:00 <[exa]> example: https://paste.tomsmeding.com/WfUKO31Y
2025-11-07 14:25:37 <[exa]> (this is torn out from a mildly over-complicated code, I'll try to materialize a simple example. The `run1` and `run2` is something like `withFileOpen` or so.
2025-11-07 14:25:40 <[exa]> )
2025-11-07 14:25:44 × Zemy_ quits (~Zemy@2600:100c:b0ab:d403:cbc:dbff:fe6f:c62e) (Ping timeout: 256 seconds)
2025-11-07 14:28:34 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-11-07 14:30:32 Googulator30 joins (~Googulato@team.broadbit.hu)
2025-11-07 14:30:54 × fp quits (~Thunderbi@130.233.70.136) (Quit: fp)
2025-11-07 14:31:15 fp joins (~Thunderbi@130.233.70.136)
2025-11-07 14:31:46 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-11-07 14:32:04 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 14:32:17 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 14:37:27 Googulator57 joins (~Googulato@team.broadbit.hu)
2025-11-07 14:37:42 × trickard_ quits (~trickard@cpe-57-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-07 14:39:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-11-07 14:40:41 × Googulator30 quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 14:42:17 <Square2> is filter defined in some base class or is made specifically for different data structures?
2025-11-07 14:42:42 <Square2> it seems to be data structure specific
2025-11-07 14:43:12 trickard_ joins (~trickard@cpe-57-98-47-163.wireline.com.au)
2025-11-07 14:43:18 <haskellbridge> <Morj> In base it's data-specific. In mono-traversable there is a class for it: https://hackage.haskell.org/package/mono-traversable-1.0.21.0/docs/Data-Sequences.html#v:filter
2025-11-07 14:45:02 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-11-07 14:46:02 Googulator18 joins (~Googulato@team.broadbit.hu)
2025-11-07 14:47:53 <Square2> oh there's filterM I guess
2025-11-07 14:48:55 × Googulator57 quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-07 14:50:40 Googulator94 joins (~Googulato@team.broadbit.hu)

All times are in UTC.