2022/04/14

2022-04-14 00:01:18 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 272 seconds)
2022-04-14 00:02:59 +0200Major_Biscuit(~MajorBisc@83.22.225.84.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds)
2022-04-14 00:06:10 +0200michalz(~michalz@185.246.204.125) (Remote host closed the connection)
2022-04-14 00:18:56 +0200 <koz> Does anyone know if 'subsequence' here: https://hackage.haskell.org/package/hedgehog-1.1.1/docs/Hedgehog-Gen.html#v:subsequence produces _strict_ subsequences?
2022-04-14 00:19:11 +0200 <koz> (meaning that whatever I get back will be _strictly_ shorter than what I put in)
2022-04-14 00:19:16 +0200 <koz> I _assume_ yes, but I want to be sure.
2022-04-14 00:23:25 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-14 00:24:40 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 00:24:44 +0200z0k(~z0k@39.40.62.192) (Ping timeout: 272 seconds)
2022-04-14 00:28:03 +0200 <dolio> My guess would be no.
2022-04-14 00:28:19 +0200bahamas(~lucian@84.232.140.158)
2022-04-14 00:28:24 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-14 00:29:04 +0200 <dolio> > subsequences [1,2]
2022-04-14 00:29:06 +0200 <lambdabot> [[],[1],[2],[1,2]]
2022-04-14 00:32:07 +0200acidjnk(~acidjnk@p200300d0c722df657ceecd71e591a56b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-14 00:32:41 +0200 <sshine> https://hackage.haskell.org/package/hedgehog-1.1.1/docs/src/Hedgehog.Internal.Gen.html#subsequence
2022-04-14 00:32:51 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 246 seconds)
2022-04-14 00:33:27 +0200 <sshine> https://hackage.haskell.org/package/hedgehog-1.1.1/docs/src/Hedgehog.Internal.Shrink.html#list
2022-04-14 00:33:33 +0200080AAA3P4(~Thunderbi@p548c8d44.dip0.t-ipconnect.de) (Quit: 080AAA3P4)
2022-04-14 00:33:41 +0200 <sshine> it actually does. the docs could clarify that.
2022-04-14 00:33:51 +0200ub(~Thunderbi@p200300ecdf1588a3ccf7a828925c2eab.dip0.t-ipconnect.de)
2022-04-14 00:35:37 +0200alp_(~alp@user/alp) (Ping timeout: 248 seconds)
2022-04-14 00:38:02 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-14 00:39:08 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-14 00:42:17 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2022-04-14 00:42:45 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-14 00:46:07 +0200 <shapr> sshine: put up a PR?
2022-04-14 00:50:12 +0200RevoGen(~RevoGen@136.167.108.23) (Remote host closed the connection)
2022-04-14 00:50:27 +0200 <shapr> hm, I don't have a contribution to hedgehog, *I* could put up a PR
2022-04-14 00:50:29 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-14 00:51:10 +0200 <sshine> shapr, oops, sorry :)
2022-04-14 00:56:33 +0200RevoGen(~RevoGen@136.167.108.23) (Remote host closed the connection)
2022-04-14 00:57:04 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Ping timeout: 250 seconds)
2022-04-14 00:58:01 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-14 01:01:50 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 01:02:58 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-14 01:03:03 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds)
2022-04-14 01:04:35 +0200ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-04-14 01:04:39 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 01:07:05 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-04-14 01:11:28 +0200Artus(~Artus@190.192.80.102)
2022-04-14 01:12:37 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 240 seconds)
2022-04-14 01:13:38 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-14 01:15:03 +0200 <lechner> Hi, is base 4.13 supposed to ship base-4.13.0.0/Data-Semigroup-Internal.html ?
2022-04-14 01:15:34 +0200 <lechner> or base-4.13.0.0/Control-Monad-ST-Lazy-Imp.html ?
2022-04-14 01:16:06 +0200 <davean> lechner: I'm confused by the question
2022-04-14 01:16:13 +0200 <lechner> the docs in base-compat-0.11.1 refer to them, but i cannot find them
2022-04-14 01:16:37 +0200 <lechner> davean: generate, i suppose
2022-04-14 01:16:44 +0200 <abastro[m]> Oh, I guess those are internal modules
2022-04-14 01:16:49 +0200 <davean> They're in the package, but they're not supposed to be exported - I mean they're .Internal
2022-04-14 01:16:55 +0200 <abastro[m]> So, not supposed to ship
2022-04-14 01:17:00 +0200RevoGen(~RevoGen@136.167.108.23) (Ping timeout: 250 seconds)
2022-04-14 01:17:06 +0200 <davean> No, "ship" isn't a sensible way to think about this
2022-04-14 01:17:08 +0200 <davean> they exist
2022-04-14 01:17:12 +0200 <davean> They're not *exported*
2022-04-14 01:17:20 +0200 <davean> They're right there.
2022-04-14 01:17:31 +0200nightbreak(~nightbrea@nat-168-7-239-90.rice.edu)
2022-04-14 01:18:17 +0200 <lechner> the debian build system looks for those documents when establishing installation prerequisites
2022-04-14 01:18:21 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-14 01:18:23 +0200 <davean> And whats "should", things import them - if they weren't there base wouldn't compile.
2022-04-14 01:18:40 +0200 <davean> lechner: what documents?
2022-04-14 01:18:45 +0200 <davean> Files?
2022-04-14 01:18:53 +0200 <jackson99> is there a way to make this shorter or more elegant? I tried using map/filter instead of list comprehensions but it ended up being longer and uglier
2022-04-14 01:19:53 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Quit: Client closed)
2022-04-14 01:19:54 +0200 <jackson99> (moment)
2022-04-14 01:20:07 +0200 <abastro[m]> I thought "ship" was synonym for "exported". Meh
2022-04-14 01:20:09 +0200 <geekosaur> @where paste
2022-04-14 01:20:09 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-04-14 01:20:16 +0200 <davean> abastro[m]: Absolutely not
2022-04-14 01:20:28 +0200 <davean> abastro[m]: Ship means "to send", and they're certainly sent in the package.
2022-04-14 01:20:56 +0200 <abastro[m]> Yep, indeed
2022-04-14 01:21:16 +0200 <lechner> davean: My new Haskell build system for Debian fails for base-compat http://qa-logs.debian.net/2022/04/12/haskell-base-compat_0.11.1-1_unstable.log
2022-04-14 01:21:17 +0200 <davean> Which is why this question of lechner's is so confusion. I have no idea what they actually want.
2022-04-14 01:21:24 +0200 <abastro[m]> I guess I also somehow thought internal modules are inlined in some other modules.. :p
2022-04-14 01:21:51 +0200 <lechner> i'm trying to figure out if they should be shipped
2022-04-14 01:21:57 +0200 <jackson99> > let duplicates xs = [x | (x:_:_) <- group (sort xs)] in duplicates [1,2,3,2]
2022-04-14 01:21:59 +0200 <lambdabot> [2]
2022-04-14 01:22:00 +0200 <lechner> or ignored
2022-04-14 01:22:01 +0200 <davean> *WHAT DO YOU MEAN BY SHIPPED!!!*
2022-04-14 01:22:07 +0200 <jackson99> vs map/filter
2022-04-14 01:22:19 +0200 <jackson99> > let duplicates = map head . filter ((>1) . length) . group . sort in duplicates [1,2,3,2]
2022-04-14 01:22:21 +0200 <lambdabot> [2]
2022-04-14 01:22:29 +0200 <abastro[m]> lechner: What is this debian build system thing?
2022-04-14 01:22:48 +0200 <abastro[m]> I know of 3 build systems, cabal, stack, nix. But what is debian
2022-04-14 01:22:51 +0200 <davean> Ok, in that log it looks like you're *trying to generate docs for them*
2022-04-14 01:22:52 +0200 <jackson99> maybe there's some other function that I am missing that does both things mp and filter do but in one go
2022-04-14 01:23:02 +0200 <davean> and uh, no, they don't have docs. This build system is broken.
2022-04-14 01:23:34 +0200 <lechner> davean: shipped here https://packages.debian.org/bullseye/amd64/ghc/filelist
2022-04-14 01:24:04 +0200 <sclv> de bien is what you say after de tres
2022-04-14 01:24:06 +0200 <davean> /usr/lib/ghc/base-4.13.0.0/Data/Semigroup/Internal.dyn_hi
2022-04-14 01:24:08 +0200 <davean> /usr/lib/ghc/base-4.13.0.0/Data/Semigroup/Internal.ih
2022-04-14 01:24:10 +0200 <davean> Right there?
2022-04-14 01:24:17 +0200 <davean> Note thats NOT what your log fails on.
2022-04-14 01:24:24 +0200 <lechner> abastro[m]: this and friends https://tracker.debian.org/pkg/haskell-devscripts
2022-04-14 01:24:25 +0200 <abastro[m]> jackson99: perhaps instead of checking length, you can use if it is not null. Also.. iirc elements of `group` is neverempty list
2022-04-14 01:24:27 +0200 <davean> Those are build products from the files.
2022-04-14 01:24:45 +0200 <geekosaur> abastro[m], length has to be >1 not >0
2022-04-14 01:24:55 +0200 <jackson99> yes
2022-04-14 01:24:57 +0200 <abastro[m]> Oh wait
2022-04-14 01:24:59 +0200 <lechner> the log is looking for the path dpkg-query: no path found matching pattern /usr/share/doc/ghc-doc/html/libraries/base-4.13.0.0/Data-Semigroup-Internal.html
2022-04-14 01:25:01 +0200 <geekosaur> they want the values which have more than one entry
2022-04-14 01:25:16 +0200 <davean> lechner: right, and I talked about that
2022-04-14 01:25:17 +0200 <abastro[m]> I misread :P
2022-04-14 01:25:30 +0200 <davean> I specificly talked about that
2022-04-14 01:26:00 +0200 <abastro[m]> In that case, I think mapMaybe might be good to use
2022-04-14 01:26:15 +0200 <jackson99> :t mapMaybe
2022-04-14 01:26:17 +0200 <lambdabot> (a -> Maybe b) -> [a] -> [b]
2022-04-14 01:26:35 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 01:26:46 +0200mmhat(~mmh@55d42e6b.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-14 01:27:24 +0200abastro[m]sent a hs code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/930e3f9e027cb92d92d8cca14c67173b902e…
2022-04-14 01:27:45 +0200 <lechner> davean: i think i found it. the path has an extra /src/ segment https://packages.debian.org/bullseye/all/ghc-doc/filelist
2022-04-14 01:28:04 +0200 <lechner> davean: sorry i thought it was related to the module being internal
2022-04-14 01:28:06 +0200 <abastro[m]> Then it would be
2022-04-14 01:28:06 +0200 <abastro[m]> (mapMaybe mapper . group . sort)
2022-04-14 01:28:23 +0200 <jackson99> > let duplicates = mapMaybe (\xs -> case xs of (x:_:_) -> Just x; _ -> Nothing) . group . sort in duplicates [1,2,3,2]
2022-04-14 01:28:25 +0200 <lambdabot> [2]
2022-04-14 01:28:37 +0200 <davean> lechner: I mean sorta - thats why it doesn't generate docs. Because docs have nothing to do with code.
2022-04-14 01:28:49 +0200 <sshine> > let duplicates = Data.Set.toList . Data.Set.fromList in duplicates [1,2,3,1,3,2,4,5,1]
2022-04-14 01:28:50 +0200 <lambdabot> [1,2,3,4,5]
2022-04-14 01:28:56 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
2022-04-14 01:29:26 +0200 <abastro[m]> Well that one also returns those not duplicated :p
2022-04-14 01:29:28 +0200 <jackson99> sshine, doesn't that do the opposite?
2022-04-14 01:29:33 +0200 <geekosaur> sshine, 4 and 5 don't belong there
2022-04-14 01:29:47 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-04-14 01:29:49 +0200 <sshine> oh, sorry, I triggered on the word "duplicates" :)
2022-04-14 01:29:51 +0200 <davean> lechner: The real question is why this build system would ever think haddocs would be generated for those files.
2022-04-14 01:30:05 +0200 <jackson99> oh right, that is nub
2022-04-14 01:30:08 +0200 <abastro[m]> I was there too
2022-04-14 01:30:26 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-14 01:30:48 +0200 <abastro[m]> I wonder why nub exists tbh
2022-04-14 01:31:07 +0200 <sshine> historical reasons
2022-04-14 01:31:08 +0200 <abastro[m]> > nub [1..100000]
2022-04-14 01:31:10 +0200 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
2022-04-14 01:31:19 +0200 <abastro[m]> Oh it computes fast
2022-04-14 01:31:19 +0200 <sshine> containers has Data.Containers.nubOrd
2022-04-14 01:31:21 +0200 <geekosaur> and it's simple when you know the list is short
2022-04-14 01:31:21 +0200 <lechner> davean: because haddock creates HTML anchor referring to local files:/
2022-04-14 01:31:45 +0200 <abastro[m]> nubOrd needs to be in base imho
2022-04-14 01:31:59 +0200 <geekosaur> if you have 200 monitors, come to me and we'll change xmonad to use nubOrd :þ
2022-04-14 01:32:01 +0200 <jackson99> @pl (\xs -> case xs of (x:_:_) -> Just x; _ -> Nothing)
2022-04-14 01:32:01 +0200 <lambdabot> (line 1, column 24):
2022-04-14 01:32:01 +0200 <lambdabot> unexpected '_'
2022-04-14 01:32:02 +0200 <lambdabot> expecting simple term
2022-04-14 01:32:09 +0200 <abastro[m]> Wait I reached out to can of worms :/
2022-04-14 01:32:28 +0200 <geekosaur> abastro[m], it can't be in base unless you move part of containers to base as well
2022-04-14 01:32:31 +0200 <dibblego> haha, main = xmonad config nubOrd
2022-04-14 01:32:36 +0200 <davean> lechner: https://hackage.haskell.org/package/base-4.13.0.0/docs/src/Data.Semigroup.Internal.html <-- as far as I can tell it creates all the anchors that actually exist if you do it in the right mode.
2022-04-14 01:32:38 +0200 <abastro[m]> geekosaur: lmao
2022-04-14 01:32:50 +0200 <abastro[m]> Oh, what does nubOrd use?
2022-04-14 01:32:58 +0200 <jackson99> I still like list comprehension version. kind of neat that it ignores unmatched patterns
2022-04-14 01:32:59 +0200 <davean> lechner: You've got the wrong name for the file
2022-04-14 01:33:09 +0200 <geekosaur> Set, iirc
2022-04-14 01:33:17 +0200 <abastro[m]> Does it use `Set`????? Duh
2022-04-14 01:33:20 +0200mud(~mud@user/kadoban) (Quit: quit)
2022-04-14 01:33:25 +0200 <abastro[m]> Could you show list comprehension version jackson99
2022-04-14 01:33:28 +0200 <geekosaur> Set.toList . Set.fromList
2022-04-14 01:33:31 +0200 <lechner> davean: or Haddock does?
2022-04-14 01:33:33 +0200 <jackson99> duplicates xs = [x | (x:_:_) <- group (sort xs)]
2022-04-14 01:33:50 +0200 <davean> lechner: no, haddock everywhere I know of *does* link to the correct file.
2022-04-14 01:33:54 +0200 <abastro[m]> Ya that's as nice as it could get
2022-04-14 01:34:03 +0200 <davean> https://hackage.haskell.org/package/base-4.13.0.0/docs/src/Data.Semigroup.html <-- see, its link is right
2022-04-14 01:34:30 +0200 <geekosaur> that said, if you're nubbing a list then perhaps you should have been using Set to begin with
2022-04-14 01:35:29 +0200 <abastro[m]> > duplicates [1,2,3,3,2,4,4,5] where duplicates xs = do
2022-04-14 01:35:29 +0200 <abastro[m]> x : _ : _ <- group (sort xs)
2022-04-14 01:35:29 +0200 <abastro[m]> pure x
2022-04-14 01:35:31 +0200 <lambdabot> <hint>:1:30: error: parse error on input ‘where’
2022-04-14 01:35:42 +0200 <abastro[m]> Wh
2022-04-14 01:35:51 +0200 <geekosaur> lambdabot doesn't do multiline
2022-04-14 01:35:55 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-14 01:35:57 +0200 <abastro[m]> Oh noh
2022-04-14 01:36:11 +0200 <geekosaur> also you can't attach where to a computation, only a declaration
2022-04-14 01:36:44 +0200 <abastro[m]> Ouch, right
2022-04-14 01:37:07 +0200 <geekosaur> let duplicates xs = do { x:_:_ <- group (sort xs); pure x } in duplicates [1,2,3,3,2,4,4,5]
2022-04-14 01:37:11 +0200 <geekosaur> > let duplicates xs = do { x:_:_ <- group (sort xs); pure x } in duplicates [1,2,3,3,2,4,4,5]
2022-04-14 01:37:13 +0200 <lambdabot> [2,3,4]
2022-04-14 01:37:39 +0200 <davean> lechner: Thats the name for the doc file, which doesn't exist - not the source annotation which does.
2022-04-14 01:37:52 +0200 <davean> lechner: You should only get that if you mark a name for reference that doesn't exist.
2022-04-14 01:38:16 +0200 <davean> Not from anything Haddock does.
2022-04-14 01:38:29 +0200 <abastro[m]> Do notation and List comprehension has duplicate niche
2022-04-14 01:40:24 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Ping timeout: 250 seconds)
2022-04-14 01:40:31 +0200 <abastro[m]> So nowadays I learned taste towards do notation >:)
2022-04-14 01:40:35 +0200perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-04-14 01:42:16 +0200 <sshine> > let duplicates xs = [ x | x:_:_ <- group (sort xs) ] in duplicates [1,2,3,3,2,4,4,5]
2022-04-14 01:42:18 +0200 <lambdabot> [2,3,4]
2022-04-14 01:42:27 +0200nightbreak(~nightbrea@nat-168-7-239-90.rice.edu) (Quit: Signing off for now...)
2022-04-14 01:42:41 +0200vicfred(~vicfred@user/vicfred)
2022-04-14 01:44:16 +0200 <abastro[m]> List comprehension exists also for historical reason right
2022-04-14 01:44:39 +0200 <abastro[m]> Since they could have extended do notation to cover that case if do notation existed beforehand
2022-04-14 01:44:39 +0200 <jackson99> they used to be monad comprehensions
2022-04-14 01:45:47 +0200nort(~textual@c-73-176-198-132.hsd1.in.comcast.net) (I Quit!)
2022-04-14 01:46:13 +0200 <abastro[m]> Monad comprehension?
2022-04-14 01:46:39 +0200 <jackson99> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/monad_comprehensions.html
2022-04-14 01:48:38 +0200 <abastro[m]> Well that one is recent addition though
2022-04-14 01:48:39 +0200 <jackson99> IIRC they used to be more general monad comprehensions, then they were relegated to list comprehensions only, and after a while we got extensions for monad comprehensions again. but I could be remembering it wrong
2022-04-14 01:50:13 +0200 <geekosaur> you remember correctly
2022-04-14 01:50:21 +0200 <geekosaur> haskell98 added a bunch of such restrictions
2022-04-14 01:50:47 +0200 <dolio> They were list comprehensions first. Then monad comprehensions, then list comprehensions, now optionally monad comprehensions.
2022-04-14 01:51:03 +0200 <geekosaur> huh
2022-04-14 01:51:52 +0200coot(~coot@213.134.190.95)
2022-04-14 01:52:27 +0200 <abastro[m]> Right? List comprehension first
2022-04-14 01:52:34 +0200 <abastro[m]> It also comes before do notation right
2022-04-14 01:52:52 +0200 <abastro[m]> (Personally I cannot care for monad comprehension)
2022-04-14 01:53:44 +0200 <dons> morning all
2022-04-14 01:54:03 +0200 <sshine> 早 o/
2022-04-14 01:54:05 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
2022-04-14 01:54:19 +0200 <geekosaur> o/
2022-04-14 01:54:35 +0200 <abastro[m]> o/
2022-04-14 01:56:24 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 01:56:24 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 01:56:24 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 01:57:35 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!)
2022-04-14 01:58:28 +0200bgs(~bgs@cpe-212-85-160-171.cable.telemach.net)
2022-04-14 01:58:38 +0200Codaraxis_(~Codaraxis@user/codaraxis)
2022-04-14 01:58:57 +0200ub1(~Thunderbi@p548c8d44.dip0.t-ipconnect.de)
2022-04-14 01:58:58 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-14 01:59:25 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-14 01:59:47 +0200ub(~Thunderbi@p200300ecdf1588a3ccf7a828925c2eab.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-14 02:00:07 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-04-14 02:01:16 +0200ub1ub
2022-04-14 02:02:32 +0200Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 248 seconds)
2022-04-14 02:03:39 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 02:04:25 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 02:04:52 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
2022-04-14 02:08:13 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-04-14 02:09:10 +0200 <dons> interesting, hlint just suggested: null (filter (not.isSpace) rest) ~> all isSpace rest
2022-04-14 02:09:17 +0200 <dons> quite a good spot.
2022-04-14 02:10:18 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Ping timeout: 250 seconds)
2022-04-14 02:10:31 +0200 <abastro[m]> Was hlint this smart
2022-04-14 02:10:42 +0200 <dons> it took two steps, but it got there.
2022-04-14 02:11:36 +0200 <dons> @pointful \rest -> null (filter (not.isSpace) rest)
2022-04-14 02:11:37 +0200 <lambdabot> \ rest -> null (filter (\ x -> not (isSpace x)) rest)
2022-04-14 02:15:32 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 02:15:43 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 02:19:27 +0200 <abastro[m]> @pointfree (null.filter (not.isSpace))
2022-04-14 02:19:27 +0200 <lambdabot> Unknown command, try @list
2022-04-14 02:19:35 +0200 <abastro[m]> Eh
2022-04-14 02:20:05 +0200Guest2782(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 02:20:21 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Client Quit)
2022-04-14 02:21:37 +0200 <geekosaur> @pointless (null.filter (not.isSpace))
2022-04-14 02:21:37 +0200 <lambdabot> null . filter (not . isSpace)
2022-04-14 02:22:01 +0200 <geekosaur> which aside from spacing is a no-op because there are no points (bindings)
2022-04-14 02:24:47 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 02:25:02 +0200Guest2782(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Ping timeout: 250 seconds)
2022-04-14 02:27:36 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-14 02:27:52 +0200 <dons> i vaguely recall @pointfree being able to reduce things with rewrite rules.
2022-04-14 02:28:16 +0200xff0x(~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Ping timeout: 250 seconds)
2022-04-14 02:32:46 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-14 02:33:48 +0200RevoGen(~RevoGen@136.167.108.23) (Remote host closed the connection)
2022-04-14 02:43:07 +0200benin(~benin@183.82.204.110) (Ping timeout: 240 seconds)
2022-04-14 02:43:14 +0200chenqisu1(~chenqisu1@183.217.200.38)
2022-04-14 03:00:08 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Ping timeout: 250 seconds)
2022-04-14 03:02:17 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
2022-04-14 03:03:48 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 260 seconds)
2022-04-14 03:05:11 +0200cyphase(~cyphase@user/cyphase)
2022-04-14 03:07:04 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2022-04-14 03:07:36 +0200mud(~mud@user/kadoban)
2022-04-14 03:08:10 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 03:08:10 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 03:08:10 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 03:08:41 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 03:10:06 +0200Artus(~Artus@190.192.80.102) (Ping timeout: 250 seconds)
2022-04-14 03:10:42 +0200Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-04-14 03:10:56 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-04-14 03:17:03 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-04-14 03:17:47 +0200neurocyte8614492(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2022-04-14 03:20:30 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9)
2022-04-14 03:30:57 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-04-14 03:32:25 +0200andrey_(~andrey@p200300dbcf0f96005281d43d055d6f73.dip0.t-ipconnect.de)
2022-04-14 03:33:19 +0200vysn(~vysn@user/vysn)
2022-04-14 03:34:48 +0200andrey__(~andrey@p200300dbcf07c100b04d34d7ed81db16.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-14 03:39:39 +0200 <abastro[m]> What do I do when want to infinitely loop until some condition is met?
2022-04-14 03:40:13 +0200 <abastro[m]> Well that was poorly put.. I mean
2022-04-14 03:40:16 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 03:40:34 +0200 <abastro[m]> I have an IO action.
2022-04-14 03:40:34 +0200 <abastro[m]> It gives `IO (Either e a)`
2022-04-14 03:40:43 +0200 <sshine> :t iterate
2022-04-14 03:40:45 +0200 <lambdabot> (a -> a) -> a -> [a]
2022-04-14 03:40:59 +0200 <sshine> :t fix
2022-04-14 03:41:00 +0200 <abastro[m]> I want to run the action repeatedly until it gives `Left e`
2022-04-14 03:41:00 +0200 <lambdabot> (a -> a) -> a
2022-04-14 03:41:43 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-14 03:41:50 +0200 <abastro[m]> And then return the value `e`
2022-04-14 03:41:54 +0200 <abastro[m]> How do I do that?
2022-04-14 03:42:15 +0200 <abastro[m]> I mean `iterate` sounds poor fit for impure action
2022-04-14 03:42:33 +0200 <sshine> yeah
2022-04-14 03:42:47 +0200lavaman(~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2022-04-14 03:43:08 +0200 <jackson99> loop = x <- action; case x of Right _ -> loop; Left e -> return e
2022-04-14 03:43:22 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 03:43:23 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 03:43:23 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 03:44:23 +0200 <abastro[m]> Oh,
2022-04-14 03:44:23 +0200 <abastro[m]> `loop = action >>= either pure (const loop)`
2022-04-14 03:44:38 +0200 <abastro[m]> Soo that is actually quite simple
2022-04-14 03:44:51 +0200 <abastro[m]> I guess I should avoid overcomplicating problem :P
2022-04-14 03:45:07 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 256 seconds)
2022-04-14 03:54:23 +0200 <abastro[m]> I wonder why I did this:
2022-04-14 03:54:23 +0200 <abastro[m]> newtype TempHandle r = TempHandle{ withTemp :: (Handle -> IO r) -> IO r }
2022-04-14 03:58:59 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-04-14 04:00:35 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-04-14 04:01:35 +0200ubert(~Thunderbi@p200300ecdf1588a34b361c912f36e7d5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-14 04:01:36 +0200ububert
2022-04-14 04:01:55 +0200ubert1(~Thunderbi@p200300ecdf15889a5b0225aa68853aa4.dip0.t-ipconnect.de)
2022-04-14 04:06:24 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2022-04-14 04:07:52 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 248 seconds)
2022-04-14 04:11:24 +0200king_gs(~Thunderbi@187.201.197.74)
2022-04-14 04:12:30 +0200cyphase(~cyphase@user/cyphase)
2022-04-14 04:15:21 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2022-04-14 04:18:29 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-04-14 04:18:58 +0200justache(~justache@user/justache) (Remote host closed the connection)
2022-04-14 04:19:55 +0200justache(~justache@user/justache)
2022-04-14 04:22:22 +0200liz(~liz@host109-151-125-217.range109-151.btcentralplus.com)
2022-04-14 04:25:47 +0200 <dmj`> abastro[m]: fix is good for that, fix $ \loop -> action >>= \case { Left e -> pure e; Right r -> stuff r >> loop; }
2022-04-14 04:25:51 +0200AlexNoo_(~AlexNoo@178.34.151.248)
2022-04-14 04:26:45 +0200dmj`plays coldplay *fix you* (official video) on youtube
2022-04-14 04:28:34 +0200Alex_test(~al_test@178.34.151.145) (Ping timeout: 272 seconds)
2022-04-14 04:29:03 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 04:29:12 +0200AlexZenon(~alzenon@178.34.151.145) (Ping timeout: 272 seconds)
2022-04-14 04:29:13 +0200AlexNoo(~AlexNoo@178.34.151.145) (Ping timeout: 248 seconds)
2022-04-14 04:30:48 +0200king_gs(~Thunderbi@187.201.197.74) (Read error: Connection reset by peer)
2022-04-14 04:31:45 +0200Alex_test(~al_test@178.34.151.248)
2022-04-14 04:32:31 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424)
2022-04-14 04:33:09 +0200AlexZenon(~alzenon@178.34.151.248)
2022-04-14 04:34:25 +0200Codaraxis_(~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds)
2022-04-14 04:36:58 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-04-14 04:37:51 +0200xff0x(~xff0x@om126156244132.26.openmobile.ne.jp)
2022-04-14 04:38:13 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-04-14 04:38:13 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-04-14 04:38:13 +0200finn_elijaFinnElija
2022-04-14 04:38:29 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 04:39:48 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-14 04:41:28 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2022-04-14 04:41:53 +0200waleee(~waleee@h-155-4-221-82.NA.cust.bahnhof.se)
2022-04-14 04:43:48 +0200z0k(~z0k@39.40.10.175)
2022-04-14 04:43:48 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-04-14 04:44:07 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-04-14 04:44:29 +0200 <abastro[m]> I like my loop version better tbh
2022-04-14 04:44:42 +0200 <abastro[m]> I was thinking of using `forever`, but that is.. meh
2022-04-14 04:46:01 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-04-14 04:46:56 +0200tomku(~tomku@user/tomku) (Ping timeout: 250 seconds)
2022-04-14 04:47:04 +0200tomku(~tomku@user/tomku)
2022-04-14 04:47:40 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-04-14 04:48:03 +0200frost(~frost@user/frost)
2022-04-14 04:48:53 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-04-14 04:50:51 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-04-14 04:53:48 +0200mbuf(~Shakthi@171.61.243.114)
2022-04-14 04:54:36 +0200 <Axman6> :t runExceptT . forever . ExceptT
2022-04-14 04:54:38 +0200 <lambdabot> Monad m => m (Either e a1) -> m (Either e a2)
2022-04-14 04:55:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-14 04:56:54 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds)
2022-04-14 04:57:47 +0200 <abastro[m]> Axman6: that one requires handling `Void`
2022-04-14 04:59:15 +0200 <Axman6> :t \m -> (runExceptT . forever $ ExceptT m) >>= \case Left e -> pure e -- not sure if GHC is smart enough to know that the right case is impossible
2022-04-14 04:59:17 +0200 <lambdabot> Monad m => m (Either b a) -> m b
2022-04-14 04:59:44 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net)
2022-04-14 05:00:29 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-04-14 05:03:23 +0200cdman(~dcm@27.2.216.167)
2022-04-14 05:03:23 +0200cdman(~dcm@27.2.216.167) (Changing host)
2022-04-14 05:03:23 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-14 05:03:43 +0200russruss(~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
2022-04-14 05:04:14 +0200russruss(~russruss@my.russellmcc.com)
2022-04-14 05:09:41 +0200liz(~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: Lost terminal)
2022-04-14 05:09:42 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-04-14 05:11:21 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-14 05:15:10 +0200Codaraxis(~Codaraxis@user/codaraxis)
2022-04-14 05:22:09 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-14 05:26:27 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-14 05:27:54 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 05:30:36 +0200cdman(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-14 05:32:13 +0200waleee(~waleee@h-155-4-221-82.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2022-04-14 05:32:37 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-14 05:32:47 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-14 05:36:25 +0200rawley(~rawley@216-197-141-102.nbfr.hsdb.sasknet.sk.ca)
2022-04-14 05:39:42 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 05:39:56 +0200matijja(~matijja@193.77.181.201) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-14 05:40:56 +0200Guest27(~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Quit: Client closed)
2022-04-14 05:41:21 +0200 <jackdk> Axman6: I get a warning with that; so I'd probably use
2022-04-14 05:41:40 +0200 <jackdk> :t \m -> (runExceptT . forever $ ExceptT m) >>= either pure absurd
2022-04-14 05:41:42 +0200 <lambdabot> Monad m => m (Either b a) -> m b
2022-04-14 05:43:12 +0200matijja(~matijja@193.77.181.201)
2022-04-14 05:43:51 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424) (Remote host closed the connection)
2022-04-14 05:44:11 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424)
2022-04-14 05:46:28 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-04-14 05:50:09 +0200k8yun(~k8yun@user/k8yun)
2022-04-14 05:52:16 +0200xff0x(~xff0x@om126156244132.26.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-14 05:57:50 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-14 05:59:54 +0200rawley(~rawley@216-197-141-102.nbfr.hsdb.sasknet.sk.ca) (Remote host closed the connection)
2022-04-14 06:03:57 +0200z0k(~z0k@39.40.10.175) (Ping timeout: 246 seconds)
2022-04-14 06:12:42 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-04-14 06:16:19 +0200bahamas(~lucian@84.232.140.158)
2022-04-14 06:16:57 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 06:17:43 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-04-14 06:31:07 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-04-14 06:31:26 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 272 seconds)
2022-04-14 06:33:08 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-04-14 06:36:22 +0200z0k(~z0k@39.40.110.46)
2022-04-14 06:40:15 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-14 06:43:07 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 240 seconds)
2022-04-14 06:47:05 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-14 06:49:50 +0200raym(~raym@user/raym) (Remote host closed the connection)
2022-04-14 06:50:00 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424) (Ping timeout: 250 seconds)
2022-04-14 06:50:05 +0200raym(~raym@user/raym)
2022-04-14 06:53:38 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 06:53:38 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 06:53:38 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 06:58:53 +0200 <abastro[m]> Yea, I'd prefer
2022-04-14 06:58:53 +0200 <abastro[m]> `loop = action >>= either pure (const loop)`
2022-04-14 06:59:34 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (EOF))
2022-04-14 06:59:58 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-04-14 07:01:55 +0200dlwomw^(~dlwomw@50.226.13.122)
2022-04-14 07:03:34 +0200raym(~raym@user/raym) (Quit: new kernel, rebooting...)
2022-04-14 07:05:29 +0200raym(~raym@user/raym)
2022-04-14 07:11:09 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-04-14 07:17:07 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 240 seconds)
2022-04-14 07:18:05 +0200 <jackdk> It was only after I posted that I realised I'd gone back to where you started ^^
2022-04-14 07:19:04 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-14 07:22:00 +0200z0k(~z0k@39.40.110.46) (Ping timeout: 248 seconds)
2022-04-14 07:23:39 +0200z0k(~z0k@39.40.110.46)
2022-04-14 07:25:58 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-14 07:26:45 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 07:28:34 +0200axeman(~quassel@95.90.236.254)
2022-04-14 07:29:48 +0200benin(~benin@183.82.204.110)
2022-04-14 07:30:41 +0200king_gs(~Thunderbi@187.201.197.74)
2022-04-14 07:38:56 +0200mud(~mud@user/kadoban) (Quit: quit)
2022-04-14 07:47:59 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-14 07:48:12 +0200 <RevoGen> why are strict right folds not a thing?
2022-04-14 07:48:41 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp)
2022-04-14 07:48:51 +0200 <opqdonut> RevoGen: if you want one, you can just use reverse + foldl'
2022-04-14 07:49:05 +0200 <opqdonut> it's not a thing because it's not that efficient: you need to effectively reverse the list
2022-04-14 07:49:19 +0200 <opqdonut> which means that you'll force the whole lazy input
2022-04-14 07:50:07 +0200 <RevoGen> ah i see, thanks!
2022-04-14 07:51:19 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-04-14 07:52:18 +0200k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-04-14 07:53:08 +0200king_gs(~Thunderbi@187.201.197.74) (Read error: Connection reset by peer)
2022-04-14 07:53:27 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 07:53:42 +0200 <RevoGen> wait opqdonut, does that mean that it's impossible to do a strict fold on an infinite list?
2022-04-14 07:53:58 +0200 <opqdonut> yes
2022-04-14 07:55:36 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424)
2022-04-14 07:57:36 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 250 seconds)
2022-04-14 07:59:18 +0200RevoGen(~RevoGen@136.167.108.23) ()
2022-04-14 07:59:27 +0200RevoGen(~RevoGen@136.167.108.23)
2022-04-14 08:00:48 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-14 08:00:52 +0200RevoGen(~RevoGen@136.167.108.23) (Remote host closed the connection)
2022-04-14 08:01:08 +0200z0k(~z0k@39.40.110.46) (Read error: Connection reset by peer)
2022-04-14 08:01:45 +0200fendor(~fendor@91.141.51.137.wireless.dyn.drei.com)
2022-04-14 08:03:43 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-14 08:03:53 +0200z0k(~z0k@39.40.97.231)
2022-04-14 08:04:16 +0200michalz(~michalz@185.246.204.121)
2022-04-14 08:04:18 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 08:05:07 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-14 08:06:00 +0200kilolympus(~kilolympu@31.205.200.235) (Read error: Connection reset by peer)
2022-04-14 08:07:28 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
2022-04-14 08:07:37 +0200lispy(~lispy@82.212.119.196)
2022-04-14 08:07:39 +0200xsarnik(xsarnik@lounge.fi.muni.cz)
2022-04-14 08:09:35 +0200kilolympus(~kilolympu@31.205.200.235)
2022-04-14 08:09:38 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 08:14:40 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 272 seconds)
2022-04-14 08:14:49 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2022-04-14 08:16:23 +0200jkoshy(99b9359beb@2604:bf00:561:2000::10f) (Changing host)
2022-04-14 08:16:23 +0200jkoshy(99b9359beb@user/jkoshy)
2022-04-14 08:21:50 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:586f:6838:910b:9957)
2022-04-14 08:23:18 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-04-14 08:23:33 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-14 08:25:39 +0200kaph_(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Remote host closed the connection)
2022-04-14 08:26:02 +0200kaph_(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
2022-04-14 08:30:16 +0200m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 248 seconds)
2022-04-14 08:30:51 +0200m5zs7k(aquares@web10.mydevil.net)
2022-04-14 08:32:23 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-14 08:32:52 +0200unyu(~pyon@user/pyon) (Quit: WeeChat 3.5)
2022-04-14 08:33:41 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be) (Read error: Connection reset by peer)
2022-04-14 08:34:20 +0200alp_(~alp@user/alp)
2022-04-14 08:34:32 +0200cfricke(~cfricke@user/cfricke)
2022-04-14 08:37:46 +0200tubogram4(~tubogram@user/tubogram) (*.net *.split)
2022-04-14 08:37:46 +0200dons(~dons@user/dons) (*.net *.split)
2022-04-14 08:37:46 +0200Axman6(~Axman6@user/axman6) (*.net *.split)
2022-04-14 08:39:50 +0200m1dnight(~christoph@78-22-9-5.access.telenet.be)
2022-04-14 08:41:35 +0200odnes(~odnes@5-203-176-169.pat.nym.cosmote.net)
2022-04-14 08:41:36 +0200lispy(~lispy@82.212.119.196) (Quit: Client closed)
2022-04-14 08:42:32 +0200axeman(~quassel@95.90.236.254) (Ping timeout: 272 seconds)
2022-04-14 08:43:11 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-14 08:50:53 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 08:51:05 +0200anomal(~anomal@87.227.196.109)
2022-04-14 08:51:35 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 08:53:54 +0200machinedgod(~machinedg@24.105.81.50)
2022-04-14 08:55:09 +0200acidjnk(~acidjnk@p200300d0c722df08e4e71eddc7f69ce5.dip0.t-ipconnect.de)
2022-04-14 08:55:20 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 248 seconds)
2022-04-14 08:58:22 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-04-14 08:58:57 +0200Axman6(~Axman6@user/axman6)
2022-04-14 09:01:11 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-14 09:01:27 +0200 <abastro[m]> What was the elegant fizzbuzz implementation which uses monoid foldmap?
2022-04-14 09:01:47 +0200michalz(~michalz@185.246.204.121) (Ping timeout: 240 seconds)
2022-04-14 09:01:53 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-04-14 09:02:25 +0200michalz(~michalz@185.246.204.45)
2022-04-14 09:03:34 +0200mmhat(~mmh@55d48cf8.access.ecotel.net)
2022-04-14 09:04:30 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 09:04:56 +0200motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-04-14 09:05:11 +0200hueso(~root@user/hueso) (Quit: No Ping reply in 180 seconds.)
2022-04-14 09:06:21 +0200hueso(~root@user/hueso)
2022-04-14 09:06:29 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp)
2022-04-14 09:09:59 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-04-14 09:11:16 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-14 09:12:33 +0200iteratee_(~kyle@162.218.222.107)
2022-04-14 09:12:49 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-04-14 09:13:42 +0200iteratee(~kyle@162.218.222.107) (Ping timeout: 252 seconds)
2022-04-14 09:13:49 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-14 09:14:07 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-14 09:14:16 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-04-14 09:17:08 +0200gehmehgeh(~user@user/gehmehgeh) (Client Quit)
2022-04-14 09:17:31 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-14 09:17:34 +0200gehmehgeh(~user@user/gehmehgeh)
2022-04-14 09:17:44 +0200kaph_(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Remote host closed the connection)
2022-04-14 09:18:02 +0200kaph_(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
2022-04-14 09:19:57 +0200fjmorazan(~quassel@user/fjmorazan) (Remote host closed the connection)
2022-04-14 09:20:58 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-14 09:21:06 +0200fjmorazan(~quassel@user/fjmorazan)
2022-04-14 09:24:06 +0200bahamas(~lucian@84.232.140.158)
2022-04-14 09:25:14 +0200redb(~nmh@136.49.49.211)
2022-04-14 09:25:29 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-14 09:28:24 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 248 seconds)
2022-04-14 09:29:35 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 09:30:06 +0200 <zero> i like this 1 a lot http://rubymanor.org/3/videos/programming_with_nothing/
2022-04-14 09:30:06 +0200coot(~coot@213.134.190.95)
2022-04-14 09:30:13 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 09:30:44 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 09:31:12 +0200frost(~frost@user/frost)
2022-04-14 09:31:13 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 09:32:45 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 09:33:03 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-14 09:33:12 +0200dlwomw^(~dlwomw@50.226.13.122) (Remote host closed the connection)
2022-04-14 09:33:47 +0200tomsmeding(~tomsmedin@static.21.109.88.23.clients.your-server.de)
2022-04-14 09:43:33 +0200robosexual(~robosexua@77.223.90.202)
2022-04-14 09:46:08 +0200chele(~chele@user/chele)
2022-04-14 09:46:39 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 256 seconds)
2022-04-14 09:56:15 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-14 09:56:16 +0200bahamas(~lucian@86.120.77.115)
2022-04-14 09:56:25 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:457e:5c98:899e:26ef)
2022-04-14 09:56:46 +0200hololeap(~hololeap@user/hololeap)
2022-04-14 09:58:03 +0200redb(~nmh@136.49.49.211)
2022-04-14 09:58:07 +0200joo-_(~joo-_@80-62-116-147-mobile.dk.customer.tdc.net)
2022-04-14 09:58:07 +0200joo-_(~joo-_@80-62-116-147-mobile.dk.customer.tdc.net) (Changing host)
2022-04-14 09:58:07 +0200joo-_(~joo-_@fsf/member/joo--)
2022-04-14 10:02:58 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-14 10:05:26 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-14 10:06:49 +0200mmhat(~mmh@55d48cf8.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-14 10:09:08 +0200mmhat(~mmh@55d48cf8.access.ecotel.net)
2022-04-14 10:11:03 +0200mmhat(~mmh@55d48cf8.access.ecotel.net) (Client Quit)
2022-04-14 10:11:35 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 10:12:52 +0200mmhat(~mmh@55d48cf8.access.ecotel.net)
2022-04-14 10:13:53 +0200statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection)
2022-04-14 10:13:53 +0200statusbot3(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
2022-04-14 10:15:07 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 256 seconds)
2022-04-14 10:15:20 +0200Techcable(~Techcable@user/Techcable)
2022-04-14 10:17:06 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp) (Quit: xff0x)
2022-04-14 10:18:11 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp)
2022-04-14 10:18:50 +0200mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-04-14 10:19:36 +0200toulene8(~toulene@user/toulene)
2022-04-14 10:20:10 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-14 10:20:24 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-14 10:20:39 +0200haskl[error](~haskl@user/haskl)
2022-04-14 10:21:40 +0200AndrewYu(~andrew@user/AndrewYu)
2022-04-14 10:21:43 +0200Midjak(~Midjak@82.66.147.146)
2022-04-14 10:22:34 +0200toulene(~toulene@user/toulene) (Quit: Ping timeout (120 seconds))
2022-04-14 10:22:34 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Remote host closed the connection)
2022-04-14 10:22:34 +0200Andrew(Andrew@user/AndrewYu) (Remote host closed the connection)
2022-04-14 10:22:34 +0200haskl(~haskl@user/haskl) (Quit: Uh oh... ZNC disconnected.)
2022-04-14 10:22:35 +0200toulene8toulene
2022-04-14 10:23:35 +0200notzmv(~zmv@user/notzmv)
2022-04-14 10:24:30 +0200redb(~nmh@136.49.49.211)
2022-04-14 10:28:13 +0200mmhat(~mmh@55d48cf8.access.ecotel.net) (Quit: WeeChat 3.5)
2022-04-14 10:28:33 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-14 10:30:27 +0200redb(~nmh@136.49.49.211)
2022-04-14 10:30:54 +0200mmhat(~mmh@55d48cf8.access.ecotel.net)
2022-04-14 10:34:51 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-14 10:36:32 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 272 seconds)
2022-04-14 10:40:39 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-14 10:52:26 +0200mastarija(~mastarija@2a05:4f46:e04:6000:68d9:b076:ca11:8c6e)
2022-04-14 10:52:44 +0200 <mastarija> > [5..3]
2022-04-14 10:52:45 +0200 <lambdabot> []
2022-04-14 10:52:51 +0200 <mastarija> > [3..5]
2022-04-14 10:52:53 +0200 <lambdabot> [3,4,5]
2022-04-14 10:53:07 +0200 <tomsmeding> > [5,4..3]
2022-04-14 10:53:09 +0200 <lambdabot> [5,4,3]
2022-04-14 10:53:13 +0200 <mastarija> Yes...
2022-04-14 10:53:22 +0200 <mastarija> but wasn't this working in earlier versions?
2022-04-14 10:53:25 +0200 <tomsmeding> no
2022-04-14 10:53:36 +0200 <tomsmeding> this behaviour has not changed
2022-04-14 10:53:49 +0200 <tomsmeding> > (enumFromTo 3 5, enumFromTo 5 3)
2022-04-14 10:53:51 +0200 <lambdabot> ([3,4,5],[])
2022-04-14 10:54:05 +0200 <mastarija> Any reason for that behavior?
2022-04-14 10:54:10 +0200 <mastarija> Just interested
2022-04-14 10:54:12 +0200 <tomsmeding> it gets desugared to calls to those functions from Enum
2022-04-14 10:54:31 +0200 <tomsmeding> Enum doesn't need a reason to do anything :p
2022-04-14 10:54:39 +0200 <tomsmeding> Enum does whatever it wants
2022-04-14 10:54:40 +0200 <merijn> mastarija: It doesn't inspect the final value
2022-04-14 10:54:52 +0200 <merijn> mastarija: If no explicit increment, then the increment is 1
2022-04-14 10:54:59 +0200 <mastarija> oh..
2022-04-14 10:55:03 +0200 <mastarija> yes, that makes sense
2022-04-14 10:55:27 +0200kaph_(~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Ping timeout: 240 seconds)
2022-04-14 10:55:27 +0200 <merijn> (the "explicit" increment getting derived from the second value)
2022-04-14 10:55:42 +0200 <tomsmeding> > ([3 .. 5.2], [5.2 .. 3])
2022-04-14 10:55:44 +0200 <lambdabot> ([3.0,4.0,5.0],[])
2022-04-14 10:56:03 +0200 <tomsmeding> what would the second one be, [5,4,3] or [5.2,4.2,3.2]?
2022-04-14 10:56:21 +0200 <tomsmeding> (perhaps this illustrates the weirdness of Enum Double more than anything else though
2022-04-14 10:56:22 +0200 <tomsmeding> )
2022-04-14 10:56:32 +0200 <mastarija> Yes
2022-04-14 10:56:45 +0200 <mastarija> Well.. guess I'll have to make a little helper function
2022-04-14 10:56:56 +0200 <merijn> Enum for Double is lies
2022-04-14 10:57:05 +0200 <mastarija> xD
2022-04-14 10:57:05 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 10:57:39 +0200 <tomsmeding> > length [0, 0.1+0.1+0.1-0.3 .. 1e-10]
2022-04-14 10:57:41 +0200 <lambdabot> 1801441
2022-04-14 10:58:00 +0200 <tomsmeding> clearly
2022-04-14 10:58:24 +0200 <mastarija> Yes, that was obvious even to me
2022-04-14 10:59:21 +0200 <mastarija> Btw, do we have any function that deals with "fixing" floating point integers
2022-04-14 10:59:37 +0200 <mastarija> Like `roundWithinMargin`
2022-04-14 11:00:06 +0200 <tomsmeding> multiply by 1/margin, round, multiply by margin?
2022-04-14 11:00:24 +0200solomon[m](~solomonco@2001:470:69fc:105::1:6000) (Quit: You have been kicked for being idle)
2022-04-14 11:00:26 +0200 <mastarija> If I do 3.6 - 0.6 and want to make sure I get 3.0 and not 3.0000000000000018
2022-04-14 11:00:36 +0200bahamas(~lucian@86.120.77.115) (Ping timeout: 272 seconds)
2022-04-14 11:00:40 +0200solomon[m](~solomonco@2001:470:69fc:105::1:6000)
2022-04-14 11:01:28 +0200 <tomsmeding> are you not looking for something like https://hackage.haskell.org/package/Decimal-0.5.2/docs/Data-Decimal.html
2022-04-14 11:01:40 +0200bahamas(~lucian@93.122.251.65)
2022-04-14 11:02:12 +0200king_gs(~Thunderbi@2806:103e:29:1de5:8bc8:f08f:4d70:424) (Ping timeout: 250 seconds)
2022-04-14 11:02:29 +0200solomon[m](~solomonco@2001:470:69fc:105::1:6000) ()
2022-04-14 11:02:41 +0200 <merijn> mastarija: Eh, how about "round"? :)
2022-04-14 11:02:43 +0200 <merijn> :p
2022-04-14 11:02:55 +0200 <merijn> > round (3.6 - 0.6)
2022-04-14 11:02:58 +0200 <lambdabot> 3
2022-04-14 11:03:08 +0200 <merijn> Alternatively, use fixed precision
2022-04-14 11:03:57 +0200 <merijn> > (3.6 :: Deci) - 0.6
2022-04-14 11:03:59 +0200 <lambdabot> 3.0
2022-04-14 11:04:05 +0200 <mastarija> merijn, I mean, I want to keep it a float until later
2022-04-14 11:04:09 +0200 <merijn> > (3.6 :: Centi) - 0.6
2022-04-14 11:04:13 +0200 <lambdabot> 3.00
2022-04-14 11:04:21 +0200 <merijn> > (3.6 :: Centi) - 0.22
2022-04-14 11:04:23 +0200 <lambdabot> 3.38
2022-04-14 11:04:49 +0200 <jackson99> > round 1.5
2022-04-14 11:04:51 +0200 <lambdabot> 2
2022-04-14 11:04:52 +0200 <jackson99> > round 2.5
2022-04-14 11:04:53 +0200 <mastarija> Ok, thanks. I never knew about Deci / Centi types
2022-04-14 11:04:54 +0200 <lambdabot> 2
2022-04-14 11:04:58 +0200 <merijn> mastarija: fixed precision and Rational are superior :)
2022-04-14 11:05:16 +0200 <merijn> mastarija: Deci/Centi are aliases for "Fixed a" which allows arbitrary precision
2022-04-14 11:05:17 +0200redb(~nmh@136.49.49.211)
2022-04-14 11:05:25 +0200 <merijn> > 3 :: Milli
2022-04-14 11:05:26 +0200 <lambdabot> 3.000
2022-04-14 11:05:33 +0200 <merijn> See Data.Fixed
2022-04-14 11:05:57 +0200 <mastarija> Cool. I do need a bit higher precision so that will work nicely.
2022-04-14 11:06:08 +0200 <merijn> jackson99: round uses banker's rounding (i.e. round to nearest even) as is the default rounding for IEEE-754
2022-04-14 11:06:27 +0200 <merijn> mastarija: You can extend it with custom precision super easily if you need it
2022-04-14 11:06:35 +0200 <jackson99> merijn, I know. I find it annoying in some cases
2022-04-14 11:09:27 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-14 11:10:36 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC)
2022-04-14 11:10:52 +0200jackson99(~bc8147f2@cerf.good1.com)
2022-04-14 11:11:40 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-14 11:11:41 +0200bahamas(~lucian@93.122.251.65) (Read error: Connection reset by peer)
2022-04-14 11:12:15 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 11:13:26 +0200fendor_(~fendor@178.115.70.32.wireless.dyn.drei.com)
2022-04-14 11:15:07 +0200fendor(~fendor@91.141.51.137.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-04-14 11:15:18 +0200king_gs(~Thunderbi@187.201.197.74)
2022-04-14 11:17:07 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-04-14 11:19:36 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 11:28:05 +0200 <Profpatsch> Is there
2022-04-14 11:28:07 +0200 <Profpatsch> loopCond :: Monad m1 => (ConduitT o o m1 ())
2022-04-14 11:28:09 +0200 <Profpatsch> loopCond = Cond.await >>= \case
2022-04-14 11:28:11 +0200 <Profpatsch> Nothing -> pure ()
2022-04-14 11:28:13 +0200 <Profpatsch> Just a -> do
2022-04-14 11:28:15 +0200 <Profpatsch> Cond.yield a
2022-04-14 11:28:17 +0200 <Profpatsch> loopCond
2022-04-14 11:28:19 +0200 <Profpatsch> In Conduit somewhere?
2022-04-14 11:28:32 +0200 <Profpatsch> awaitForever has a different signature and uses conduit internals for its implementation
2022-04-14 11:29:07 +0200 <Profpatsch> Is it the same as (awaitForever leftover)?
2022-04-14 11:29:16 +0200 <Profpatsch> At least the type signatures match up
2022-04-14 11:30:16 +0200 <Profpatsch> My use-case is that I’m building a conduit that strips the byte order mark from the beginning of a stream, so it `await`s once, checks if the BOM is there, strips it, then loops the conduit for every further input.
2022-04-14 11:33:16 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-14 11:34:24 +0200king_gs(~Thunderbi@187.201.197.74) (Read error: Connection reset by peer)
2022-04-14 11:35:15 +0200AlexNoo__(~AlexNoo@178.34.151.248)
2022-04-14 11:36:09 +0200AlexNoo_(~AlexNoo@178.34.151.248) (Read error: Connection reset by peer)
2022-04-14 11:37:35 +0200king_gs(~Thunderbi@187.201.197.74)
2022-04-14 11:38:14 +0200redb(~nmh@136.49.49.211)
2022-04-14 11:38:44 +0200efertone(~efertone@user/efertone)
2022-04-14 11:42:49 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 11:43:05 +0200 <abastro[m]> > 0.1+0.1+0.1-0.3
2022-04-14 11:43:09 +0200 <lambdabot> 5.551115123125783e-17
2022-04-14 11:50:03 +0200 <merijn> Profpatsch: looks like you want mapMaybe ahead of that conduit instead
2022-04-14 11:50:16 +0200acidjnk(~acidjnk@p200300d0c722df08e4e71eddc7f69ce5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2022-04-14 11:51:34 +0200 <merijn> Profpatsch: https://hackage.haskell.org/package/conduit-1.3.4.2/docs/Data-Conduit-List.html#v:mapMaybe
2022-04-14 11:51:34 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-14 11:51:53 +0200anomal(~anomal@87.227.196.109)
2022-04-14 11:52:42 +0200 <Profpatsch> merijn: that’s applying it to all values in the stream
2022-04-14 11:52:50 +0200 <Profpatsch> not just the first stream element
2022-04-14 11:54:05 +0200 <merijn> oh, wait yours stops after nothing. hmm, maybe I don't understand the use
2022-04-14 11:54:15 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 11:54:39 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-04-14 11:55:32 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-04-14 11:55:42 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 11:56:07 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 11:56:29 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-14 12:00:57 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-04-14 12:02:00 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds)
2022-04-14 12:02:23 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-14 12:02:55 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 12:03:28 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 12:04:08 +0200z0k(~z0k@39.40.97.231) (Ping timeout: 248 seconds)
2022-04-14 12:04:13 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-14 12:06:57 +0200natto(~natto@140.238.230.155) (Ping timeout: 252 seconds)
2022-04-14 12:09:27 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds)
2022-04-14 12:10:01 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-14 12:10:57 +0200redb(~nmh@136.49.49.211)
2022-04-14 12:11:03 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 12:11:29 +0200AndrewYuAndrew
2022-04-14 12:12:22 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 12:13:09 +0200akegalj(~akegalj@93-138-22-63.adsl.net.t-com.hr)
2022-04-14 12:13:24 +0200ccntrq(~Thunderbi@2a01:e34:eccb:b060:457e:5c98:899e:26ef) (Quit: ccntrq)
2022-04-14 12:13:35 +0200ccntrq1(~Thunderbi@imx92-1-78-204-187-6.fbx.proxad.net)
2022-04-14 12:15:41 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 12:15:53 +0200ccntrq1ccntrq
2022-04-14 12:16:35 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 12:17:56 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 12:18:25 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-04-14 12:19:18 +0200AndrewwerdnA
2022-04-14 12:19:20 +0200werdnAAndrew
2022-04-14 12:22:29 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-04-14 12:24:55 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 12:27:09 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 12:34:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 12:38:23 +0200king_gs(~Thunderbi@187.201.197.74) (Quit: king_gs)
2022-04-14 12:38:47 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-04-14 12:40:02 +0200Andrew(~andrew@user/AndrewYu) (Quit: Leaving)
2022-04-14 12:42:27 +0200jackson98(~bc8147f2@83.167.180.121)
2022-04-14 12:43:46 +0200Andrew(Andrew@user/AndrewYu)
2022-04-14 12:44:28 +0200EsoAlgo(~EsoAlgo@152.70.142.52) (Ping timeout: 272 seconds)
2022-04-14 12:46:57 +0200redb(~nmh@136.49.49.211)
2022-04-14 12:48:01 +0200acidjnk(~acidjnk@p200300d0c722df081581cec648b99087.dip0.t-ipconnect.de)
2022-04-14 12:51:26 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-14 12:54:30 +0200Pickchea(~private@user/pickchea)
2022-04-14 12:57:37 +0200theproffesor(~theprofff@user/theproffesor) (Ping timeout: 260 seconds)
2022-04-14 13:00:34 +0200z0k(~z0k@39.40.125.126)
2022-04-14 13:00:35 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 13:01:18 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 13:02:18 +0200theproffesor(~theprofff@user/theproffesor)
2022-04-14 13:02:55 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 13:03:25 +0200zer0bitz(~zer0bitz@2001:2003:f444:8f00:d9de:fb6b:4dff:6b4) (Read error: Connection reset by peer)
2022-04-14 13:06:09 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 13:07:06 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
2022-04-14 13:07:42 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-14 13:08:51 +0200z0k(~z0k@39.40.125.126) (Ping timeout: 246 seconds)
2022-04-14 13:10:07 +0200redb(~nmh@136.49.49.211)
2022-04-14 13:10:48 +0200z0k(~z0k@39.40.9.161)
2022-04-14 13:14:27 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-14 13:15:12 +0200fendor_(~fendor@178.115.70.32.wireless.dyn.drei.com) (Remote host closed the connection)
2022-04-14 13:16:27 +0200akegalj(~akegalj@93-138-22-63.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2022-04-14 13:18:55 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-04-14 13:21:19 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 13:22:57 +0200axeman(~quassel@2a02:8109:a380:78:d258:7bac:10e:cc60)
2022-04-14 13:23:20 +0200fendor(~fendor@178.115.70.32.wireless.dyn.drei.com)
2022-04-14 13:24:09 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-04-14 13:25:13 +0200redb(~nmh@136.49.49.211)
2022-04-14 13:29:31 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 13:35:06 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-14 13:35:18 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-04-14 13:35:41 +0200littlebobeep(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-04-14 13:36:28 +0200axeman(~quassel@2a02:8109:a380:78:d258:7bac:10e:cc60) (Ping timeout: 250 seconds)
2022-04-14 13:36:39 +0200 <abastro[m]> Why are there so many streaming libraries
2022-04-14 13:36:42 +0200 <abastro[m]> It is just soooo hard to decide what to use
2022-04-14 13:37:40 +0200Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2022-04-14 13:38:02 +0200 <abastro[m]> So I end up resorting to more boilerplate and monad-loops
2022-04-14 13:39:14 +0200 <abastro[m]> And I like lazy IO but sometimes streaming is necessary
2022-04-14 13:39:55 +0200 <hpc> streaming is a big problem space, and something you end up dealing with rather frequently
2022-04-14 13:40:20 +0200 <hpc> it's like how javascript has so many event frameworks
2022-04-14 13:41:05 +0200 <abastro[m]> Oh no
2022-04-14 13:41:27 +0200 <abastro[m]> Then in which way can I be opinionated?
2022-04-14 13:41:35 +0200 <abastro[m]> I know I have to choose at some point
2022-04-14 13:41:48 +0200 <abastro[m]> And lazy IO is perhaps lame, considering how lazy ST is lame
2022-04-14 13:42:15 +0200 <abastro[m]> (IIRC some guy made me believe in lazy IO.. idk)
2022-04-14 13:43:34 +0200redb(~nmh@136.49.49.211)
2022-04-14 13:44:08 +0200 <tdammers> problem with lazy IO is that it's unsafe in surprising ways
2022-04-14 13:45:37 +0200 <tdammers> open file, read data, close file, delete file, do stuff with data, oops, you're now reading from a file that no longer exists
2022-04-14 13:47:39 +0200frost(~frost@user/frost)
2022-04-14 13:47:44 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-14 13:48:50 +0200redb(~nmh@136.49.49.211)
2022-04-14 13:50:07 +0200chenqisu1(~chenqisu1@183.217.200.38) (Ping timeout: 240 seconds)
2022-04-14 13:50:52 +0200AlexNoo__AlexNoo
2022-04-14 13:51:17 +0200 <abastro[m]> UNIX has semantics that until the file is actually closed, it is not
2022-04-14 13:51:28 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-14 13:51:53 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 13:52:38 +0200 <tdammers> yes, but the problem is that you actually close the file and then proceed to read from it
2022-04-14 13:52:52 +0200 <tdammers> because lazy IO defers the actual reading until the data is demanded
2022-04-14 13:53:21 +0200natto(~natto@140.238.225.67)
2022-04-14 13:54:11 +0200 <abastro[m]> Yea, doesn't close also deferred then?
2022-04-14 13:54:12 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 13:54:19 +0200 <abastro[m]> Oh right, `withFile` exists for this case
2022-04-14 13:54:48 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-04-14 13:54:48 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-04-14 13:55:11 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-04-14 13:56:10 +0200hololeap(~hololeap@user/hololeap)
2022-04-14 13:56:28 +0200 <abastro[m]> Anyway. Someone persuaded me some time ago that lazy IO hate is actually laziness hate
2022-04-14 13:56:39 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-04-14 13:57:48 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-14 13:57:53 +0200 <abastro[m]> And one should not be afraid of lazy IO
2022-04-14 13:57:58 +0200 <abastro[m]> I miss the person..
2022-04-14 14:00:13 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-04-14 14:00:14 +0200 <abastro[m]> tdammers: Now I wonder, is laziness a misfeature?
2022-04-14 14:00:31 +0200 <merijn> lazy IO /= laziness
2022-04-14 14:00:32 +0200travv0(sid293381@user/travv0) (Quit: Connection closed for inactivity)
2022-04-14 14:00:38 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-04-14 14:01:03 +0200 <merijn> There's a reason lazy IO requires specific (unsafe!) primitives to introduce laziness
2022-04-14 14:03:55 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-14 14:04:19 +0200redb(~nmh@136.49.49.211)
2022-04-14 14:05:06 +0200 <abastro[m]> Hmmm
2022-04-14 14:05:14 +0200 <abastro[m]> Is IO supposed to be strict then?
2022-04-14 14:05:23 +0200 <abastro[m]> Strict for the effect exection I mean
2022-04-14 14:05:45 +0200 <abastro[m]> I guess `readFile` is also a misfeature
2022-04-14 14:05:59 +0200 <abastro[m]> It eases my mind that I do not have to connect lazy IO to laziness
2022-04-14 14:06:51 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp)
2022-04-14 14:08:16 +0200odnes(~odnes@5-203-176-169.pat.nym.cosmote.net) (Quit: Leaving)
2022-04-14 14:08:36 +0200chenqisu1(~chenqisu1@183.217.200.38)
2022-04-14 14:08:42 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-14 14:14:15 +0200 <merijn> abastro[m]: The string version of readFile is lazy IO, yes. The text and bytestring packages have strict readFile's which are more sensible
2022-04-14 14:14:18 +0200mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds)
2022-04-14 14:15:03 +0200 <merijn> abastro[m]: The principal guarantee of IO and it's Monad instance is that in "a >> b" all IO/effects of 'a' will have finished before those of 'b' start
2022-04-14 14:15:20 +0200 <merijn> unsafeInterleaveIO (aka the function used to create lazy IO) breaks that promise
2022-04-14 14:15:27 +0200 <merijn> (hence unsafe)
2022-04-14 14:16:07 +0200 <merijn> There's only, like, five lazy IO functions in base, though
2022-04-14 14:16:24 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 248 seconds)
2022-04-14 14:16:35 +0200 <merijn> Off the top of my head I can only think of: readFile, getContents, hGetContents
2022-04-14 14:17:41 +0200 <merijn> All off those use String and are thus highly questionable anyway. You'd wanna use Text of ByteString, the strict versions of which give you strict readFile/getContents/hGetContents anyway
2022-04-14 14:20:39 +0200redb(~nmh@136.49.49.211)
2022-04-14 14:22:46 +0200 <abastro[m]> Yea, Text in base when
2022-04-14 14:23:08 +0200 <abastro[m]> ..but then sometimes you want streaming in the IO input
2022-04-14 14:24:23 +0200 <abastro[m]> I wonder if one could use Text.Lazy with it
2022-04-14 14:24:34 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-14 14:24:53 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 14:27:27 +0200 <merijn> abastro[m]: That just brings back lazy IO :p You can already incrementally read using strict Text using hGetLine and hGetChunk
2022-04-14 14:27:27 +0200bahamas(~lucian@84.232.140.158)
2022-04-14 14:33:57 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-04-14 14:34:13 +0200 <abastro[m]> :t T.hGetLine
2022-04-14 14:34:15 +0200 <lambdabot> error:
2022-04-14 14:34:15 +0200 <lambdabot> Not in scope: ‘T.hGetLine’
2022-04-14 14:34:15 +0200 <lambdabot> Perhaps you meant one of these:
2022-04-14 14:34:41 +0200 <abastro[m]> :t hGetChunk
2022-04-14 14:34:43 +0200 <lambdabot> error: Variable not in scope: hGetChunk
2022-04-14 14:34:48 +0200 <abastro[m]> Whyy
2022-04-14 14:35:38 +0200 <merijn> Because Text's IO stuff isn't in lambdabot :p
2022-04-14 14:35:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-04-14 14:36:08 +0200 <abastro[m]> :(
2022-04-14 14:36:59 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-14 14:37:19 +0200 <abastro[m]> Wouldn't using hGetChunk a bit unwieldy
2022-04-14 14:38:11 +0200gabiruh_(~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
2022-04-14 14:38:29 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2022-04-14 14:38:42 +0200 <merijn> That's why most streaming libraries have support for Text already, which uses hGetChunk internally :p
2022-04-14 14:38:55 +0200 <abastro[m]> Hmm
2022-04-14 14:39:01 +0200 <abastro[m]> How can I become opinionated
2022-04-14 14:39:08 +0200 <abastro[m]> It is tooooooo hard to choose one :(
2022-04-14 14:39:37 +0200zyklotomic(~ethan@res380d-128-61-81-14.res.gatech.edu) (Ping timeout: 256 seconds)
2022-04-14 14:39:39 +0200 <abastro[m]> Are most haskellers using some kind of streaming library
2022-04-14 14:40:34 +0200geekosaurwonders if he should dig up the streaming libs discussion from a few weeks ago
2022-04-14 14:41:02 +0200 <abastro[m]> Where is it?
2022-04-14 14:41:17 +0200 <abastro[m]> (I think it is going to be quite messy..)
2022-04-14 14:41:19 +0200 <geekosaur> tl;dr: most of the ecosystem uses conduit, but streamly is up and coming
2022-04-14 14:41:30 +0200 <geekosaur> it'll be in the irc logs somewhere
2022-04-14 14:41:38 +0200zyklotomic(~ethan@r4-128-61-88-254.res.gatech.edu)
2022-04-14 14:42:11 +0200 <abastro[m]> Oh, good
2022-04-14 14:42:18 +0200 <abastro[m]> conduit and streamly :D
2022-04-14 14:42:27 +0200 <abastro[m]> Now that makes it easier for me to choose
2022-04-14 14:42:49 +0200 <abastro[m]> How do I soothe my dislike towards streaming libraries?
2022-04-14 14:43:15 +0200 <abastro[m]> My lazyIO part of brain is revolting
2022-04-14 14:46:10 +0200 <tomsmeding> "opinionated [adjective] - Characterized by conceited assertiveness and dogmatism."
2022-04-14 14:46:32 +0200 <tomsmeding> I mean I know programming jargon has attached a somewhat different meaning to that word
2022-04-14 14:46:47 +0200 <tomsmeding> but, why do we need a "this is the best and the rest is crap" conclusion?
2022-04-14 14:47:04 +0200 <tomsmeding> what's more useful, I think, is a comparison showing which libraries are better for which circumstances
2022-04-14 14:47:22 +0200 <tomsmeding> (I don't know whether such a comparison already exists, perhaps the discussion that geekosaur referred to?)
2022-04-14 14:48:22 +0200 <abastro[m]> I intentionally used the word
2022-04-14 14:48:57 +0200 <abastro[m]> Because often in SW, ppl have exhaustion by design choices
2022-04-14 14:49:18 +0200 <abastro[m]> So they want an authorative source to follow through, however flawed and problematic it is.
2022-04-14 14:51:29 +0200 <tomsmeding> in which case, use the most common
2022-04-14 14:51:43 +0200 <abastro[m]> I also faced such problems and directly saw how haskell is "hard" - it is because we have to do educated choices
2022-04-14 14:51:44 +0200 <abastro[m]> Most common, yea
2022-04-14 14:51:45 +0200 <tomsmeding> which is presumably not a bad choice, otherwise why would it be the most common
2022-04-14 14:51:53 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-04-14 14:52:04 +0200 <abastro[m]> Idk, what is the most common language in industry?
2022-04-14 14:52:15 +0200 <tomsmeding> but I feel it is not useful to actively push and search for one option to tout as "the best and the rest can suck"
2022-04-14 14:52:16 +0200 <abastro[m]> I guess *J a b a*
2022-04-14 14:52:21 +0200 <abastro[m]> And JS
2022-04-14 14:52:45 +0200 <tomsmeding> rather, if the point is to provide a default option for people who don't want to spend the time making a detailed comparison, phrase it like providing a default option :p
2022-04-14 14:52:56 +0200 <tomsmeding> right
2022-04-14 14:52:58 +0200 <abastro[m]> It is more that, worry about the rest later (and that can become never)
2022-04-14 14:53:15 +0200 <abastro[m]> Idk, I've seen ppl loving opinionated stuff
2022-04-14 14:53:22 +0200 <tomsmeding> one can go with the default choice on some parts that you care less about, and make an educated choice on other parts that you care more about
2022-04-14 14:53:33 +0200 <abastro[m]> And the rants/pointless arguments touting the most popular choices
2022-04-14 14:53:44 +0200 <abastro[m]> Which gets tons of likes because, you know, choice is hard
2022-04-14 14:53:45 +0200redb(~nmh@136.49.49.211)
2022-04-14 14:53:49 +0200 <tomsmeding> hence it's perfectly justifiable to go with haskell because you care about functional programming, but with conduit because you have no idea and want to do some streaming IO
2022-04-14 14:54:01 +0200 <tomsmeding> yes
2022-04-14 14:54:03 +0200 <tomsmeding> and fuck flamewars
2022-04-14 14:54:11 +0200 <tomsmeding> flamewars are fun, but not productive
2022-04-14 14:54:15 +0200 <abastro[m]> Yea
2022-04-14 14:54:16 +0200 <abastro[m]> streamly looks great tho
2022-04-14 14:54:16 +0200 <abastro[m]> Hmm
2022-04-14 14:54:27 +0200benin(~benin@183.82.204.110) (Ping timeout: 240 seconds)
2022-04-14 14:54:33 +0200 <abastro[m]> I need some info on this
2022-04-14 14:54:34 +0200 <abastro[m]> Is streamly less stable?
2022-04-14 14:54:52 +0200tomsmedinghas no actual clue on streaming libraries, someone else take over from here :p
2022-04-14 14:55:08 +0200 <abastro[m]> <del>I love dramas, but instead of watching it on TV, I like it in chatting channels</del>
2022-04-14 14:55:08 +0200 <abastro[m]> Oof
2022-04-14 14:58:00 +0200redb(~nmh@136.49.49.211) (Ping timeout: 248 seconds)
2022-04-14 14:58:31 +0200 <geekosaur> streamly is stable but its API is a bit rough at present
2022-04-14 14:58:52 +0200redb(~nmh@136.49.49.211)
2022-04-14 14:58:55 +0200 <geekosaur> which may mean a future version will change the API a bit
2022-04-14 14:59:15 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-04-14 14:59:27 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
2022-04-14 14:59:56 +0200 <geekosaur> it'salso got the best performance of all the streaming libraries
2022-04-14 15:00:08 +0200chenqisu1(~chenqisu1@183.217.200.38) (Ping timeout: 248 seconds)
2022-04-14 15:00:14 +0200 <geekosaur> I'd say if you want stable and usable out of the box, conduit is your go-to
2022-04-14 15:00:29 +0200 <geekosaur> if you neef best performance, go for streamly
2022-04-14 15:00:32 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-14 15:01:44 +0200 <geekosaur> there are a lot of conduit plug-ins for pretty much anything you need on hackage
2022-04-14 15:02:04 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-04-14 15:02:16 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-14 15:02:55 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-04-14 15:03:19 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 15:04:29 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 15:06:07 +0200mikoto-chan(~mikoto-ch@213.177.151.239)
2022-04-14 15:06:35 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 15:06:50 +0200ubert(~Thunderbi@p548c8d44.dip0.t-ipconnect.de) (Quit: ubert)
2022-04-14 15:06:50 +0200ubert1ubert
2022-04-14 15:08:27 +0200_dmc_(~dcm@user/dmc/x-4369397)
2022-04-14 15:08:33 +0200cdman(~dcm@user/dmc/x-4369397) (Ping timeout: 246 seconds)
2022-04-14 15:08:47 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-04-14 15:09:31 +0200frost(~frost@user/frost)
2022-04-14 15:12:30 +0200zaquest(~notzaques@5.130.79.72)
2022-04-14 15:12:41 +0200redb(~nmh@136.49.49.211)
2022-04-14 15:17:01 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 15:17:11 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-04-14 15:18:44 +0200redb(~nmh@136.49.49.211)
2022-04-14 15:20:32 +0200kaph(~kaph@151.36.224.136)
2022-04-14 15:22:10 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-14 15:22:50 +0200_dmc_(~dcm@user/dmc/x-4369397) (Quit: Leaving)
2022-04-14 15:23:15 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 15:23:30 +0200cdman(~dcm@user/dmc/x-4369397)
2022-04-14 15:24:23 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2022-04-14 15:29:08 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 272 seconds)
2022-04-14 15:30:24 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-14 15:33:41 +0200jespada(~jespada@2a0c:5c84:1:3000::3b58) (Remote host closed the connection)
2022-04-14 15:34:07 +0200Pickchea(~private@user/pickchea)
2022-04-14 15:35:26 +0200coot(~coot@213.134.190.95)
2022-04-14 15:36:30 +0200akegalj(~akegalj@93-138-22-63.adsl.net.t-com.hr)
2022-04-14 15:36:32 +0200redb(~nmh@136.49.49.211)
2022-04-14 15:36:44 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 15:38:55 +0200jespada(~jespada@2a0c:5c84:1:6000::7f92)
2022-04-14 15:40:26 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp)
2022-04-14 15:40:49 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 15:41:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-04-14 15:43:05 +0200Guest12(~Guest12@planetx-02-2111.uni-muenster.de)
2022-04-14 15:43:10 +0200kaph_(~kaph@151.38.238.0)
2022-04-14 15:43:21 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 15:43:21 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 15:43:21 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 15:43:25 +0200Guest12(~Guest12@planetx-02-2111.uni-muenster.de) (Client Quit)
2022-04-14 15:45:28 +0200kaph(~kaph@151.36.224.136) (Ping timeout: 248 seconds)
2022-04-14 15:51:37 +0200barzo(~hd@149.0.146.115)
2022-04-14 15:52:02 +0200barzo(~hd@149.0.146.115) (Client Quit)
2022-04-14 15:56:04 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-04-14 15:56:12 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-14 15:57:35 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:586f:6838:910b:9957) (Quit: WeeChat 2.8)
2022-04-14 15:58:47 +0200redb(~nmh@136.49.49.211)
2022-04-14 16:00:54 +0200Sgeo(~Sgeo@user/sgeo)
2022-04-14 16:07:47 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-04-14 16:08:01 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 16:08:03 +0200slack1256(~slack1256@191.125.227.90)
2022-04-14 16:08:41 +0200fockerized(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-14 16:08:55 +0200 <fockerized> any ghc flags for creating a smaller binary?
2022-04-14 16:09:18 +0200 <fockerized> my main = return () creates a 11M binary
2022-04-14 16:09:21 +0200jespada(~jespada@2a0c:5c84:1:6000::7f92) (Remote host closed the connection)
2022-04-14 16:10:15 +0200akegalj(~akegalj@93-138-22-63.adsl.net.t-com.hr) (Quit: leaving)
2022-04-14 16:10:44 +0200 <[exa]> fockerized: you can strip it, should remove a lot of unnecessary data
2022-04-14 16:11:25 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-04-14 16:12:03 +0200 <fockerized> manually strip it with a editor?
2022-04-14 16:12:33 +0200 <[exa]> no, there's a `strip` program that removes unnecessary stuff from binaries, like debug info and symbols
2022-04-14 16:12:52 +0200 <[exa]> if you are on some kind of unix just type `strip yourProgram` and that's it
2022-04-14 16:12:54 +0200pranshukhandal(pranshukha@envs.net) (Quit: the lounge - https://webirc.envs.net)
2022-04-14 16:13:06 +0200pranshukhandal(pranshukha@envs.net)
2022-04-14 16:13:19 +0200acidjnk(~acidjnk@p200300d0c722df081581cec648b99087.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-14 16:13:33 +0200phma(phma@2001:5b0:212a:b288:54de:f56:6f6c:c5f8) (Read error: Connection reset by peer)
2022-04-14 16:13:47 +0200jao(~jao@92.233.85.247)
2022-04-14 16:14:01 +0200 <[exa]> the other option is to go for dynamic libraries, just compile with `-dynamic`, my test program here is literally 10616 bytes with that, after stripping
2022-04-14 16:14:33 +0200phma(phma@2001:5b0:211c:1d48:c79f:ef32:78e6:f8b1)
2022-04-14 16:14:54 +0200jespada(~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net)
2022-04-14 16:15:28 +0200 <[exa]> (and roughly 18kB before stripping)
2022-04-14 16:15:38 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-04-14 16:15:56 +0200 <[exa]> without -dynamic I'm getting something like 3.5MB (unstripped) and 900kB (stripped)
2022-04-14 16:18:11 +0200 <fockerized> 3.5MB is still quite smaller than mine 11MB
2022-04-14 16:18:25 +0200 <fockerized> I tried with ghc file.hs -o h.out
2022-04-14 16:19:24 +0200slack1256(~slack1256@191.125.227.90) (Remote host closed the connection)
2022-04-14 16:21:59 +0200ec(~ec@gateway/tor-sasl/ec)
2022-04-14 16:22:24 +0200Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2022-04-14 16:24:03 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
2022-04-14 16:25:27 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-14 16:30:18 +0200motherfsck(~motherfsc@user/motherfsck)
2022-04-14 16:31:24 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-04-14 16:32:18 +0200zebrag(~chris@user/zebrag)
2022-04-14 16:32:24 +0200kaph_(~kaph@151.38.238.0) (Ping timeout: 248 seconds)
2022-04-14 16:35:09 +0200redb(~nmh@136.49.49.211)
2022-04-14 16:39:33 +0200redb(~nmh@136.49.49.211) (Ping timeout: 246 seconds)
2022-04-14 16:39:49 +0200jackson99(~bc8147f2@cerf.good1.com) (Quit: quit)
2022-04-14 16:39:54 +0200jackson98jackson99
2022-04-14 16:42:22 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: Textual IRC Client: www.textualapp.com)
2022-04-14 16:43:30 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-14 16:44:26 +0200califax(~califax@user/califx)
2022-04-14 16:48:57 +0200redb(~nmh@136.49.49.211)
2022-04-14 16:51:08 +0200notzmv(~zmv@user/notzmv) (Remote host closed the connection)
2022-04-14 16:51:15 +0200oxide(~lambda@user/oxide)
2022-04-14 16:51:55 +0200rawley(~rawley@142.99.241.242)
2022-04-14 16:52:54 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-04-14 16:56:15 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-04-14 16:59:11 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 16:59:37 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Client Quit)
2022-04-14 17:00:05 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
2022-04-14 17:02:07 +0200gentauro(~gentauro@user/gentauro)
2022-04-14 17:02:40 +0200notzmv(~zmv@user/notzmv)
2022-04-14 17:04:24 +0200z0k(~z0k@39.40.9.161) (Quit: WeeChat 3.4.1)
2022-04-14 17:04:46 +0200yauhsien(~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-04-14 17:06:11 +0200ishaan(~ishaan@122.161.51.210)
2022-04-14 17:12:51 +0200sprout(~quassel@2a02-a467-ccd6-1-d9a7-d237-b363-1f2.fixed6.kpn.net)
2022-04-14 17:14:37 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-04-14 17:14:41 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 17:15:02 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 17:16:09 +0200sprout_(~quassel@2a02:a467:ccd6:1:cc9d:606d:275:46cf) (Ping timeout: 248 seconds)
2022-04-14 17:25:00 +0200jinsun(~jinsun@user/jinsun)
2022-04-14 17:27:54 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 17:28:11 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 17:31:56 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 17:32:01 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-04-14 17:32:13 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 17:37:48 +0200pranshukhandalghost1999
2022-04-14 17:39:30 +0200Guest92(~Guest92@2001:818:da34:b400:2cdc:89c5:4785:3c6)
2022-04-14 17:41:52 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-04-14 17:42:01 +0200 <carbolymer> fockerized: you can also use upx to compress your binary
2022-04-14 17:42:56 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-04-14 17:43:08 +0200mastarija(~mastarija@2a05:4f46:e04:6000:68d9:b076:ca11:8c6e) (Quit: Leaving)
2022-04-14 17:43:21 +0200gurkenglas(~gurkengla@dslb-178-012-018-212.178.012.pools.vodafone-ip.de)
2022-04-14 17:44:22 +0200lbseale(~ep1ctetus@user/ep1ctetus)
2022-04-14 17:44:23 +0200 <geekosaur> dynamic will reduce it by quite a lot, ghc's default is to use static which makes for more self-contained but significantly larger binaries
2022-04-14 17:44:30 +0200Guest92(~Guest92@2001:818:da34:b400:2cdc:89c5:4785:3c6) (Quit: Client closed)
2022-04-14 17:45:11 +0200 <geekosaur> if you use dynamic you have to make sure the exact versions of the shared objects are available (and I think there are location restrictions as well)
2022-04-14 17:47:48 +0200lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-04-14 17:48:36 +0200ubert(~Thunderbi@p200300ecdf15889a5b0225aa68853aa4.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-04-14 17:48:54 +0200ubert(~Thunderbi@p200300ecdf15889a6dd735575757d7c8.dip0.t-ipconnect.de)
2022-04-14 17:48:59 +0200alp_(~alp@user/alp) (Ping timeout: 260 seconds)
2022-04-14 17:50:48 +0200cdman(~dcm@user/dmc/x-4369397) (Ping timeout: 248 seconds)
2022-04-14 17:55:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 18:00:12 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2022-04-14 18:00:12 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Client Quit)
2022-04-14 18:01:52 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 18:02:05 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2022-04-14 18:02:09 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 18:02:13 +0200ccntrq(~Thunderbi@imx92-1-78-204-187-6.fbx.proxad.net) (Quit: ccntrq)
2022-04-14 18:03:14 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-04-14 18:05:14 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-14 18:08:44 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 272 seconds)
2022-04-14 18:09:43 +0200ishaan(~ishaan@122.161.51.210) (Quit: Ping timeout (120 seconds))
2022-04-14 18:16:03 +0200CiaoSen(~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2022-04-14 18:18:54 +0200xff0x(~xff0x@om126167120043.29.openmobile.ne.jp) (Read error: Connection reset by peer)
2022-04-14 18:22:32 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-14 18:22:44 +0200pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2022-04-14 18:22:45 +0200ghost1999(pranshukha@envs.net) (Quit: the lounge - https://webirc.envs.net)
2022-04-14 18:24:24 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 248 seconds)
2022-04-14 18:27:24 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 18:27:27 +0200axeman(~quassel@2a02:8109:a380:78:be44:98d7:7a12:c9cf)
2022-04-14 18:27:41 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 18:29:13 +0200benin(~benin@183.82.204.110)
2022-04-14 18:31:18 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 18:31:35 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 18:35:28 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 18:35:46 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 18:38:16 +0200ishaan(~ishaan@122.161.51.210)
2022-04-14 18:39:57 +0200rawley(~rawley@142.99.241.242) (Ping timeout: 246 seconds)
2022-04-14 18:44:04 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-14 18:44:36 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b)
2022-04-14 18:47:03 +0200Vajb(~Vajb@2001:999:504:1dda:267d:6860:bdf7:f68b) (Read error: Connection reset by peer)
2022-04-14 18:47:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-14 18:47:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 18:47:53 +0200axeman(~quassel@2a02:8109:a380:78:be44:98d7:7a12:c9cf) (Ping timeout: 248 seconds)
2022-04-14 18:48:11 +0200Vajb(~Vajb@85-76-73-177-nat.elisa-mobile.fi)
2022-04-14 18:49:08 +0200alp_(~alp@user/alp)
2022-04-14 18:54:42 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 18:54:59 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 18:56:46 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 18:57:04 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 18:57:59 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-14 18:58:20 +0200cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2022-04-14 18:59:09 +0200cheater(~Username@user/cheater)
2022-04-14 19:09:26 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 19:09:46 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 19:12:22 +0200Codaraxis(~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
2022-04-14 19:14:02 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 19:14:19 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 19:14:57 +0200statusbot3(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection)
2022-04-14 19:15:11 +0200statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
2022-04-14 19:17:20 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 19:17:20 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 19:17:20 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 19:19:06 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
2022-04-14 19:21:20 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-14 19:22:14 +0200Guest31(~Guest31@201.110.214.194)
2022-04-14 19:25:00 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 19:25:18 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 19:25:49 +0200Guest31(~Guest31@201.110.214.194) (Client Quit)
2022-04-14 19:26:31 +0200Athas_(athas@2a01:7c8:aaac:1cf:1c09:1958:649b:4873)
2022-04-14 19:26:36 +0200califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-04-14 19:26:41 +0200lemonsni-(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-04-14 19:26:49 +0200califax(~califax@user/califx)
2022-04-14 19:27:10 +0200hammock(~Hammock@2600:1700:19a1:3330::588)
2022-04-14 19:27:11 +0200zachel_(~zachel@user/zachel)
2022-04-14 19:27:41 +0200eggplant_(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 19:27:48 +0200jinsun__(~jinsun@user/jinsun)
2022-04-14 19:28:01 +0200hyiltiz_(~quassel@31.220.5.250)
2022-04-14 19:28:09 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-14 19:28:13 +0200Trattue-(~Trattue@152.70.182.158)
2022-04-14 19:28:17 +0200eggplant_(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-14 19:28:39 +0200ptrcmd_(~ptrcmd@user/ptrcmd)
2022-04-14 19:28:42 +0200janus__(janus@anubis.0x90.dk)
2022-04-14 19:28:44 +0200Cheery_(~cheery@7-239-179-185.static.tentacle.fi)
2022-04-14 19:28:45 +0200a1paca_(~a1paca@user/a1paca)
2022-04-14 19:28:57 +0200Zemyla_(~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com)
2022-04-14 19:28:58 +0200zyklotom1(~ethan@r4-128-61-88-254.res.gatech.edu)
2022-04-14 19:29:05 +0200simeon_(~pi@dslb-088-076-113-221.088.076.pools.vodafone-ip.de)
2022-04-14 19:29:07 +0200sweater1(~sweater@206.81.18.26)
2022-04-14 19:29:07 +0200Maxdaman1us(~Maxdamant@user/maxdamantus)
2022-04-14 19:29:11 +0200lucifero(~satan@ip-046-223-003-068.um13.pools.vodafone-ip.de)
2022-04-14 19:29:15 +0200some02(~cat@user/sudden)
2022-04-14 19:29:16 +0200stilgart_(~Christoph@chezlefab.net)
2022-04-14 19:29:31 +0200tomku|two(~tomku@user/tomku)
2022-04-14 19:29:33 +0200opqdonut_(opqdonut@pseudo.fixme.fi)
2022-04-14 19:29:38 +0200gabriel_1(~gabriel@188-167-229-200.dynamic.chello.sk)
2022-04-14 19:29:53 +0200_ht_(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-04-14 19:31:28 +0200Vajb(~Vajb@85-76-73-177-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2022-04-14 19:31:56 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-14 19:32:47 +0200mniip_(mniip@libera/staff/mniip)
2022-04-14 19:33:22 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: Textual IRC Client: www.textualapp.com)
2022-04-14 19:33:56 +0200_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (*.net *.split)
2022-04-14 19:33:56 +0200wroathe(~wroathe@user/wroathe) (*.net *.split)
2022-04-14 19:33:56 +0200cheater(~Username@user/cheater) (*.net *.split)
2022-04-14 19:33:56 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (*.net *.split)
2022-04-14 19:33:56 +0200jinsun(~jinsun@user/jinsun) (*.net *.split)
2022-04-14 19:33:56 +0200oxide(~lambda@user/oxide) (*.net *.split)
2022-04-14 19:33:56 +0200zebrag(~chris@user/zebrag) (*.net *.split)
2022-04-14 19:33:56 +0200zyklotomic(~ethan@r4-128-61-88-254.res.gatech.edu) (*.net *.split)
2022-04-14 19:33:56 +0200theproffesor(~theprofff@user/theproffesor) (*.net *.split)
2022-04-14 19:33:56 +0200Midjak(~Midjak@82.66.147.146) (*.net *.split)
2022-04-14 19:33:56 +0200haskl[error](~haskl@user/haskl) (*.net *.split)
2022-04-14 19:33:56 +0200toulene(~toulene@user/toulene) (*.net *.split)
2022-04-14 19:33:56 +0200russruss(~russruss@my.russellmcc.com) (*.net *.split)
2022-04-14 19:33:56 +0200tomku(~tomku@user/tomku) (*.net *.split)
2022-04-14 19:33:56 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (*.net *.split)
2022-04-14 19:33:56 +0200JimL(~quassel@89-162-2-132.fiber.signal.no) (*.net *.split)
2022-04-14 19:33:56 +0200wolfshappen(~waff@irc.furworks.de) (*.net *.split)
2022-04-14 19:33:56 +0200Putonlalla(~sapekiis@it-cyan.it.jyu.fi) (*.net *.split)
2022-04-14 19:33:56 +0200blades(~blades@204.48.29.163) (*.net *.split)
2022-04-14 19:33:56 +0200drewr(~drew@user/drewr) (*.net *.split)
2022-04-14 19:33:56 +0200janus(janus@anubis.0x90.dk) (*.net *.split)
2022-04-14 19:33:56 +0200asm(~alexander@burner.asm89.io) (*.net *.split)
2022-04-14 19:33:56 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (*.net *.split)
2022-04-14 19:33:56 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (*.net *.split)
2022-04-14 19:33:57 +0200statusfailed(~statusfai@statusfailed.com) (*.net *.split)
2022-04-14 19:33:57 +0200simeon(~pi@dslb-088-076-113-221.088.076.pools.vodafone-ip.de) (*.net *.split)
2022-04-14 19:33:57 +0200sweater(~sweater@206.81.18.26) (*.net *.split)
2022-04-14 19:33:57 +0200gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (*.net *.split)
2022-04-14 19:33:57 +0200mniip(~mniip@libera/staff/mniip) (*.net *.split)
2022-04-14 19:33:57 +0200Athas(athas@sigkill.dk) (*.net *.split)
2022-04-14 19:33:57 +0200belphegor666(~satan@user/belphegor666) (*.net *.split)
2022-04-14 19:33:57 +0200sudden(~cat@user/sudden) (*.net *.split)
2022-04-14 19:33:57 +0200Cheery(~cheery@7-239-179-185.static.tentacle.fi) (*.net *.split)
2022-04-14 19:33:57 +0200a1paca(~a1paca@user/a1paca) (*.net *.split)
2022-04-14 19:33:57 +0200APic(~apic@apic.name) (*.net *.split)
2022-04-14 19:33:57 +0200adium(adium@user/adium) (*.net *.split)
2022-04-14 19:33:57 +0200bah(~bah@l1.tel) (*.net *.split)
2022-04-14 19:33:57 +0200stilgart(~Christoph@chezlefab.net) (*.net *.split)
2022-04-14 19:33:57 +0200ptrcmd(~ptrcmd@user/ptrcmd) (*.net *.split)
2022-04-14 19:33:57 +0200opqdonut(~opqdonut@pseudo.fixme.fi) (*.net *.split)
2022-04-14 19:33:57 +0200zachel(~zachel@user/zachel) (*.net *.split)
2022-04-14 19:33:57 +0200Zemyla(~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (*.net *.split)
2022-04-14 19:33:57 +0200hyiltiz(~quassel@31.220.5.250) (*.net *.split)
2022-04-14 19:33:57 +0200finsternis(~X@23.226.237.192) (*.net *.split)
2022-04-14 19:33:57 +0200lyxia(~lyxia@poisson.chat) (*.net *.split)
2022-04-14 19:33:57 +0200Benzi-Junior(~BenziJuni@dsl-149-64-179.hive.is) (*.net *.split)
2022-04-14 19:33:57 +0200eL_Bart0(eL_Bart0@dietunichtguten.org) (*.net *.split)
2022-04-14 19:33:57 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua) (*.net *.split)
2022-04-14 19:33:57 +0200lechner(~lechner@debian/lechner) (*.net *.split)
2022-04-14 19:33:57 +0200Trattue(~Trattue@152.70.182.158) (*.net *.split)
2022-04-14 19:34:05 +0200bah_(~bah@l1.tel)
2022-04-14 19:35:00 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 19:35:12 +0200tubogram4(~tubogram@user/tubogram)
2022-04-14 19:36:29 +0200jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2022-04-14 19:37:07 +0200econo(uid147250@user/econo)
2022-04-14 19:37:15 +0200JimL(~quassel@89-162-2-132.fiber.signal.no)
2022-04-14 19:37:15 +0200cheater(~Username@user/cheater)
2022-04-14 19:37:15 +0200oxide(~lambda@user/oxide)
2022-04-14 19:37:15 +0200zebrag(~chris@user/zebrag)
2022-04-14 19:37:15 +0200theproffesor(~theprofff@user/theproffesor)
2022-04-14 19:37:15 +0200Midjak(~Midjak@82.66.147.146)
2022-04-14 19:37:15 +0200haskl[error](~haskl@user/haskl)
2022-04-14 19:37:15 +0200russruss(~russruss@my.russellmcc.com)
2022-04-14 19:37:15 +0200wolfshappen(~waff@irc.furworks.de)
2022-04-14 19:37:15 +0200blades(~blades@204.48.29.163)
2022-04-14 19:37:15 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net)
2022-04-14 19:37:15 +0200statusfailed(~statusfai@statusfailed.com)
2022-04-14 19:37:15 +0200adium(adium@user/adium)
2022-04-14 19:37:15 +0200finsternis(~X@23.226.237.192)
2022-04-14 19:37:15 +0200Benzi-Junior(~BenziJuni@dsl-149-64-179.hive.is)
2022-04-14 19:37:15 +0200eL_Bart0(eL_Bart0@dietunichtguten.org)
2022-04-14 19:37:15 +0200troydm(~troydm@host-176-37-124-197.b025.la.net.ua)
2022-04-14 19:37:15 +0200lechner(~lechner@debian/lechner)
2022-04-14 19:37:53 +0200finsternis(~X@23.226.237.192) (Max SendQ exceeded)
2022-04-14 19:37:53 +0200wolfshappen(~waff@irc.furworks.de) (Max SendQ exceeded)
2022-04-14 19:38:10 +0200wolfshappen(~waff@irc.furworks.de)
2022-04-14 19:38:35 +0200finsternis(~X@23.226.237.192)
2022-04-14 19:38:48 +0200ishaan(~ishaan@122.161.51.210) (Quit: Client closed)
2022-04-14 19:38:56 +0200dextaa(~dextaa@user/dextaa)
2022-04-14 19:39:47 +0200kaph(~kaph@151.38.238.0)
2022-04-14 19:40:11 +0200vicfred(~vicfred@user/vicfred)
2022-04-14 19:40:43 +0200asm(~alexander@burner.asm89.io)
2022-04-14 19:41:00 +0200APic(apic@apic.name)
2022-04-14 19:41:10 +0200coot(~coot@213.134.190.95)
2022-04-14 19:41:10 +0200anomal(~anomal@87.227.196.109)
2022-04-14 19:41:10 +0200lyxia(~lyxia@poisson.chat)
2022-04-14 19:41:13 +0200drewr(~drew@user/drewr)
2022-04-14 19:42:52 +0200Putonlalla(~sapekiis@it-cyan.it.jyu.fi)
2022-04-14 19:42:58 +0200kaph_(~kaph@151.82.248.223)
2022-04-14 19:43:02 +0200MajorBiscuit(~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl)
2022-04-14 19:43:05 +0200kaph(~kaph@151.38.238.0) (Read error: Connection reset by peer)
2022-04-14 19:45:12 +0200kaph_(~kaph@151.82.248.223) (Read error: Connection reset by peer)
2022-04-14 19:45:14 +0200kaph(~kaph@151.82.248.223)
2022-04-14 19:45:18 +0200Tisoxin(~ikosit@user/ikosit)
2022-04-14 19:46:16 +0200niemand(~niemand@p2e52f858.dip0.t-ipconnect.de)
2022-04-14 19:46:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-14 19:46:32 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-14 19:46:57 +0200ishaan(~ishaan@122.161.51.210)
2022-04-14 19:47:34 +0200MrLi(~MrLi@240e:47c:2c38:1908:d804:ffb6:8a7e:7082)
2022-04-14 19:48:24 +0200MrLi(~MrLi@240e:47c:2c38:1908:d804:ffb6:8a7e:7082) (Client Quit)
2022-04-14 19:48:55 +0200vysn(~vysn@user/vysn) (Ping timeout: 260 seconds)
2022-04-14 19:50:00 +0200kaph(~kaph@151.82.248.223) (Ping timeout: 250 seconds)
2022-04-14 19:50:48 +0200haskellberryfinn(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-14 19:52:46 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 19:53:03 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 19:53:52 +0200dextaa(~dextaa@user/dextaa) (Ping timeout: 272 seconds)
2022-04-14 19:58:48 +0200ptrcmd_(~ptrcmd@user/ptrcmd) (Ping timeout: 248 seconds)
2022-04-14 19:59:20 +0200zyklotom1(~ethan@r4-128-61-88-254.res.gatech.edu) (Ping timeout: 248 seconds)
2022-04-14 20:00:30 +0200niemand(~niemand@p2e52f858.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-04-14 20:00:54 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 20:01:17 +0200zyklotom1(~ethan@res380d-128-61-83-86.res.gatech.edu)
2022-04-14 20:03:06 +0200niemand(~niemand@p2e52f858.dip0.t-ipconnect.de)
2022-04-14 20:03:55 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
2022-04-14 20:04:01 +0200arjun(~arjun@user/arjun)
2022-04-14 20:04:34 +0200ptrcmd(~ptrcmd@user/ptrcmd)
2022-04-14 20:05:35 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-04-14 20:06:36 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-04-14 20:11:50 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 20:12:07 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 20:17:54 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 20:18:03 +0200axeman(~quassel@2a02:8109:a380:78:5d90:f8a6:2503:657b)
2022-04-14 20:18:11 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 20:19:17 +0200xkuru(~xkuru@user/xkuru)
2022-04-14 20:19:54 +0200haskellberryfinn(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds)
2022-04-14 20:20:57 +0200 <hololeap> it looks like changing the line endings of a .cabal file changes the hash string on the resulting .so library file
2022-04-14 20:22:01 +0200 <hololeap> so does this mean the hashing algorithm just uses a byte-by-byte encoding of the .cabal file, rather than some logical parsing of the contents?
2022-04-14 20:22:40 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-14 20:22:59 +0200anomal(~anomal@87.227.196.109)
2022-04-14 20:23:00 +0200MajorBiscuit(~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl) (Ping timeout: 272 seconds)
2022-04-14 20:23:08 +0200Codaraxis(~Codaraxis@user/codaraxis)
2022-04-14 20:25:44 +0200 <hololeap> I could be wrong here, something else might have changed the hash, but I'm not sure what...
2022-04-14 20:26:31 +0200 <glguy> just hashing the file bytes seems like the most likely approach
2022-04-14 20:28:18 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 20:28:19 +0200 <geekosaur> I think it's not supposed to be that simple: cabal distinguishes between options that change the generated objects and those that don't
2022-04-14 20:28:35 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 20:28:52 +0200 <geekosaur> plus versions etc.
2022-04-14 20:29:01 +0200 <geekosaur> this might be a question for #hackage
2022-04-14 20:29:20 +0200 <hololeap> ok
2022-04-14 20:32:12 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 20:32:29 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 20:36:33 +0200arjun(~arjun@user/arjun) (Remote host closed the connection)
2022-04-14 20:36:41 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-04-14 20:37:27 +0200niemand(~niemand@p2e52f858.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-04-14 20:37:44 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-04-14 20:38:44 +0200 <sclv> its not clear to me why a cabal file would be hashed into an so at all? the latter is ghc and the former is cabal
2022-04-14 20:39:43 +0200 <sclv> and certainly the calculated component hash uses a data structure and not raw bytes
2022-04-14 20:40:44 +0200redb(~nmh@136.49.49.211) (Ping timeout: 272 seconds)
2022-04-14 20:40:51 +0200bahamas(~lucian@84.232.140.158)
2022-04-14 20:42:04 +0200 <hololeap> I can't reproduce it now. _something_ changed the hash for a package and the only difference I saw was running dos2unix on the .cabal file, but now it is keeping the same hash even on a freshly fetched project directory
2022-04-14 20:42:20 +0200redb(~nmh@136.49.49.211)
2022-04-14 20:42:53 +0200mbuf(~Shakthi@171.61.243.114) (Quit: Leaving)
2022-04-14 20:42:53 +0200 <hololeap> this was not a package that showed up when running `ghc-pkg check`, so I don't know what could have changed... is there possibly a debug setting that shows how the hash is calculated?
2022-04-14 20:44:47 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 20:45:01 +0200 <hololeap> I can try looking in the ghc docs or asking in #ghc, but what is the technical name for this hash I'm referring to?
2022-04-14 20:45:04 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 20:46:46 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-14 20:50:50 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) (Remote host closed the connection)
2022-04-14 20:51:07 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3)
2022-04-14 20:51:59 +0200redb(~nmh@136.49.49.211)
2022-04-14 20:53:11 +0200Zemyla_Zemyla
2022-04-14 20:54:35 +0200 <geekosaur> ABI hash
2022-04-14 20:55:18 +0200 <geekosaur> I believe ghc computes it from the object and .hi files, and doesn't even know about the cabal file
2022-04-14 20:55:53 +0200alp_(~alp@user/alp) (Ping timeout: 248 seconds)
2022-04-14 20:57:34 +0200MajorBiscuit(~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl)
2022-04-14 20:58:37 +0200anomal(~anomal@87.227.196.109) (Remote host closed the connection)
2022-04-14 20:58:56 +0200anomal(~anomal@87.227.196.109)
2022-04-14 20:59:27 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-14 21:00:19 +0200 <hololeap> ok, that's good
2022-04-14 21:00:48 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-04-14 21:01:30 +0200jakalx(~jakalx@base.jakalx.net)
2022-04-14 21:02:04 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-04-14 21:02:15 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-04-14 21:02:25 +0200 <sclv> i think this is the code one would want to look at https://hackage.haskell.org/package/Cabal-3.6.3.0/docs/src/Distribution.Simple.GHC.html#libAbiHash
2022-04-14 21:02:55 +0200redb(~nmh@136.49.49.211)
2022-04-14 21:03:47 +0200 <sclv> actually wait that's just cabal reinvoking ghc, sigh
2022-04-14 21:04:27 +0200vicfred(~vicfred@user/vicfred)
2022-04-14 21:06:02 +0200 <sclv> the ghc code for computing the actual abi hash of an so in particular seems to be a bit hard to pin down. it may be done incrementally in various places
2022-04-14 21:06:28 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-04-14 21:07:14 +0200tmo24(~tmo24@2a02:8108:8440:16f4:541b:f0fd:c53f:72c3) ()
2022-04-14 21:08:43 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 21:09:55 +0200redb(~nmh@136.49.49.211)
2022-04-14 21:10:30 +0200ishaan(~ishaan@122.161.51.210) (Quit: Client closed)
2022-04-14 21:14:15 +0200robosexual-(~spaceoyst@77.223.90.202)
2022-04-14 21:14:19 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 21:14:40 +0200robosexual-(~spaceoyst@77.223.90.202) (Client Quit)
2022-04-14 21:16:15 +0200redb(~nmh@136.49.49.211)
2022-04-14 21:16:24 +0200 <energizer> is there an AVX-512 foldr?
2022-04-14 21:16:28 +0200kaph(~kaph@37.39.168.109.cust.ip.kpnqwest.it)
2022-04-14 21:16:40 +0200bahamas(~lucian@84.232.140.158) (Ping timeout: 250 seconds)
2022-04-14 21:18:44 +0200 <[exa]> how'd that work?
2022-04-14 21:19:00 +0200niemand(~niemand@p2e52f858.dip0.t-ipconnect.de)
2022-04-14 21:19:52 +0200 <energizer> s/foldr/fold/
2022-04-14 21:20:29 +0200 <energizer> replacing individual steps with a batch of steps
2022-04-14 21:21:36 +0200 <niemand> (GHC) Haskell doesn't first compare the pointers when testing lists on equality, does it?
2022-04-14 21:24:09 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
2022-04-14 21:27:01 +0200alp_(~alp@user/alp)
2022-04-14 21:27:03 +0200redb(~nmh@136.49.49.211) (Ping timeout: 256 seconds)
2022-04-14 21:27:28 +0200 <sclv> absolutely not
2022-04-14 21:28:28 +0200 <geekosaur> % let l = [traceShowId 'a', traceShowId 'b'] in l == l
2022-04-14 21:28:28 +0200 <yahb> geekosaur: 'a'; 'b'; True
2022-04-14 21:28:48 +0200merijn(~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-04-14 21:28:49 +0200 <geekosaur> comparing pointers is a bit unsafe since a gc may happen
2022-04-14 21:29:41 +0200 <geekosaur> energizer, I think nothing uses AVX as yet except possibly some libraries like Accelerate
2022-04-14 21:32:40 +0200hololeap_(~hololeap@user/hololeap)
2022-04-14 21:33:10 +0200rawley(~rawley@142.99.241.242)
2022-04-14 21:33:35 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-14 21:34:47 +0200 <niemand> kk
2022-04-14 21:35:45 +0200 <[exa]> energizer: it might make sense as a specialization in very specific cases (eg. on vectors of unboxed stuff), but certainly I wouldn't expect the traditional list-ish fold to benefit from any SIMD
2022-04-14 21:36:20 +0200 <niemand> I wondered if this was this case, since I made an optimization on my code under the assumption that it compares the value but it didn't get noticeable faster
2022-04-14 21:37:08 +0200 <niemand> (though there are other areas that could be the bottleneck)
2022-04-14 21:37:20 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-04-14 21:38:25 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 21:38:42 +0200hololeap_hololeap
2022-04-14 21:39:12 +0200redb(~nmh@136.49.49.211)
2022-04-14 21:40:20 +0200Pickchea(~private@user/pickchea)
2022-04-14 21:40:27 +0200niemand(~niemand@p2e52f858.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-04-14 21:42:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-04-14 21:43:32 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-14 21:45:05 +0200pnotequalnp(~pnotequal@user/pnotequalnp)
2022-04-14 21:46:35 +0200jgeerds(~jgeerds@d5364b87.access.ecotel.net)
2022-04-14 21:52:32 +0200renzhi(~xp@2607:fa49:6500:b100::19a0) (Ping timeout: 260 seconds)
2022-04-14 21:54:47 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-14 22:00:15 +0200 <Zemyla> geekosaur: Other languages can compare pointers while having gc. Why not GHC?
2022-04-14 22:00:43 +0200redb(~nmh@136.49.49.211)
2022-04-14 22:00:56 +0200zeenk(~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94)
2022-04-14 22:04:47 +0200redb(~nmh@136.49.49.211) (Ping timeout: 240 seconds)
2022-04-14 22:04:47 +0200_ht_(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-04-14 22:05:05 +0200renzhi(~xp@2607:fa49:6500:b100::229c)
2022-04-14 22:05:24 +0200robosexual(~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
2022-04-14 22:07:09 +0200 <geekosaur> can they gc in the middle of an operation because some other thread allocated? (python, for instance, can't trigger this)
2022-04-14 22:07:13 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-04-14 22:07:20 +0200Unicorn_Princess(~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
2022-04-14 22:08:24 +0200 <dolio> Can't the unsafe pointer equality only give false negatives? Or am I forgetting?
2022-04-14 22:08:40 +0200redb(~nmh@136.49.49.211)
2022-04-14 22:09:00 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-04-14 22:09:00 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-04-14 22:09:00 +0200wroathe(~wroathe@user/wroathe)
2022-04-14 22:09:07 +0200Guest27(~Guest27@2601:281:d47f:1590::7e6a)
2022-04-14 22:10:08 +0200Athas_Athas
2022-04-14 22:10:19 +0200 <dolio> Not that I'm an advocate for using it on all comparisons.
2022-04-14 22:10:39 +0200 <geekosaur> it could be a false positive if something in gen1 or later gets moved in just the right way
2022-04-14 22:10:49 +0200 <geekosaur> this should be fairly rare, but possible
2022-04-14 22:13:15 +0200 <dolio> The docs aren't very specific.
2022-04-14 22:14:48 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Ping timeout: 248 seconds)
2022-04-14 22:14:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 22:15:12 +0200 <[exa]> this would require == to be a primitive operation, right?
2022-04-14 22:15:27 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-04-14 22:16:08 +0200 <dolio> Yeah, it'd probably mean you'd define structural equality in the Eq class, and then (==) would be a wrapper, if you wanted it to happen for everything.
2022-04-14 22:16:23 +0200 <[exa]> also, what should the magic == say when comparing 2 same-pointer thunks and (philosophically more intense:) 2 same-pointer functions?
2022-04-14 22:16:32 +0200redb(~nmh@136.49.49.211)
2022-04-14 22:16:38 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
2022-04-14 22:16:47 +0200hololeap_(~hololeap@user/hololeap)
2022-04-14 22:17:55 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-14 22:19:29 +0200hololeap_hololeap
2022-04-14 22:20:41 +0200 <[exa]> finally, since there can be 2 equal things with different pointers, you'd need to be prepared for false negatives anyway-- so why not do the same in a less unsafe way by e.g. hashing the subtree in each object and safely quickfailing on hash inequality?
2022-04-14 22:21:59 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 22:22:30 +0200redb(~nmh@136.49.49.211)
2022-04-14 22:22:47 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-04-14 22:23:04 +0200califax(~califax@user/califx)
2022-04-14 22:25:13 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-04-14 22:25:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-04-14 22:26:00 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 248 seconds)
2022-04-14 22:28:00 +0200Lord_of_Life_Lord_of_Life
2022-04-14 22:28:31 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-14 22:30:35 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-14 22:32:06 +0200Guest27(~Guest27@2601:281:d47f:1590::7e6a) (Quit: Client closed)
2022-04-14 22:35:12 +0200hololeap(~hololeap@user/hololeap)
2022-04-14 22:39:40 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-04-14 22:39:55 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 240 seconds)
2022-04-14 22:41:14 +0200stackdroid18(14094@user/stackdroid)
2022-04-14 22:42:24 +0200hololeap(~hololeap@user/hololeap)
2022-04-14 22:43:09 +0200dsrt^(~dsrt@50.226.13.122)
2022-04-14 22:44:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2022-04-14 22:45:35 +0200acidjnk(~acidjnk@p200300d0c722df081581cec648b99087.dip0.t-ipconnect.de)
2022-04-14 22:46:21 +0200Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2022-04-14 22:46:23 +0200kaph(~kaph@37.39.168.109.cust.ip.kpnqwest.it) (Ping timeout: 256 seconds)
2022-04-14 22:46:40 +0200Codaraxis(~Codaraxis@user/codaraxis)
2022-04-14 22:49:07 +0200redb(~nmh@136.49.49.211) (Ping timeout: 260 seconds)
2022-04-14 22:50:19 +0200Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2022-04-14 22:50:53 +0200neurocyte8614492(~neurocyte@user/neurocyte)
2022-04-14 22:51:09 +0200deadmarshal_(~deadmarsh@95.38.115.182)
2022-04-14 22:53:14 +0200zincy(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-04-14 22:54:59 +0200redb(~nmh@136.49.49.211)
2022-04-14 22:55:28 +0200deadmarshal_(~deadmarsh@95.38.115.182) (Ping timeout: 250 seconds)
2022-04-14 22:58:24 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-04-14 23:00:06 +0200kawzeg(kawzeg@2a01:7e01::f03c:92ff:fee2:ec34)
2022-04-14 23:00:11 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-04-14 23:03:27 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-04-14 23:05:17 +0200kenran(~kenran@200116b82b0a3400611dd27e2468a6bc.dip.versatel-1u1.de)
2022-04-14 23:07:05 +0200pnotequalnp(~pnotequal@user/pnotequalnp) (Quit: Client closed)
2022-04-14 23:07:22 +0200pnotequalnp(~pnotequal@user/pnotequalnp)
2022-04-14 23:17:09 +0200jackson99(~bc8147f2@83.167.180.121) (Quit: CGI:IRC (Session timeout))
2022-04-14 23:17:15 +0200Maxdaman1usMaxdamantus
2022-04-14 23:17:27 +0200axeman(~quassel@2a02:8109:a380:78:5d90:f8a6:2503:657b) (Ping timeout: 240 seconds)
2022-04-14 23:18:06 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
2022-04-14 23:18:30 +0200rawley(~rawley@142.99.241.242) (Remote host closed the connection)
2022-04-14 23:20:34 +0200kaph(~kaph@37.39.168.109.cust.ip.kpnqwest.it)
2022-04-14 23:22:00 +0200MajorBiscuit(~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl) (Ping timeout: 248 seconds)
2022-04-14 23:23:11 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-04-14 23:23:50 +0200MajorBiscuit(~MajorBisc@83.22.31.167.ipv4.supernova.orange.pl)
2022-04-14 23:24:01 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-04-14 23:24:30 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-04-14 23:25:04 +0200Techcable(~Techcable@user/Techcable) (Remote host closed the connection)
2022-04-14 23:26:38 +0200Techcable(~Techcable@user/Techcable)
2022-04-14 23:29:24 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-04-14 23:29:30 +0200haskellberryfinn(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-04-14 23:33:17 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com) (Remote host closed the connection)
2022-04-14 23:33:20 +0200michalz(~michalz@185.246.204.45) (Remote host closed the connection)
2022-04-14 23:33:41 +0200jhagborg(~jhagborg@068-187-237-099.res.spectrum.com)
2022-04-14 23:36:00 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-04-14 23:40:01 +0200zincy(~zincy@2a00:23c8:970c:4801:2944:efb3:93ff:a753)
2022-04-14 23:40:16 +0200 <lechner> Hi, what's a common Hackage module with external C library prerequisites, please?
2022-04-14 23:41:36 +0200 <geekosaur> https://hackage.haskell.org/package/zlib
2022-04-14 23:43:08 +0200redb(~nmh@136.49.49.211) (Ping timeout: 250 seconds)
2022-04-14 23:43:20 +0200lemonsni-(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 248 seconds)
2022-04-14 23:43:37 +0200jao(~jao@92.233.85.247) (Ping timeout: 256 seconds)
2022-04-14 23:44:25 +0200zincy(~zincy@2a00:23c8:970c:4801:2944:efb3:93ff:a753) (Ping timeout: 248 seconds)
2022-04-14 23:47:35 +0200MajorBiscuit(~MajorBisc@83.22.31.167.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds)
2022-04-14 23:47:44 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-04-14 23:50:07 +0200euandreh(~euandreh@2804:14c:33:9fe5:2b05:e929:4a1b:5380) (Ping timeout: 240 seconds)
2022-04-14 23:51:32 +0200euandreh(~euandreh@2804:14c:33:9fe5:af86:3007:d527:d573)
2022-04-14 23:52:27 +0200Guest27(~Guest27@2601:281:d47f:1590::7e6a)
2022-04-14 23:52:28 +0200ishaan(~ishaan@122.161.51.210)
2022-04-14 23:52:50 +0200ishaan(~ishaan@122.161.51.210) (Client Quit)
2022-04-14 23:53:21 +0200redb(~nmh@136.49.49.211)
2022-04-14 23:54:06 +0200 <Guest27> Is there a function-composition version of <$>? So rather than writing e.g. `k >=> return . f` it'd be something like `f <comp$> k`
2022-04-14 23:54:24 +0200 <hpc> :t \k f -> k >=> return . f
2022-04-14 23:54:25 +0200 <lambdabot> Monad m => (a1 -> m a2) -> (a2 -> c) -> a1 -> m c
2022-04-14 23:54:55 +0200 <lechner> geekosaur: thanks!
2022-04-14 23:54:56 +0200 <koz> :t flip traverse
2022-04-14 23:54:57 +0200 <lambdabot> (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
2022-04-14 23:55:24 +0200 <koz> :t flip traverse [1, 2, 3]
2022-04-14 23:55:26 +0200 <lambdabot> (Applicative f, Num a) => (a -> f b) -> f [b]
2022-04-14 23:55:36 +0200haskellberryfinn(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 248 seconds)
2022-04-14 23:55:54 +0200 <hpc> :t fmap (.)
2022-04-14 23:55:55 +0200 <lambdabot> Functor f => f (b -> c) -> f ((a -> b) -> a -> c)
2022-04-14 23:56:07 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-04-14 23:56:07 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2022-04-14 23:56:08 +0200allbery_b(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-04-14 23:56:32 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2022-04-14 23:57:44 +0200 <dolio> @type \k f -> k . fmap f
2022-04-14 23:57:45 +0200 <lambdabot> Functor f => (f b -> c) -> (a -> b) -> f a -> c
2022-04-14 23:58:12 +0200 <hpc> @src (>=>)
2022-04-14 23:58:12 +0200 <lambdabot> Source not found. Have you considered trying to match wits with a rutabaga?
2022-04-14 23:59:06 +0200 <dolio> Oh, that's backwards.