Newest at the top
2024-09-26 23:42:53 +0200 | troojg | (~troojg@user/troojg) troojg |
2024-09-26 23:42:52 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds) |
2024-09-26 23:41:28 +0200 | Tisoxin | (~Ikosit@user/ikosit) (Read error: Connection reset by peer) |
2024-09-26 23:35:37 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-09-26 23:31:46 +0200 | <geekosaur> | 👀 |
2024-09-26 23:30:35 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-09-26 23:29:46 +0200 | Guest68 | (~Guest2@181.28.115.159) (Client Quit) |
2024-09-26 23:29:41 +0200 | <Guest68> | hi |
2024-09-26 23:29:12 +0200 | Guest68 | (~Guest2@181.28.115.159) |
2024-09-26 23:25:34 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-09-26 23:25:31 +0200 | krei-se | (~krei-se@p57af2362.dip0.t-ipconnect.de) (Quit: ZNC 1.9.1 - https://znc.in) |
2024-09-26 23:25:18 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-26 23:24:20 +0200 | lucy | (~lucy@user/lucy) (Quit: leaving) |
2024-09-26 23:19:41 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-26 23:19:21 +0200 | <Inst> | type a `Is` b = b works |
2024-09-26 23:16:19 +0200 | byte | (~byte@149.28.222.189) |
2024-09-26 23:16:02 +0200 | byte | (~byte@149.28.222.189) (Ping timeout: 252 seconds) |
2024-09-26 23:14:47 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-09-26 23:13:07 +0200 | briandaed | (~root@185.234.210.211) (Quit: Lost terminal) |
2024-09-26 23:12:20 +0200 | <Inst> | no i mean if you use type synonyms to change the function type signature to something more descriptive, if you reuse the type you'll force the reader to go look up what the type synonym is |
2024-09-26 23:11:53 +0200 | <tomsmeding> | (not quite the same, because it's a newtype) |
2024-09-26 23:11:10 +0200 | ft | (~ft@p4fc2acce.dip0.t-ipconnect.de) ft |
2024-09-26 23:11:07 +0200 | <tomsmeding> | relevant: https://hackage.haskell.org/package/tagged-0.8.8/docs/Data-Tagged.html |
2024-09-26 23:10:35 +0200 | <Inst> | this is better than using dumb type synonyms for function inputs, easier to write delay $> Int -> repetitions $> Int -> IO () |
2024-09-26 23:09:45 +0200 | <Inst> | type a $> b = b |
2024-09-26 23:09:36 +0200 | <Inst> | unfortunately we don't have a const operator |
2024-09-26 23:09:30 +0200 | <Inst> | type a $> b = a |
2024-09-26 23:09:09 +0200 | EvanR | (~EvanR@user/evanr) (Quit: Leaving) |
2024-09-26 23:08:39 +0200 | <monochrom> | Sure, this is known as "supply-chain attack" >:) |
2024-09-26 23:07:22 +0200 | <briandaed> | yeah, thought about something like this but it's ... ugly |
2024-09-26 23:07:02 +0200 | <Inst> | hmmm |
2024-09-26 23:06:58 +0200 | <Inst> | hummm |
2024-09-26 23:06:02 +0200 | <tomsmeding> | stuff in 'packages:' overrides hackage |
2024-09-26 23:05:42 +0200 | <tomsmeding> | a _very_ hacky solution is to vendor crypton in, patch its cabal file to say "cryptonite" instead of "crypton", and then put that vendored crypton/cryptonite in the packages: field of cabal.project |
2024-09-26 23:05:38 +0200 | <monochrom> | Only way I can think of is setting up your own local repo (https://cabal.readthedocs.io/en/stable/config.html#local-no-index-repositories) then you can put any abriged butchered packages there and you can arrange them to take precedence. |
2024-09-26 23:04:22 +0200 | <tomsmeding> | (for reference, this is backpack, i.e. this idea but for individual modules: https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-mixins ) |
2024-09-26 23:04:08 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) machinedgod |
2024-09-26 23:04:01 +0200 | <monochrom> | Right, backpack won't do it. |
2024-09-26 23:03:51 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-09-26 23:02:59 +0200 | <tomsmeding> | hm, cabal backpack does modules, not packages AFAIK |
2024-09-26 23:02:54 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
2024-09-26 23:02:26 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) raehik |
2024-09-26 23:02:21 +0200 | <briandaed> | tomsmeding, first option |
2024-09-26 23:02:00 +0200 | <tomsmeding> | or is X your own package? |
2024-09-26 23:01:57 +0200 | <tomsmeding> | briandaed: as in, you depend on some package X, and X depends on cryptonite, but you'd like to substitute crypton? |
2024-09-26 23:01:43 +0200 | <monochrom> | (Apart from how you know that product exists in the first place. >:) ) |
2024-09-26 23:01:27 +0200 | <briandaed> | is there a way to pass a package with a different name? trying to clean mess with crypton vs cryptonite and would like to pass crypton as cryptonite replacement |
2024-09-26 23:01:19 +0200 | <EvanR> | it's just defined that way |
2024-09-26 23:01:03 +0200 | <EvanR> | so in that case you don't need a separate injectivity axiom |
2024-09-26 23:00:21 +0200 | <tomsmeding> | injective in both their arguments, that is |