2025/01/07

Newest at the top

2025-01-07 16:24:49 +0100ft(~ft@p4fc2a354.dip0.t-ipconnect.de) ft
2025-01-07 16:22:54 +0100alecs(~alecs@nat16.software.imdea.org) (Ping timeout: 252 seconds)
2025-01-07 16:19:51 +0100euphores(~SASL_euph@user/euphores) euphores
2025-01-07 16:13:21 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2025-01-07 16:02:48 +0100turlando(~turlando@user/turlando) turlando
2025-01-07 16:02:17 +0100turlando(~turlando@user/turlando) ()
2025-01-07 15:47:58 +0100orangeFlu(~orangeFlu@240-100-179-143.ftth.glasoperator.nl) orangeFlu
2025-01-07 15:46:03 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 246 seconds)
2025-01-07 15:43:13 +0100comerijn(~merijn@77.242.116.146) merijn
2025-01-07 15:42:02 +0100agent314(~quassel@138.199.43.74) agent314
2025-01-07 15:36:37 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2025-01-07 15:29:57 +0100kuribas(~user@ptr-17d51eobwafm7a8n0pk.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2025-01-07 15:28:50 +0100l_k(~student@85.172.110.96) (Ping timeout: 260 seconds)
2025-01-07 15:25:54 +0100l__k(~student@85.172.110.161)
2025-01-07 15:19:18 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2025-01-07 15:15:14 +0100 <absence> Oh right, I was confused by the necessity of an explicit forall in one case, but not the other. If I use GADT syntax for Test, I don't need any foralls. Thanks!
2025-01-07 15:14:36 +0100ft(~ft@p4fc2a354.dip0.t-ipconnect.de) (Quit: leaving)
2025-01-07 15:11:00 +0100dysthesi1(~dysthesis@user/dysthesis) (Ping timeout: 264 seconds)
2025-01-07 15:09:05 +0100 <sim590> But since it's the default, you don't need the explicit `forall a b.`.
2025-01-07 15:08:36 +0100dysthesis(~dysthesis@user/dysthesis) (Ping timeout: 264 seconds)
2025-01-07 15:08:34 +0100 <sim590> which I gues is equivalent to: Test3 :: forall a b. (a -> b) -> Test3 a.
2025-01-07 15:05:43 +0100 <Leary> absence: Try `data Test3 a where Test3 :: (a -> b) -> Test3 a`. The `b` is existential, not universal. That field is the type of something like `absurd` or `const undefined`.
2025-01-07 15:05:28 +0100dysthesi1(~dysthesis@user/dysthesis) dysthesis
2025-01-07 15:00:17 +0100CiaoSen(~Jura@2a05:5800:240:da00:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds)
2025-01-07 14:58:19 +0100alecs(~alecs@nat16.software.imdea.org) alecs
2025-01-07 14:57:55 +0100kuribas(~user@ptr-17d51eobwafm7a8n0pk.18120a2.ip6.access.telenet.be) kuribas
2025-01-07 14:57:18 +0100 <absence> Disregarding the obvious contrivedness, why doesn't test3 work when test2 does, and can the definition of Test3 be changed to make it work? https://play.haskell.org/saved/xAfH2AaD
2025-01-07 14:53:37 +0100 <sim590> You're right. I'll try to do it also then!
2025-01-07 14:53:27 +0100 <geekosaur> and if it's worth packaging for a distro then it's worth packaging for Hackage imo
2025-01-07 14:53:10 +0100 <geekosaur> up to you but it's generally good practice to put stuff on Hackage so people not on Arch can install it
2025-01-07 14:52:39 +0100 <sim590> With this, I could avoid uploading on Hackage if I don't find it relevant. My package is a simple Card game, not a library. Not sure if that's relevant to put on Hackage.
2025-01-07 14:52:39 +0100alecs(~alecs@nat16.software.imdea.org) (Ping timeout: 265 seconds)
2025-01-07 14:50:56 +0100 <sim590> Alright! That's very helpful though! Thanks!
2025-01-07 14:50:29 +0100 <geekosaur> any other questions you'll have to ask the Arch folks
2025-01-07 14:50:13 +0100 <geekosaur> yes
2025-01-07 14:50:12 +0100 <sim590> Interesting! That's way simpler than I thought!
2025-01-07 14:49:28 +0100 <sim590> I'll try that.
2025-01-07 14:49:23 +0100 <sim590> Hmmm. So I could just put that simple file and it would be enough, that's what you're suggesting?
2025-01-07 14:47:56 +0100 <geekosaur> if you need something mreo elaborate then youre not using the Simple build type
2025-01-07 14:47:35 +0100 <sim590> Is there a more complicated example I could find somewhere on the internet? My first searches only showed me oneliners like these which don't help me very much at making a more elaborate file.
2025-01-07 14:47:12 +0100 <geekosaur> downstream distriibutors don't use cabal or stack, they run Setup.hs with appropriate parameters to integrate the package into their distribution
2025-01-07 14:46:40 +0100 <geekosaur> it's boilerplate for the Simple build type
2025-01-07 14:46:28 +0100 <geekosaur> https://paste.tomsmeding.com/jLSAsoLQ
2025-01-07 14:46:20 +0100 <sim590> How can I generate one? Or is there documentation about how to write it? My first few attempts at searching for that were not successful.
2025-01-07 14:45:37 +0100pavonia(~user@user/siracusa) siracusa
2025-01-07 14:45:07 +0100 <geekosaur> that said, best practice is to include a "dummy" Setup.hs to make life easier for distributors
2025-01-07 14:44:41 +0100 <geekosaur> yeh, you need to ask them about it, it's a question about their build/packaging system, not Haskell
2025-01-07 14:44:06 +0100 <geekosaur> probably #archlinux since they don't follow Haskell best practices
2025-01-07 14:43:40 +0100 <sim590> My project doesn't have a Setup.hs file since its `build-type` is `Simple` (the default). I'm wondering if `arch-hs` is gonna understand that correctly and give working PKGBUILD as output.
2025-01-07 14:42:18 +0100 <sim590> I'm not sure if I should have asked here or on #archlinux, but I have a question regarding packaging a Haskell executable on Archlinux and the guidelines here: https://wiki.archlinux.org/title/Haskell_package_guidelines.