Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,409 events total
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.