Logs: liberachat/#haskell
| 2021-06-28 06:09:35 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-06-28 06:11:34 | × | sheepduck quits (~sheepduck@user/sheepduck) (Ping timeout: 272 seconds) |
| 2021-06-28 06:15:22 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 2021-06-28 06:16:25 | × | mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds) |
| 2021-06-28 06:17:40 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 272 seconds) |
| 2021-06-28 06:18:44 | → | Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
| 2021-06-28 06:21:49 | ← | ec2-user parts (~ec2-user@94.147.62.201) () |
| 2021-06-28 06:23:39 | × | matsurago quits (~matsurago@nttkyo1752111.tkyo.nt.ngn.ppp.infoweb.ne.jp) (Quit: Leaving) |
| 2021-06-28 06:24:33 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 265 seconds) |
| 2021-06-28 06:29:48 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-06-28 06:31:35 | × | khumba quits (~khumba@user/khumba) () |
| 2021-06-28 06:31:43 | → | fef joins (~thedawn@user/thedawn) |
| 2021-06-28 06:31:50 | → | dunkeln joins (~dunkeln@188.71.193.140) |
| 2021-06-28 06:31:51 | → | trcc joins (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
| 2021-06-28 06:34:22 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 2021-06-28 06:39:47 | → | CookE[] joins (~thedawn@user/thedawn) |
| 2021-06-28 06:41:50 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
| 2021-06-28 06:46:31 | × | CookE[] quits (~thedawn@user/thedawn) (Remote host closed the connection) |
| 2021-06-28 06:48:15 | → | CookE[] joins (~thedawn@user/thedawn) |
| 2021-06-28 06:50:53 | → | michalz joins (~michalz@185.246.204.125) |
| 2021-06-28 06:53:40 | → | biberu\ joins (~biberu@user/biberu) |
| 2021-06-28 06:54:13 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 2021-06-28 06:57:24 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds) |
| 2021-06-28 06:57:24 | biberu\ | is now known as biberu |
| 2021-06-28 06:59:03 | → | zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
| 2021-06-28 06:59:07 | → | fef joins (~thedawn@user/thedawn) |
| 2021-06-28 06:59:28 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 2021-06-28 07:00:52 | → | derelict joins (~derelict@user/derelict) |
| 2021-06-28 07:00:57 | × | CookE[] quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds) |
| 2021-06-28 07:01:37 | nerdypepper | is now known as np |
| 2021-06-28 07:04:05 | × | finsternis quits (~X@23.226.237.192) (Remote host closed the connection) |
| 2021-06-28 07:07:56 | → | mastarija joins (~mastarija@31.217.22.187) |
| 2021-06-28 07:09:03 | × | hololeap quits (hololeap@user/hololeap) (Ping timeout: 244 seconds) |
| 2021-06-28 07:11:55 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 265 seconds) |
| 2021-06-28 07:13:39 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 272 seconds) |
| 2021-06-28 07:15:56 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-28 07:18:32 | → | Feuermagier_ joins (~Feuermagi@213.178.26.41) |
| 2021-06-28 07:19:22 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-28 07:19:40 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 2021-06-28 07:21:20 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-06-28 07:21:29 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-06-28 07:22:24 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds) |
| 2021-06-28 07:25:14 | → | neo joins (~neo3@cpe-292712.ip.primehome.com) |
| 2021-06-28 07:28:13 | × | cjb quits (~cjb@user/cjb) () |
| 2021-06-28 07:29:24 | → | acidjnk joins (~acidjnk@p200300d0c72b954690af9c130fd8a450.dip0.t-ipconnect.de) |
| 2021-06-28 07:30:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-28 07:31:39 | → | xsperry joins (~as@user/xsperry) |
| 2021-06-28 07:33:25 | × | neo quits (~neo3@cpe-292712.ip.primehome.com) (Remote host closed the connection) |
| 2021-06-28 07:35:27 | × | lemmih quits (~lemmih@2406:3003:2072:44:9bcd:6adc:313d:18f9) (Remote host closed the connection) |
| 2021-06-28 07:35:46 | → | lemmih joins (~lemmih@2406:3003:2072:44:61f9:9ae9:351e:ea66) |
| 2021-06-28 07:37:42 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 2021-06-28 07:41:03 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2021-06-28 07:53:24 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 2021-06-28 07:57:32 | → | cfricke joins (~cfricke@user/cfricke) |
| 2021-06-28 07:58:03 | × | notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer) |
| 2021-06-28 08:06:10 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 2021-06-28 08:06:19 | → | hendursaga joins (~weechat@user/hendursaga) |
| 2021-06-28 08:06:24 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 2021-06-28 08:08:38 | × | hendursa1 quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
| 2021-06-28 08:11:07 | × | chomwitt quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 268 seconds) |
| 2021-06-28 08:13:55 | → | test joins (~test@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr) |
| 2021-06-28 08:14:02 | × | test quits (~test@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr) (Client Quit) |
| 2021-06-28 08:14:49 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-06-28 08:16:20 | → | img joins (~img@user/img) |
| 2021-06-28 08:17:27 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2021-06-28 08:17:52 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 2021-06-28 08:19:32 | → | kuribas joins (~user@ptr-25vy0i7mfgcwzzv9qdq.18120a2.ip6.access.telenet.be) |
| 2021-06-28 08:19:41 | × | img quits (~img@user/img) (Client Quit) |
| 2021-06-28 08:21:17 | → | img joins (~img@user/img) |
| 2021-06-28 08:24:11 | <Arahael> | For the following type: getContentType :: Monad m => m a -> ContentType; can I actually /use/ that `Monad m` argument at all? |
| 2021-06-28 08:25:08 | <Arahael> | Eg, lets say if a is Int, how can I return a specific content type if the value is 42? |
| 2021-06-28 08:25:18 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
| 2021-06-28 08:25:25 | <shachaf> | What value? |
| 2021-06-28 08:26:34 | <Arahael> | I'm trying to implement: https://hackage.haskell.org/package/yesod-core-1.6.20.2/docs/Yesod-Core-Content.html#t:HasContentType |
| 2021-06-28 08:26:48 | <Arahael> | And I can implement it, I think, but only by ignoring that argument. |
| 2021-06-28 08:27:12 | <Arahael> | (That is, I'm trying to make an instance of HasContentType) |
| 2021-06-28 08:28:29 | <Arahael> | Every implementation I can find for an instance seems to ignore that argument. |
| 2021-06-28 08:28:32 | <kritzefitz> | Arahael, the point is, that you don't need to exclusively rely on the `Monad m` instance. If you implement that class e.g. for `instance HasContentType Foo` you know what what type `Foo` actually is and can do things that are specific to that type. |
| 2021-06-28 08:28:55 | <Arahael> | kritzefitz: Yeah... Thing is, I wanted to have a type 'Image', which knows whether it's a jpeg, gif, png, etc. |
| 2021-06-28 08:28:57 | <kritzefitz> | So you're not trying to implement `Monad m => m a -> ContentType` but you're trying to implement `Foo a -> ContentType`. |
| 2021-06-28 08:29:13 | <Arahael> | And I'm thinking I need to define a whole set of different Image types instead of having the one. |
| 2021-06-28 08:29:38 | <tomsmeding> | kritzefitz: note: the m is universally quantified; the instance is for 'a' |
| 2021-06-28 08:29:50 | <kritzefitz> | tomsmeding, oops, right. |
| 2021-06-28 08:29:59 | <tomsmeding> | Arahael: since you only know about 'm' that it's a monad, you're not going to be able to do anything with it :p |
| 2021-06-28 08:30:01 | <tomsmeding> | you're right |
| 2021-06-28 08:30:15 | tomsmeding | was also confused for a while |
| 2021-06-28 08:30:16 | <int-e> | Arahael: you're not going to use m nor a. The function is supposed to return a content type that describes `a`. instance HasContentType Javascript where getContentType _ = "text/javascript; charset=utf-8" |
| 2021-06-28 08:31:00 | <tomsmeding> | Arahael: what you could do, if you don't want to define multiple different Image data types (possibly with newtypes), is have a single Image type that takes a phantom type parameter indicating its "kind of image" |
| 2021-06-28 08:31:02 | <int-e> | Well, the *type* `a` is used, but the value is just a proxy. |
| 2021-06-28 08:31:19 | <Arahael> | tomsmeding: That might work, actually! |
| 2021-06-28 08:31:39 | <tomsmeding> | (you'll need FlexibleInstances to define those instances then, but that's fine I guess) |
| 2021-06-28 08:31:53 | <int-e> | That makes the Monad m => constraint a bit weird though. |
| 2021-06-28 08:31:56 | → | boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) |
| 2021-06-28 08:32:36 | <kritzefitz> | int-e, yeah, I'm also wondering why they didn't just use `proxy a` wuthout a constraint. That would have been so much more clear. |
| 2021-06-28 08:33:01 | <int-e> | a historic accident, maybe |
| 2021-06-28 08:33:45 | <Arahael> | tomsmeding: Yep, flexible instances is fine. |
| 2021-06-28 08:34:09 | <Arahael> | int-e: The odd thing, though, is that I don't think it even needs it at all - I have to define a type class instance anyway. |
| 2021-06-28 08:36:02 | → | ubert joins (~Thunderbi@p200300ecdf259d13a4bb62e26735ec02.dip0.t-ipconnect.de) |
| 2021-06-28 08:36:46 | × | ph88^ quits (~ph88@2a02:8109:9e00:7e5c:c022:72e6:8fe0:a81f) (Quit: Leaving) |
| 2021-06-28 08:38:11 | → | Scotty_Trees joins (~Scotty_Tr@162-234-179-169.lightspeed.brhmal.sbcglobal.net) |
All times are in UTC.