2022/11/21

2022-11-21 00:00:42 +0100zer0bitz(~zer0bitz@196.244.192.60) (Read error: Connection reset by peer)
2022-11-21 00:01:35 +0100zer0bitz(~zer0bitz@196.244.192.59)
2022-11-21 00:03:20 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-21 00:06:28 +0100Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (Ping timeout: 248 seconds)
2022-11-21 00:07:01 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-21 00:08:10 +0100Vq(~vq@90-227-195-41-no77.tbcn.telia.com)
2022-11-21 00:09:32 +0100hrberg(~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 246 seconds)
2022-11-21 00:12:43 +0100hrberg(~quassel@171.79-160-161.customer.lyse.net)
2022-11-21 00:20:50 +0100mikoto-chan(~mikoto-ch@164.5.249.78) (Ping timeout: 240 seconds)
2022-11-21 00:23:23 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2022-11-21 00:26:10 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-11-21 00:26:18 +0100goepsilongo(~goepsilon@2603-7000-ab00-00e5-7193-cc53-ebba-5530.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2022-11-21 00:30:10 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1)
2022-11-21 00:31:51 +0100perrierjouet(~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
2022-11-21 00:34:05 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
2022-11-21 00:36:29 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 00:36:34 +0100hrberg(~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 260 seconds)
2022-11-21 00:38:49 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 252 seconds)
2022-11-21 00:39:56 +0100adium(adium@user/adium) (Read error: Connection reset by peer)
2022-11-21 00:39:58 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2022-11-21 00:44:22 +0100nate4(~nate@98.45.169.16)
2022-11-21 00:45:11 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-11-21 00:48:36 +0100nate4(~nate@98.45.169.16) (Ping timeout: 248 seconds)
2022-11-21 00:53:58 +0100kenaryn(~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving)
2022-11-21 00:54:46 +0100srz(~srz@181.228.49.93) (Ping timeout: 252 seconds)
2022-11-21 00:55:48 +0100hrberg(~quassel@171.79-160-161.customer.lyse.net)
2022-11-21 00:56:51 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:e090:a1b4:58fc:3f99) (Remote host closed the connection)
2022-11-21 00:57:25 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 01:05:08 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 248 seconds)
2022-11-21 01:07:20 +0100mauke_(~mauke@p57b6e7eb.dip0.t-ipconnect.de)
2022-11-21 01:07:46 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:e090:a1b4:58fc:3f99)
2022-11-21 01:08:22 +0100mauke(~mauke@p57b6ed34.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-21 01:08:22 +0100mauke_mauke
2022-11-21 01:21:24 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
2022-11-21 01:22:14 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 01:24:42 +0100nilradical(~nilradica@user/naso)
2022-11-21 01:25:32 +0100 <nilradical> using hedgehog, how can i test multiple Groups?
2022-11-21 01:25:37 +0100 <nilradical> e.g., i have
2022-11-21 01:25:40 +0100 <nilradical> main :: IO Bool
2022-11-21 01:25:41 +0100 <nilradical> main =
2022-11-21 01:25:41 +0100 <nilradical> checkSequential $
2022-11-21 01:25:43 +0100 <nilradical> Group
2022-11-21 01:25:45 +0100 <nilradical> "Test.GroupA"
2022-11-21 01:25:47 +0100 <nilradical> [ ("prop_myProp", prop_myProp)]
2022-11-21 01:25:50 +0100 <nilradical> how do i add a second group after that
2022-11-21 01:25:56 +0100mncheck(~mncheck@193.224.205.254)
2022-11-21 01:26:55 +0100mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-11-21 01:30:39 +0100 <dsal> What is a Group?
2022-11-21 01:31:27 +0100 <dsal> Ohh, I see. You're doing a slightly weird thing.
2022-11-21 01:31:46 +0100 <nilradical> defined here https://hackage.haskell.org/package/hedgehog-1.2/docs/Hedgehog.html
2022-11-21 01:32:18 +0100 <dsal> The main documentation index says you can use that if you don't want to do any of the other mechanisms. Do you not want to use any of the other mechanisms?
2022-11-21 01:33:01 +0100 <dsal> I use tasty in my personal projects and hspec for work. But the docs also show how you can use its built-in discover thing for just finding tests within your file.
2022-11-21 01:33:05 +0100 <nilradical> the template haskell thing, checkParallel $$(discover), did not work for me
2022-11-21 01:33:16 +0100 <nilradical> let me try again, i forgot what error it gave...
2022-11-21 01:33:53 +0100 <dsal> Did it say you don't have TemplateHaskell enabled?
2022-11-21 01:34:51 +0100 <nilradical> Oh, it's working now! No, actually i had left a comment there. It previously gave an error about "symbol not found"
2022-11-21 01:34:54 +0100 <dsal> checkParallel and checkSequential are `MonadIO m => Group -> m Bool`
2022-11-21 01:34:58 +0100 <nilradical> that was actually on a different machine
2022-11-21 01:35:09 +0100 <dsal> :t foldM
2022-11-21 01:35:10 +0100 <lambdabot> (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
2022-11-21 01:35:27 +0100 <dsal> That will run multiple groups. Or just something like
2022-11-21 01:35:43 +0100 <dsal> :t and <$> traverse
2022-11-21 01:35:44 +0100 <lambdabot> error:
2022-11-21 01:35:44 +0100 <lambdabot> • Couldn't match type ‘f (t0 b)’ with ‘Bool’
2022-11-21 01:35:44 +0100 <lambdabot> Expected type: (a -> f b) -> t0 a -> Bool
2022-11-21 01:36:09 +0100 <dsal> I don't have all the symbols here, but fmapping and to traverse would do it.
2022-11-21 01:36:23 +0100accord(uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-11-21 01:36:26 +0100 <dsal> :t and <$> traverse (const True)
2022-11-21 01:36:27 +0100 <lambdabot> error:
2022-11-21 01:36:27 +0100 <lambdabot> • Couldn't match type ‘t b0’ with ‘Bool’
2022-11-21 01:36:28 +0100 <lambdabot> Expected type: t b -> t0 Bool
2022-11-21 01:36:41 +0100 <dsal> :t and <$> traverse (const $ pure True)
2022-11-21 01:36:42 +0100 <lambdabot> error:
2022-11-21 01:36:42 +0100 <lambdabot> • Couldn't match type ‘t Bool’ with ‘Bool’
2022-11-21 01:36:42 +0100 <lambdabot> Expected type: t b -> t0 Bool
2022-11-21 01:36:48 +0100 <dsal> Heh. I don't know what I'm doing.
2022-11-21 01:37:32 +0100 <dsal> :t fmap and . traverse (pure $ const True)
2022-11-21 01:37:33 +0100 <lambdabot> Traversable t => t a -> b -> Bool
2022-11-21 01:37:42 +0100 <nilradical> yeah i tried : checkSequential <$> [groupA, groupB]
2022-11-21 01:37:55 +0100 <nilradical> didnt work. i figured it was some monad magic stuff needed
2022-11-21 01:38:11 +0100 <dsal> You need traverse there, not fmap
2022-11-21 01:38:30 +0100 <dsal> I'm using fmap to collapse the results.
2022-11-21 01:39:30 +0100 <nilradical> fmap traverse checkSequential [..] ?
2022-11-21 01:39:54 +0100 <dsal> If you used foldM, you'd need to do something like foldM (fmap And . checkSequential) groups
2022-11-21 01:40:20 +0100 <dsal> traverse checkSequential groups will be of type MonadIO m => [Group] -> m [Bool]
2022-11-21 01:40:38 +0100 <dsal> (well, it would be if I didn't have `groups` in there)
2022-11-21 01:41:15 +0100 <nilradical> yeah traverse checkSequential [] is IO [Bool] but it should be IO Bool
2022-11-21 01:41:26 +0100 <dsal> Why should it be `IO Bool`?
2022-11-21 01:41:38 +0100 <nilradical> i mean it needs to be, because that is the type of `main`
2022-11-21 01:41:42 +0100 <dsal> IMO, it's silly to even mention `Bool` here.
2022-11-21 01:41:54 +0100 <dsal> main should be ` IO ()`
2022-11-21 01:42:10 +0100 <dsal> :t fmap and
2022-11-21 01:42:12 +0100 <lambdabot> (Functor f, Foldable t) => f (t Bool) -> f Bool
2022-11-21 01:42:17 +0100 <nilradical> hedgehog wants it to be IO Bool
2022-11-21 01:42:22 +0100acidjnk(~acidjnk@p200300d6e7137a2348c5e2c763436845.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-21 01:42:28 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:e090:a1b4:58fc:3f99) (Remote host closed the connection)
2022-11-21 01:42:31 +0100 <dsal> You might just be confusing me by naming a function `main` that isn't `main`
2022-11-21 01:43:07 +0100 <nilradical> oh of course, `fmap and $ traverse checkSequential [..]` works fine thank u
2022-11-21 01:44:37 +0100 <dsal> Yeah, so `doLots = fmap and . traverse checkSequential :: MonadIO m => [Group] -> m Bool`
2022-11-21 01:45:06 +0100 <nilradical> thanks :)
2022-11-21 01:45:16 +0100 <dsal> But I just use tasty or something. :)
2022-11-21 01:45:25 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2022-11-21 01:48:17 +0100zeenk(~zeenk@2a02:2f04:a208:3600::fba) (Quit: Konversation terminated!)
2022-11-21 01:53:41 +0100jtomas(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
2022-11-21 01:55:16 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 248 seconds)
2022-11-21 01:55:19 +0100nilradical(~nilradica@user/naso) ()
2022-11-21 01:56:15 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:e090:a1b4:58fc:3f99)
2022-11-21 01:56:55 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2022-11-21 02:05:40 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb)
2022-11-21 02:05:55 +0100mvk(~mvk@2607:fea8:5ce3:8500::efb) (Client Quit)
2022-11-21 02:05:55 +0100ub(~Thunderbi@91.141.78.146.wireless.dyn.drei.com)
2022-11-21 02:06:45 +0100ubert(~Thunderbi@178.165.166.23.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2022-11-21 02:06:45 +0100ububert
2022-11-21 02:13:24 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds)
2022-11-21 02:16:27 +0100xff0x(~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 268 seconds)
2022-11-21 02:20:23 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2022-11-21 02:21:34 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 02:22:27 +0100[yella](~yell@2607:fb90:8069:b3d:936f:934c:4449:dde4)
2022-11-21 02:24:34 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-21 02:24:52 +0100yella(~yell@2607:fb90:8061:645e:b50a:8579:b31d:1eec) (Ping timeout: 256 seconds)
2022-11-21 02:25:40 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-21 02:27:20 +0100[yella](~yell@2607:fb90:8069:b3d:936f:934c:4449:dde4) (Max SendQ exceeded)
2022-11-21 02:28:38 +0100[yella](~yell@2607:fb90:8069:b3d:936f:934c:4449:dde4)
2022-11-21 02:33:59 +0100srz(~srz@181.228.49.93)
2022-11-21 02:34:44 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 02:34:57 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds)
2022-11-21 02:36:31 +0100causal(~user@50.35.83.177)
2022-11-21 02:40:43 +0100yella__(~yell@2607:fb90:8060:7ed8:b221:6907:f900:9d31)
2022-11-21 02:41:39 +0100adium(adium@user/adium)
2022-11-21 02:41:41 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 02:43:30 +0100[yella](~yell@2607:fb90:8069:b3d:936f:934c:4449:dde4) (Ping timeout: 260 seconds)
2022-11-21 02:52:16 +0100jargon(~jargon@184.101.188.35)
2022-11-21 02:55:13 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 02:56:18 +0100jargon(~jargon@184.101.188.35) (Remote host closed the connection)
2022-11-21 03:01:03 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-11-21 03:04:11 +0100mastarija(~mastarija@2a05:4f46:e03:6000:a553:6552:13c1:4f41) (Quit: WeeChat 3.5)
2022-11-21 03:07:37 +0100bollu(~bollu@159.65.151.13) (Remote host closed the connection)
2022-11-21 03:08:03 +0100bollu(~bollu@159.65.151.13)
2022-11-21 03:12:34 +0100accord(uid568320@id-568320.hampstead.irccloud.com)
2022-11-21 03:14:19 +0100jtomas(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-11-21 03:15:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-21 03:16:43 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-11-21 03:17:54 +0100 <carter> sooo ummm, anyone have the linker config issues with ghc 9.4.3 on Arm Macs?
2022-11-21 03:18:52 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 03:20:06 +0100srz(~srz@181.228.49.93) (Remote host closed the connection)
2022-11-21 03:22:47 +0100jargon(~jargon@184.101.188.35)
2022-11-21 03:28:20 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 256 seconds)
2022-11-21 03:28:25 +0100bobbingbob(~bobbingbo@2604:3d09:207f:f650::b469) (Ping timeout: 260 seconds)
2022-11-21 03:29:44 +0100 <c_wraith> carter: I think I've seen several people asking about that. Something about brew-installed compilers being in the path makes the configure process grab info on the wrong linker?
2022-11-21 03:29:56 +0100 <carter> its worse than that
2022-11-21 03:30:03 +0100 <carter> it also seems to be emiting gc-sections
2022-11-21 03:30:07 +0100 <carter> flag
2022-11-21 03:30:08 +0100 <carter> in code gen
2022-11-21 03:30:37 +0100 <c_wraith> do you have a linker from a source other than xcode installed?
2022-11-21 03:30:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-21 03:30:48 +0100 <carter> i guess i can uninstall ALL llvms
2022-11-21 03:30:59 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-21 03:31:22 +0100 <c_wraith> this is definitely a bug, fwiw. Your system isn't wrong.
2022-11-21 03:31:33 +0100 <carter> yeah ... thx
2022-11-21 03:31:46 +0100 <c_wraith> But the workarounds I've seen for it are to remove all other compile pipelines, reinstall ghc, then you can reinstall other compilers
2022-11-21 03:31:46 +0100 <carter> if i'm hitting it .... and i've been the "OSX guy" ... something is wrong
2022-11-21 03:31:59 +0100 <carter> yeah
2022-11-21 03:32:01 +0100 <carter> its bad
2022-11-21 03:32:26 +0100 <carter> i cant figure out how on earth its even trying to emit gc-sections to the linker
2022-11-21 03:33:20 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 03:33:33 +0100 <carter> "clang: error: invalid linker name in argument '-fuse-ld=lld' >ghc-9.4.3: `gcc' failed in phase `Linker'. (Exit code: 1)"
2022-11-21 03:33:37 +0100 <carter> fff
2022-11-21 03:33:37 +0100 <c_wraith> I think if you're willing to install GHC by hand, you can make sure it gets the correct flags to its configure script. But I don't know what they are.
2022-11-21 03:35:04 +0100 <carter> its worse than that
2022-11-21 03:35:12 +0100 <carter> i'm hand editing the settings file to figure out whats different
2022-11-21 03:36:16 +0100 <carter> lets see if copying the 9.4.2 settings file over fixees it
2022-11-21 03:36:21 +0100 <carter> wtfff
2022-11-21 03:39:47 +0100dsrt^(~dsrt@76.145.185.103)
2022-11-21 03:40:52 +0100 <carter> found the fix
2022-11-21 03:41:00 +0100 <carter> the settings file generated by 9.4.2 works
2022-11-21 03:41:01 +0100 <carter> wtf
2022-11-21 03:42:52 +0100 <carter> heres whats different https://usercontent.irccloud-cdn.com/file/K4ZF8hGJ/Screen%20Shot%202022-11-20%20at%209.40.47%20PM.…
2022-11-21 03:43:18 +0100 <c_wraith> yeah, looks like the installer found the wrong ld
2022-11-21 03:44:51 +0100 <Inst> does Haskell automatically shrink Enum types?
2022-11-21 03:45:01 +0100 <c_wraith> shrink to what?
2022-11-21 03:45:13 +0100 <Inst> say, if I have an sum type which has 10 members, under O2, does Haskell depict them as 4 bits?
2022-11-21 03:45:37 +0100 <c_wraith> that'd completely wreck performance in most cases, so no
2022-11-21 03:45:59 +0100 <carter> theres no magic
2022-11-21 03:46:05 +0100 <carter> theres just "hopefully good defaults"
2022-11-21 03:46:21 +0100 <carter> generally for representation details the RTS and compiler are the best "current" story
2022-11-21 03:46:42 +0100 <c_wraith> The main case where a more compact representation would be helpful is when storing massive arrays.
2022-11-21 03:47:02 +0100 <c_wraith> And.. hey, that's one thing Storable arrays or vectors are for!
2022-11-21 03:49:29 +0100libertyprime(~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz)
2022-11-21 03:56:21 +0100[yella](~yell@2607:fb90:8067:f8f1:5691:21e7:585a:a086)
2022-11-21 03:58:45 +0100yella__(~yell@2607:fb90:8060:7ed8:b221:6907:f900:9d31) (Ping timeout: 256 seconds)
2022-11-21 04:04:49 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 04:05:44 +0100td_(~td@83.135.9.29) (Ping timeout: 256 seconds)
2022-11-21 04:06:04 +0100libertyprime(~libertypr@118-92-78-165.dsl.dyn.ihug.co.nz) (Quit: leaving)
2022-11-21 04:07:12 +0100td_(~td@83.135.9.24)
2022-11-21 04:12:00 +0100marc___(~marc@5.83.191.225)
2022-11-21 04:15:00 +0100marc__(~marc@5.83.191.103) (Ping timeout: 248 seconds)
2022-11-21 04:17:10 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 04:21:43 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 04:25:23 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-11-21 04:32:56 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
2022-11-21 04:35:12 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 04:35:18 +0100dextaa0(~DV@user/dextaa)
2022-11-21 04:37:40 +0100dextaa(~DV@user/dextaa) (Ping timeout: 268 seconds)
2022-11-21 04:37:40 +0100dextaa0dextaa
2022-11-21 04:42:24 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-11-21 04:43:46 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-11-21 04:45:04 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-11-21 04:45:22 +0100nate4(~nate@98.45.169.16)
2022-11-21 04:45:25 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2022-11-21 04:45:55 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-11-21 04:45:55 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-11-21 04:45:55 +0100finn_elijaFinnElija
2022-11-21 04:46:01 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-21 04:48:25 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-21 04:50:30 +0100nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-11-21 04:52:17 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-21 04:52:17 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-21 04:52:17 +0100wroathe(~wroathe@user/wroathe)
2022-11-21 05:02:47 +0100td_(~td@83.135.9.24) (Ping timeout: 260 seconds)
2022-11-21 05:04:14 +0100td_(~td@83.135.9.7)
2022-11-21 05:22:27 +0100 <Inst> are there any alternatives to accelerate that work on GHC 9.2.4?
2022-11-21 05:22:31 +0100 <Inst> I can't even install it with Cabal
2022-11-21 05:22:36 +0100 <Inst> i need GPU parallelization
2022-11-21 05:22:45 +0100mbuf(~Shakthi@49.205.82.244)
2022-11-21 05:24:59 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2022-11-21 05:25:15 +0100ubert(~Thunderbi@91.141.78.146.wireless.dyn.drei.com) (Remote host closed the connection)
2022-11-21 05:25:35 +0100ubert(~Thunderbi@91.141.78.146.wireless.dyn.drei.com)
2022-11-21 05:26:30 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 240 seconds)
2022-11-21 05:30:28 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-11-21 05:37:32 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 05:38:53 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 05:43:24 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 05:46:11 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
2022-11-21 05:48:32 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-21 05:48:48 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 05:48:59 +0100dknite(~dknite@65.20.68.77)
2022-11-21 05:49:14 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-21 05:54:45 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-11-21 05:56:44 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 06:02:59 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 260 seconds)
2022-11-21 06:04:00 +0100kimjetwav(~user@2607:fea8:235e:b600:a711:1a92:88bb:85cd)
2022-11-21 06:07:10 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 252 seconds)
2022-11-21 06:15:13 +0100motherfsck(~motherfsc@user/motherfsck)
2022-11-21 06:19:17 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-11-21 06:19:19 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-11-21 06:19:57 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-21 06:21:31 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 06:23:30 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-21 06:23:36 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2022-11-21 06:27:15 +0100biberu(~biberu@user/biberu)
2022-11-21 06:28:59 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-21 06:30:42 +0100califax(~califax@user/califx)
2022-11-21 06:32:59 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2022-11-21 06:33:34 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-11-21 06:34:12 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 256 seconds)
2022-11-21 06:34:44 +0100pierrot_(~pi@user/pierrot)
2022-11-21 06:34:48 +0100pierrot(~pi@user/pierrot) (Ping timeout: 252 seconds)
2022-11-21 06:35:32 +0100Arsen(arsen@managarm/dev/Arsen) (Ping timeout: 252 seconds)
2022-11-21 06:35:53 +0100Arsen(arsen@managarm/dev/Arsen)
2022-11-21 06:36:10 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-11-21 06:38:34 +0100chromoblob(~user@37.113.164.122)
2022-11-21 06:38:46 +0100 <Axman6> Inst: "I can't even install it" - Accelerate is basically the only thing there is, and it is difficult to install because it needs the appropriate nvidia stuff installed too. if you tell us what went wrong you might be able to get help here, but in the first instance I would be looking at the documentation - iirc it goes into a lot of detail on how to install
2022-11-21 06:39:31 +0100 <Inst> i'm on Windows and its installation instructions for Windows are : "lol, we have no Windows users"
2022-11-21 06:39:41 +0100 <Axman6> sounds about right to me
2022-11-21 06:39:41 +0100 <Inst> to learn and use Accelerate:
2022-11-21 06:39:56 +0100 <Inst> I need to learn Stack, Windows Subsystem for Linux, then Accelerate
2022-11-21 06:39:59 +0100 <Inst> I decided to say fuck it
2022-11-21 06:40:37 +0100 <Inst> and make my CPU hot for 60 hours instead of making my GPU hot for 4 hours
2022-11-21 06:41:32 +0100 <Inst> if i run out of memory, i SHOULD have a spare SSD
2022-11-21 06:43:29 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 260 seconds)
2022-11-21 06:50:07 +0100titibandit(~titibandi@xdsl-87-78-52-100.nc.de)
2022-11-21 06:55:09 +0100 <jackdk> . o ( Could also switch to GNU/Linux )
2022-11-21 06:55:32 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 248 seconds)
2022-11-21 07:15:55 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-11-21 07:17:55 +0100cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107)
2022-11-21 07:21:28 +0100evanvarvell(~evanvarve@097-088-181-216.res.spectrum.com)
2022-11-21 07:24:09 +0100dolio(~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-21 07:25:06 +0100dolio(~dolio@130.44.134.54)
2022-11-21 07:29:10 +0100cytokine_storm(~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 256 seconds)
2022-11-21 07:36:32 +0100dtman34(~dtman34@2601:447:d080:83c8:3fe9:6f54:f618:67a8) (Ping timeout: 256 seconds)
2022-11-21 07:37:37 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-11-21 07:42:45 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 260 seconds)
2022-11-21 07:51:06 +0100mei_(~mei@user/mei)
2022-11-21 08:08:06 +0100 <maerwald[m]> Inst: WSL2 works ok, WSL1 not
2022-11-21 08:13:41 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2022-11-21 08:18:29 +0100kenran(~user@user/kenran)
2022-11-21 08:23:00 +0100evanvarvell(~evanvarve@097-088-181-216.res.spectrum.com) (Ping timeout: 256 seconds)
2022-11-21 08:23:45 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 08:28:05 +0100gnyeki_gnyeki
2022-11-21 08:34:43 +0100evanvarvell(~evanvarve@097-088-181-216.res.spectrum.com)
2022-11-21 08:39:31 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-21 08:39:52 +0100mauke(~mauke@p57b6e7eb.dip0.t-ipconnect.de) (Quit: leaving)
2022-11-21 08:40:27 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
2022-11-21 08:43:18 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-11-21 08:45:27 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-21 08:46:57 +0100nate4(~nate@98.45.169.16)
2022-11-21 08:47:17 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-21 08:48:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 08:51:54 +0100nate4(~nate@98.45.169.16) (Ping timeout: 256 seconds)
2022-11-21 08:58:09 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-11-21 08:59:08 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-21 09:00:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 09:02:19 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-21 09:03:21 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:745a:dad5:a10b:a4d7)
2022-11-21 09:05:34 +0100califax(~califax@user/califx)
2022-11-21 09:12:55 +0100constxd(~brad@77.241.136.65.bredband.3.dk)
2022-11-21 09:14:59 +0100chele(~chele@user/chele)
2022-11-21 09:15:56 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-11-21 09:19:18 +0100ft(~ft@p508dbd59.dip0.t-ipconnect.de) (Quit: leaving)
2022-11-21 09:20:40 +0100michalz(~michalz@185.246.207.197)
2022-11-21 09:24:04 +0100mmhat(~mmh@p200300f1c72dc6e0ee086bfffe095315.dip0.t-ipconnect.de)
2022-11-21 09:41:18 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-11-21 09:46:11 +0100nschoe(~q@141.101.51.197)
2022-11-21 09:46:34 +0100cfricke(~cfricke@user/cfricke)
2022-11-21 09:48:50 +0100constxd(~brad@77.241.136.65.bredband.3.dk) (Ping timeout: 240 seconds)
2022-11-21 09:49:41 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2022-11-21 09:51:02 +0100constxd(~brad@77.241.136.117.bredband.3.dk)
2022-11-21 09:51:30 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2022-11-21 09:53:39 +0100evanvarvell(~evanvarve@097-088-181-216.res.spectrum.com) (Quit: Leaving)
2022-11-21 09:54:16 +0100acidjnk(~acidjnk@p200300d6e7137a2348c5e2c763436845.dip0.t-ipconnect.de)
2022-11-21 09:56:34 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:e090:a1b4:58fc:3f99) (Remote host closed the connection)
2022-11-21 10:03:41 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-11-21 10:10:52 +0100Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-11-21 10:11:16 +0100Batzy(~quassel@user/batzy)
2022-11-21 10:12:38 +0100titibandit(~titibandi@xdsl-87-78-52-100.nc.de) (Remote host closed the connection)
2022-11-21 10:14:24 +0100razetime(~quassel@117.193.4.209)
2022-11-21 10:20:26 +0100andjjj23(~irc@107.170.228.47) (Read error: Software caused connection abort)
2022-11-21 10:20:44 +0100andjjj23(~irc@107.170.228.47)
2022-11-21 10:24:19 +0100bwe(~bwe@2a01:4f8:1c1c:4878::2) (Read error: Software caused connection abort)
2022-11-21 10:24:28 +0100bwe(~bwe@2a01:4f8:1c1c:4878::2)
2022-11-21 10:25:20 +0100Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-11-21 10:26:31 +0100Batzy(~quassel@user/batzy)
2022-11-21 10:30:07 +0100kenran`(~user@user/kenran)
2022-11-21 10:32:01 +0100kenran(~user@user/kenran) (Ping timeout: 256 seconds)
2022-11-21 10:32:01 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 10:35:24 +0100ubert(~Thunderbi@91.141.78.146.wireless.dyn.drei.com) (Quit: ubert)
2022-11-21 10:37:42 +0100__monty__(~toonn@user/toonn)
2022-11-21 10:40:36 +0100rune(sid21167@id-21167.ilkley.irccloud.com) (Read error: Software caused connection abort)
2022-11-21 10:40:43 +0100rune(sid21167@id-21167.ilkley.irccloud.com)
2022-11-21 10:46:46 +0100ubert(~Thunderbi@91.141.78.146.wireless.dyn.drei.com)
2022-11-21 10:47:50 +0100bw(sid2730@user/betawaffle) (Read error: Software caused connection abort)
2022-11-21 10:48:14 +0100bw_(sid2730@user/betawaffle)
2022-11-21 10:50:38 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
2022-11-21 10:50:56 +0100scav(sid309693@user/scav) (Read error: Software caused connection abort)
2022-11-21 10:51:05 +0100scav(sid309693@user/scav)
2022-11-21 10:52:14 +0100Adran(adran@botters/adran) (Read error: Software caused connection abort)
2022-11-21 10:54:18 +0100Adran(~adran@botters/adran)
2022-11-21 10:55:25 +0100mbuf(~Shakthi@49.205.82.244) (Quit: Leaving)
2022-11-21 10:57:03 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1)
2022-11-21 10:59:19 +0100Digit(~user@user/digit) (Ping timeout: 260 seconds)
2022-11-21 10:59:20 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds)
2022-11-21 11:00:09 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 260 seconds)
2022-11-21 11:01:40 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1) (Ping timeout: 260 seconds)
2022-11-21 11:01:40 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 11:03:58 +0100kenran`(~user@user/kenran) (Remote host closed the connection)
2022-11-21 11:04:14 +0100 <Inst> I've considered switching to Linux
2022-11-21 11:04:31 +0100 <Inst> I used to use Arch, but Arch was too confusing, #1, #2, Arch has terrible Haskell support
2022-11-21 11:04:54 +0100 <merijn> Inst: FYI, WSL2 is "literally just Ubuntu" ;)
2022-11-21 11:05:03 +0100 <dminuoso> Inst: Hah it was quite a revelation to learn *why* arch has terrible Haskell support.
2022-11-21 11:05:21 +0100 <dminuoso> It's a demonstration why Arch Linux is just a very poor hobbyist distribution.
2022-11-21 11:05:24 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-21 11:07:03 +0100 <dminuoso> Short story is: Arch Haskell packages were built on the private machine of the singular haskell maintainer, imagine his laptop if you will. Now because he has very poor internet speed, he recognized that uploading haskell packages as dynamic libraries saved a lot of of bandwidth.
2022-11-21 11:07:16 +0100 <dminuoso> And that's the reason why Arch Haskell packages are dynamically built.
2022-11-21 11:07:35 +0100 <dminuoso> It's mind numbing.
2022-11-21 11:09:19 +0100Digit(~user@user/digit)
2022-11-21 11:09:48 +0100 <dminuoso> A distribution that lets this situation arise does not appear to have any bars for quality for their package ecosystem. People compiling software on their laptop, and manually uploading these as official packages.
2022-11-21 11:10:10 +0100 <loonycyborg> Can haskell even use dynamic libraries? Some distros would prefer that because it would make security updates less disruptive and more thorough
2022-11-21 11:10:28 +0100 <merijn> loonycyborg: Yes, but it's not the default
2022-11-21 11:10:35 +0100 <merijn> loonycyborg: It wouldn't
2022-11-21 11:10:50 +0100 <merijn> loonycyborg: Because GHC doesn't have a stable ABI, so you can't "just link in" a new version
2022-11-21 11:11:02 +0100 <merijn> Parts of your dependency might be inlined in the application
2022-11-21 11:11:03 +0100 <Inst> honestly, is what i'm doing really challenging, or am i just a bad programmer?
2022-11-21 11:11:04 +0100 <loonycyborg> I think here on gentoo it does static as per default
2022-11-21 11:11:10 +0100 <merijn> So you have to recompile *anyway*
2022-11-21 11:11:36 +0100 <merijn> loonycyborg: GHC ships "static" by default, because it's the oldest, most tested, and most sensible way to link GHC Haskell
2022-11-21 11:11:54 +0100 <Inst> i feel like what i'm doing, is making Haskell look bad
2022-11-21 11:11:59 +0100 <Inst> it's all business logic man
2022-11-21 11:12:28 +0100 <merijn> loonycyborg: Note that external (i.e. C) libraries are linked dynamically by default
2022-11-21 11:13:25 +0100 <loonycyborg> Not surprised, most of them don't even have static versions easily available.
2022-11-21 11:13:26 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
2022-11-21 11:13:57 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Read error: Software caused connection abort)
2022-11-21 11:14:10 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-11-21 11:15:08 +0100 <Inst> just realized a major logic bug
2022-11-21 11:16:07 +0100chromoblob(~user@37.113.164.122)
2022-11-21 11:16:55 +0100mikoto-chan(~mikoto-ch@164.5.249.78)
2022-11-21 11:20:40 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-11-21 11:21:03 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net)
2022-11-21 11:21:57 +0100avpx(~nick@ec2-54-214-223-1.us-west-2.compute.amazonaws.com) (Read error: Software caused connection abort)
2022-11-21 11:23:48 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 11:25:34 +0100avpx(~nick@ec2-54-214-223-1.us-west-2.compute.amazonaws.com)
2022-11-21 11:25:39 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2022-11-21 11:25:45 +0100MajorBiscuit(~MajorBisc@145.94.146.35)
2022-11-21 11:27:01 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-11-21 11:27:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 11:27:46 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-11-21 11:32:18 +0100idnar(sid12240@debian/mithrandi) (Read error: Software caused connection abort)
2022-11-21 11:32:27 +0100idnar(sid12240@debian/mithrandi)
2022-11-21 11:33:55 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
2022-11-21 11:33:58 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 11:34:22 +0100JSharp(sid4580@id-4580.lymington.irccloud.com) (Read error: Software caused connection abort)
2022-11-21 11:34:41 +0100JSharp(sid4580@id-4580.lymington.irccloud.com)
2022-11-21 11:35:40 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-21 11:37:09 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 255 seconds)
2022-11-21 11:37:24 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-11-21 11:43:40 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 11:44:35 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 11:48:53 +0100chromoblob(~user@37.113.164.122)
2022-11-21 11:51:48 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 268 seconds)
2022-11-21 11:53:40 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 11:57:50 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 240 seconds)
2022-11-21 12:02:49 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-21 12:04:15 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-11-21 12:08:18 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2022-11-21 12:11:30 +0100`2jt(~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-11-21 12:11:51 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (Read error: Software caused connection abort)
2022-11-21 12:12:09 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-11-21 12:12:21 +0100 <Hecate> grrr I'm so envious of Elixir's ExDoc https://hexdocs.pm/ex_doc/cheatsheet.html
2022-11-21 12:12:21 +0100 <Inst> nah, i realized why i'm getting this behavior
2022-11-21 12:12:24 +0100 <Inst> oh, hi
2022-11-21 12:12:30 +0100 <Hecate> hello Inst
2022-11-21 12:12:36 +0100 <Inst> we spoke at the same time
2022-11-21 12:12:39 +0100 <Inst> nothing much to say
2022-11-21 12:12:51 +0100 <Inst> although i'd go beggar you about Accelerate
2022-11-21 12:13:04 +0100 <Inst> and the fact that Haskell has only one good CUDA library that's not really usable
2022-11-21 12:13:17 +0100 <Inst> without Stack
2022-11-21 12:13:39 +0100 <Hecate> are you using https://flora.pm/packages/@hackage/accelerate-llvm-ptx ?
2022-11-21 12:14:20 +0100 <Inst> thanks for being helpful
2022-11-21 12:15:00 +0100 <dminuoso> Hecate: Out of curiosity.. what is it that cheatsheet is trying to tell me?
2022-11-21 12:15:04 +0100 <tomsmeding> Inst: what errors do you get with cabal
2022-11-21 12:15:04 +0100 <Inst> attempting to install
2022-11-21 12:15:12 +0100 <Inst> "cannot match libraries, etc"
2022-11-21 12:15:18 +0100 <Inst> hackage accelerate seems to be built for 8.6 GHC
2022-11-21 12:15:21 +0100 <Inst> I'm using 9.2.4
2022-11-21 12:15:53 +0100 <Hecate> dminuoso: it's the cheatsheet for the "cheatsheet" feature of ExDoc
2022-11-21 12:16:10 +0100 <tomsmeding> Inst: https://paste.tomsmeding.com/9zQPzlRW
2022-11-21 12:16:20 +0100 <dminuoso> Hecate: Sure, but I dont quite understand what its trying to convey.
2022-11-21 12:16:36 +0100 <Inst> could be an issue with my implementation
2022-11-21 12:16:43 +0100 <Inst> i abuse --lib very heavily and am planning to switch to stack
2022-11-21 12:16:45 +0100 <Hecate> dminuoso: it's just a showcase of the layout
2022-11-21 12:16:55 +0100 <Hecate> dminuoso: I don't there is more to it
2022-11-21 12:17:00 +0100 <dminuoso> Hecate: Oh okay. I would have expected the input right next to it.
2022-11-21 12:17:00 +0100 <Inst> because my VSC HLS is fubared
2022-11-21 12:17:07 +0100 <dminuoso> Just to get an idea of "type this, get that"
2022-11-21 12:17:24 +0100 <dminuoso> but just "get that" is a bit confusing since it really doesnt tell me much, beyond that it is capable of rendering tlike that
2022-11-21 12:17:37 +0100 <Hecate> dminuoso: you get that by clicking on the source button on the top-right corner -> https://github.com/elixir-lang/ex_doc/blob/v0.29.1/Cheatsheet.cheatmd#L1
2022-11-21 12:17:50 +0100 <dminuoso> Hecate: Which part of this UX do you envy?
2022-11-21 12:17:52 +0100 <dminuoso> :>
2022-11-21 12:18:06 +0100 <dminuoso> "Click on source to make sense of it" we have on hackage plenty already
2022-11-21 12:18:16 +0100 <Inst> my attempted cabal isntall
2022-11-21 12:18:16 +0100 <Inst> https://paste.tomsmeding.com/Pl8JGQfA
2022-11-21 12:18:20 +0100 <Inst> of accelerate-llvm
2022-11-21 12:18:38 +0100 <Hecate> dminuoso: I never said I was envying the UX
2022-11-21 12:18:43 +0100 <dminuoso> Ah.
2022-11-21 12:18:43 +0100 <Hecate> just the "cheatsheet" feature
2022-11-21 12:18:51 +0100 <tomsmeding> Inst: try that source-repository-package for llvm-hs and some allow-newer
2022-11-21 12:18:53 +0100 <Hecate> And the guides
2022-11-21 12:18:56 +0100 <tomsmeding> the llvm-hs on hackage is old
2022-11-21 12:19:03 +0100 <Inst> how do i try it?
2022-11-21 12:19:04 +0100 <Hecate> the fact that we can have prose and guides outside of modules
2022-11-21 12:19:11 +0100 <tomsmeding> Inst: put my paste in cabal.project
2022-11-21 12:19:26 +0100 <tomsmeding> Inst: https://cabal.readthedocs.io/en/3.8/cabal-project.html
2022-11-21 12:19:35 +0100 <Inst> i see
2022-11-21 12:19:47 +0100 <Inst> am i the only guy who uses a single Haskell directory?
2022-11-21 12:19:56 +0100 <tomsmeding> what do you mean?
2022-11-21 12:20:06 +0100 <Inst> that's probably what's messed up my HLS, i.e, I have multiple cabal files in my VSC directory
2022-11-21 12:20:12 +0100 <dminuoso> Hecate: Oh I see, sort of what we hijack cabal description for, right?
2022-11-21 12:20:19 +0100 <tomsmeding> Inst: that has... never been supported by anything?
2022-11-21 12:20:27 +0100 <dminuoso> (but that only offers a singular place where you can put a cheatsheet)
2022-11-21 12:20:33 +0100 <Inst> i guessed as much
2022-11-21 12:20:35 +0100 <dminuoso> Usually I guess you provide a link to some README.md hosted on github
2022-11-21 12:20:44 +0100 <tomsmeding> Inst: how does that even work with anything :p
2022-11-21 12:20:52 +0100 <Inst> --lib
2022-11-21 12:21:02 +0100 <Inst> also, the cabal files are in different directories
2022-11-21 12:21:11 +0100 <Hecate> dminuoso: thank god I'm not looking for any hack or workaround to do it in haddock today, I live with the knowledge that we'll be able to do it in haddock tomorrow
2022-11-21 12:21:21 +0100 <tomsmeding> Inst: the cabal files are in different directories, but they're in the same directory?
2022-11-21 12:21:27 +0100 <tomsmeding> So which is it lol
2022-11-21 12:21:44 +0100 <Inst> they're in different directories, but VSC is loading all the directories as they're in subhierarchies
2022-11-21 12:21:48 +0100 <dminuoso> Hecate: Is there exciting changes on the horizon? Or is "tomorrow" just some very much unspecified point that is on the future half of the time scale?
2022-11-21 12:21:49 +0100 <tomsmeding> _ah_
2022-11-21 12:21:57 +0100 <Inst> right now, I have an error where all the files I'm working have a complaint "please assign me to module main"
2022-11-21 12:21:58 +0100 <tomsmeding> Inst: that's a standard setup actually
2022-11-21 12:22:14 +0100 <Inst> ack, well, excuse me, i'm STILL not feeling well
2022-11-21 12:22:18 +0100 <Inst> i should go debug that error
2022-11-21 12:22:22 +0100 <Inst> so I can get rid of accused --lib
2022-11-21 12:22:46 +0100 <tomsmeding> Inst: one way to make haskell tooling understand your collection of projects is to put a cabal.project in the parent folder (i.e. your VSC folder I guess?) with packages: folder1/ folder2/ ...
2022-11-21 12:22:59 +0100 <tomsmeding> but that _should_ not be necessary
2022-11-21 12:23:22 +0100 <Inst> it could also be the extensions dueling with each other, as I have Rust and Julia support on VSC
2022-11-21 12:23:24 +0100 <Hecate> dminuoso: I will have to underpromise on that one, but rest assured that the next technical changes in haddock will enable more UI/UX work to be done
2022-11-21 12:24:04 +0100 <Inst> also what is a cabal.project file?
2022-11-21 12:24:10 +0100 <Inst> my cabal init tends to produce x.cabal
2022-11-21 12:24:34 +0100 <tomsmeding> Inst: https://cabal.readthedocs.io/en/3.8/cabal-project.html
2022-11-21 12:24:40 +0100 <tomsmeding> separate thing
2022-11-21 12:24:43 +0100 <tomsmeding> optional
2022-11-21 12:25:01 +0100 <tomsmeding> it's kiiiinda like stack.yaml but larger-scoped
2022-11-21 12:25:08 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 248 seconds)
2022-11-21 12:25:16 +0100xff0x(~xff0x@ai071162.d.east.v6connect.net)
2022-11-21 12:25:18 +0100 <tomsmeding> seeing as there's packages:, with-compiler:, etc
2022-11-21 12:25:41 +0100 <Inst> is it ill-advised to dump your pastebin into my global cabal file?
2022-11-21 12:25:45 +0100 <Inst> cabal.config file?
2022-11-21 12:25:50 +0100 <tomsmeding> oh yeah don't do that
2022-11-21 12:26:31 +0100 <tomsmeding> the idea of a cabal.project is that it you can put that in the top level directory of a repository, to have shared configuration for the various haskell packages in subdirectories
2022-11-21 12:27:13 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 12:27:18 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-11-21 12:27:30 +0100 <Inst> see, the thing is
2022-11-21 12:27:37 +0100 <Inst> VSC is reading my entire Haskell directory as one project
2022-11-21 12:28:49 +0100 <Inst> that's interesting, cabal is just hanging on trying to install accelerate
2022-11-21 12:28:52 +0100 <tomsmeding> Inst: try creating a hie.yaml file in your Haskell directory with these contents https://paste.tomsmeding.com/ngjWTcJQ (modify paths to the actual subdirrectory names)
2022-11-21 12:28:59 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2022-11-21 12:29:12 +0100 <tomsmeding> that may direct HLS to do the right thing (only HLS reads hie.yaml, cabal doesn't care about it)
2022-11-21 12:30:34 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-21 12:30:43 +0100teo(~teo@user/teo)
2022-11-21 12:31:22 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 12:31:32 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 248 seconds)
2022-11-21 12:31:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 12:36:18 +0100yuribarros(~Srain@2804:14c:65e4:865c::1000)
2022-11-21 12:37:19 +0100 <Inst> i ran implicit-hie and got a crash
2022-11-21 12:37:20 +0100 <Inst> ;_;
2022-11-21 12:37:40 +0100 <Inst> yeah, ummm, okay
2022-11-21 12:37:46 +0100 <Inst> i'll try that later, but otherwise, not going to try it
2022-11-21 12:37:51 +0100 <Inst> i'm pretty reckless with my haskell folder
2022-11-21 12:37:56 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 248 seconds)
2022-11-21 12:37:57 +0100 <Inst> like, i have 20-40 different projects
2022-11-21 12:38:04 +0100 <Inst> i have an entire folder named scratch which is done without cabal files, etc
2022-11-21 12:38:32 +0100 <Inst> considering that, might be a good idea to clean up the haskell folder and port the projects i actually care about to the new one
2022-11-21 12:39:40 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-11-21 12:41:02 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-21 12:41:06 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
2022-11-21 12:41:11 +0100chromoblob(~user@37.113.164.122)
2022-11-21 12:41:53 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 12:42:44 +0100 <yuribarros> Anyone can help with this issue:
2022-11-21 12:42:46 +0100 <yuribarros> https://github.com/albertov/bindings-gdal/issues/20
2022-11-21 12:42:52 +0100 <yuribarros> Thanks in advance!
2022-11-21 12:44:36 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 12:45:44 +0100 <dminuoso> yuribarros: You have already done the right thing. :)
2022-11-21 12:46:13 +0100 <dminuoso> That library has not followed https://gitlab.haskell.org/haskell/prime/-/wikis/libraries/proposals/monad-fail
2022-11-21 12:46:21 +0100 <dminuoso> (And thus has incorrect base bounds)
2022-11-21 12:46:40 +0100 <dminuoso> Well I guess any package without an upper base constraint is incorrect.
2022-11-21 12:48:28 +0100nate4(~nate@98.45.169.16)
2022-11-21 12:48:30 +0100 <jackdk> One of these days I will write up my rant about stack's default templates, because it's very fond of generating <5 upper bounds on base
2022-11-21 12:51:17 +0100 <yuribarros> @dminuoso Thanks. I thought this was related to GHC version.
2022-11-21 12:51:17 +0100 <lambdabot> Unknown command, try @list
2022-11-21 12:51:25 +0100 <dminuoso> yuribarros: It is.
2022-11-21 12:51:36 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-21 12:51:40 +0100 <dminuoso> yuribarros: Each GHC version has a corresponding base package at a particular version.
2022-11-21 12:52:01 +0100 <dminuoso> They are decoupled for other reasons, which from a casual user perspective is sadly terribly confusing.
2022-11-21 12:52:07 +0100 <yuribarros> But it should be identified in the cabal file, right?
2022-11-21 12:52:18 +0100 <dminuoso> Yes, but it has an incorrect wide open bound on the base version
2022-11-21 12:52:28 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 12:52:33 +0100 <dminuoso> https://github.com/albertov/bindings-gdal/blob/master/bindings-gdal.cabal#L81
2022-11-21 12:53:14 +0100 <dminuoso> Nobody can tell you when, or if, we ever reach base 5.0. So this essentially says "compatible with all future GHC versions until some indeterminate time in the future"
2022-11-21 12:53:37 +0100nate4(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-11-21 12:54:41 +0100zeenk(~zeenk@2a02:2f04:a208:3600::7fe)
2022-11-21 12:54:50 +0100 <yuribarros> I understand now. So theoretically it's just a matter of finding the upper constraint for base?
2022-11-21 12:55:14 +0100 <dminuoso> That will at least improve the quality of the package, but will leave you with sorrow if you want or must use a newer GHC version.
2022-11-21 12:55:55 +0100 <dminuoso> Presumably 8.4 should work
2022-11-21 12:57:04 +0100 <dminuoso> A better solution is to a) either make changes following the monad fail proposal wiki entry linked above, or b) just supply a MonadFail instance and tighten the lower bound (as to not support older GHC anymore)
2022-11-21 12:58:53 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1)
2022-11-21 13:00:07 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-21 13:01:37 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
2022-11-21 13:01:43 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 13:02:13 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-21 13:03:06 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 13:03:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1) (Ping timeout: 256 seconds)
2022-11-21 13:08:49 +0100 <yuribarros> Thank you @dminuoso. So I'll try to figure out this base version and try to work something to use a newer GHC later (or even hopefully I get the response of the maintainer before this)
2022-11-21 13:09:22 +0100 <dminuoso> yuribarros: The above wiki has all the bits necessary to make the adaption.
2022-11-21 13:09:27 +0100 <dminuoso> Feel free to ask if you need further help
2022-11-21 13:09:56 +0100 <dminuoso> Or maybe not mmm
2022-11-21 13:10:55 +0100 <dminuoso> It has at least some of the bits, depending on which path you chose.
2022-11-21 13:11:25 +0100califax(~califax@user/califx) (Write error: Connection reset by peer)
2022-11-21 13:11:25 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer)
2022-11-21 13:12:40 +0100 <yuribarros> Nice. I may be adventurous myself and make a fork x) I'll figure out later. I'll study the monadfail class, this should be a nice exercise.
2022-11-21 13:13:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 13:13:17 +0100califax(~califax@user/califx)
2022-11-21 13:13:58 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 13:15:36 +0100 <yuribarros> It even has a section "adapting old code", very convenient
2022-11-21 13:15:42 +0100 <dminuoso> yuribarros: I'll give you a slight hint, however. You will not need a MonadFail insatnce. :)
2022-11-21 13:15:57 +0100 <dminuoso> (That's with the understanding *where* and *why* the error occurs)
2022-11-21 13:16:30 +0100 <dminuoso> Take note that this error does not occur in the library, just in this tiny executable.
2022-11-21 13:16:59 +0100 <yuribarros> I actually tried this yesterday, it looked like the obvious solution
2022-11-21 13:17:41 +0100 <yuribarros> The more you learn
2022-11-21 13:19:02 +0100bw_(sid2730@user/betawaffle) ()
2022-11-21 13:19:42 +0100bw_(sid2730@id-2730.ilkley.irccloud.com)
2022-11-21 13:22:03 +0100bw_betawaffle
2022-11-21 13:22:49 +0100betawaffle(sid2730@id-2730.ilkley.irccloud.com) (Changing host)
2022-11-21 13:22:49 +0100betawaffle(sid2730@user/betawaffle)
2022-11-21 13:22:49 +0100betawafflebw
2022-11-21 13:30:49 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-11-21 13:32:16 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-11-21 13:34:01 +0100 <Profpatsch> Has anybody tried a HasField-based approach to environment passing?
2022-11-21 13:35:17 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-21 13:35:19 +0100 <Profpatsch> e.g. startServer :: (HasField "database" conf DB, Monad m) => conf -> m ()
2022-11-21 13:35:22 +0100Guest61(~Guest61@213.231.141.4)
2022-11-21 13:35:56 +0100xilo(~yourname@84.32.165.17) (Changing host)
2022-11-21 13:35:56 +0100xilo(~yourname@user/xilo)
2022-11-21 13:36:32 +0100 <Profpatsch> Or in combination with RIO: (HasField "database" env DB) => RIO env ()
2022-11-21 13:37:37 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-11-21 13:38:27 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 256 seconds)
2022-11-21 13:39:19 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 13:39:53 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Client Quit)
2022-11-21 13:46:54 +0100 <dminuoso> Profpatsch: Its somewhat frequently seen with optics/lens
2022-11-21 13:47:27 +0100 <dminuoso> (see makeClassy)
2022-11-21 13:48:09 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 13:50:26 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2022-11-21 13:50:46 +0100 <probie> I've seen it, but never done it. I prefer something concrete like `HasDatabase env`.
2022-11-21 13:52:23 +0100 <dminuoso> Well, I suppose makeClassy could be adapted to the sake effect
2022-11-21 13:56:43 +0100 <jean-paul[m]> I have a toy project where I tried the HasX approach but I had a lot of Xs and it got really annoying really quickly. I was going to try to figure out something more succinct but I haven't gotten back to it since then.
2022-11-21 13:58:42 +0100 <dminuoso> The HasX approach is nice if you have a lot of duplication going on
2022-11-21 13:58:54 +0100califax(~califax@user/califx)
2022-11-21 13:59:55 +0100 <dminuoso> Its not entirely random you see this more frequently with lens/optics, since if you have these deeply nested types, where you have repetition of some structures, that you can suddenly write code that works polymorphic over anything that has the same shared structure in them somewhere
2022-11-21 14:01:08 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-11-21 14:02:02 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 14:03:55 +0100jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-11-21 14:04:42 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-21 14:06:28 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 248 seconds)
2022-11-21 14:08:20 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-11-21 14:18:41 +0100Guest75(~Guest75@178.141.130.118)
2022-11-21 14:21:08 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-11-21 14:23:00 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-11-21 14:24:22 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 252 seconds)
2022-11-21 14:24:27 +0100 <Dominik[m]1> Yes. I think the HasX approach is especially useful if you have many different data types having X. But it does not work too well if you only have a few data types with many different Xs (e.g., X, Y, Z, ...), so to speak.
2022-11-21 14:26:23 +0100accord(uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-11-21 14:26:34 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 14:28:36 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 255 seconds)
2022-11-21 14:35:14 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 14:39:50 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Read error: Connection reset by peer)
2022-11-21 14:40:04 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-11-21 14:41:04 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-21 14:42:12 +0100jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 248 seconds)
2022-11-21 14:44:17 +0100mei(~mei@user/mei)
2022-11-21 14:44:21 +0100 <merijn> Profpatsch: tbh, I don't really like that approach, since it's fairly verbose and leaking a bunch of internal info
2022-11-21 14:45:04 +0100 <kuribas> If possible, I prefer monomorphic functions, and I just extract the right handle from the environment.
2022-11-21 14:45:30 +0100mei__(~mei@user/mei)
2022-11-21 14:45:43 +0100 <merijn> kuribas: The polymorphism can be nice, but that's very little benefit to "HasDatabase env" vs an mtl-style "MonadDatabase m"
2022-11-21 14:46:30 +0100 <dminuoso> Note that you can also invert the control here:
2022-11-21 14:46:43 +0100 <kuribas> merijn: what else is there?
2022-11-21 14:46:44 +0100sawilagar(~sawilagar@user/sawilagar)
2022-11-21 14:46:50 +0100 <dminuoso> withReaderT :: (r' -> r) -> ReaderT r m a -> ReaderT r' m a
2022-11-21 14:46:52 +0100 <carbolymer> merijn: well, you don't have write instances for classes everywhere
2022-11-21 14:47:12 +0100mei_(~mei@user/mei) (Ping timeout: 256 seconds)
2022-11-21 14:47:23 +0100 <dminuoso> Things like that let you express code rather as `RIO MyType s` and you just select the environment at the call site.
2022-11-21 14:47:23 +0100 <carbolymer> merijn: imo `HasDatabase m` is more flexible
2022-11-21 14:47:56 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-21 14:48:02 +0100 <dminuoso> carbolymer: Its less flexible since you have less information.
2022-11-21 14:48:36 +0100 <dminuoso> With MonadDatabase it is implied you also be supplied with methods like `connect :: MonadDatabase m => m ()`
2022-11-21 14:48:47 +0100 <merijn> carbolymer: You only have to write "classes everywhere" if you plan to have tons of instances, in which case I will argue "you are doing it wrong"
2022-11-21 14:48:50 +0100 <dminuoso> (Or rather, you can simply conjure their existence)
2022-11-21 14:49:10 +0100mei(~mei@user/mei) (Ping timeout: 260 seconds)
2022-11-21 14:49:57 +0100 <kuribas> I just do "inner :: MyDbHandle -> ...", "outer :: Env -> ... ; outer env = ... inner (getHandle env) ...
2022-11-21 14:50:19 +0100 <kuribas> merijn: what's wrong with this?
2022-11-21 14:50:51 +0100 <kuribas> no polymorphism, type classes, or monad stacks needed.
2022-11-21 14:50:53 +0100 <carbolymer> dminuoso: `HasDatabase m` implies that you can extract some DB type from `m` with all those methods you need
2022-11-21 14:52:05 +0100 <carbolymer> s/methods/functions
2022-11-21 14:52:05 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-11-21 14:52:16 +0100 <carbolymer> (you can leave java, but java won't leave you)
2022-11-21 14:52:44 +0100 <merijn> kuribas: That's nice if you know the structure of your entire code, but if you're doing exploratory stuff and dunno where to put everything
2022-11-21 14:52:44 +0100Guest61(~Guest61@213.231.141.4) (Quit: Client closed)
2022-11-21 14:53:25 +0100enoq(~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
2022-11-21 14:53:26 +0100 <kuribas> merijn: huh? I just use the handle if needed, how does that imply that I need to know the whole structure?
2022-11-21 14:55:19 +0100 <carbolymer> merijn: well not everywhere, but I had to maintain a few redundant instances, one proper one, one for tests, one for one level-higher monad stack used in this weird part of the codebase - too much of boilerplate; for me `Has Db env, MonadReader env m => m ()` seems to be the sweet spot
2022-11-21 14:57:29 +0100gentauro(~gentauro@user/gentauro)
2022-11-21 15:00:31 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1)
2022-11-21 15:00:43 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-21 15:01:21 +0100akegalj(~akegalj@141-136-210-147.dsl.iskon.hr)
2022-11-21 15:03:42 +0100jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
2022-11-21 15:04:57 +0100 <merijn> kuribas: If something deeply nested needs access to the database you have refactor the entire transitive call tree to pass the argument
2022-11-21 15:05:02 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1) (Ping timeout: 255 seconds)
2022-11-21 15:05:22 +0100chromoblob(~user@37.113.164.122)
2022-11-21 15:05:22 +0100 <merijn> carbolymer: tbh, MonadReader (and all of the classes in mtl) are giant anti-patterns, imo
2022-11-21 15:05:34 +0100 <carbolymer> merijn: why?
2022-11-21 15:06:15 +0100 <carbolymer> I mean, I see the point for the other ones; but what's wrong with MonadReader?
2022-11-21 15:06:32 +0100 <kuribas> merijn: no, I just pass the env
2022-11-21 15:06:55 +0100chromoblob(~user@37.113.164.122) (Read error: Connection reset by peer)
2022-11-21 15:07:20 +0100 <merijn> carbolymer: They don't compose, you can only have a single instance in your code, so you can never have it in a public API (that'd prevent people from using their own) and it's just to generic
2022-11-21 15:08:03 +0100 <merijn> kuribas: My point is, that if my program suddenly needs some db logic somewhere 10 calls away from where the Env is currently available, I need to modify the entire transitive call tree of those 10 calls to pass Env
2022-11-21 15:08:04 +0100 <carbolymer> merijn: so what instead? specialized classes like `MonadEnvironment` ?
2022-11-21 15:08:19 +0100 <kuribas> merijn: https://jaspervdj.be/posts/2018-03-08-handle-pattern.html
2022-11-21 15:08:31 +0100 <merijn> carbolymer: Yes, the more (program) specific, the better
2022-11-21 15:08:45 +0100 <kuribas> merijn: well, otherwise you have to add a typeclass to 10 calls
2022-11-21 15:09:19 +0100 <merijn> carbolymer: MonadLogger/MonadDatabase, etc. will only have a single sensible meaning within an application
2022-11-21 15:09:30 +0100 <kuribas> merijn: but in my case those 10 calls already have an env
2022-11-21 15:09:42 +0100 <merijn> kuribas: Well, *most* of my code is monomorphic where possible, so I don't have to add that when the class exists
2022-11-21 15:10:09 +0100 <merijn> kuribas: Even functions that use nothing from the handle? you just always blindly pass a dummy argument?
2022-11-21 15:10:20 +0100 <merijn> And if you do, how is that different from just using ReaderT? :)
2022-11-21 15:10:23 +0100chromoblob(~user@37.113.164.122)
2022-11-21 15:10:33 +0100 <kuribas> merijn: not mutch :)
2022-11-21 15:10:56 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-11-21 15:11:18 +0100 <kuribas> merijn: where do you get the database handle from, if you are not passing it, and not using a typeclass?
2022-11-21 15:13:36 +0100 <dminuoso> merijn: I think its difficult to generalize.
2022-11-21 15:13:39 +0100constxd(~brad@77.241.136.117.bredband.3.dk) (Ping timeout: 260 seconds)
2022-11-21 15:13:49 +0100 <dminuoso> For some of our programs, having a big Env that has just everything inside is perfectly fine.
2022-11-21 15:14:11 +0100 <dminuoso> Yes it exposes a bit much, but honestly the trade off is just simplicity in implementation
2022-11-21 15:14:13 +0100 <kuribas> and use a smaller env for independent subsystems
2022-11-21 15:14:38 +0100 <dminuoso> If experience shows its not abused and does not lead to problems, we have effectively saved time compared to carrying a dozen different environment types and zooming in at the appropriate places
2022-11-21 15:14:58 +0100 <kuribas> this
2022-11-21 15:15:37 +0100 <albet70> why Data.List doesn't have splitOn?
2022-11-21 15:15:55 +0100 <dminuoso> albet70: Because Data.List is not well suited for that type of operation.
2022-11-21 15:16:06 +0100 <albet70> let String as [Char], but why not splitOn?
2022-11-21 15:16:27 +0100 <albet70> but String is always needed splitOn
2022-11-21 15:16:45 +0100 <albet70> what's the suggestion? turn it to Text?
2022-11-21 15:16:47 +0100 <dminuoso> Yes.
2022-11-21 15:16:54 +0100 <dminuoso> Precisely because String ~ [Char]
2022-11-21 15:17:06 +0100 <albet70> wtf?
2022-11-21 15:17:41 +0100 <dminuoso> albet70: comparing substrings is already quite poor in complexity, if you do this with [Char] you do not even have locality of reference.
2022-11-21 15:18:00 +0100 <dminuoso> s/substrings/strings.
2022-11-21 15:22:47 +0100 <albet70> if I want a string split, turn String to Text, do splitOn, turn Text to String, this is insane
2022-11-21 15:23:06 +0100 <dminuoso> String is not really good for textual processing.
2022-11-21 15:23:13 +0100 <dminuoso> It's one of the biggest historical accidents we have.
2022-11-21 15:23:41 +0100 <dminuoso> I mean you can conjure up a splitOn if you like, the `extra` package can show you how
2022-11-21 15:23:43 +0100 <albet70> so when you guys will fix it? do you have a plan?
2022-11-21 15:24:10 +0100 <dminuoso> I do not think this will happen any time soon.
2022-11-21 15:24:12 +0100 <dminuoso> If ever.
2022-11-21 15:24:40 +0100 <dminuoso> albet70: You can also just consider switching into Text and *sticking* to it.
2022-11-21 15:24:50 +0100 <dminuoso> Which is what haskellers that do text processing tend to do
2022-11-21 15:25:30 +0100 <dminuoso> OIr you use something like `split`
2022-11-21 15:26:09 +0100 <albet70> but some type like FilePath is define as String not Text in some libraries
2022-11-21 15:26:22 +0100 <dminuoso> Thing is, if you want this fast you should do something liek Rabin-Karp (which bytestring uses, for instance)
2022-11-21 15:26:26 +0100 <albet70> String is very used in a lot of lib
2022-11-21 15:26:37 +0100 <dminuoso> albet70: `type FilePath = String` is a prelude type alias.
2022-11-21 15:26:39 +0100 <dminuoso> And yes.
2022-11-21 15:26:48 +0100 <maerwald[m]> albet70: the new filepath is not String
2022-11-21 15:26:57 +0100 <dminuoso> All hail maerwald[m] :)
2022-11-21 15:27:10 +0100 <maerwald[m]> https://hasufell.github.io/posts/2022-06-29-fixing-haskell-filepaths.html
2022-11-21 15:28:14 +0100 <albet70> this will relate to another question, some lib are only with the old version of ghc
2022-11-21 15:28:48 +0100 <albet70> some are specific, not too old, not too new
2022-11-21 15:28:58 +0100 <dminuoso> Question, can you do robin-karp on utf8?
2022-11-21 15:29:16 +0100 <dminuoso> Or do you just have to pad each codepoint to 4 octets for that?
2022-11-21 15:30:05 +0100comerijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl)
2022-11-21 15:30:14 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 15:30:59 +0100srz(~srz@181.228.49.93)
2022-11-21 15:31:10 +0100 <albet70> I don't understand what do you mean
2022-11-21 15:31:30 +0100Sgeo(~Sgeo@user/sgeo)
2022-11-21 15:32:55 +0100merijn(~merijn@c-001-001-012.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-11-21 15:33:30 +0100 <dminuoso> albet70: So `bytestring` uses robin-karp for breakSubstring for example (which you could use to trivially build a splitOn around), which is quite nice because in many cases works in linear time
2022-11-21 15:34:04 +0100 <dminuoso> `text` does it quite manual with o(m+n) which is still fairly good
2022-11-21 15:35:06 +0100 <dminuoso> or well, it does *something*, not sure what.
2022-11-21 15:35:56 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-11-21 15:36:08 +0100 <dminuoso> No explanatory note in the introducing commit, sadly
2022-11-21 15:36:14 +0100 <dminuoso> https://hackage.haskell.org/package/text-2.0.1/docs/src/Data.Text.Internal.Search.html#indices%27
2022-11-21 15:37:48 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-11-21 15:40:38 +0100img(~img@user/img)
2022-11-21 15:42:43 +0100lucerne(~lucerne@5.116.75.203)
2022-11-21 15:43:04 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 15:43:38 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.7.1)
2022-11-21 15:44:53 +0100 <albet70> ok
2022-11-21 15:46:21 +0100 <albet70> {do; a <- param "a"; b <- param "b" ...}, could it be with traverse?
2022-11-21 15:47:01 +0100 <dminuoso> albet70: Not sure, perhaps. It depends on what goes into `...`
2022-11-21 15:49:01 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-21 15:50:02 +0100 <[exa]> albet70: `[a,b] <- traverse param ["a","b"]` could work but at that point the variable names start getting mildly disconnected from the param names?
2022-11-21 15:50:44 +0100sawilagar_(~sawilagar@user/sawilagar)
2022-11-21 15:51:33 +0100 <dminuoso> [exa]: I see. We need a new extension called VerticalLayouts https://gist.github.com/dminuoso/ac3a697ed7a0d9b75e874f4dede8454e
2022-11-21 15:51:52 +0100 <dminuoso> ski probably knows a language or two that has such layouting rules.
2022-11-21 15:51:58 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-21 15:51:58 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-21 15:51:58 +0100wroathe(~wroathe@user/wroathe)
2022-11-21 15:52:17 +0100 <dminuoso> (I do *not* want to write a parser for that)
2022-11-21 15:52:50 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 240 seconds)
2022-11-21 15:53:32 +0100 <albet70> that get "/:path:/:to" in scotty is very silly to capture all unknow path, so I trying to use function to instead that lots of "param"
2022-11-21 15:53:51 +0100 <[exa]> (the annoying part of my brain just started scheming how easy this would be to represent with 2D packrat parsers)
2022-11-21 15:55:05 +0100 <[exa]> albet70: maybe make a small wrapper that can do something like `gluedRoute ["path","to"] $ \path to -> do stuff...` ?
2022-11-21 15:55:12 +0100mikoto-chan(~mikoto-ch@164.5.249.78) (Read error: Connection reset by peer)
2022-11-21 15:57:02 +0100 <dminuoso> You will want to use tuples + typeclass instead if the number of params varies.
2022-11-21 15:57:14 +0100 <dminuoso> gluedRoute ("path", "to") \path to -> ...
2022-11-21 15:57:24 +0100 <dminuoso> gluedRoute ("path", "to", "thing") \path to thing -> ...
2022-11-21 15:57:43 +0100constxd(~brad@77.241.136.168.bredband.3.dk)
2022-11-21 15:57:51 +0100 <albet70> the problem is scotty use get "/:path/:to" do ... to capture the url
2022-11-21 15:58:07 +0100 <dminuoso> albet70: well you can use gluedRoute to do both.
2022-11-21 15:59:13 +0100 <dminuoso> A monomorphic version might be: gluedRoute (a,b) f = get ("/:" <> a <> "/:" <> b) (f <$> param a <*> param b)
2022-11-21 15:59:25 +0100 <albet70> @hoogle gluedRoute
2022-11-21 15:59:25 +0100 <lambdabot> No results found
2022-11-21 16:00:19 +0100 <albet70> but the url is not just two level some times
2022-11-21 16:00:41 +0100 <albet70> it may be a/b/c or a/b/c/d
2022-11-21 16:00:59 +0100 <dminuoso> You can either write a bunch of functions `gluedRoute2`, `gluedRoute3`, or `gluedRoute4`, or combine them into a typeclass
2022-11-21 16:01:12 +0100 <albet70> so need `get "/:a/:b/:c"
2022-11-21 16:01:34 +0100 <albet70> how?
2022-11-21 16:01:38 +0100 <dminuoso> How what?
2022-11-21 16:01:58 +0100 <albet70> combine them into a typeclass? and how that avoid those?
2022-11-21 16:02:28 +0100 <dminuoso> albet70: well with a typeclass you could hide gluedRoute2, gluedRoute3, gluedRoute4, etc behind a single method `gluedRoute`
2022-11-21 16:03:14 +0100 <albet70> this gluedRoute it may have one parameter, two, three, or four, it's always unknown
2022-11-21 16:03:35 +0100 <dminuoso> But the typeclass trick involves some extensions and is a bit more complicated. Given that I get the impression you are newer to the language, I suggest you start with gluedRoute2, gluedRoute3, gluedRoute4, etc approach.
2022-11-21 16:03:42 +0100 <albet70> because the url leve is unknown
2022-11-21 16:03:56 +0100 <dminuoso> Which is fine, because you know how many arguments go in there. And then you dont need a tuple either.
2022-11-21 16:04:30 +0100 <albet70> no, I don't know how many arguments
2022-11-21 16:04:51 +0100 <dminuoso> At each call site you do
2022-11-21 16:05:02 +0100 <albet70> yes
2022-11-21 16:05:43 +0100 <albet70> how to define one function to do them all
2022-11-21 16:06:31 +0100 <dminuoso> Just write them out manually
2022-11-21 16:07:44 +0100 <albet70> so I have to write gluedRoute, gluedRoute2, and glueRoute3, etc, but I want a glueRouteX
2022-11-21 16:08:27 +0100 <dminuoso> It is possible to write a generalized gluedRouteX, but it will involve quite a few complicated extensions.
2022-11-21 16:08:32 +0100 <dminuoso> https://gist.github.com/dminuoso/b4deb2d5e5e53e8f414973697a635e40
2022-11-21 16:08:37 +0100 <dminuoso> This is *much* easier.
2022-11-21 16:09:07 +0100 <tomsmeding> dminuoso: https://en.wikipedia.org/wiki/Epigram_(programming_language)
2022-11-21 16:09:40 +0100 <dminuoso> tomsmeding: oh fancy! nice
2022-11-21 16:10:11 +0100constxd(~brad@77.241.136.168.bredband.3.dk) (Ping timeout: 268 seconds)
2022-11-21 16:10:34 +0100 <dminuoso> albet70: Sometimes programmers have an unhealthy aversion to boilerplate or repetition. It takes a while to recognize when is better to just succumb to it.
2022-11-21 16:13:28 +0100 <kuribas> dminuoso: yeah. Especially if the boilerplate is automatically checked.
2022-11-21 16:14:22 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
2022-11-21 16:14:23 +0100 <[exa]> ah I messed up my example there
2022-11-21 16:14:51 +0100 <kuribas> dminuoso: the problem with repetition is when the repeated part can become inconsistent.
2022-11-21 16:14:52 +0100 <[exa]> should have been `gluedRoute ["a", "b"] $ \a b -> do ...`
2022-11-21 16:15:12 +0100 <kuribas> But if that cannot happen, IMO boilerplate isn't a big problem.
2022-11-21 16:15:22 +0100 <dminuoso> [exa]: that doesnt look like anything relevant changed there. but it should still be a tuple, see my gist
2022-11-21 16:15:23 +0100 <[exa]> and again :D `gluedRoute ["a", "b"] $ \[a,b] -> do ...` <-- albet70
2022-11-21 16:15:31 +0100 <kuribas> People often obsess over write a little shorter code at price of consideral complexity.
2022-11-21 16:15:44 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-11-21 16:15:50 +0100 <[exa]> yeah the \[a,b] is so unnatural that I messed it up for the second time... wonder if it requires parentheses
2022-11-21 16:16:11 +0100 <dminuoso> kuribas: Of course. I think one thing that quite a few programmers dont do well, is actually putting a value on time, effort and cost.
2022-11-21 16:16:25 +0100 <tomsmeding> dminuoso: there's also https://www.cl.cam.ac.uk/~pes20/ott/paper-long.pdf (see Fig. 1 on p.6)
2022-11-21 16:16:33 +0100 <kuribas> dminuoso: true. I am guily as well :)
2022-11-21 16:17:08 +0100 <dminuoso> A generalization like gluedRouteN is possible, but takes particular extra effort and considerably decreases the quality of diagnostics. You are very likely to lose a lot more time there, than is ever lost on an inconsistency typo you may have in the gluedRoute1/2/3/4 route
2022-11-21 16:18:39 +0100 <dminuoso> And there also comes the cost of readability of yourself if you look at it a week/month/year from now, or when you onboard other maintainers.
2022-11-21 16:24:55 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2022-11-21 16:25:07 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-11-21 16:26:55 +0100acidjnk(~acidjnk@p200300d6e7137a2348c5e2c763436845.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-11-21 16:28:51 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-21 16:29:56 +0100acidjnk(~acidjnk@p200300d6e7137a84584e92a62d782504.dip0.t-ipconnect.de)
2022-11-21 16:33:54 +0100accord(uid568320@id-568320.hampstead.irccloud.com)
2022-11-21 16:34:34 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2022-11-21 16:34:48 +0100opticblast(~Thunderbi@secure-165.caltech.edu) ()
2022-11-21 16:34:54 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2022-11-21 16:36:08 +0100dsrt^(~dsrt@76.145.185.103) (Remote host closed the connection)
2022-11-21 16:36:53 +0100 <codedmart> I am still struggling with this a bit. How would I change this so it was recursive for multiple size lists. This type checks and works but only works for lists of 1, 2, or 3 elements long. https://gist.github.com/codedmart/c7e2fa0b91fc58cae12200d431dc0b07
2022-11-21 16:38:59 +0100 <codedmart> I think what confuses me the most right now is the type level part ex '( or '[ and ':. Then what I have access to where in the type vs the mkId definition.
2022-11-21 16:39:13 +0100 <albet70> func :: String -> IO () could this func return IO String?
2022-11-21 16:39:38 +0100 <geekosaur> albet70, only if you change the type signature. IO () is fixed
2022-11-21 16:40:22 +0100 <albet70> how to construct IO String? since IO isn't data constructor
2022-11-21 16:40:30 +0100 <c_wraith> pure/return
2022-11-21 16:40:36 +0100 <albet70> ok
2022-11-21 16:46:25 +0100 <albet70> dminuoso , this is the code https://paste.tomsmeding.com/TRyxBsLL I think gluedRouteN is possible, but it still need to call gluedRouteN multiple times to match all the diffrent level url
2022-11-21 16:46:57 +0100srk-(~sorki@user/srk)
2022-11-21 16:49:34 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 16:49:51 +0100kenran(~user@user/kenran)
2022-11-21 16:49:58 +0100nate4(~nate@98.45.169.16)
2022-11-21 16:50:12 +0100srk(~sorki@user/srk) (Ping timeout: 248 seconds)
2022-11-21 16:50:12 +0100srk-srk
2022-11-21 16:50:39 +0100constxd(~brad@77.241.136.168.bredband.3.dk)
2022-11-21 16:51:20 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2022-11-21 16:55:12 +0100nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-11-21 16:55:54 +0100mauke(~mauke@schedar.uberspace.de)
2022-11-21 16:56:36 +0100teo(~teo@user/teo) (Ping timeout: 248 seconds)
2022-11-21 16:59:48 +0100razetime(~quassel@117.193.4.209) (Remote host closed the connection)
2022-11-21 17:00:25 +0100mauke(~mauke@schedar.uberspace.de) (Changing host)
2022-11-21 17:00:25 +0100mauke(~mauke@user/mauke)
2022-11-21 17:01:59 +0100tdammers(~tdammers@77.109.72.118.res.static.edpnet.net) (Ping timeout: 268 seconds)
2022-11-21 17:05:29 +0100oyster_ice_cream(~quassel@190.22.9.251)
2022-11-21 17:06:45 +0100Guest75(~Guest75@178.141.130.118) (Quit: Client closed)
2022-11-21 17:07:28 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 17:08:09 +0100constxd(~brad@77.241.136.168.bredband.3.dk) (Ping timeout: 268 seconds)
2022-11-21 17:08:53 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2022-11-21 17:09:41 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-11-21 17:13:33 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2022-11-21 17:16:12 +0100 <sawilagar_> hi guys? could you please explain this:
2022-11-21 17:16:18 +0100 <sawilagar_> ghci> 10252519345963644753026.0 :: Double
2022-11-21 17:16:18 +0100 <sawilagar_> 1.0252519345963644e22
2022-11-21 17:17:02 +0100 <comerijn> What exactly is there to explain?
2022-11-21 17:17:29 +0100 <sawilagar_> looks like point is in the wrong place
2022-11-21 17:17:53 +0100 <sawilagar_> ghci> fromIntegral 10252519345963644753026 :: Double
2022-11-21 17:17:54 +0100 <sawilagar_> 1.0252519345963644e22
2022-11-21 17:17:56 +0100 <dolio> It's in scientific notation.
2022-11-21 17:17:58 +0100 <comerijn> sawilagar_: You might want to look up "scientific notation"
2022-11-21 17:18:09 +0100 <comerijn> Note the e22 at the end
2022-11-21 17:18:28 +0100 <sawilagar_> really, thanks
2022-11-21 17:18:29 +0100 <comerijn> > 1000 == 1e3
2022-11-21 17:18:32 +0100 <lambdabot> True
2022-11-21 17:18:48 +0100 <comerijn> XeN -> X * 10^N
2022-11-21 17:19:41 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2022-11-21 17:19:48 +0100 <mauke> > 1.0252519345963644 * 10^22
2022-11-21 17:19:50 +0100 <lambdabot> 1.0252519345963644e22
2022-11-21 17:20:49 +0100 <sawilagar_> I've actually got problem with this:
2022-11-21 17:20:50 +0100 <sawilagar_> ghci> (fromIntegral 10252519345963644753026 :: Double) == (fromIntegral 10252519345963644753025 :: Double)
2022-11-21 17:20:51 +0100 <sawilagar_> True
2022-11-21 17:21:14 +0100 <comerijn> sawilagar_: Double cannot accurately represent integer values larger than 2^53
2022-11-21 17:21:22 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2022-11-21 17:21:31 +0100 <sawilagar_> could you please advise the proper type?
2022-11-21 17:21:34 +0100 <c_wraith> note that none of this is specific to Haskell. It's how hardware works.
2022-11-21 17:21:36 +0100 <comerijn> (or rather, integer values larger than 2^53 are not guaranteed to be accurately representible)
2022-11-21 17:21:46 +0100 <comerijn> sawilagar_: Integer, for one? :)
2022-11-21 17:21:55 +0100 <c_wraith> What are your requirements for the type?
2022-11-21 17:21:57 +0100 <akegalj> sawilagar_: you could use Rational
2022-11-21 17:22:19 +0100 <comerijn> Yeah, if you can't use Integer because you need divisions/fractions, then Rational would be the way to go
2022-11-21 17:23:04 +0100califax(~califax@user/califx)
2022-11-21 17:23:23 +0100 <sawilagar_> here's my source code, it's a task from CodeWars. and some really large numbers are failing https://pastebin.com/raw/Vm5qv8PS
2022-11-21 17:23:53 +0100 <c_wraith> Rational is great for simple use cases, but it should be avoided in numeric algorithms as the amount of memory required for a Rational value isn't bounded by its magnitude
2022-11-21 17:24:31 +0100 <c_wraith> sawilagar_: that doesn't need a do
2022-11-21 17:25:39 +0100 <c_wraith> I'd recommend turning that logic around so that you never convert to floating point
2022-11-21 17:26:18 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2022-11-21 17:26:21 +0100 <sawilagar_> thanks for your advice, I'll try it
2022-11-21 17:27:01 +0100 <c_wraith> Hmm. That might be tough, depending on how it's called.
2022-11-21 17:30:12 +0100comerijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2022-11-21 17:30:58 +0100srz(~srz@181.228.49.93) (Ping timeout: 256 seconds)
2022-11-21 17:31:42 +0100janus(janus@anubis.0x90.dk) ()
2022-11-21 17:33:26 +0100titibandit(~titibandi@xdsl-87-78-52-100.nc.de)
2022-11-21 17:37:45 +0100oyster_ice_cream(~quassel@190.22.9.251) (Ping timeout: 260 seconds)
2022-11-21 17:38:05 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1)
2022-11-21 17:40:23 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-11-21 17:40:36 +0100jakalx(~jakalx@base.jakalx.net)
2022-11-21 17:40:40 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:9067:f459:5142:c847)
2022-11-21 17:41:14 +0100constxd(~brad@77.241.136.168.bredband.3.dk)
2022-11-21 17:48:01 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-11-21 17:50:21 +0100 <mauke> > let findNb m = case head (dropWhile (\(_, x) -> x < m) buildings) of { (i, x) | x == m -> i; _ -> -1 } where buildings = iterate (\(i, z) -> let i' = i+1 in (i', z + i'^3)) (0, 0) in findNb 1071225
2022-11-21 17:50:23 +0100 <lambdabot> 45
2022-11-21 17:50:48 +0100constxd(~brad@77.241.136.168.bredband.3.dk) (Ping timeout: 256 seconds)
2022-11-21 17:52:30 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 256 seconds)
2022-11-21 17:54:08 +0100tabaqui(~root@88.231.62.215)
2022-11-21 17:56:15 +0100MajorBiscuit(~MajorBisc@145.94.146.35) (Ping timeout: 268 seconds)
2022-11-21 17:56:56 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl)
2022-11-21 17:58:30 +0100Kaiepi(~Kaiepi@108.175.84.104) (Ping timeout: 240 seconds)
2022-11-21 17:59:22 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-11-21 18:04:27 +0100oyster_ice_cream(~quassel@2800:150:111:1f1a:b5ec:7d7d:95d0:903b)
2022-11-21 18:05:59 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-21 18:07:02 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-11-21 18:09:15 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 18:10:50 +0100constxd(~brad@77.241.136.168.bredband.3.dk)
2022-11-21 18:11:33 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-21 18:12:10 +0100oyster_ice_cream(~quassel@2800:150:111:1f1a:b5ec:7d7d:95d0:903b) (Ping timeout: 260 seconds)
2022-11-21 18:12:45 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2022-11-21 18:17:17 +0100mikoto-chan(~mikoto-ch@164.5.249.78)
2022-11-21 18:17:36 +0100cafkafk(~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
2022-11-21 18:18:16 +0100cafkafk(~cafkafk@fsf/member/cafkafk)
2022-11-21 18:21:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 18:22:44 +0100chromoblob(~user@37.113.164.122)
2022-11-21 18:23:28 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 18:24:23 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-11-21 18:25:00 +0100srz(~srz@181.228.49.93)
2022-11-21 18:25:10 +0100titibandit(~titibandi@xdsl-87-78-52-100.nc.de) (Ping timeout: 240 seconds)
2022-11-21 18:26:47 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 18:28:29 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2022-11-21 18:29:00 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-11-21 18:29:52 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-11-21 18:30:47 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-11-21 18:31:15 +0100use-value1(~Thunderbi@2a00:23c6:8a03:2f01:38e4:6025:87e4:a8aa)
2022-11-21 18:31:31 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 260 seconds)
2022-11-21 18:33:10 +0100use-value(~Thunderbi@2a00:23c6:8a03:2f01:9067:f459:5142:c847) (Ping timeout: 240 seconds)
2022-11-21 18:33:10 +0100use-value1use-value
2022-11-21 18:36:51 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-11-21 18:39:07 +0100lagash(lagash@lagash.shelltalk.net) (Remote host closed the connection)
2022-11-21 18:39:55 +0100titibandit(~titibandi@xdsl-78-34-153-165.nc.de)
2022-11-21 18:41:25 +0100oyster_ice_cream(~quassel@2800:150:111:1f1a:b5ec:7d7d:95d0:903b)
2022-11-21 18:43:35 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl)
2022-11-21 18:44:46 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-11-21 18:45:00 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2022-11-21 18:45:23 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-11-21 18:45:26 +0100lagash(lagash@lagash.shelltalk.net)
2022-11-21 18:47:45 +0100arjun(~user@user/arjun)
2022-11-21 18:48:10 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-11-21 18:48:11 +0100dknite(~dknite@65.20.68.77) (Remote host closed the connection)
2022-11-21 18:50:11 +0100nschoe(~q@141.101.51.197) (Ping timeout: 260 seconds)
2022-11-21 18:51:59 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-11-21 18:52:38 +0100cailtb^(~cailtb@76.145.185.103)
2022-11-21 18:53:00 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2022-11-21 18:58:42 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 19:01:54 +0100econo(uid147250@user/econo)
2022-11-21 19:02:07 +0100 <dminuoso> albet70: It depends on whether you want to capture parameters or not.
2022-11-21 19:02:35 +0100 <dminuoso> albet70: If you do, then gluedRouteN is complicated to write and requires several GHC extensions
2022-11-21 19:03:20 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 19:03:28 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-11-21 19:03:35 +0100 <dminuoso> albet70: And in the end, you *still* need to implement each length individually *anyway*
2022-11-21 19:03:43 +0100 <dminuoso> That is, you do not get around that part unless you also use TemplateHaskell.
2022-11-21 19:04:23 +0100 <dminuoso> But if you start using compile-time metaprogramming and several type extensions, all that for the mere comfort of using just `gluedRouteN` instead of gluedRoute1, gluedRoute2, gluedRoute3, gluedRoute4, you should seriously reevaluate your life choices that led you up to this point.
2022-11-21 19:04:47 +0100 <dminuoso> It will require much more code to write, be much more complicated, induce a lot more problems.
2022-11-21 19:05:58 +0100 <dminuoso> albet70: If you do want this automatic capturing in some way, look into servant. Be aware, that servant is a plethora of complicated type level tricks to accomplish exactly that. It's very complicated.
2022-11-21 19:09:42 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 19:13:17 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2022-11-21 19:13:17 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2022-11-21 19:13:17 +0100wroathe(~wroathe@user/wroathe)
2022-11-21 19:14:21 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 19:18:22 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-11-21 19:19:01 +0100acidjnk(~acidjnk@p200300d6e7137a84584e92a62d782504.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-11-21 19:19:45 +0100sawilagar__(~sawilagar@user/sawilagar)
2022-11-21 19:19:47 +0100sawilagar_(~sawilagar@user/sawilagar) (Remote host closed the connection)
2022-11-21 19:19:58 +0100dtman34(~dtman34@2601:447:d000:93c9:90e9:6a34:e614:99b9)
2022-11-21 19:24:26 +0100sawilagar__(~sawilagar@user/sawilagar) (Ping timeout: 268 seconds)
2022-11-21 19:24:44 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds)
2022-11-21 19:25:05 +0100dtman34(~dtman34@2601:447:d000:93c9:90e9:6a34:e614:99b9) (Ping timeout: 260 seconds)
2022-11-21 19:33:11 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-11-21 19:33:58 +0100arjun(~user@user/arjun) (Remote host closed the connection)
2022-11-21 19:36:28 +0100akegalj(~akegalj@141-136-210-147.dsl.iskon.hr) (Quit: leaving)
2022-11-21 19:38:06 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2022-11-21 19:38:44 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-21 19:39:03 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-11-21 19:41:34 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-21 19:48:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 19:58:55 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:745a:dad5:a10b:a4d7) (Ping timeout: 260 seconds)
2022-11-21 19:59:05 +0100Player-205[m](~sashaserp@2001:470:69fc:105::2:30b8)
2022-11-21 20:04:22 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 20:06:01 +0100ub(~Thunderbi@91.141.78.146.wireless.dyn.drei.com)
2022-11-21 20:06:52 +0100lechner(~lechner@debian/lechner) (Remote host closed the connection)
2022-11-21 20:10:09 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2022-11-21 20:10:46 +0100constxd(~brad@77.241.136.168.bredband.3.dk) (Ping timeout: 256 seconds)
2022-11-21 20:11:04 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-11-21 20:13:07 +0100MajorBiscuit(~MajorBisc@2a02-a461-129d-1-6d4c-38a4-18b7-4b48.fixed6.kpn.net)
2022-11-21 20:15:37 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1) (Remote host closed the connection)
2022-11-21 20:17:28 +0100chromoblob(~user@37.113.164.122) (Ping timeout: 268 seconds)
2022-11-21 20:19:33 +0100acidjnk(~acidjnk@p200300d6e7137a84584e92a62d782504.dip0.t-ipconnect.de)
2022-11-21 20:20:24 +0100jonathanx(~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2022-11-21 20:21:37 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-11-21 20:22:15 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-21 20:24:35 +0100opticblast(~Thunderbi@secure-165.caltech.edu) (Ping timeout: 260 seconds)
2022-11-21 20:24:59 +0100InstX1(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
2022-11-21 20:25:45 +0100Inst(~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 260 seconds)
2022-11-21 20:27:24 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1)
2022-11-21 20:28:42 +0100constxd(~brad@77.68.183.226)
2022-11-21 20:29:20 +0100gmg(~user@user/gehmehgeh)
2022-11-21 20:31:56 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 20:33:23 +0100Erutuon(~Erutuon@user/erutuon)
2022-11-21 20:37:05 +0100lucerne(~lucerne@5.116.75.203) (Read error: Connection reset by peer)
2022-11-21 20:38:42 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-11-21 20:40:20 +0100constxd(~brad@77.68.183.226) (Ping timeout: 260 seconds)
2022-11-21 20:42:03 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-11-21 20:42:07 +0100caryhartline(~caryhartl@107-140-218-181.lightspeed.rcsntx.sbcglobal.net) (Quit: caryhartline)
2022-11-21 20:44:59 +0100 <oats> heyo, what does the "hls-powered" note mean on ghc entries in `ghcup tui`?
2022-11-21 20:45:17 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-11-21 20:46:54 +0100 <yushyin> which ghc version has hls support, see also https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html
2022-11-21 20:48:08 +0100ft(~ft@p508dbd59.dip0.t-ipconnect.de)
2022-11-21 20:48:23 +0100coot(~coot@213.134.171.3)
2022-11-21 20:48:25 +0100mei__(~mei@user/mei) (Remote host closed the connection)
2022-11-21 20:48:51 +0100mei__(~mei@user/mei)
2022-11-21 20:48:58 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-21 20:50:06 +0100accord(uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-11-21 20:50:16 +0100gurkenglas(~gurkengla@p548ac72e.dip0.t-ipconnect.de)
2022-11-21 20:50:36 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2022-11-21 20:50:40 +0100califax(~califax@user/califx)
2022-11-21 20:51:27 +0100beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-11-21 20:51:28 +0100nate4(~nate@98.45.169.16)
2022-11-21 20:51:59 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-11-21 20:53:07 +0100 <sm> the wording is a little confusing
2022-11-21 20:54:52 +0100opticblast(~Thunderbi@secure-165.caltech.edu) (Ping timeout: 252 seconds)
2022-11-21 20:55:35 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 20:56:19 +0100nate4(~nate@98.45.169.16) (Ping timeout: 260 seconds)
2022-11-21 20:56:26 +0100 <sm> it's the ghc versions for which there is a compatible hls binary installed, right ?
2022-11-21 20:56:58 +0100son0p(~ff@2604:3d08:5b7f:5540::6bfc)
2022-11-21 20:57:08 +0100opticblast(~Thunderbi@secure-165.caltech.edu)
2022-11-21 20:59:32 +0100opticblast(~Thunderbi@secure-165.caltech.edu) (Remote host closed the connection)
2022-11-21 21:00:00 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1) (Remote host closed the connection)
2022-11-21 21:00:22 +0100beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 252 seconds)
2022-11-21 21:02:37 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2022-11-21 21:02:47 +0100califax(~califax@user/califx)
2022-11-21 21:06:53 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
2022-11-21 21:11:04 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:c757:b257:6ed8:adfb)
2022-11-21 21:11:12 +0100ccapndave(~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Client Quit)
2022-11-21 21:12:36 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 21:14:23 +0100srz(~srz@181.228.49.93) (Ping timeout: 260 seconds)
2022-11-21 21:16:51 +0100andreinovitcho(~a@132.203.169.168)
2022-11-21 21:17:02 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl)
2022-11-21 21:17:13 +0100 <andreinovitcho> @free fmap :: (a -> b) -> (F a -> F b)
2022-11-21 21:17:14 +0100 <lambdabot> g . h = k . f => $map_F g . fmap h = fmap k . $map_F f
2022-11-21 21:18:02 +0100 <andreinovitcho> @free fmap :: (a -> b) -> F a -> F b
2022-11-21 21:18:02 +0100 <lambdabot> g . h = k . f => $map_F g . fmap h = fmap k . $map_F f
2022-11-21 21:20:59 +0100andreinovitcho(~a@132.203.169.168) (Client Quit)
2022-11-21 21:26:00 +0100 <oats> ooh what does that do
2022-11-21 21:27:15 +0100pavonia(~user@user/siracusa)
2022-11-21 21:28:33 +0100 <mauke> generates theorems that you don't have to pay for
2022-11-21 21:31:03 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 21:31:57 +0100MajorBiscuit(~MajorBisc@2a02-a461-129d-1-6d4c-38a4-18b7-4b48.fixed6.kpn.net) (Quit: WeeChat 3.6)
2022-11-21 21:33:35 +0100whatsupdoc(uid509081@2a03:5180:f:4::7:c499) (Quit: Connection closed for inactivity)
2022-11-21 21:35:04 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:c757:b257:6ed8:adfb) (Quit: WeeChat 2.8)
2022-11-21 21:46:03 +0100akegalj(~akegalj@141-136-210-147.dsl.iskon.hr)
2022-11-21 21:46:36 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-11-21 21:46:53 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-11-21 21:47:24 +0100constxd(~brad@77.68.183.226)
2022-11-21 21:48:07 +0100sawilagar(~sawilagar@user/sawilagar)
2022-11-21 21:48:40 +0100caryhartline(~caryhartl@2603-8080-6a0e-8d88-d0ec-e190-f31a-ff70.res6.spectrum.com)
2022-11-21 21:49:47 +0100Kaiepi(~Kaiepi@108.175.84.104) (Quit: Leaving)
2022-11-21 21:52:40 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2022-11-21 21:54:25 +0100Kaiepi(~Kaiepi@108.175.84.104)
2022-11-21 21:59:27 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 21:59:40 +0100[yella](~yell@2607:fb90:8067:f8f1:5691:21e7:585a:a086) (Ping timeout: 260 seconds)
2022-11-21 22:00:18 +0100oyster_ice_cream(~quassel@2800:150:111:1f1a:b5ec:7d7d:95d0:903b) (Read error: Connection reset by peer)
2022-11-21 22:00:30 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1)
2022-11-21 22:03:48 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 248 seconds)
2022-11-21 22:04:54 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5866:96fb:16f6:58d1) (Ping timeout: 255 seconds)
2022-11-21 22:05:23 +0100mc47(~mc47@xmonad/TheMC47)
2022-11-21 22:07:07 +0100mei__(~mei@user/mei) (Ping timeout: 260 seconds)
2022-11-21 22:14:30 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-11-21 22:16:27 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 22:17:36 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-11-21 22:20:41 +0100mmhat(~mmh@p200300f1c72dc6e0ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1)
2022-11-21 22:21:19 +0100 <EvanR> theorems, they want to be free
2022-11-21 22:22:15 +0100InstX1(~Liam@2601:6c4:4081:54f0:148c:5793:51b7:46e1)
2022-11-21 22:23:58 +0100 <darkling> I am not a Gödel number, I an a free theorem!
2022-11-21 22:24:25 +0100 <darkling> s/an/am/
2022-11-21 22:25:00 +0100akegalj(~akegalj@141-136-210-147.dsl.iskon.hr) (Quit: leaving)
2022-11-21 22:30:40 +0100belovachap(~chapman@216-188-233-105.dyn.grandenetworks.net)
2022-11-21 22:33:20 +0100titibandit(~titibandi@xdsl-78-34-153-165.nc.de) (Remote host closed the connection)
2022-11-21 22:39:06 +0100cailtb^(~cailtb@76.145.185.103) (Remote host closed the connection)
2022-11-21 22:43:17 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
2022-11-21 22:43:22 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl)
2022-11-21 22:43:50 +0100Katarushisu(~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
2022-11-21 22:43:53 +0100ddellacosta(~ddellacos@89.45.224.71)
2022-11-21 22:47:56 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-11-21 22:51:58 +0100beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
2022-11-21 22:52:25 +0100lucerne(~lucerne@5.116.75.203)
2022-11-21 22:52:51 +0100lucerne(~lucerne@5.116.75.203) (Read error: Connection reset by peer)
2022-11-21 22:57:06 +0100coot(~coot@213.134.171.3) (Quit: coot)
2022-11-21 22:59:59 +0100lucerne(~lucerne@5.116.75.203)
2022-11-21 23:08:31 +0100 <probie> Is there a way to emit warnings in response to using an instance? e.g. if S and T are members of some typeclass C with function f, I want f (x :: T) to emit a warning, but not f (x :: S).
2022-11-21 23:09:48 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-11-21 23:11:35 +0100ec(~ec@gateway/tor-sasl/ec)
2022-11-21 23:14:39 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-11-21 23:16:02 +0100lucerne(~lucerne@5.116.75.203) (Read error: Connection reset by peer)
2022-11-21 23:18:32 +0100srz(~srz@181.228.49.93)
2022-11-21 23:19:00 +0100constxd(~brad@77.68.183.226) (Ping timeout: 260 seconds)
2022-11-21 23:20:02 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 23:22:47 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 23:25:07 +0100 <geekosaur> not that I'm aware of
2022-11-21 23:25:55 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-11-21 23:27:13 +0100freeside(~mengwong@103.252.202.193) (Ping timeout: 256 seconds)
2022-11-21 23:28:42 +0100 <Clinton[m]> Is there a named function that folds `<|>` over a list? Or do I need to write one myself (which I know isn't hard, I just thought I should not reinvent the wheel).
2022-11-21 23:28:46 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2022-11-21 23:29:04 +0100 <monochrom> asum
2022-11-21 23:29:08 +0100 <monochrom> @type asum
2022-11-21 23:29:09 +0100 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
2022-11-21 23:29:21 +0100 <monochrom> Use t=[] for list.
2022-11-21 23:29:52 +0100 <monochrom> "asum is awesome" >:)
2022-11-21 23:31:24 +0100srz(~srz@181.228.49.93) (Remote host closed the connection)
2022-11-21 23:32:16 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-11-21 23:33:43 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl)
2022-11-21 23:34:35 +0100troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 256 seconds)
2022-11-21 23:35:31 +0100srz(~srz@181.228.49.93)
2022-11-21 23:37:07 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-11-21 23:38:30 +0100merijn(~merijn@c-001-001-017.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-11-21 23:40:25 +0100freeside(~mengwong@103.252.202.193)
2022-11-21 23:43:21 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-11-21 23:44:42 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-11-21 23:45:07 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-11-21 23:45:36 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-11-21 23:46:06 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving)
2022-11-21 23:46:09 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2022-11-21 23:46:44 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-11-21 23:47:25 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-11-21 23:48:14 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-11-21 23:49:59 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-11-21 23:51:15 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-11-21 23:52:10 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-11-21 23:53:17 +0100michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2022-11-21 23:53:42 +0100kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2022-11-21 23:54:37 +0100Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2022-11-21 23:55:04 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-11-21 23:55:18 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-11-21 23:56:22 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-11-21 23:56:56 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-11-21 23:57:44 +0100 <xerox> @src asum @[] -- I wonder what would be needed to make this work
2022-11-21 23:57:44 +0100 <lambdabot> Source not found. You untyped fool!
2022-11-21 23:58:57 +0100 <hpc> @src [] join
2022-11-21 23:58:58 +0100 <lambdabot> Source not found. I can't hear you -- I'm using the scrambler.
2022-11-21 23:59:02 +0100 <hpc> @src join []
2022-11-21 23:59:03 +0100 <lambdabot> Source not found. I can't hear you -- I'm using the scrambler.
2022-11-21 23:59:05 +0100 <hpc> hmm
2022-11-21 23:59:21 +0100 <hpc> xerox: that sort of thing is already in @src, but it's rather limited
2022-11-21 23:59:50 +0100 <monochrom> @src [] (>>=)
2022-11-21 23:59:51 +0100 <hpc> it's not really looking up source code, it basically just does a string lookup