2025/06/05

Newest at the top

2025-06-05 22:53:20 +0200 <__monty__> It's required to run the Shakefile, that's all. I'm just hoping there's a nice way to specify it in a Cabal file to be made available. Is a hypothetical script component with "run-depends: base, aeson, shake" really so outrageous?
2025-06-05 22:51:19 +0200 <haskellbridge> <sm> good question, it seems underdocumented
2025-06-05 22:51:07 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-05 22:50:43 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-05 22:48:57 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2025-06-05 22:48:51 +0200 <geekosaur> okay, that's more or less what I expected, so where does this "shake" executable come in?
2025-06-05 22:48:43 +0200trickard_(~trickard@cpe-51-98-47-163.wireline.com.au)
2025-06-05 22:48:30 +0200trickard(~trickard@cpe-51-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-06-05 22:47:35 +0200 <sclv> its a haskell program.
2025-06-05 22:47:35 +0200 <sclv> this is what a shakefile looks like. it has a main function and everything: https://shakebuild.com/manual#running
2025-06-05 22:47:34 +0200 <__monty__> No, my tooling sets up the dependencies but that tooling does so by interpreting a Cabal file.
2025-06-05 22:47:20 +0200 <geekosaur> or are you asking shake to do what it doesn't?
2025-06-05 22:46:54 +0200 <geekosaur> so what you really want is for shake tpo understand build dependencies?
2025-06-05 22:46:51 +0200 <sclv> a shakefile is literally an executable script. thats how it works. compiling vs interpreting is simply a matter of efficiency and optimization.
2025-06-05 22:46:25 +0200 <geekosaur> well, no, if they don't need to be rebuilt they don't
2025-06-05 22:46:16 +0200 <EvanR> it gets the same results in the end which is why I was curious what difference it makes
2025-06-05 22:46:10 +0200 <geekosaur> yes
2025-06-05 22:46:01 +0200 <haskellbridge> <sm> sclv, geekosaur: do cabal scripts _always_ compile now ?
2025-06-05 22:45:25 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-05 22:45:03 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-05 22:44:41 +0200 <sclv> it used to interpret then people fixed it
2025-06-05 22:44:37 +0200 <EvanR> compiling vs interpreting is subjective
2025-06-05 22:44:35 +0200 <__monty__> I don't know why everyone's assuming I want to execute the Shakefile as if it's an executable? I just want to invoke `shake myShakefile.hs`.
2025-06-05 22:44:27 +0200 <sclv> there’s no downside to how cabal does scripts
2025-06-05 22:44:17 +0200 <sclv> the hard part isn’t compiling its making deps available. after that compiling is just an efficiency optimization
2025-06-05 22:43:49 +0200 <__monty__> The problem with an executable component is just that `cabal build` does too much. I don't need the Shakefile to be compiled.
2025-06-05 22:43:46 +0200 <geekosaur> then you want a kernel module to recognize Shakefiles??? how exactly do you think this is supposed to work?
2025-06-05 22:43:46 +0200 <sclv> why
2025-06-05 22:43:29 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-05 22:43:13 +0200 <__monty__> Not Cabal nor Stack nor Nix.
2025-06-05 22:43:00 +0200 <__monty__> I'm really quite certain I don't want a shebang at all in my Shakefile.
2025-06-05 22:42:30 +0200 <geekosaur> no, I think they want an interpreted cabal script, which currently doesn't exist
2025-06-05 22:42:22 +0200 <__monty__> I think "Make Shake available" isn't a great fit for a Cabal file either. There's build-tool depends or something but it's not really a build tool.
2025-06-05 22:42:11 +0200 <EvanR> what's the problem with an executable
2025-06-05 22:42:05 +0200 <haskellbridge> <sm> why ?
2025-06-05 22:41:55 +0200 <haskellbridge> <sm> you currently have a single Shakefile.hs. But you want to make it a cabal project ?
2025-06-05 22:41:00 +0200 <__monty__> I'm not annoyed. I suspect there's no better fit than an executable component.
2025-06-05 22:40:30 +0200 <haskellbridge> <sm> anyway I don't want to annoy you. I think Shake scripts are awesome
2025-06-05 22:40:26 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-05 22:40:04 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-05 22:39:57 +0200 <haskellbridge> <sm> your original question _seemed_ clear... :)
2025-06-05 22:39:53 +0200tromp(~textual@2001:1c00:3487:1b00:fdb0:a3b6:295:d798)
2025-06-05 22:39:16 +0200hughjfchen(~hughjfche@vmi2417424.contaboserver.net) hughjfchen
2025-06-05 22:39:04 +0200 <haskellbridge> <sm> I guess I'm unclear what you want
2025-06-05 22:38:58 +0200jle`(~jle`@2603:8001:3b00:11:4ad5:4a75:b2fe:7fbe) jle`
2025-06-05 22:38:52 +0200hughjfchen(~hughjfche@vmi2417424.contaboserver.net) (Remote host closed the connection)
2025-06-05 22:38:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-05 22:38:41 +0200jle`(~jle`@2603:8001:3b00:11:ed10:7791:af4e:7281) (Ping timeout: 268 seconds)
2025-06-05 22:38:13 +0200 <__monty__> But that's another option that doesn't achieve what I want. I don't want a single-file project. The code for the project happens to be in a single file but it needn't be. It's just that "non-compiled script with dependencies" doesn't seem to fit my understanding of the Cabal model.
2025-06-05 22:35:40 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell