Newest at the top
2025-10-19 22:03:42 +0200 | <Haskeller0x00> | okay, gotchu :) |
2025-10-19 22:02:26 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-19 22:02:17 +0200 | <geekosaur> | also re plagiarism, I think simply linking the paper as needed is sufficient |
2025-10-19 22:01:56 +0200 | <Haskeller0x00> | Thank you so much y'all! |
2025-10-19 22:01:34 +0200 | <geekosaur> | between the Commentary and Notes in the source, ghc internals are very well documented |
2025-10-19 22:01:07 +0200 | <Lycurgus> | maybe mastery and hacking are opposites |
2025-10-19 22:00:59 +0200 | trickard_ | trickard |
2025-10-19 22:00:59 +0200 | <monochrom> | OK OK, or a plugin. |
2025-10-19 22:00:39 +0200 | <geekosaur> | as for where you start, it's https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary |
2025-10-19 22:00:36 +0200 | <monochrom> | It's either unsafeCoerce or modify GHC source code. |
2025-10-19 21:59:54 +0200 | <geekosaur> | gonna take more than that, as I said earlier you need to modify the typechecker if you're implementing that paper |
2025-10-19 21:59:43 +0200 | <Lycurgus> | and then i still wouldn |
2025-10-19 21:59:42 +0200 | <Haskeller0x00> | hmm... related question: is it a good idea to post code here (and risk plagiarism)? |
2025-10-19 21:59:14 +0200 | <Lycurgus> | hack the compiler? I'd master TH 1st. |
2025-10-19 21:58:46 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds) |
2025-10-19 21:58:27 +0200 | <geekosaur> | I think you can't do this without unsafeCoerce. the best you can do is hide it in the implementation, with a type that prevents its use for anything but this |
2025-10-19 21:56:40 +0200 | wbrawner | (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 246 seconds) |
2025-10-19 21:56:22 +0200 | <Haskeller0x00> | uh, except for letRGN that is... its definition still eludes my dumb ass 😅 |
2025-10-19 21:55:42 +0200 | <Haskeller0x00> | So, so far, I have encoded the functions using ST (and type erasure). runRGN required me to use unsafeCoerce and I kind of have a bad feeling about it. In a related question, if I actually do decide to hack the compiler, where would I begin? |
2025-10-19 21:55:06 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) barrucadu |
2025-10-19 21:54:37 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 264 seconds) |
2025-10-19 21:53:49 +0200 | Lycurgus | (~juan@user/Lycurgus) Lycurgus |
2025-10-19 21:53:02 +0200 | int-e | (~noone@int-e.eu) int-e |
2025-10-19 21:52:49 +0200 | int-e | (~noone@int-e.eu) (Ping timeout: 264 seconds) |
2025-10-19 21:52:42 +0200 | kaol | (~kaol@94-237-45-144.nl-ams1.upcloud.host) |
2025-10-19 21:51:24 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
2025-10-19 21:51:20 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) Maxdamantus |
2025-10-19 21:51:01 +0200 | apache | (apache2@anubis.0x90.dk) (Ping timeout: 264 seconds) |
2025-10-19 21:51:01 +0200 | kaol | (~kaol@94-237-45-144.nl-ams1.upcloud.host) (Ping timeout: 264 seconds) |
2025-10-19 21:51:01 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds) |
2025-10-19 21:50:27 +0200 | yegor | (~yegor@user/yegor) (WeeChat 4.6.3) |
2025-10-19 21:48:01 +0200 | apache2 | (apache2@anubis.0x90.dk) apache2 |
2025-10-19 21:46:38 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-10-19 21:46:29 +0200 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder |
2025-10-19 21:44:38 +0200 | <Shark8> | Hi all. I'm working on a proposal for the Ada programming language, essentially adding a meta-language (or formalizing/generalizing the meta-language of the generic-formal parameter, turning them inside out). And Haskell's kinds/higher-kinded types seem to articulate what I want, though I'm not entirely sure, as my experience with Haskell is (a) reading about it, and (b) reading papers that use it. |
2025-10-19 21:44:11 +0200 | fp | (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Remote host closed the connection) |
2025-10-19 21:43:44 +0200 | <geekosaur> | int-e: worth noting is that liftST was SPJ's suggestion (and yes, it'd be unsafeCoerce#… but so is unsafeSTtoIO) |
2025-10-19 21:39:49 +0200 | <Haskeller0x00> | I mean at this point I'll take something that works on the surface like regions 😅 |
2025-10-19 21:38:28 +0200 | <geekosaur> | but saying that regions via ST needed to access both ST contexts and then saying providing liftST or importST wouldn't be enough just really strongly hints that ST isn't strong enough to actually provide region support |
2025-10-19 21:37:38 +0200 | myxokephale | (~myxos@syn-065-025-110-175.res.spectrum.com) (Remote host closed the connection) |
2025-10-19 21:37:28 +0200 | <geekosaur> | dunno |
2025-10-19 21:37:17 +0200 | <Haskeller0x00> | Is that what he was hinting at? |
2025-10-19 21:37:03 +0200 | <geekosaur> | you might get something that behaved on the surface like it, but underneath was doing the wrong things |
2025-10-19 21:36:45 +0200 | <geekosaur> | with the whole idea of using ST to simulate regions |
2025-10-19 21:36:20 +0200 | <geekosaur> | yeh, I was thinking that the assertion that liftST wouldn't help meant that something more fundamental was wrong |
2025-10-19 21:35:40 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
2025-10-19 21:34:12 +0200 | fp | (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) fp |
2025-10-19 21:33:32 +0200 | inline_ | Inline |
2025-10-19 21:33:26 +0200 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
2025-10-19 21:32:47 +0200 | <Haskeller0x00> | drat |