Logs: liberachat/#haskell
| 2025-10-19 19:27:32 | <Haskeller0x00> | I'm completely lost at this point. |
| 2025-10-19 19:27:51 | <Haskeller0x00> | (and worried that I might fail my capstone :() |
| 2025-10-19 19:30:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-19 19:31:57 | <int-e> | I think I get the response. IIUC, this is purely for operational semantics, after all type checking is complete and types are erased. |
| 2025-10-19 19:32:36 | <Haskeller0x00> | Yes, I thought this was the case |
| 2025-10-19 19:32:40 | <int-e> | So you still can't do it inside Haskell, well, not without unsafeCoerce. |
| 2025-10-19 19:32:47 | <Haskeller0x00> | drat |
| 2025-10-19 19:33:26 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 2025-10-19 19:33:32 | inline_ | is now known as Inline |
| 2025-10-19 19:34:12 | → | fp joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) |
| 2025-10-19 19:35:40 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-10-19 19:36:20 | <geekosaur> | yeh, I was thinking that the assertion that liftST wouldn't help meant that something more fundamental was wrong |
| 2025-10-19 19:36:45 | <geekosaur> | with the whole idea of using ST to simulate regions |
| 2025-10-19 19:37:03 | <geekosaur> | you might get something that behaved on the surface like it, but underneath was doing the wrong things |
| 2025-10-19 19:37:17 | <Haskeller0x00> | Is that what he was hinting at? |
| 2025-10-19 19:37:28 | <geekosaur> | dunno |
| 2025-10-19 19:37:38 | × | myxokephale quits (~myxos@syn-065-025-110-175.res.spectrum.com) (Remote host closed the connection) |
| 2025-10-19 19:38:28 | <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 19:39:49 | <Haskeller0x00> | I mean at this point I'll take something that works on the surface like regions 😅 |
| 2025-10-19 19:43:44 | <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 19:44:11 | × | fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Remote host closed the connection) |
| 2025-10-19 19:44:38 | <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 19:46:29 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 2025-10-19 19:46:38 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-19 19:48:01 | → | apache2 joins (apache2@anubis.0x90.dk) |
| 2025-10-19 19:50:27 | ← | yegor parts (~yegor@user/yegor) (WeeChat 4.6.3) |
| 2025-10-19 19:51:01 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds) |
| 2025-10-19 19:51:01 | × | kaol quits (~kaol@94-237-45-144.nl-ams1.upcloud.host) (Ping timeout: 264 seconds) |
| 2025-10-19 19:51:01 | × | apache quits (apache2@anubis.0x90.dk) (Ping timeout: 264 seconds) |
| 2025-10-19 19:51:20 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 2025-10-19 19:51:24 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-10-19 19:52:42 | → | kaol joins (~kaol@94-237-45-144.nl-ams1.upcloud.host) |
| 2025-10-19 19:52:49 | × | int-e quits (~noone@int-e.eu) (Ping timeout: 264 seconds) |
| 2025-10-19 19:53:02 | → | int-e joins (~noone@int-e.eu) |
| 2025-10-19 19:53:49 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 2025-10-19 19:54:37 | × | barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 264 seconds) |
| 2025-10-19 19:55:06 | → | barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk) |
| 2025-10-19 19:55:42 | <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 19:56:22 | <Haskeller0x00> | uh, except for letRGN that is... its definition still eludes my dumb ass 😅 |
| 2025-10-19 19:56:40 | × | wbrawner quits (~wbrawner@static.56.224.132.142.clients.your-server.de) (Ping timeout: 246 seconds) |
| 2025-10-19 19:58:27 | <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 19:58:46 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds) |
| 2025-10-19 19:59:14 | <Lycurgus> | hack the compiler? I'd master TH 1st. |
| 2025-10-19 19:59:42 | <Haskeller0x00> | hmm... related question: is it a good idea to post code here (and risk plagiarism)? |
| 2025-10-19 19:59:43 | <Lycurgus> | and then i still wouldn |
| 2025-10-19 19:59:54 | <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 20:00:36 | <monochrom> | It's either unsafeCoerce or modify GHC source code. |
| 2025-10-19 20:00:39 | <geekosaur> | as for where you start, it's https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary |
| 2025-10-19 20:00:59 | <monochrom> | OK OK, or a plugin. |
| 2025-10-19 20:00:59 | trickard_ | is now known as trickard |
| 2025-10-19 20:01:07 | <Lycurgus> | maybe mastery and hacking are opposites |
| 2025-10-19 20:01:34 | <geekosaur> | between the Commentary and Notes in the source, ghc internals are very well documented |
| 2025-10-19 20:01:56 | <Haskeller0x00> | Thank you so much y'all! |
| 2025-10-19 20:02:17 | <geekosaur> | also re plagiarism, I think simply linking the paper as needed is sufficient |
| 2025-10-19 20:02:26 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-19 20:03:42 | <Haskeller0x00> | okay, gotchu :) |
| 2025-10-19 20:06:31 | → | wbrawner joins (~wbrawner@static.56.224.132.142.clients.your-server.de) |
| 2025-10-19 20:06:53 | <Lycurgus> | is wiki.haskell.org down or moved? |
| 2025-10-19 20:07:20 | → | fp joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) |
| 2025-10-19 20:07:29 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-10-19 20:07:56 | <darkling> | Down for me. |
| 2025-10-19 20:08:08 | <geekosaur> | likewise |
| 2025-10-19 20:08:31 | <geekosaur> | just asked in -infrastructure |
| 2025-10-19 20:08:46 | <monochrom> | It should not have moved. It's probably down. |
| 2025-10-19 20:09:10 | <geekosaur> | moved is somewhat possible, there were some rearrangements relatively recently due to a security issue |
| 2025-10-19 20:09:23 | <Lycurgus> | yes, i got a partical response b4 it went complelty belly up showing the detested nginx |
| 2025-10-19 20:09:23 | <geekosaur> | but there should be a redirect in that case |
| 2025-10-19 20:09:47 | × | Haskeller0x00 quits (~Haskeller@38.49.92.193) (Ping timeout: 250 seconds) |
| 2025-10-19 20:09:49 | <geekosaur> | right, load just got 502 finally |
| 2025-10-19 20:09:54 | <Lycurgus> | *partial |
| 2025-10-19 20:12:00 | × | gorignak quits (~gorignak@user/gorignak) (Read error: Connection reset by peer) |
| 2025-10-19 20:12:34 | <geekosaur> | here's another thing from the paper that says runST isn't enough: "The problem is that the explicit connection between the outer and inner regions in the product type enforces a total order on regions, which leaks into the types of region allocated values." |
| 2025-10-19 20:13:24 | <geekosaur> | if you use liftST instead of importST, this translates to "you must know exactly how many nested liftST are needed to reach the correct outer computation" |
| 2025-10-19 20:13:50 | <Lycurgus> | leak |
| 2025-10-19 20:14:36 | <geekosaur> | (unlike mtl, there's no way to infer it from the type the way e.g. liftIO does) |
| 2025-10-19 20:15:19 | <Lycurgus> | ok igess if 'leak' can be a shorthard for any vibe related concepts full nonun phrase |
| 2025-10-19 20:15:26 | <Lycurgus> | *noun |
| 2025-10-19 20:17:22 | → | fp1 joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 2025-10-19 20:18:14 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-19 20:18:36 | × | fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Ping timeout: 252 seconds) |
| 2025-10-19 20:18:36 | fp1 | is now known as fp |
| 2025-10-19 20:18:51 | <int-e> | looks like the wiki is better now? |
| 2025-10-19 20:19:21 | <geekosaur> | if it's crawler overload, it probably depends on whether you can sneak in between the load |
| 2025-10-19 20:19:33 | <Lycurgus> | confirmed |
| 2025-10-19 20:20:05 | <geekosaur> | mm, also working here now |
| 2025-10-19 20:20:24 | <geekosaur> | so maybe it wasn't crawlers, just something that got missed during the recent move or sth |
| 2025-10-19 20:21:21 | <geekosaur> | btgw I am getting a strong sense of "an effects system-based ST might be able to do this" |
| 2025-10-19 20:21:36 | <geekosaur> | but ST in GHC is based on IO |
| 2025-10-19 20:21:48 | → | esph joins (~weechat@user/esph) |
| 2025-10-19 20:22:49 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-10-19 20:22:58 | <geekosaur> | meaning any mechanism to access outer contexts will be some form of liftST (viz. liftIO), which isnt flexible enough |
| 2025-10-19 20:28:31 | × | malte quits (~malte@mal.tc) (Ping timeout: 246 seconds) |
| 2025-10-19 20:29:10 | → | karenw joins (~karenw@user/karenw) |
| 2025-10-19 20:30:01 | × | fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 264 seconds) |
| 2025-10-19 20:31:10 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org )) |
| 2025-10-19 20:31:19 | → | fp joins (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) |
| 2025-10-19 20:31:34 | × | takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection) |
| 2025-10-19 20:32:09 | × | fp quits (~Thunderbi@2001-14ba-6e24-3000--190.rev.dnainternet.fi) (Client Quit) |
| 2025-10-19 20:32:23 | → | fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 2025-10-19 20:36:16 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
All times are in UTC.