Newest at the top
2025-01-07 15:36:37 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2025-01-07 15:29:57 +0100 | kuribas | (~user@ptr-17d51eobwafm7a8n0pk.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2025-01-07 15:28:50 +0100 | l_k | (~student@85.172.110.96) (Ping timeout: 260 seconds) |
2025-01-07 15:25:54 +0100 | l__k | (~student@85.172.110.161) |
2025-01-07 15:19:18 +0100 | mari-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 +0100 | ft | (~ft@p4fc2a354.dip0.t-ipconnect.de) (Quit: leaving) |
2025-01-07 15:11:00 +0100 | dysthesi1 | (~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 +0100 | dysthesis | (~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 +0100 | dysthesi1 | (~dysthesis@user/dysthesis) dysthesis |
2025-01-07 15:00:17 +0100 | CiaoSen | (~Jura@2a05:5800:240:da00:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds) |
2025-01-07 14:58:19 +0100 | alecs | (~alecs@nat16.software.imdea.org) alecs |
2025-01-07 14:57:55 +0100 | kuribas | (~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 +0100 | alecs | (~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 +0100 | pavonia | (~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. |
2025-01-07 14:34:59 +0100 | l_k_ | (~student@213.24.134.198) (Ping timeout: 260 seconds) |
2025-01-07 14:33:57 +0100 | dysthesis | (~dysthesis@user/dysthesis) dysthesis |
2025-01-07 14:32:02 +0100 | l_k | (~student@85.172.110.96) |
2025-01-07 14:28:33 +0100 | <geekosaur> | I think the type of "a:b=4" is something like `Num [p] => (p : [p])`, but if you don't use `a` or `b` there is no use site for the pattern so the compiler doesn't try to discharge the `Num [p]` constraint (at which point it would have determined that there is no matching instance) |
2025-01-07 14:28:30 +0100 | <famubu> | 😲 |
2025-01-07 14:28:21 +0100 | tnt2 | tnt1 |
2025-01-07 14:28:21 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 248 seconds) |
2025-01-07 14:27:32 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2025-01-07 14:27:01 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-01-07 14:25:22 +0100 | <geekosaur> | somewhat infamously, this lets you write things that are nonsense but since they're "unreachable" there is no error. try "2=4" |