Newest at the top
| 2025-12-12 12:16:06 +0100 | <lucabtz> | i think rank N means it has rank N-1 as its arguments, the base case rank 0 being a monomorphic value/function |
| 2025-12-12 12:15:15 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 12:15:05 +0100 | <Enrico63> | I kind of get that. I suppose I want to do a quiz to make sure I have truly understood, rather than memoized some patterns |
| 2025-12-12 12:13:44 +0100 | <Enrico63> | Whereas rank 2 means that the implementation (i.e. the inner scope) chooses the type variable of the inner forall |
| 2025-12-12 12:12:39 +0100 | <haskellbridge> | <loonycyborg> With rank 1 all variables are set at outer scope and you won't be passing any polymorphic functions. |
| 2025-12-12 12:12:37 +0100 | <Enrico63> | loonycyborg, yeah, I'm also (halfway) there |
| 2025-12-12 12:12:31 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 12:12:08 +0100 | <haskellbridge> | <loonycyborg> I personally found the trick to understanding rank-n is that they're about polymorphic functions that can take other polymorphic functions. |
| 2025-12-12 12:12:00 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-12-12 12:10:10 +0100 | <mauke> | (the answer is yes) |
| 2025-12-12 12:09:41 +0100 | <Enrico63> | Yeah, I don't quite get what's unclear to me, so I asked those previous questions to have something to hinge on |
| 2025-12-12 12:08:52 +0100 | <mauke> | well, it's what I would've used to answer your question :-) |
| 2025-12-12 12:07:52 +0100 | <Enrico63> | I come _from_ that page |
| 2025-12-12 12:07:01 +0100 | <mauke> | https://wiki.haskell.org/Rank-N_types |
| 2025-12-12 12:06:09 +0100 | <Enrico63> | It is rank 2, correct? |
| 2025-12-12 12:06:02 +0100 | <Enrico63> | Well, that's the same as `forall b. (forall a. a -> a) -> b` |
| 2025-12-12 12:05:37 +0100 | <Enrico63> | (Be damned the formatting, ahhah) |
| 2025-12-12 12:05:25 +0100 | <Enrico63> | Instead, if I have `(forall a. a -> a) -> b`, that's rank 2, right? |
| 2025-12-12 12:03:53 +0100 | <lucabtz> | yes rank 1 |
| 2025-12-12 12:02:08 +0100 | <Enrico63> | The id function has type `forall a. a -> a` which is rank 1, right? |
| 2025-12-12 12:02:07 +0100 | <Enrico63> | Hi, there. I'd like some clarification on rank-n types. |
| 2025-12-12 12:00:40 +0100 | Enrico63 | (~Enrico63@host-95-251-99-143.retail.telecomitalia.it) Enrico63 |
| 2025-12-12 11:52:30 +0100 | Katarushisu | (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 244 seconds) |
| 2025-12-12 11:44:50 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) |
| 2025-12-12 11:42:56 +0100 | tromp | (~textual@2001:1c00:3487:1b00:dd4:56d:fd02:60e2) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-12-12 11:38:15 +0100 | <gentauro> | related xD https://xkcd.com/2453/ |
| 2025-12-12 11:37:47 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-12 11:27:55 +0100 | Tuplanolla | (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) Tuplanolla |
| 2025-12-12 11:25:07 +0100 | deptype | (~deptype@2406:b400:3a:9d2f:23b7:e1a3:7fe:1a22) (Remote host closed the connection) |
| 2025-12-12 11:24:55 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-12 11:18:06 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-12 11:17:23 +0100 | poscat | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-12-12 11:14:25 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 11:14:14 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Quit: leaving) |
| 2025-12-12 11:09:41 +0100 | poscat | (~poscat@user/poscat) poscat |
| 2025-12-12 11:08:30 +0100 | trickard_ | trickard |
| 2025-12-12 11:08:27 +0100 | poscat0x04 | (~poscat@user/poscat) (Remote host closed the connection) |
| 2025-12-12 11:04:59 +0100 | lucabtz | (~lucabtz@user/lucabtz) lucabtz |
| 2025-12-12 11:03:55 +0100 | trickard_ | (~trickard@cpe-83-98-47-163.wireline.com.au) |
| 2025-12-12 11:03:42 +0100 | trickard | (~trickard@cpe-83-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-12-12 11:02:29 +0100 | __monty__ | (~toonn@user/toonn) toonn |
| 2025-12-12 11:02:00 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-12-12 10:57:43 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds) |
| 2025-12-12 10:57:35 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 240 seconds) |
| 2025-12-12 10:57:11 +0100 | poscat0x04 | (~poscat@user/poscat) poscat |
| 2025-12-12 10:56:49 +0100 | Googulator | (~Googulato@team.broadbit.hu) |
| 2025-12-12 10:56:37 +0100 | AnkurAlpha | (~ankur@user/AnkurAlpha) AnkurAlpha |
| 2025-12-12 10:54:05 +0100 | chele | (~chele@user/chele) chele |
| 2025-12-12 10:52:04 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 2025-12-12 10:44:03 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |