15 Sep 2025 |
emily | or at least did back in my day | 13:20:52 |
emily | have I mentioned I'm old lately | 13:21:06 |
MangoIV | like, sure it would if you have checks duplicated all over, things running several times with the same inputs | 13:21:06 |
MangoIV | and everything being IO | 13:21:10 |
sterni | we can just replace the generics / TH instance deriving with a few small m4 scripts problem solved :3 | 13:21:35 |
teo (they/he) | So once DH is done there's space for TH haha! | 13:21:50 |
emily | for GHC this unironically seems perfectly adequate. (is the joke that it used to be this) | 13:22:27 |
teo (they/he) | I am genuinely tempted to pitch this for the alternative way to fix the issue with typeclass instances in GHC | 13:22:35 |
emily | like have a damn Python script doing code generation for all I care | 13:22:54 |
emily | if it's just for GHC bootstrap | 13:23:02 |
MangoIV | just use CPP macros? | 13:23:05 |
teo (they/he) | GHC already has a bunch of these for generating C code | 13:23:10 |
emily | ok I have an idea | 13:23:19 |
emily | what if we extend this to solve codegen problems too | 13:23:26 |
teo (they/he) | yeah maybe, or python or whatever. I don't mind too much | 13:23:29 |
emily | we would need to use a language that we can trust to be present on all Unix systems | 13:23:42 |
emily | like say Perl | 13:23:45 |
emily | we could have a Perl script | 13:23:51 |
emily | and it could read in assembly code | 13:23:58 |
emily | and apply fix-ups. mangling, you could say | 13:24:17 |
sterni | code gen is unironically really nice and it can be down flexibly and simply. In Haskell packgaes it's often not a good option since Cabal doesn't have good support for it (e.g. the preprocessor hack hspec-discover uses is very hacky and breaks recompilation tracking), but GHC already uses autoconf, so you can just pregenerate that with that | 13:24:42 |
emily | (does the evil mangler still exist) | 13:24:52 |
MangoIV | the evil mangler is after code gen though | 13:25:51 |
MangoIV | it mangles assembly | 13:26:00 |
teo (they/he) | I'm quite hopefully about the new Hooks build type. It would be quite nice to use codegen more. Often nicer than TH | 13:26:02 |
MangoIV | can it generate scripts for the hooks yet? | 13:26:22 |
teo (they/he) | cause you get nice introspection for free | 13:26:25 |
sterni | we'll see how that turns out; when it happened I did not have the energy to look at the proposal at all | 13:26:44 |
MangoIV | afaiu it doesn't seem to fix the problem that external build systems face with Setup.hs , but it may be made to do so. | 13:28:10 |
MangoIV | The issue is that you still have to implement the Hooks externally. | 13:28:19 |