2025/01/07

Newest at the top

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.
2025-01-07 14:34:59 +0100l_k_(~student@213.24.134.198) (Ping timeout: 260 seconds)
2025-01-07 14:33:57 +0100dysthesis(~dysthesis@user/dysthesis) dysthesis
2025-01-07 14:32:02 +0100l_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 +0100tnt2tnt1
2025-01-07 14:28:21 +0100tnt1(~Thunderbi@user/tnt1) (Ping timeout: 248 seconds)
2025-01-07 14:27:32 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2025-01-07 14:27:01 +0100tnt2(~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"
2025-01-07 14:24:52 +0100 <geekosaur> the compiler assigns a type to the binding which won't work if actually used somewhere (instance resolution is determined at use sites, not binding sites)
2025-01-07 14:23:32 +0100 <geekosaur> lazy evaluation doesn't apply to the compiler, only to runtime
2025-01-07 14:22:44 +0100 <geekosaur> you're confusing compile time with run time
2025-01-07 14:22:30 +0100 <famubu> So that didn't give error because of lazy evaluation. And `Num` behaves like functions?
2025-01-07 14:20:17 +0100 <lambdabot> ('h',"a")
2025-01-07 14:20:16 +0100 <merijn> > let a:b="ha" in (a, b)
2025-01-07 14:20:08 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2025-01-07 14:20:00 +0100 <lambdabot> β€’ In the expression: 'a'
2025-01-07 14:20:00 +0100 <lambdabot> β€’ Couldn't match expected type β€˜[a1]’ with actual type β€˜Char’
2025-01-07 14:20:00 +0100 <lambdabot> error:
2025-01-07 14:19:58 +0100 <merijn> > let a:b='a' in 1:2