Newest at the top
2024-10-22 14:30:54 +0200 | m1dnight | (~christoph@d8D861908.access.telenet.be) (Quit: WeeChat 4.4.2) |
2024-10-22 14:30:47 +0200 | <tomsmeding> | it otherwise works precisely like a library |
2024-10-22 14:30:34 +0200 | <tomsmeding> | kqr: a "sublibrary" is just a 'library' block in the cabal file that has a name |
2024-10-22 14:30:05 +0200 | <merijn> | ah, no, I was going to, but didn't get around to it yet |
2024-10-22 14:30:03 +0200 | <tomsmeding> | https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#library |
2024-10-22 14:29:21 +0200 | <merijn> | And I *might* have used this trick already, I need to check |
2024-10-22 14:29:08 +0200 | <merijn> | kqr: The cabal docs have some examples of multiple libraries and public visibility |
2024-10-22 14:28:44 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-10-22 14:28:38 +0200 | <kqr> | Leary, Ah, that could work. Do you have an example of that anywhere? |
2024-10-22 14:28:13 +0200 | <merijn> | Hecate: Not directly, but Leary's approach works in recent enough cabals |
2024-10-22 14:21:17 +0200 | identity | (~identity@user/ZharMeny) identity |
2024-10-22 14:20:59 +0200 | <Leary> | kqr: Put them in a private sub-library. |
2024-10-22 14:19:29 +0200 | <Hecate> | Alas I don't think there's such a granularity of exposure available |
2024-10-22 14:19:12 +0200 | <Hecate> | hmm |
2024-10-22 14:16:21 +0200 | <kqr> | Is there a way to specify in a cabal file that certain modules in a library should not be exposed publically, but available to a test-suite? |
2024-10-22 14:15:13 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
2024-10-22 14:10:49 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-10-22 14:06:32 +0200 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-10-22 14:02:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-22 13:56:34 +0200 | madjestic | (~madjestic@213.208.215.120) (Ping timeout: 265 seconds) |
2024-10-22 13:53:41 +0200 | araujo | (~araujo@45.146.55.99) (Ping timeout: 265 seconds) |
2024-10-22 13:52:42 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 265 seconds) |
2024-10-22 13:50:10 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2024-10-22 13:50:01 +0200 | eL_Bart0- | (eL_Bart0@dietunichtguten.org) |
2024-10-22 13:49:53 +0200 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) (Quit: Restarting) |
2024-10-22 13:48:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-10-22 13:48:08 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-10-22 13:46:38 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 255 seconds) |
2024-10-22 13:42:25 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) TheCoffeMaker |
2024-10-22 13:38:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-10-22 13:33:46 +0200 | Clint | (~Clint@user/clint) Clint |
2024-10-22 13:31:36 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2024-10-22 13:28:34 +0200 | CiaoSen | (~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) CiaoSen |
2024-10-22 13:23:28 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
2024-10-22 13:19:41 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-10-22 13:16:56 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-10-22 13:14:25 +0200 | araujo | (~araujo@45.146.55.99) |
2024-10-22 13:13:50 +0200 | xff0x | (~xff0x@2405:6580:b080:900:61f:49ca:1cad:ed6) |
2024-10-22 13:13:28 +0200 | merijn | (~merijn@77.242.116.146) merijn |
2024-10-22 13:11:29 +0200 | <kaol> | Still going to be a run time program breaking event if it happens. |
2024-10-22 13:10:57 +0200 | <tromp> | yep; that "fixes" it |
2024-10-22 13:10:32 +0200 | <kaol> | I always forget about lazy patterns. |
2024-10-22 13:09:40 +0200 | madjestic | (~madjestic@213.208.215.120) madjestic |
2024-10-22 13:08:53 +0200 | <mauke> | ~(A b) <- ts |
2024-10-22 13:07:36 +0200 | <kaol> | To expand on this a bit more: Having fail in Monad was always ugly since it's not a part of the definition in category theory and for many monads, you can't really do anything but invoke "error" if a pattern match failure happens and that's a silent source of partial functions. |
2024-10-22 13:07:28 +0200 | merijn | (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
2024-10-22 13:04:46 +0200 | <tromp> | Thanks for help |
2024-10-22 13:04:38 +0200 | <kaol> | If your purpose is to just follow some code at home, you may define your own MonadFail instance. But watch out if you think of doing the same in production. |
2024-10-22 13:04:29 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
2024-10-22 13:03:28 +0200 | <kaol> | They may be using an old GHC version or they may give it a catch all MonadFail instance. But this is the reason it won't work if you try it at home. |