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