2025/08/25

Newest at the top

2025-08-25 23:30:36 +0200 <haskellbridge> <magic_rb> And also using TH for the codegen seems like a slightly more stable API to bind myself to
2025-08-25 23:30:26 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2025-08-25 23:29:40 +0200 <haskellbridge> <magic_rb> The reason why im looking at TH is because im trying to make this as easy for myself as possible. And i already know TH, i dont know GHC internals at all. So if i can get by with TH + hlint itll make my life so much easier
2025-08-25 23:29:27 +0200hakutaku(~textual@chen.yukari.eu.org)
2025-08-25 23:29:01 +0200hakutaku_(~textual@chen.yukari.eu.org) (Remote host closed the connection)
2025-08-25 23:27:43 +0200 <haskellbridge> <magic_rb> Works completely fine as id expect
2025-08-25 23:27:23 +0200 <haskellbridge> <magic_rb> https://paste.tomsmeding.com/fyAwZnTL
2025-08-25 23:26:29 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-08-25 23:25:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-25 23:25:41 +0200zarakshR(~Thunderbi@0542a05a.skybroadband.com) (Ping timeout: 258 seconds)
2025-08-25 23:25:06 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 256 seconds)
2025-08-25 23:22:42 +0200 <geekosaur> you *can* use TH that way, but it's kinda pointless when you can use ghc-lib directly
2025-08-25 23:22:10 +0200 <geekosaur> ghci is a special case, precisely because it's using ghc-as-a-library
2025-08-25 23:21:26 +0200 <haskellbridge> <magic_rb> Well ill have ghc as a lib anyway
2025-08-25 23:21:11 +0200 <geekosaur> unless you use ghc-as-a-library to create omne, but in that case you can also use that to compile your code
2025-08-25 23:20:57 +0200 <haskellbridge> <magic_rb> That works manually
2025-08-25 23:20:48 +0200 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/wajzBaqZbUJuSumxnuUkxUbI/vIjBGgZb82A (5 lines)
2025-08-25 23:20:48 +0200 <haskellbridge> <magic_rb> ghci> :t x
2025-08-25 23:20:30 +0200 <geekosaur> the reason you can't run it at runtime is that it runs during parsing of your program. you can't link in the library at runtime usefully because you don't have a GHC context to give it
2025-08-25 23:20:13 +0200jmcantrell_jmcantrell
2025-08-25 23:19:24 +0200 <geekosaur> the hint package makes this easier
2025-08-25 23:19:16 +0200 <geekosaur> what is possible is using ghc-as-a-library at runtime (which links all of ghc into your program)
2025-08-25 23:18:47 +0200 <geekosaur> which isn't possible
2025-08-25 23:18:43 +0200 <geekosaur> that requires "TH" running at runtime instead of compile time
2025-08-25 23:18:38 +0200 <haskellbridge> <magic_rb> I see absolutely no reason why i cant run it at runtime
2025-08-25 23:18:19 +0200 <haskellbridge> <magic_rb> I can use it to produce a Doc value at runtime
2025-08-25 23:18:10 +0200 <haskellbridge> <magic_rb> Because the template-haskell library is a library
2025-08-25 23:17:28 +0200 <geekosaur> how is TH, which runs at compile time, supposed to know about files only present at runtime?
2025-08-25 23:17:19 +0200 <haskellbridge> <magic_rb> I mean the literal library
2025-08-25 23:17:14 +0200 <haskellbridge> <magic_rb> By th i dont mean the extension
2025-08-25 23:17:07 +0200 <haskellbridge> <magic_rb> And then show it, then hint it
2025-08-25 23:17:00 +0200 <haskellbridge> <magic_rb> Why not? I can get Doc from TH
2025-08-25 23:16:48 +0200 <haskellbridge> <magic_rb> No because i need to generate it piece by piece
2025-08-25 23:16:47 +0200 <geekosaur> if you only know the nix files at runtime then TH won't help you
2025-08-25 23:16:13 +0200 <geekosaur> if you are able to generate the AST at compile time then you can just splice it and compile it then
2025-08-25 23:15:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2025-08-25 23:15:04 +0200 <haskellbridge> <magic_rb> (Or probably ghc as i may need lower level control)
2025-08-25 23:14:44 +0200 <haskellbridge> <magic_rb> I know, im thinking if i can use TH to generate the AST since im familiar with it. Then take the Doc type, print it, shove that into hint
2025-08-25 23:10:37 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-25 23:08:25 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-08-25 23:06:46 +0200 <geekosaur> TH won't do this (it's compile time), you need ghc-as-a-library
2025-08-25 23:06:26 +0200 <geekosaur> you probably want the hint package
2025-08-25 23:06:17 +0200sprotte24(~sprotte24@p200300d16f22e400a41ef76cad8884a0.dip0.t-ipconnect.de)
2025-08-25 23:03:55 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com) jonrh
2025-08-25 23:03:44 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com) (Server closed connection)
2025-08-25 23:01:44 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 248 seconds)
2025-08-25 23:01:27 +0200takuan(~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
2025-08-25 22:59:36 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-08-25 22:55:13 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-08-25 22:50:55 +0200 <haskellbridge> <magic_rb> I want to do transpiling from individual nix files into haskell using TH and then compile the resulting AST into bytecode/machine code. Stitch it together and run the whole tree of nix/haskell modules