Newest at the top
| 2025-12-12 19:30:59 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 19:30:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-12-12 19:28:53 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 19:28:40 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 19:28:35 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:c928:dba3:487d:1bc) (Remote host closed the connection) |
| 2025-12-12 19:25:55 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
| 2025-12-12 19:23:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 19:18:00 +0100 | defragger | (~random@i5C742CE2.versanet.de) (Remote host closed the connection) |
| 2025-12-12 19:14:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 19:12:15 +0100 | karenw | (~karenw@user/karenw) (Ping timeout: 240 seconds) |
| 2025-12-12 19:09:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 19:03:54 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
| 2025-12-12 19:03:49 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:d615:9737:dd6:7ffc) kuribas |
| 2025-12-12 19:03:35 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:9d3f:f177:3913:c0a7) (Remote host closed the connection) |
| 2025-12-12 19:03:08 +0100 | <EvanR> | clearly nonsense |
| 2025-12-12 19:02:57 +0100 | <EvanR> | if it was, then boxcar would = bo3car |
| 2025-12-12 19:02:27 +0100 | <EvanR> | x cannot possibly equal 3 |
| 2025-12-12 19:02:04 +0100 | <EvanR> | mauke, lol |
| 2025-12-12 18:59:45 +0100 | Wygulmage | (~Wygulmage@user/Wygulmage) (Ping timeout: 272 seconds) |
| 2025-12-12 18:58:31 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 18:53:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:50:42 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
| 2025-12-12 18:43:54 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds) |
| 2025-12-12 18:43:24 +0100 | ZLima12_ | (~zlima12@user/meow/ZLima12) ZLima12 |
| 2025-12-12 18:42:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 18:42:46 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
| 2025-12-12 18:42:37 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 2025-12-12 18:40:46 +0100 | AnkurAlpha | (~ankur@user/AnkurAlpha) (Quit: leaving) |
| 2025-12-12 18:40:37 +0100 | kuribas | (~user@2a02:1808:cd:c4e1:9d3f:f177:3913:c0a7) kuribas |
| 2025-12-12 18:38:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:28:28 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) (Quit: Client closed) |
| 2025-12-12 18:27:50 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-12 18:27:37 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 18:22:27 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:19:13 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-12 18:18:51 +0100 | sindu | (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-12-12 18:14:50 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 244 seconds) |
| 2025-12-12 18:14:07 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2025-12-12 18:14:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 18:12:48 +0100 | acidjnk | (~acidjnk@p200300d6e717190330ae5c7be13b8759.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2025-12-12 18:12:41 +0100 | <ski> | (but there are contexts in which tyvars are not implicitly `forall'-quantified, like when the tyvar is already in scope outside of the signature) |
| 2025-12-12 18:12:00 +0100 | <ski> | Enrico63 : for the most part, yes |
| 2025-12-12 18:11:47 +0100 | <ski> | if you'd represent type class instances using "dictionaries"/"vtables" (records of methods), then `Eq a' (as above) would be represented as `data EqDict a = MkEqDict {(==) :: a -> a -> Bool}', while for the `Functor' case we'd get `data FunctorDict f = MkFunctorDict {fmap :: forall a b. (a -> b) -> f a -> f b}', where the component/field here is polymorphic, so that the `MkFunctorDict' has a rank-1 type |
| 2025-12-12 18:11:24 +0100 | <Enrico63> | When I wrote `(forall a. a -> a) -> b` [...] the same as `forall b. (forall a. a -> a) -> b` , I think I was assuming a leading `::`, i.e. that that was the whole signature. Is that what makes the difference? |
| 2025-12-12 18:08:47 +0100 | <ski> | (so, that's a "polymorphic method" example) |
| 2025-12-12 18:08:28 +0100 | <ski> | so, in `class Eq a where (==) :: a -> a -> Bool', the `(==)' method here is *not* polymorphic, it is monomorphic in the specific `a' being an instance of `Eq' that we're talking about. otoh, in `class Functor f where fmap :: (a -> b) -> f a -> f b', the signature here *is* interpreted as `fmap :: forall a b. (a -> b) -> f a -> f b' (so polymorphic in `a' and `b', but not in `f') |
| 2025-12-12 18:05:43 +0100 | <ski> | (exceptions being method signatures in `class' (and `instance') declarations, which have the type variables in the head of the declaration free; field/component signatures in record notation for data types; also local signatures (e.g. with `where' or `let'-`in') if you have non local tyvars in scope, using `ScopedTypeVariables') |
| 2025-12-12 18:03:55 +0100 | __monty__ | (~toonn@user/toonn) (Ping timeout: 240 seconds) |
| 2025-12-12 18:03:33 +0100 | <mauke> | if it was, then [a] -> Integer would be the same as ([a] -> Int)eger |
| 2025-12-12 18:03:19 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |