Logs: freenode/#haskell
| 2021-04-03 14:53:24 | <kaol> | At least maps get converted easily to and from 2-tuples and in that context it's handy to have fmap touch the second element since I'm far more likely to want to operate on values and not keys. |
| 2021-04-03 14:53:27 | <sedeki> | tomsmeding are you saying that "type arguments" must be applied in order, left to right? |
| 2021-04-03 14:53:28 | <zebrag> | tomsmeding: thanks |
| 2021-04-03 14:53:35 | <tomsmeding> | sedeki: yes |
| 2021-04-03 14:53:43 | <tomsmeding> | haskell doesn't have type-level lambda expressions |
| 2021-04-03 14:53:51 | <sedeki> | tomsmeding so on of these are invalid syntax? "Either Int a" vs "Either a Int" ? |
| 2021-04-03 14:53:52 | <tomsmeding> | so you can only partially apply things in-order |
| 2021-04-03 14:53:56 | <sedeki> | so one* |
| 2021-04-03 14:54:06 | <tomsmeding> | sedeki: no those are both valid, both fully apply Either :p |
| 2021-04-03 14:54:27 | <e> | there's no way to spell Either [hole] Int tho |
| 2021-04-03 14:54:28 | <tomsmeding> | but the argument to 'Functor' must be of kind 'Type -> Type' |
| 2021-04-03 14:54:45 | <tomsmeding> | as e says |
| 2021-04-03 14:55:09 | <sedeki> | tomsmeding ok, makes sense |
| 2021-04-03 14:55:11 | → | solvr joins (57e3c46d@87.227.196.109) |
| 2021-04-03 14:55:17 | <tomsmeding> | you can do 'newtype MyEither a = MyEither (Either a Int)', but then you're making a new type -- which is the usual way of solving that problem |
| 2021-04-03 14:55:49 | <tomsmeding> | and while you can write 'type MyEither' a = Either a Int' as well, you can't partially apply type synonyms so "instance Functor MyEither'" would be invalid |
| 2021-04-03 14:56:14 | × | solvr quits (57e3c46d@87.227.196.109) (Client Quit) |
| 2021-04-03 14:56:35 | → | _noblegas joins (uid91066@gateway/web/irccloud.com/x-qofejsurifxshhgi) |
| 2021-04-03 14:56:57 | <sedeki> | but i would write it as `instance Functor MyEither' a" |
| 2021-04-03 14:57:06 | <sedeki> | ` |
| 2021-04-03 14:57:18 | × | xff0x_ quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds) |
| 2021-04-03 14:57:20 | <sedeki> | iirc |
| 2021-04-03 14:57:42 | <sedeki> | anyway, i get the gist of it |
| 2021-04-03 14:57:56 | <sedeki> | tomsmeding thanks |
| 2021-04-03 14:58:10 | × | micro quits (~micro@unaffiliated/micro) (Remote host closed the connection) |
| 2021-04-03 14:58:34 | <sedeki> | how do I look up e.g. functor definitions on ghci? |
| 2021-04-03 14:59:07 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
| 2021-04-03 14:59:35 | → | xff0x_ joins (~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2) |
| 2021-04-03 15:00:22 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 2021-04-03 15:03:02 | → | viluon joins (uid453725@gateway/web/irccloud.com/x-ewlrlaksxsegzyhv) |
| 2021-04-03 15:04:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 2021-04-03 15:04:26 | <tomsmeding> | sedeki: :i Functor |
| 2021-04-03 15:04:59 | <tomsmeding> | sedeki: you'd write e.g. `instance Functor Maybe where` |
| 2021-04-03 15:05:09 | <tomsmeding> | so also `instance Functor (Either Int) where` |
| 2021-04-03 15:05:13 | → | Whytebored joins (c634aeb5@198.52.174.181) |
| 2021-04-03 15:05:20 | <Whytebored> | What does `=<<` mean? |
| 2021-04-03 15:05:28 | <tomsmeding> | % :k Either Int -- sedeki |
| 2021-04-03 15:05:28 | <yahb> | tomsmeding: * -> * |
| 2021-04-03 15:05:36 | <tomsmeding> | (read * = Type) |
| 2021-04-03 15:05:45 | <sedeki> | yeah i know |
| 2021-04-03 15:05:47 | <tomsmeding> | :t (=<<) -- Whytebored |
| 2021-04-03 15:05:48 | <lambdabot> | Monad m => (a -> m b) -> m a -> m b |
| 2021-04-03 15:05:49 | → | nbloomf joins (~nbloomf@2600:1700:ad14:3020:ed8c:ffe5:dbb3:49f5) |
| 2021-04-03 15:05:56 | <tomsmeding> | :t (>>=) |
| 2021-04-03 15:05:57 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 2021-04-03 15:06:06 | <tomsmeding> | Whytebored: (=<<) = flip (>>=) |
| 2021-04-03 15:06:29 | <sedeki> | tomsmeding ":i Functor Maybe" just shows the top lines |
| 2021-04-03 15:06:33 | <tomsmeding> | sedeki: so it wouldn't be `instance Functor MyEither' a` but `instance Functor MyEither'`, which is invalid :) |
| 2021-04-03 15:06:55 | <tomsmeding> | sedeki: which info are you looking for |
| 2021-04-03 15:06:58 | <tomsmeding> | the full instance definition? |
| 2021-04-03 15:07:01 | <sedeki> | yes |
| 2021-04-03 15:07:19 | <tomsmeding> | ghci won't show those |
| 2021-04-03 15:07:28 | × | haritz quits (~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in) |
| 2021-04-03 15:07:28 | <sedeki> | ok |
| 2021-04-03 15:07:30 | <tomsmeding> | in general that could be in compiled code that ghci doesn't have to source for |
| 2021-04-03 15:07:36 | <sedeki> | right, ok. |
| 2021-04-03 15:07:41 | <tomsmeding> | sedeki: https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#line-987 |
| 2021-04-03 15:08:11 | × | Whytebored quits (c634aeb5@198.52.174.181) (Client Quit) |
| 2021-04-03 15:08:11 | → | ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
| 2021-04-03 15:08:12 | <tomsmeding> | if you go to Functor or to Maybe in the haddocks, you can click the 'Source' link next to the instance to go there |
| 2021-04-03 15:08:29 | <sedeki> | haddocks? |
| 2021-04-03 15:08:39 | <tomsmeding> | haddock is ghc's documentation generator :p |
| 2021-04-03 15:08:48 | <tomsmeding> | the reference documentation on hackage is what I meant |
| 2021-04-03 15:09:17 | × | mmohammadi9812 quits (~mmohammad@91.185.156.212) (Remote host closed the connection) |
| 2021-04-03 15:09:23 | <sedeki> | ok |
| 2021-04-03 15:09:58 | <sedeki> | tomsmeding thanks again. leaving |
| 2021-04-03 15:10:00 | × | sedeki quits (~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com) |
| 2021-04-03 15:11:18 | × | mkDoku quits (~TheMule@aftr-37-201-195-134.unity-media.net) (Ping timeout: 260 seconds) |
| 2021-04-03 15:13:54 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2021-04-03 15:18:26 | × | _ashbreeze_ quits (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection) |
| 2021-04-03 15:20:51 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-04-03 15:21:16 | → | conal_ joins (~conal@198.8.81.74) |
| 2021-04-03 15:21:23 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 246 seconds) |
| 2021-04-03 15:22:29 | → | _ashbreeze_ joins (~mark@64.85.214.234.reverse.socket.net) |
| 2021-04-03 15:23:01 | × | Matthias1 quits (~matthias@li890-22.members.linode.com) (Read error: Connection reset by peer) |
| 2021-04-03 15:24:29 | → | Wuzzy joins (~Wuzzy@p57a2fb8a.dip0.t-ipconnect.de) |
| 2021-04-03 15:24:33 | → | v01d4lph4 joins (~v01d4lph4@223.190.20.92) |
| 2021-04-03 15:25:03 | × | v01d4lph4 quits (~v01d4lph4@223.190.20.92) (Read error: Connection reset by peer) |
| 2021-04-03 15:25:25 | × | Franciman quits (~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: bb) |
| 2021-04-03 15:25:32 | → | v01d4lph4 joins (~v01d4lph4@223.190.20.92) |
| 2021-04-03 15:25:33 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 2021-04-03 15:25:47 | → | Franciman joins (~francesco@host-87-20-23-243.retail.telecomitalia.it) |
| 2021-04-03 15:27:39 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2021-04-03 15:29:17 | → | haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) |
| 2021-04-03 15:29:18 | × | haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host) |
| 2021-04-03 15:29:18 | → | haritz joins (~hrtz@unaffiliated/haritz) |
| 2021-04-03 15:33:10 | × | ep1ctetus quits (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
| 2021-04-03 15:33:55 | × | Franciman quits (~francesco@host-87-20-23-243.retail.telecomitalia.it) (Ping timeout: 265 seconds) |
| 2021-04-03 15:36:13 | → | micro joins (~micro@unaffiliated/micro) |
| 2021-04-03 15:39:41 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 2021-04-03 15:40:59 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2021-04-03 15:42:50 | × | v01d4lph4 quits (~v01d4lph4@223.190.20.92) (Remote host closed the connection) |
| 2021-04-03 15:43:24 | → | v01d4lph4 joins (~v01d4lph4@223.190.20.92) |
| 2021-04-03 15:47:38 | × | v01d4lph4 quits (~v01d4lph4@223.190.20.92) (Ping timeout: 240 seconds) |
| 2021-04-03 15:53:56 | <Uniaika> | I'd like y'all opinion as Haskell users on https://github.com/ghc-proposals/ghc-proposals/pull/417 |
| 2021-04-03 15:54:30 | <Uniaika> | tomsmeding, int-e, mpickering, maerwald koz_ ^ |
| 2021-04-03 15:55:04 | tomsmeding | is flustered |
| 2021-04-03 15:59:05 | <tomsmeding> | Uniaika: when I currently do 'ghcup list', I get a 'latest' ghc version and a 'recommended' ghc version. I believe this is basically the latest and the next-to-latest. Are you proposing adding a third level? |
| 2021-04-03 15:59:20 | × | nbloomf quits (~nbloomf@2600:1700:ad14:3020:ed8c:ffe5:dbb3:49f5) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-04-03 16:00:46 | <Uniaika> | tomsmeding: not necessarily, just have a whole month between the final release packaging in the package managers, and its official release |
All times are in UTC.