Logs: freenode/#haskell
| 2021-03-27 02:14:06 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 2021-03-27 02:17:18 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 2021-03-27 02:18:31 | → | average joins (uid473595@gateway/web/irccloud.com/x-bfrylaicmxxrzmte) |
| 2021-03-27 02:22:38 | × | pfurla quits (~pfurla@mx141.canadialed.com) (Ping timeout: 240 seconds) |
| 2021-03-27 02:22:48 | <gnumonic> | Is there a typeclass anywhere for monads that you can "take things out of"? (i.e. that have a function :: m a -> a) |
| 2021-03-27 02:23:40 | <shachaf> | Probably not anything meaningful. |
| 2021-03-27 02:23:55 | → | apache8080 joins (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
| 2021-03-27 02:24:05 | <shachaf> | It's not a very sensible thing to abstract over, I think. |
| 2021-03-27 02:24:46 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 2021-03-27 02:25:36 | <infinisil> | gnumonic: There's MonoPointed: https://hackage.haskell.org/package/mono-traversable-1.0.15.1/docs/Data-MonoTraversable.html#t:MonoPointed |
| 2021-03-27 02:26:26 | <infinisil> | gnumonic: Also, Comonad: https://hackage.haskell.org/package/comonad-5.0.8/docs/Control-Comonad.html#v:extract |
| 2021-03-27 02:27:43 | <shachaf> | That former one does not look like a class that's very applicable here. |
| 2021-03-27 02:28:10 | <shachaf> | Nor is Comonad, really. I guess the real question is what you want this sort of class for. |
| 2021-03-27 02:28:26 | <shachaf> | And what instances are you imagining for it? |
| 2021-03-27 02:29:03 | <infinisil> | Well gnumonic hasn't given any context yet, so hard to say if it's applicable |
| 2021-03-27 02:29:51 | <shachaf> | The context is that it should be something applicable to monads. |
| 2021-03-27 02:30:12 | <shachaf> | Also, wait, MonoPointed isn't even going in the right direction. |
| 2021-03-27 02:30:29 | <gnumonic> | Oh I didn't want it for anything in particular, I'm just playing around (somewhat aimlessly) with ways of mixing the store comonad with other things |
| 2021-03-27 02:30:38 | <shachaf> | You'd want a class with a name like "Copointed". |
| 2021-03-27 02:30:55 | <infinisil> | Oh right, nevermind monopointed |
| 2021-03-27 02:30:57 | <shachaf> | (Or, I mean, you probably don't. But that's what the class would be called.) |
| 2021-03-27 02:31:11 | <shachaf> | My suggestion is that abstractions don't exist on their own, they exist to abstract over things. |
| 2021-03-27 02:31:42 | <shachaf> | If you have two or three concrete things that can share a sensible function :: m a -> a, then it might reasonable to have an abstraction. |
| 2021-03-27 02:32:01 | × | azure1 quits (~azure@103.154.230.130) (Read error: Connection reset by peer) |
| 2021-03-27 02:32:27 | → | azure1 joins (~azure@103.154.230.130) |
| 2021-03-27 02:33:38 | × | Guest55480 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds) |
| 2021-03-27 02:34:16 | hackage | hasql-notifications 0.2.0.0 - LISTEN/NOTIFY support for Hasql https://hackage.haskell.org/package/hasql-notifications-0.2.0.0 (diogob) |
| 2021-03-27 02:35:06 | × | waskell quits (~quassel@d66-183-124-203.bchsia.telus.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2021-03-27 02:35:15 | <gnumonic> | That's fair. I was really just curious, and a class like that would have made the types line up for an experiment that I can't actually think of an application for. Sometimes it's fun to just see what you can stick together while appeasing the compiler. But thanks :) |
| 2021-03-27 02:35:39 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:3ab0:9401:ddfa:4aa4) (Ping timeout: 250 seconds) |
| 2021-03-27 02:35:41 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal) |
| 2021-03-27 02:37:08 | <shachaf> | No, of course it's a reasonable question, but I think there's no particularly good general answer. |
| 2021-03-27 02:37:57 | × | solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed) |
| 2021-03-27 02:41:44 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 2021-03-27 02:43:54 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 2021-03-27 02:43:59 | → | benkolera joins (uid285671@gateway/web/irccloud.com/x-xxmlbqheparjayob) |
| 2021-03-27 02:44:27 | → | astronavt joins (~astronavt@unaffiliated/astronavt) |
| 2021-03-27 02:46:32 | → | solvr joins (57e3c46d@87.227.196.109) |
| 2021-03-27 02:46:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-03-27 02:47:18 | × | apache8080 quits (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 240 seconds) |
| 2021-03-27 02:47:52 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:eee0:b3e1:482f:12f7) |
| 2021-03-27 02:48:44 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-03-27 02:48:44 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 252 seconds) |
| 2021-03-27 02:49:47 | → | plutoniix joins (~q@node-unw.pool-125-24.dynamic.totinternet.net) |
| 2021-03-27 02:50:01 | × | xff0x quits (~xff0x@2001:1a81:524d:5b00:4876:a583:9de0:62c1) (Ping timeout: 276 seconds) |
| 2021-03-27 02:51:16 | → | xff0x joins (~xff0x@2001:1a81:5267:7900:f33d:bbef:8155:bb1d) |
| 2021-03-27 02:55:59 | curiousgay | using GHC 9.0.1 |
| 2021-03-27 02:56:26 | <curiousgay> | I want to cry, many packages are impossible to install because they require base to be version less than 4.15 |
| 2021-03-27 03:01:40 | <dmj`> | curiousgay: try 8.10.4 |
| 2021-03-27 03:02:50 | <dmj`> | curiousgay: you must be patient grasshopper |
| 2021-03-27 03:08:35 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-03-27 03:10:23 | × | elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Quit: WeeChat 3.1) |
| 2021-03-27 03:11:28 | × | elusive quits (~Jeanne-Ka@static-198-54-134-153.cust.tzulo.com) (Ping timeout: 252 seconds) |
| 2021-03-27 03:14:33 | → | elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
| 2021-03-27 03:17:04 | <curiousgay> | dmj`: yeah, also it appears even with GHC 8.10.4 reflex is not available to me |
| 2021-03-27 03:17:26 | <dmj`> | curiousgay: should be |
| 2021-03-27 03:17:43 | <curiousgay> | base (>=4.9 && <4.14) |
| 2021-03-27 03:18:28 | <curiousgay> | just why people have such inadequate requirements to dependencies |
| 2021-03-27 03:19:04 | <dmj`> | curiousgay: well then heaven forbid use 8.10.3 |
| 2021-03-27 03:19:08 | <dmj`> | nix-shell -p 'haskellPackages.ghcWithPackages(p: with p; [reflex])' --run 'ghc-pkg list reflex' |
| 2021-03-27 03:19:14 | <dmj`> | > reflex-0.8.0.0 |
| 2021-03-27 03:19:16 | <lambdabot> | error: Variable not in scope: reflex :: a -> c |
| 2021-03-27 03:19:40 | <dmj`> | no flex zone |
| 2021-03-27 03:20:54 | <curiousgay> | I mean every new release of base 4 is backwards compatible, right? |
| 2021-03-27 03:20:58 | × | elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 2021-03-27 03:21:11 | × | alx741 quits (~alx741@186.178.109.203) (Ping timeout: 240 seconds) |
| 2021-03-27 03:21:16 | <dmj`> | curiousgay: there's a base-compat library that's meant to help with this sort of thing |
| 2021-03-27 03:22:09 | <dmj`> | curiousgay: I just wouldn't upgrade the compiler until library authors are on board, stackage process will pressure people to upgrade |
| 2021-03-27 03:22:28 | <dmj`> | pressure library authors* to upgrade |
| 2021-03-27 03:22:37 | <curiousgay> | dmj`: I mean that base 4.15 is compatible with base 4.9, right? |
| 2021-03-27 03:23:07 | <curiousgay> | otherwise I don't understand the versioning |
| 2021-03-27 03:24:14 | <curiousgay> | minor version number increase is supposed to mean that API is stable |
| 2021-03-27 03:24:19 | → | dbmikus joins (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
| 2021-03-27 03:24:21 | <ephemient> | curiousgay: most Haskell packages follow PVP not semver |
| 2021-03-27 03:25:09 | <Clint> | curiousgay: just file bugs and accept this as a phenomenon that isn't getting fixed anytime soon |
| 2021-03-27 03:25:14 | <ephemient> | if you want to think of it like semver, treat "4.9" as the major version, not "4" |
| 2021-03-27 03:25:56 | <curiousgay> | ephemient: then many packages use base "<5" in dependencies by mistake? |
| 2021-03-27 03:26:38 | <int-e> | curiousgay: tbf, base is too big for meaningful semantic versioning |
| 2021-03-27 03:27:02 | <ephemient> | not everybody agrees on whether to use narrow bounds or wide bounds |
| 2021-03-27 03:27:09 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 2021-03-27 03:27:21 | <int-e> | every release there's a breaking change in some part of it... but for most changes, almost all code will be fine. |
| 2021-03-27 03:27:27 | <ephemient> | in practice, base and GHC versions are tied |
| 2021-03-27 03:27:28 | × | solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 2021-03-27 03:27:34 | <int-e> | also base is tied to the compiler anyway |
| 2021-03-27 03:27:45 | → | aarvar joins (~foewfoiew@2601:602:a080:fa0:e589:d5cd:80fb:258d) |
| 2021-03-27 03:27:56 | <ephemient> | if you're coming from GHC 8.0/base 4.9, MonadFail probably broke the most code |
| 2021-03-27 03:28:13 | <int-e> | so taking those two together... the lazy approach where you make a loose upper bound (base <5) and revise it when your code does break seems quite reasonable |
| 2021-03-27 03:28:14 | <dmj`> | I don't think Foldable Traversable was backwards compatible (i.e. burning bridges) |
| 2021-03-27 03:28:42 | <int-e> | it wasn't |
| 2021-03-27 03:29:08 | × | dbmikus quits (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds) |
| 2021-03-27 03:29:58 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Ping timeout: 265 seconds) |
| 2021-03-27 03:30:09 | <dmj`> | Oh |
| 2021-03-27 03:30:20 | <dmj`> | I meant to say incompatible, sorry |
| 2021-03-27 03:30:44 | <int-e> | sure? |
| 2021-03-27 03:30:56 | <dmj`> | Nah, I had it right the first time. |
| 2021-03-27 03:30:59 | <dmj`> | sorry again |
| 2021-03-27 03:31:01 | <int-e> | what you wrote made sense to me... okay :) |
| 2021-03-27 03:31:10 | <int-e> | negations are hard |
| 2021-03-27 03:31:10 | <dmj`> | wine + IRC |
| 2021-03-27 03:31:47 | <dmj`> | truth |
All times are in UTC.