2021/07/30

2021-07-30 00:02:36 +0000betelgeuse(~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-07-30 00:06:31 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2021-07-30 00:07:02 +0000 <Axman6> I've been working on translating a python project which makes heavy use of the new types stuff into Haskell, and once you understand what the translation is, it's been fairly mechanical. I should get back to that
2021-07-30 00:12:58 +0000bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-07-30 00:19:27 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-30 00:20:06 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-07-30 00:25:07 +0000epolanski(uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 00:26:04 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 00:27:39 +0000vicfred_(~vicfred@user/vicfred) (Quit: Leaving)
2021-07-30 00:31:15 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 276 seconds)
2021-07-30 00:31:46 +0000Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-30 00:37:14 +0000euouae(~euouae@user/euouae)
2021-07-30 00:44:38 +0000averell(~averell@user/averell)
2021-07-30 00:45:40 +0000haritz(~hrtz@user/haritz) (Ping timeout: 268 seconds)
2021-07-30 00:50:36 +0000alx741(~alx741@181.196.69.85) (Quit: alx741)
2021-07-30 00:51:15 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Remote host closed the connection)
2021-07-30 00:51:49 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4)
2021-07-30 00:56:20 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Ping timeout: 250 seconds)
2021-07-30 00:56:25 +0000mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-07-30 00:57:14 +0000ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-30 00:58:03 +0000ukari(~ukari@user/ukari)
2021-07-30 00:58:24 +0000haritz(~hrtz@62.3.70.206)
2021-07-30 00:58:25 +0000haritz(~hrtz@62.3.70.206) (Changing host)
2021-07-30 00:58:25 +0000haritz(~hrtz@user/haritz)
2021-07-30 01:01:04 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4)
2021-07-30 01:01:05 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Remote host closed the connection)
2021-07-30 01:01:38 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4)
2021-07-30 01:01:40 +0000doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-30 01:03:10 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 265 seconds)
2021-07-30 01:03:27 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-07-30 01:05:18 +0000 <lechner> Hi, is it possible to use Aeson's omitNothingFields in this example without a parameterized type? Thanks! https://hackage.haskell.org/package/aeson-1.5.6.0/docs/Data-Aeson.html#v:omitNothingFields
2021-07-30 01:05:42 +0000retroid_(~retro@5ec19a54.skybroadband.com)
2021-07-30 01:07:11 +0000 <Axman6> lechner: I'm not sure what you mean
2021-07-30 01:08:47 +0000 <lechner> i think i have an import problem: ‘toJSON’ is not a (visible) method of class ‘ToJSON’
2021-07-30 01:09:36 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 276 seconds)
2021-07-30 01:09:56 +0000 <Axman6> did you import Data.Aeson (ToJSON(..))?
2021-07-30 01:11:10 +0000shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-30 01:11:40 +0000xff0x(~xff0x@2001:1a81:52ef:f900:6be3:99e6:cbd0:482d) (Ping timeout: 272 seconds)
2021-07-30 01:12:48 +0000xff0x(~xff0x@2001:1a81:532e:4200:3fe0:364:9ae2:d4b0)
2021-07-30 01:14:26 +0000bontaq(~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-07-30 01:16:52 +0000roboguy__(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 01:17:42 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 01:18:48 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe)
2021-07-30 01:20:06 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:1557:b33d:ca8c:dfa4) (Ping timeout: 256 seconds)
2021-07-30 01:22:20 +0000vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-07-30 01:28:39 +0000roboguy__(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) ()
2021-07-30 01:29:03 +0000neurocyte3(~neurocyte@45.93.108.22)
2021-07-30 01:29:03 +0000neurocyte3(~neurocyte@45.93.108.22) (Changing host)
2021-07-30 01:29:03 +0000neurocyte3(~neurocyte@user/neurocyte)
2021-07-30 01:32:06 +0000 <lechner> Axman6: thanks! I forgot the brackets
2021-07-30 01:32:38 +0000neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2021-07-30 01:32:38 +0000neurocyte3neurocyte
2021-07-30 01:32:43 +0000 <lechner> also, is it possible to generate pretty, canonical JSON?
2021-07-30 01:35:23 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 01:36:51 +0000bruceleewees(~bruceleew@83.24.236.64.ipv4.supernova.orange.pl) (Ping timeout: 268 seconds)
2021-07-30 01:37:44 +0000bruceleewees(~bruceleew@83.24.236.64.ipv4.supernova.orange.pl)
2021-07-30 01:39:08 +0000 <c_wraith> um. what does "canonical" mean in this context?
2021-07-30 01:39:23 +0000Erutuon(~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
2021-07-30 01:39:23 +0000 <lechner> sorted by field name
2021-07-30 01:39:34 +0000 <c_wraith> I've never seen a spec say that's canonical
2021-07-30 01:40:09 +0000 <lechner> c_wraith: https://metacpan.org/pod/JSON#canonical
2021-07-30 01:40:41 +0000 <c_wraith> CPAN isn't a JSON spec
2021-07-30 01:41:05 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 01:41:26 +0000Erutuon(~Erutuon@user/erutuon)
2021-07-30 01:41:31 +0000 <lechner> is there another way? we commit some JSON to Git. maybe there is an external program
2021-07-30 01:42:14 +0000 <euouae> it's the same data, why does it matter?
2021-07-30 01:42:22 +0000 <euouae> If you want it sorted, then you can sort it
2021-07-30 01:42:35 +0000 <lechner> how?
2021-07-30 01:43:12 +0000 <euouae> https://hackage.haskell.org/package/aeson-1.5.6.0/docs/Data-Aeson.html#g:3
2021-07-30 01:43:24 +0000 <euouae> Apply a tree transformation
2021-07-30 01:44:08 +0000 <lechner> actually, there is https://hackage.haskell.org/package/canonical-json
2021-07-30 01:45:28 +0000 <lechner> although Decoding/encoding Unicode code-points beyond U+00ff is currently broken
2021-07-30 01:46:07 +0000phma(phma@2001:5b0:210d:748:6bd3:69b4:5bd0:5d7a)
2021-07-30 01:46:13 +0000 <euouae> https://hackage.haskell.org/package/canonical-json-0.6.0.0/docs/src/Text.JSON.Canonical.Parse.html…
2021-07-30 01:46:22 +0000 <euouae> You can see they're just using a tree transformation that sorts it
2021-07-30 01:47:37 +0000 <euouae> Looks like the canonical-json package should be avoided
2021-07-30 01:47:52 +0000 <lechner> yeah
2021-07-30 01:48:13 +0000 <euouae> just sort the tree yourself and rely on aeson for printing
2021-07-30 01:49:03 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-30 01:49:11 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 01:52:32 +0000 <euouae> What does forall s. mean? In a signature
2021-07-30 01:52:56 +0000 <euouae> For example, https://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Monad-ST-Safe.html#v:runST
2021-07-30 01:53:32 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-30 01:53:47 +0000 <EvanR> in that case it's how you use rankN types, in this case rank 2. The argument type is itself a polymorphic function type
2021-07-30 01:54:04 +0000 <c_wraith> It's a polymorphic value, not a function. :P
2021-07-30 01:54:14 +0000 <EvanR> shoot i was going by memory xD
2021-07-30 01:54:14 +0000 <lechner> euouae: how about pretty?
2021-07-30 01:54:46 +0000 <euouae> I'm not following
2021-07-30 01:54:52 +0000 <EvanR> yeah I'm lost now.
2021-07-30 01:55:00 +0000 <euouae> lechner: What about pretty?
2021-07-30 01:55:02 +0000 <c_wraith> euouae: it literally means "for all s". It's the consequences of that which get interesting.
2021-07-30 01:55:16 +0000 <lechner> euouae: sorry, pretty JSON
2021-07-30 01:55:21 +0000 <euouae> c_wraith: but 'a' means for any. So... ?
2021-07-30 01:55:33 +0000 <euouae> lechner: I don't know what that means, explain please?
2021-07-30 01:55:36 +0000 <c_wraith> euouae: the interesting thing there is that it's inside the parenthesis
2021-07-30 01:56:06 +0000 <euouae> c_wraith: so it's (for all s. ST s) a ?
2021-07-30 01:56:07 +0000 <EvanR> the letter itself doesn't matter, it's just a name
2021-07-30 01:56:09 +0000 <c_wraith> euouae: more explicitly, the type of runST is forall a. (forall s. ST s a) -> a
2021-07-30 01:56:55 +0000 <c_wraith> euouae: since it's in the parenthesis, the scope of the polymorphism is constrained. The argument to the function must be polymorphic over all s, no matter what choice is made for a
2021-07-30 01:56:55 +0000 <lechner> euouae: formatted for human consumption, for example https://metacpan.org/pod/JSON#pretty
2021-07-30 01:57:31 +0000 <euouae> c_wraith: Ok, thus it is 'private'. Kinda like being unable to have a general arrow a->b
2021-07-30 01:58:17 +0000 <c_wraith> euouae: in a sense. It means the choice of s is unknown to the caller, so they must provide a value that will work with any s
2021-07-30 02:00:21 +0000 <c_wraith> > let foo :: (forall n. Num n => n -> n) -> (Int, Double) ; foo f = (f 1, f 3.2) in foo (+1) -- a slightly more obvious use case
2021-07-30 02:00:23 +0000 <lambdabot> (2,4.2)
2021-07-30 02:00:29 +0000alx741(~alx741@181.196.69.85)
2021-07-30 02:01:15 +0000 <c_wraith> euouae: That's a simple example of requiring the function being passed in to work with any instance of Num, so that it can be used at two different types in the body
2021-07-30 02:01:40 +0000sh9(~sh9@softbank060116136158.bbtec.net)
2021-07-30 02:01:46 +0000 <euouae> nice
2021-07-30 02:01:50 +0000 <euouae> wait, is that valid Haskell?
2021-07-30 02:02:01 +0000 <c_wraith> it is if you add the RankNTypes extension
2021-07-30 02:02:48 +0000 <euouae> why is it called rank N types?
2021-07-30 02:03:14 +0000 <c_wraith> The rank of a type is (in rough terms) how nested the foralls in it are
2021-07-30 02:03:30 +0000paravida(~myChateau@user/paravida) (Ping timeout: 240 seconds)
2021-07-30 02:03:31 +0000 <c_wraith> Without that extension, all foralls are implicit and at the top level - rank 1
2021-07-30 02:03:45 +0000 <c_wraith> That extension allows you to nest them arbitrarily deep
2021-07-30 02:04:10 +0000 <euouae> using the forall word?
2021-07-30 02:04:18 +0000 <c_wraith> yeah
2021-07-30 02:04:38 +0000 <euouae> seems like there's different kinds of 'type N' types
2021-07-30 02:04:42 +0000 <euouae> sorry, rank N
2021-07-30 02:05:12 +0000alx741(~alx741@181.196.69.85) (Client Quit)
2021-07-30 02:05:47 +0000 <c_wraith> hmm. you can divide them up a bunch of different ways, but I don't think that's what you mean. Are you making a comparison to higher-kinded types?
2021-07-30 02:06:23 +0000laman(laman@2600:3c02::f03c:92ff:fe3e:c08d)
2021-07-30 02:06:46 +0000 <euouae> forall a -> (forall b -> (forall c -> d)) and a -> (forall b -> (forall c -> forall d)) ?
2021-07-30 02:06:52 +0000 <euouae> Are not these both rank 2?
2021-07-30 02:07:07 +0000 <euouae> Ugh, are these not both rank 2? I'm way too tired
2021-07-30 02:08:50 +0000 <c_wraith> you mean forall a. a -> (forall b. b -> (forall c. c -> d)), and such with the other?
2021-07-30 02:09:01 +0000 <euouae> yeah
2021-07-30 02:09:40 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-30 02:09:48 +0000 <euouae> ok well take a rank 2 type X and form a -> b -> X and a -> X -> b. Seems like both are still rank 2
2021-07-30 02:09:51 +0000 <c_wraith> Those are higher-rank, but not meaningfully so. They can be rewritten to not nest the foralls, with no loss of generality
2021-07-30 02:10:13 +0000 <c_wraith> It's on the argument side that it gets more interesting
2021-07-30 02:10:32 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2021-07-30 02:11:20 +0000 <euouae> lechner: There's https://hackage.haskell.org/package/aeson-pretty-0.8.8/docs/Data-Aeson-Encode-Pretty.html
2021-07-30 02:11:38 +0000 <euouae> There's also https://hackage.haskell.org/package/aeson-pretty
2021-07-30 02:12:43 +0000 <c_wraith> I honestly have trouble thinking of a practical rank-3 type. I know some people have managed them, but I've always been able to do what I want with rank-2
2021-07-30 02:13:08 +0000 <c_wraith> Probably means I don't want things that are hard enough in that direction :)
2021-07-30 02:13:10 +0000 <euouae> Hey I'm having trouble with the State stuff as it is :)
2021-07-30 02:13:51 +0000 <c_wraith> anyway, the way runST uses it is a little bit indirect. But the reason for it is to prevent leaking STRef values between uses of runST
2021-07-30 02:14:06 +0000 <euouae> why is that important?
2021-07-30 02:14:15 +0000 <c_wraith> When that leaking is prevented, it's possible to prove that the results of runST are deterministic
2021-07-30 02:14:35 +0000 <euouae> ah okay, nice
2021-07-30 02:14:45 +0000 <euouae> That is a good trick
2021-07-30 02:14:51 +0000 <c_wraith> Therefore no matter how much mutability you use inside, runST doesn't impose an IO restriction or anything
2021-07-30 02:15:02 +0000 <euouae> I would never come up with it
2021-07-30 02:15:32 +0000 <c_wraith> But once you know about it, you can find your own uses - you create things in certain contexts and want to prevent them from leaking to other contexts? the ST trick does the job!
2021-07-30 02:16:03 +0000 <euouae> So for example a type with private info that you don't want leaked
2021-07-30 02:16:22 +0000 <euouae> such as when you're logging your apps actions and you don't want to log user credentials
2021-07-30 02:16:59 +0000 <euouae> is that anywhere close to what it is? I'm trying to get a feel fo rit
2021-07-30 02:17:11 +0000 <c_wraith> You can do stuff like that, though you need to watch out for it making types more complex than pay for themselves
2021-07-30 02:17:53 +0000 <euouae> Ok in this context it would be some form of type correctness for security, it might be a worthwhile tradeoff
2021-07-30 02:18:44 +0000 <lechner> euouae: thanks!
2021-07-30 02:19:14 +0000 <euouae> You're welcome :)
2021-07-30 02:24:20 +0000pfurla_(~pfurla@52.15.195.173.client.static.strong-in52.as13926.net)
2021-07-30 02:24:37 +0000 <euouae> c_wraith: Thank you :)
2021-07-30 02:24:51 +0000 <c_wraith> you're welcome
2021-07-30 02:25:10 +0000 <euouae> I feel like my place in the Haskell world would be to write some FFI for C
2021-07-30 02:25:14 +0000 <euouae> or C++
2021-07-30 02:25:38 +0000 <euouae> It would be fun to translate and redesign some APIs
2021-07-30 02:26:25 +0000 <euouae> but maybe another day... too many things left hanging :)
2021-07-30 02:26:58 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-07-30 02:28:00 +0000finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-30 02:28:01 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (zinc.libera.chat (Nickname regained by services)))
2021-07-30 02:28:01 +0000finn_elijaFinnElija
2021-07-30 02:28:03 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-30 02:29:46 +0000ext0l(~vector@157-131-102-171.fiber.dynamic.sonic.net)
2021-07-30 02:31:13 +0000 <ext0l> i'm a nixos user trying to set up a new haskell project. what's the current best practice? haskell.nix, cabal2nix, or? i'd like something with relatively little extra verbosity.
2021-07-30 02:31:50 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-07-30 02:32:26 +0000neightchan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-30 02:33:20 +0000pfurla__(~pfurla@216.151.180.237)
2021-07-30 02:34:06 +0000 <ext0l> or just ignore all that and use the new-foo commands, i guess?
2021-07-30 02:34:49 +0000pfurla_(~pfurla@52.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 268 seconds)
2021-07-30 02:36:40 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-07-30 02:38:00 +0000 <dsal> "the current best practice" is fighting words. :)
2021-07-30 02:38:11 +0000 <dsal> I still use stack for most development + haskell.nix
2021-07-30 02:40:08 +0000 <ext0l> haha
2021-07-30 02:40:31 +0000matthias1(~igloo@4.15.245.90)
2021-07-30 02:40:36 +0000 <drakonis> itc: nix users
2021-07-30 02:41:04 +0000 <ext0l> haskell.nix seems nice; is it in common use? it seems to come up less than the other options i saw
2021-07-30 02:43:33 +0000 <dsal> I don't know how to judge common. I have several projects using it, so it's common among my projects.
2021-07-30 02:43:41 +0000hrnz(~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb)
2021-07-30 02:43:59 +0000 <ext0l> fair enough
2021-07-30 02:44:04 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 268 seconds)
2021-07-30 02:44:10 +0000hrnz(~ulli@irc.plumbing)
2021-07-30 02:44:20 +0000 <dsal> It gets updated once per day with all the latest things, so it's at least maintainedish.
2021-07-30 02:45:19 +0000 <dsal> I mostly do stack for the least effort for spinning up a project. 'stack new x' gives me my defaults with my test suite ready to go so I can just `stack test --file-watch` and get moving.
2021-07-30 02:45:53 +0000 <ext0l> yeah, that does seem really nice
2021-07-30 02:47:18 +0000shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-07-30 02:47:20 +0000 <dsal> Many folks make good arguments for why modern cabal itself is better, but I've still not successfully moved a project to plain cabal.
2021-07-30 02:47:22 +0000matthias1(~igloo@4.15.245.90) (Ping timeout: 256 seconds)
2021-07-30 02:49:26 +0000euouae(~euouae@user/euouae) (Quit: Client closed)
2021-07-30 02:50:30 +0000mrkajetanp(~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-07-30 02:50:49 +0000mrkajetanp(~mrkajetan@88.98.245.28)
2021-07-30 02:50:57 +0000 <lechner> being a beginner, i came here for the past half year and started with stack. a month ago someone said to use just cabal, and i never looked back. i am on debian bullseye
2021-07-30 02:55:29 +0000 <ext0l> i'm going to try stack --nix, and if that doesn't work well for me i'll go from there
2021-07-30 02:58:06 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 250 seconds)
2021-07-30 02:58:08 +0000td_(~td@94.134.91.37) (Ping timeout: 256 seconds)
2021-07-30 02:58:10 +0000 <dsal> I just have `nix:\n enable: true` in ~/.stack/config.yaml
2021-07-30 02:58:32 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-07-30 02:59:17 +0000funsafe(~funsafe@2601:1c1:4200:938f:32aa:eb39:2110:e2ea) (Ping timeout: 245 seconds)
2021-07-30 03:00:01 +0000td_(~td@94.134.91.212)
2021-07-30 03:00:18 +0000funsafe(~funsafe@c-71-59-221-7.hsd1.wa.comcast.net)
2021-07-30 03:01:05 +0000 <ext0l> yeah that
2021-07-30 03:03:45 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 03:03:56 +0000 <dsal> The one annoying thing is every stack.yaml needs `nix:\n packages: [ zlib ]`
2021-07-30 03:04:07 +0000 <ext0l> oh really? weird
2021-07-30 03:04:17 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 03:04:31 +0000 <dsal> It's hard to build anything that doesn't eventually use zlib, and it's not in the build shell.
2021-07-30 03:04:50 +0000 <ext0l> aaah
2021-07-30 03:05:00 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 03:05:12 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 03:06:30 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 03:07:03 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 03:11:15 +0000 <lechner> Hi, what's this, please? file descriptor 1024 out of range for select (0--1024). Recompile with -threaded to work around this. haskell
2021-07-30 03:11:51 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 03:12:03 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 03:13:23 +0000 <c_wraith> you opened a lot of files
2021-07-30 03:13:41 +0000 <c_wraith> honestly, that error message seems to say everything relevant
2021-07-30 03:13:51 +0000 <c_wraith> what part of it is unfamiliar?
2021-07-30 03:14:56 +0000acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
2021-07-30 03:15:13 +0000ext0l(~vector@157-131-102-171.fiber.dynamic.sonic.net) (Ping timeout: 258 seconds)
2021-07-30 03:17:42 +0000 <lechner> it's a socket-based worker that does not open or write any files https://dpaste.org/Rte0
2021-07-30 03:17:50 +0000acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
2021-07-30 03:17:52 +0000 <c_wraith> sockets still use file descriptors
2021-07-30 03:19:35 +0000 <c_wraith> select is a system call that waits for activity on any* number of file descriptors, then tells you which one had activity. *except there's a max it can wait for, and it seems to be 1024 on your system
2021-07-30 03:20:10 +0000 <c_wraith> if you compile with the -threaded option, ghc will link against a different runtime that doesn't use the select system call
2021-07-30 03:21:19 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-30 03:21:37 +0000 <lechner> i think the ZeroMQ sockets, which I am trying to close and reopen following a recommendation from upstream, are not getting closed even thoug i used their code example. i'll have to investigate. thanks!
2021-07-30 03:22:34 +0000 <dsal> lechner: One thing that's unrelated this problem that you may want to consider is that you pretty much don't ever want to call `error`
2021-07-30 03:23:37 +0000 <dsal> Oh. I don't think you are, you just name something error. That was confusing. :)
2021-07-30 03:23:47 +0000 <lechner> yeah
2021-07-30 03:23:57 +0000 <lechner> i was looking for the word
2021-07-30 03:24:07 +0000 <lechner> it's not a variable, is it?
2021-07-30 03:24:50 +0000 <dsal> :t error
2021-07-30 03:24:50 +0000 <lechner> it used to be 'e' but i write out most words
2021-07-30 03:24:51 +0000 <lambdabot> [Char] -> a
2021-07-30 03:24:57 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-30 03:25:10 +0000 <lechner> no i meant my use
2021-07-30 03:25:12 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 03:25:20 +0000berberman(~berberman@user/berberman) (Ping timeout: 256 seconds)
2021-07-30 03:25:23 +0000 <lechner> an 'immutable'?
2021-07-30 03:25:30 +0000 <dsal> Sure. You're just shadowing it.
2021-07-30 03:25:34 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-30 03:25:45 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 03:25:46 +0000 <lechner> because it's in Prelude?
2021-07-30 03:25:50 +0000Izem(~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca)
2021-07-30 03:25:54 +0000berberman(~berberman@user/berberman)
2021-07-30 03:26:27 +0000 <dsal> Yeah.
2021-07-30 03:27:22 +0000 <lechner> i'll try to avoid that. thanks for the hint. do not know so much yet
2021-07-30 03:27:26 +0000 <dsal> This code is a lot taller than I'm used to. Some of the wrapping is a bit weird as well. e.g., this is kind of confusing. https://usercontent.irccloud-cdn.com/file/pkcD1BAp/Screen%20Shot%202021-07-29%20at%2020.27.03.png
2021-07-30 03:27:54 +0000 <dsal> I don't see people putting long names on variables that much. `e` is fine. Not naming it is even better.
2021-07-30 03:28:17 +0000 <lechner> how?
2021-07-30 03:29:30 +0000 <lechner> the formatting is from brittany, which did something about the long lines
2021-07-30 03:30:07 +0000justsomeguy(~justsomeg@user/justsomeguy)
2021-07-30 03:30:07 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 245 seconds)
2021-07-30 03:30:25 +0000 <dsal> Something like this: https://www.irccloud.com/pastebin/HvYTa6jj/thing.hs
2021-07-30 03:30:42 +0000 <lechner> i think the underscores are weird. they come from the JSON
2021-07-30 03:30:52 +0000 <dsal> I've never seen anything formatted with that. It likes really tall code for some reason.
2021-07-30 03:31:22 +0000 <dsal> I missed some parens there, but something like that
2021-07-30 03:31:23 +0000 <dsal> :t either
2021-07-30 03:31:24 +0000 <lambdabot> (a -> c) -> (b -> c) -> Either a b -> c
2021-07-30 03:31:32 +0000 <lechner> i didn't think it was as bad as ormulo
2021-07-30 03:31:36 +0000ext0l(~vector@157-131-102-171.fiber.dynamic.sonic.net)
2021-07-30 03:32:15 +0000 <dsal> (also, you don't need `do` there -- I just left out the `ExitSuccess -> ` bit part.
2021-07-30 03:32:18 +0000 <dsal> )
2021-07-30 03:32:42 +0000 <lechner> yeah. well my code stinks a little. i have to brush someone's teeth. brb
2021-07-30 03:33:09 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 03:33:43 +0000 <dsal> It looks like you're establishing a connection in each iteration of the loop and then just like, keeping it open.
2021-07-30 03:34:38 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-30 03:35:32 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-07-30 03:35:38 +0000sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 3.0.1)
2021-07-30 03:35:49 +0000 <dsal> :t bracket -- lechner
2021-07-30 03:35:50 +0000 <lambdabot> IO a -> (a -> IO b) -> (a -> IO c) -> IO c
2021-07-30 03:36:03 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 03:37:53 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-30 03:38:19 +0000zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-30 03:38:24 +0000pfurla__(~pfurla@216.151.180.237) (Ping timeout: 250 seconds)
2021-07-30 03:40:04 +0000 <dsal> Actually, this API is super weird. You'd need to make your own `withConnection` thing possibly with `bracket` but their API is weird.
2021-07-30 03:40:22 +0000 <dsal> Normally you'd do something like `bracket (open something) close $ \conn -> do stuff with conn`
2021-07-30 03:40:38 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-30 03:41:51 +0000paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-07-30 03:45:56 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 03:49:07 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-30 03:50:38 +0000xff0x(~xff0x@2001:1a81:532e:4200:3fe0:364:9ae2:d4b0) (Ping timeout: 272 seconds)
2021-07-30 03:51:00 +0000 <dsal> I don't know zeromq all, but I'm going to guess each one of these `connect` calls is eating a file descriptor and you never free it. It's a good thing you ran out of file descriptors as it made it easier to catch this bug earlier.
2021-07-30 03:51:01 +0000xff0x(~xff0x@2001:1a81:532e:4200:e3f6:df0f:3d23:2506)
2021-07-30 03:51:51 +0000 <lechner> the ZeroMQ stuff is from here: https://zguide.zeromq.org/docs/chapter1/
2021-07-30 03:52:06 +0000 <lechner> hw client in haskell
2021-07-30 03:52:41 +0000 <lechner> although in all fairness i moved the 'connect' inside the loop
2021-07-30 03:53:34 +0000 <dsal> It claims to have a finalizer on the socket but like, that's not the right way to do that kind of thing.
2021-07-30 03:54:33 +0000 <lechner> in chapter 4 they recommend cosing and reopening. i am eventually trying to get to the Laz Pirate pattern (which they say does that) but i did not understand it in haskell https://zguide.zeromq.org/docs/chapter4/
2021-07-30 03:55:25 +0000 <lechner> there are several zmq libraries but i think the FFI bindings are pretty much preferred everywhere now
2021-07-30 03:56:08 +0000 <dsal> That code seems to be reopening on failure and just completely ignoring the previously opened connection hoping the finalizer will eventually figure it out.
2021-07-30 03:56:40 +0000 <lechner> yeah that's why i thought it was okay
2021-07-30 03:57:59 +0000 <dsal> You should generally close things you open. I don't know as much about how finalizers work in haskell, but bracketing is generally the right thing to do.
2021-07-30 03:58:26 +0000 <lechner> it's actually a great socket system, beating out AMQP in many places (like CERN), but the inventor died
2021-07-30 03:59:16 +0000 <lechner> i know even less about finalizers
2021-07-30 03:59:34 +0000 <dsal> I've never tried it. Most of the things I do that are anything like this are using MQTT.
2021-07-30 04:00:08 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-30 04:05:57 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 04:07:06 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-07-30 04:08:50 +0000slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-30 04:08:51 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-30 04:09:49 +0000 <dsal> This doc is pretty nice, though.
2021-07-30 04:11:15 +0000 <lechner> try it. sometimes you just need a better socket.
2021-07-30 04:12:27 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-30 04:13:14 +0000 <monochrom> Finalizers are run at GC time only.
2021-07-30 04:13:46 +0000 <monochrom> Unfortunately the threaded RTS is so nice to, when it detects idleness, run GC.
2021-07-30 04:14:17 +0000 <monochrom> This has encouraged very reckless habits of ignoring to close anything and then complaining that the unthreaded RTS leaks.
2021-07-30 04:14:29 +0000 <monochrom> s/ignoring/neglecting/
2021-07-30 04:15:34 +0000 <lechner> i think i saw some of those bug reports
2021-07-30 04:15:44 +0000 <monochrom> Humans take the path of least resistance. Programmers take it to the next level, path of least understanding.
2021-07-30 04:16:11 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-30 04:17:17 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 04:17:27 +0000 <lechner> dsal: ZeroMQ won this evaluation at CERN ten years ago http://ais-grid-2011.jinr.ru/docs/MW-in-Controls-DUBNA-Oct2011.pptx
2021-07-30 04:17:49 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 04:18:05 +0000 <dsal> monochrom: I assume it's bad practice to try to lean on the GC to clean up file descriptors.
2021-07-30 04:19:25 +0000 <dsal> lechner: I remember hearing about it a while back, but just never had a chance to use it. I don't have a pptx viewer handy.
2021-07-30 04:19:46 +0000 <lechner> dsal: http://zeromq.wdfiles.com/local--files/intro%3Aread-the-manual/Middleware%20Trends%20and%20Market%…
2021-07-30 04:21:26 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-07-30 04:23:04 +0000 <dsal> Looks neat. Work is all protobuf all the time. Home is mostly mqtt. I'm not sure where zmq fits in to anything. What are you using it for?
2021-07-30 04:23:41 +0000 <lechner> protobuf will go over it. that's a different layer isn't it?
2021-07-30 04:24:57 +0000 <lechner> i use it to produce the data for lintian.debian.org. some other parts of debian use rabbitmq but they will come around
2021-07-30 04:25:49 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 268 seconds)
2021-07-30 04:26:26 +0000 <lechner> do use protbuf with haskell?
2021-07-30 04:26:30 +0000 <lechner> you
2021-07-30 04:27:01 +0000 <Axman6> Facebook have released a tool for doing protobuf stuff with Haskell I believe, they uise it internally in Sigma
2021-07-30 04:27:15 +0000 <Axman6> hmm, maybe it wasn't protobuff..
2021-07-30 04:27:30 +0000 <Axman6> it was thrift
2021-07-30 04:29:24 +0000 <lechner> marlow works there?
2021-07-30 04:30:35 +0000Izem(~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) (Good Bye)
2021-07-30 04:30:41 +0000 <Axman6> yeah
2021-07-30 04:31:20 +0000 <Axman6> Facebook are probably the world's biggest user of GHC.s concurrency stuff, and he implemented most of it
2021-07-30 04:31:59 +0000 <lechner> i only saw a talk by a lady about some spam filtering some time ago
2021-07-30 04:34:19 +0000 <Axman6> If by "some spam filtering" you mean, all spam filtering at over 2m requests per second, then yes, that's Sigma
2021-07-30 04:35:24 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-30 04:35:56 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-30 04:36:32 +0000 <ext0l> what's the easiest way to play back some music files and allow seeking, play/pause, etc? a la a music player
2021-07-30 04:36:38 +0000 <ext0l> other than using mpd
2021-07-30 04:36:52 +0000jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 04:37:08 +0000 <Axman6> probably using some native gui widget, but then you need a gui
2021-07-30 04:37:22 +0000 <lechner> Axman6: i may have seen an early talk...
2021-07-30 04:37:29 +0000 <ext0l> i mean, to actually do the "shove audio to output" bits
2021-07-30 04:37:56 +0000 <sm> Axman6: wow. Could we have one of those for #haskell ?
2021-07-30 04:38:11 +0000 <Axman6> writeFile "/dev/audio" musicWav
2021-07-30 04:38:23 +0000 <Axman6> one of what?
2021-07-30 04:38:32 +0000 <lechner> spam filters
2021-07-30 04:38:35 +0000 <Axman6> (probably musicPCM)
2021-07-30 04:38:48 +0000 <Axman6> we could... but we don't actually get much spam here.
2021-07-30 04:40:11 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-30 04:42:07 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 04:43:36 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 04:45:57 +0000jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-30 04:47:45 +0000 <ext0l> hm, doesn't look look like there's a lot of decoder support. so i'd wind up having to just make ffi bindings myself
2021-07-30 04:48:01 +0000pgib(~textual@173.38.117.81) (Ping timeout: 268 seconds)
2021-07-30 04:49:17 +0000 <sm> still. No harm being overpowered
2021-07-30 04:50:58 +0000 <sm> spammers beware! We will ban your ass 2m times/s!
2021-07-30 04:51:36 +0000mthvedt(uid501949@id-501949.stonehaven.irccloud.com)
2021-07-30 04:51:39 +0000 <lechner> dsal: this 'either' does not work here, even with some extra brackets https://www.irccloud.com/pastebin/HvYTa6jj/thing.hs
2021-07-30 04:52:25 +0000 <lechner> shouldn't the branches be partially applied functions?
2021-07-30 04:53:02 +0000 <dsal> Yeah, a function that receives left and then one that receives right.
2021-07-30 04:53:17 +0000 <dsal> That was a rough sketch. I didn't try actually building anything.
2021-07-30 04:54:05 +0000 <lechner> i like the idea. should i try 'reverse' to change tha argument order?
2021-07-30 04:55:06 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 04:55:07 +0000 <dsal> You mean flip?
2021-07-30 04:55:37 +0000 <sm> lechner: you can't use $ in a partially applied function, liftIO . printf .... would be better
2021-07-30 04:55:38 +0000 <dsal> You can always start with a lambda then decide whether something could be simplified if you don't e it.
2021-07-30 04:56:06 +0000pe200012_(~pe200012@183.236.83.77)
2021-07-30 04:56:10 +0000 <sm> also, I don't think you can partially apply printf at all, it's speical
2021-07-30 04:57:31 +0000 <sm> (I have often wanted to, but the types defeat me)
2021-07-30 05:00:59 +0000 <lechner> dsal: yes the lambda! i am getting it, slowly
2021-07-30 05:01:22 +0000 <dsal> I'm trying to remember how to TH. heh.
2021-07-30 05:01:25 +0000cjb(~cjb@user/cjb) (Read error: Connection reset by peer)
2021-07-30 05:02:10 +0000 <lechner> sm: thanks! folks here are helping me get off of printf. it's hard to say bye to an old friend
2021-07-30 05:03:56 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 256 seconds)
2021-07-30 05:04:56 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 05:06:20 +0000Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-30 05:06:47 +0000 <dsal> I've never used printf in haskell.
2021-07-30 05:09:31 +0000 <Axman6> printf is only acceptable if it's a type safe version of it. If you're not writing printf @"format %s string %d" you're doing it wrong
2021-07-30 05:10:55 +0000ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-30 05:12:02 +0000ukari(~ukari@user/ukari)
2021-07-30 05:15:15 +0000 <ext0l> i haven't written haskell in ages. are lenses the recommended approach to avoid record field name collisions?
2021-07-30 05:15:25 +0000matthias1(~igloo@4.15.245.90)
2021-07-30 05:15:53 +0000 <Axman6> We have an extension which allows overlapping field names, but lenses are also pretty useful
2021-07-30 05:16:42 +0000matthias1(~igloo@4.15.245.90) (Remote host closed the connection)
2021-07-30 05:16:51 +0000 <ext0l> aha
2021-07-30 05:17:06 +0000 <ext0l> yeah i remember lenses also being useful for updates and the like
2021-07-30 05:18:34 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 05:18:41 +0000 <Axman6> I'm not sure that the overloaded field name problem is a completely solved issue, but things are improving. I'm not sure what the state of the art is at the moment
2021-07-30 05:19:14 +0000falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-07-30 05:19:28 +0000jneira(~jneira@212.8.115.226)
2021-07-30 05:25:56 +0000 <ext0l> nod nod
2021-07-30 05:26:09 +0000 <ext0l> i'm glad this language/the community is still around
2021-07-30 05:27:12 +0000MQ-17J(~MQ-17J@8.6.144.192)
2021-07-30 05:27:21 +0000 <c_wraith> records are *almost* solved now. GHC 9.2 will have the last piece. I'm a bit surprised it hasn't been released yet
2021-07-30 05:27:33 +0000 <Axman6> what's coming in 9.2?
2021-07-30 05:27:40 +0000 <c_wraith> -XNoFieldSelectors
2021-07-30 05:27:55 +0000 <Axman6> Haven't heard of that one
2021-07-30 05:28:12 +0000 <c_wraith> It means records don't create top-level accessor functions
2021-07-30 05:28:20 +0000 <ext0l> https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0282-record-dot-syntax.rst
2021-07-30 05:28:21 +0000 <c_wraith> so there's no global namespace pollution
2021-07-30 05:28:23 +0000 <ext0l> also this
2021-07-30 05:28:36 +0000 <Axman6> ah nice, so you can set fieldzs by name, but you don't get the accessor functions?
2021-07-30 05:28:42 +0000 <c_wraith> yes
2021-07-30 05:28:51 +0000 <Axman6> Yeah we use record dot syntax all the time in DAML, it's pretty nice
2021-07-30 05:28:54 +0000 <c_wraith> record dot syntax is solving the problem of "making things comfortable for OO programmers", not the problem of "making records good"
2021-07-30 05:30:46 +0000 <c_wraith> https://www.reddit.com/r/haskell/comments/mhzf9l/announce_ghc_921alpha1_now_available/gt3lexp/ the current state of the art in pleasant records
2021-07-30 05:30:52 +0000 <justsomeguy> Here is a link I found to a pretty exhaustive list of different approaches... https://gitlab.haskell.org/ghc/ghc/-/wikis/records
2021-07-30 05:31:54 +0000justsomeguyis only a noob, so he doesn't know which of these makes sense, and just generally tries to avoid records (and also tuples, because they are weird).
2021-07-30 05:33:03 +0000qbt(~edun@user/edun)
2021-07-30 05:37:27 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 05:40:23 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Remote host closed the connection)
2021-07-30 05:40:45 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 05:42:06 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 272 seconds)
2021-07-30 05:42:35 +0000trent(~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
2021-07-30 05:43:24 +0000 <dsal> How do you write useful code without records or tuples?
2021-07-30 05:43:51 +0000 <siraben> Map String a /s
2021-07-30 05:44:13 +0000 <siraben> hm not polymorphic enough
2021-07-30 05:45:17 +0000 <dsal> Can I generate lenses with NoFieldSelectors? That sounds kind of nice.
2021-07-30 05:45:28 +0000 <Axman6> everything is just tuples and Either anyway
2021-07-30 05:45:52 +0000 <siraben> polynomial functors
2021-07-30 05:45:54 +0000 <Axman6> dsal: I would be surprised if you couldn't, since they work of the Generic representation
2021-07-30 05:46:31 +0000anandprabhu(~anandprab@45.83.220.206)
2021-07-30 05:47:12 +0000michalz(~michalz@185.246.204.61)
2021-07-30 05:47:35 +0000 <dsal> That's pretty cool. Now I just need the feature to automatically export all my lenses
2021-07-30 05:47:40 +0000 <sm> lechner, I use it all the time, for the readability. Just can't partially apply it
2021-07-30 05:50:24 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 05:51:24 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-30 05:51:30 +0000chris_(~chris@81.96.113.213)
2021-07-30 05:51:50 +0000anandprabhu(~anandprab@45.83.220.206) (Quit: Leaving)
2021-07-30 05:54:20 +0000 <ext0l> hmm. if i'm using gstreamer bindings, am i guaranteed that the gc will run often enough that i can rely on finalizers actually running?
2021-07-30 05:57:01 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-30 05:58:38 +0000 <Axman6> "gc ... guarantee" no
2021-07-30 05:59:16 +0000 <ext0l> haha
2021-07-30 06:02:25 +0000 <davean> sm: To aprtially apply printf you need to give a type signature a lot of the time.
2021-07-30 06:02:42 +0000 <davean> At least of the partially applied result
2021-07-30 06:20:47 +0000Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-07-30 06:21:08 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2021-07-30 06:21:59 +0000Lord_of_Life_Lord_of_Life
2021-07-30 06:24:32 +0000Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-30 06:25:55 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 06:32:51 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-30 06:36:33 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 06:39:43 +0000neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-30 06:42:35 +0000sergio812(~sergio812@lfbn-ren-1-403-102.w2-10.abo.wanadoo.fr)
2021-07-30 06:48:40 +0000wei2912(~wei2912@112.199.250.21)
2021-07-30 06:49:13 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:f0d1:c4fb:1626:e1c7)
2021-07-30 06:49:33 +0000 <sm> davean, for sure - I couldn't find the right one in the past, but sounds like you did - good to know
2021-07-30 06:50:45 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 06:51:01 +0000 <sergio812> Hi,While using
2021-07-30 06:51:06 +0000 <sergio812> Hi,
2021-07-30 06:51:22 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 06:52:14 +0000 <sergio812> While using QuickCheck, I happen to need some generator (like https://stackoverflow.com/questions/39291494/only-generate-positive-integers-with-quickcheck), but then shrinking is not applied anymore. What is the workaround?
2021-07-30 06:52:30 +0000ext0l(~vector@157-131-102-171.fiber.dynamic.sonic.net) (Quit: WeeChat 3.1)
2021-07-30 06:53:36 +0000 <sergio812> i.e. with a property "prop_gt_3" that checks that all elements in a list are greater than 3, "quickCheck prop_gt_3" gives the minimal counterexample "[0]"
2021-07-30 06:54:21 +0000 <sergio812> whereas "quickCheck $ forAll genListOfPos $ prop_gt_3" can give me a (relatively) big couterexample, like "[2,2]"
2021-07-30 06:55:34 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 256 seconds)
2021-07-30 06:55:34 +0000 <sergio812> For the record, generator definitions are "genListOfPos = listOf genPos" and "genPos = (arbitrary :: Gen Int) `suchThat` (> 0)" (see the stackoverflow page for type signatures)
2021-07-30 06:57:08 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds)
2021-07-30 06:58:26 +0000bitmapper(uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 06:59:45 +0000trent(~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Quit: WeeChat 3.1)
2021-07-30 07:00:31 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 07:00:39 +0000 <sergio812> [BTW, on the stackoverflow, "genPos" is a spurious "abs `fmap`" at the start of its definition.]
2021-07-30 07:02:43 +0000 <tomsmeding> sergio812: if you specifically need positive integers, have you tried using Positive? https://hackage.haskell.org/package/QuickCheck-2.14/docs/Test-QuickCheck.html#t:Positive
2021-07-30 07:02:47 +0000shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-07-30 07:03:01 +0000 <tomsmeding> (or NonNegative)
2021-07-30 07:03:52 +0000chele(~chele@user/chele)
2021-07-30 07:04:15 +0000 <tomsmeding> sergio812: the 'fmap abs' is I think taken from the quickcheck implementation of Arbitrary for Positive, which has the crucial difference of being generic over any type that is Ord, Num and Arbitrary
2021-07-30 07:04:44 +0000 <tomsmeding> then 'abs' is not necessarily guaranteed to produce something that is '> 0', so they do an extra check just to be sure (which makes no difference for Int)
2021-07-30 07:05:27 +0000mattil(~mattilinn@87-92-232-85.rev.dnainternet.fi)
2021-07-30 07:05:43 +0000mattil(~mattilinn@87-92-232-85.rev.dnainternet.fi) (Remote host closed the connection)
2021-07-30 07:06:05 +0000mattil(~mattilinn@87-92-232-85.rev.dnainternet.fi)
2021-07-30 07:06:30 +0000gehmehgeh(~user@user/gehmehgeh)
2021-07-30 07:07:09 +0000 <sergio812> tomsmeding: I know "Positive", but I deliberately shied away from it,since generators like "genPos" may produce much funkier data not covered by QuickCheck.
2021-07-30 07:07:40 +0000hueso(~root@user/hueso) (Quit: No Ping reply in 210 seconds.)
2021-07-30 07:07:41 +0000 <tomsmeding> you mean that you actually want a condition more complicated than just '> 0' ?
2021-07-30 07:07:54 +0000 <sergio812> in the generator, yes
2021-07-30 07:08:16 +0000 <tomsmeding> consider looking at the implementation of Arbitrary for Positive, perhaps: https://hackage.haskell.org/package/QuickCheck-2.14/docs/src/Test.QuickCheck.Modifiers.html#line-266
2021-07-30 07:08:35 +0000 <tomsmeding> they specially implement 'shrink' using shrink on the original value pre-filtering, then mapping abs afterwards
2021-07-30 07:08:50 +0000 <tomsmeding> s/mapping abs/filtering on >0/
2021-07-30 07:09:04 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 07:09:37 +0000 <tomsmeding> shrink has a default implementation of \_ -> [], so if you want to get shrinking for your custom data type, you'll have to implement 'shrink' somehow
2021-07-30 07:09:58 +0000hueso(~root@user/hueso)
2021-07-30 07:09:58 +0000 <sergio812> Ah, many thanks!
2021-07-30 07:11:05 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-30 07:11:23 +0000 <tomsmeding> sergio812: I believe 'hedgehog' (a quickcheck alternative) has a different approach (based on explicit generator objects instead of typeclass instances) that automatically determine shrinking paths from the combinators that you use
2021-07-30 07:12:16 +0000 <sergio812> tomsmeding: BTW, I didn't quite get your explanation of 'fmap abs' being useful for other types than mere Int. Do you have an example of type which would need 'abs'?
2021-07-30 07:14:57 +0000epolanski(uid312403@id-312403.brockwell.irccloud.com)
2021-07-30 07:15:01 +0000 <tomsmeding> sergio812: no type would _need_ abs, but it might provide a performance improvement
2021-07-30 07:15:21 +0000 <tomsmeding> just filtering on '> 0' will reject half of the samples, on average, while first applying 'abs' will accept roughly all samples
2021-07-30 07:15:39 +0000 <tomsmeding> and just applying 'abs' is not enough, since you might generate 0 :0
2021-07-30 07:15:41 +0000 <tomsmeding> * :)
2021-07-30 07:16:06 +0000 <tomsmeding> my remark earlier was wrong
2021-07-30 07:16:08 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 07:16:36 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-07-30 07:16:50 +0000 <tomsmeding> (this applies for Int as well)
2021-07-30 07:17:56 +0000 <sergio812> Got it, thanks!
2021-07-30 07:19:35 +0000 <sergio812> I got the execution order wrong...
2021-07-30 07:21:21 +0000acidjnk_new(~acidjnk@p200300d0c72b9507354aa6404eb54f37.dip0.t-ipconnect.de)
2021-07-30 07:22:30 +0000 <tomsmeding> sergio812: yeah those inline function applications are confusing without parentheses
2021-07-30 07:22:41 +0000 <tomsmeding> quickcheck's own definition is more readable :p https://hackage.haskell.org/package/QuickCheck-2.14.2/docs/src/Test.QuickCheck.Modifiers.html#line…
2021-07-30 07:23:21 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-30 07:26:48 +0000jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-07-30 07:28:13 +0000cfricke(~cfricke@user/cfricke)
2021-07-30 07:28:22 +0000peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-07-30 07:29:52 +0000mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-07-30 07:30:24 +0000EvanR(~evan@user/evanr) (Ping timeout: 252 seconds)
2021-07-30 07:32:52 +0000jamestmartin(~james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-07-30 07:32:53 +0000arkeet(~arkeet@moriya.ca) (Remote host closed the connection)
2021-07-30 07:33:01 +0000jamestmartin(james@jtmar.me)
2021-07-30 07:33:07 +0000arkeet(arkeet@moriya.ca)
2021-07-30 07:34:01 +0000 <sergio812> tomsmeding: YMMV, I would have preferred yet an extra pair of parentheses, i.e. "fmap Positive ((fmap abs arbitrary) `suchThat` (> 0))" instead of "fmap Positive (fmap abs arbitrary `suchThat` (> 0))", that is if I understood correctly
2021-07-30 07:34:44 +0000radw(~radw@user/radw) (Ping timeout: 258 seconds)
2021-07-30 07:35:44 +0000 <tomsmeding> sergio812: I guess. I know that record syntax (r { key = value }) goes before normal function application (f a b) which goes before all infix operators (a + b, or x `div` y), so I don't find quickcheck's version confusing
2021-07-30 07:36:21 +0000 <tomsmeding> if you have (a `f` b `g` c), however, then someone may have explicitly messed with the precedences of f and g using infix* statements, which may shift the meaning :p
2021-07-30 07:36:37 +0000 <tomsmeding> from the default left-associative binding
2021-07-30 07:36:57 +0000radw(~radw@user/radw)
2021-07-30 07:37:43 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 07:42:24 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-30 07:43:18 +0000fendor(~fendor@178.165.162.84.wireless.dyn.drei.com)
2021-07-30 07:45:10 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 07:45:57 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-30 07:46:25 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 07:49:39 +0000vysn(~vysn@user/vysn)
2021-07-30 07:51:06 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-07-30 07:51:21 +0000zeenk(~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38)
2021-07-30 07:54:34 +0000neurocyte(~neurocyte@user/neurocyte) (The Lounge - https://thelounge.chat)
2021-07-30 07:56:23 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 07:57:41 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-07-30 07:58:33 +0000anandprabhu(~anandprab@185.65.135.253)
2021-07-30 07:59:34 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 07:59:58 +0000Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-30 08:00:15 +0000jakalx(~jakalx@base.jakalx.net)
2021-07-30 08:00:16 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-30 08:04:09 +0000bens(~bens@www.typius.com) (Ping timeout: 265 seconds)
2021-07-30 08:06:00 +0000hendursa1(~weechat@user/hendursaga)
2021-07-30 08:09:06 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-30 08:10:15 +0000betelgeuse(~john2gb@94-225-47-8.access.telenet.be)
2021-07-30 08:14:16 +0000sergio81242(~sergio812@141.143.193.76)
2021-07-30 08:14:19 +0000sergio81242(~sergio812@141.143.193.76) (Client Quit)
2021-07-30 08:14:38 +0000kuribas(~user@ptr-25vy0i948b7pircazuk.18120a2.ip6.access.telenet.be)
2021-07-30 08:15:28 +0000xff0x(~xff0x@2001:1a81:532e:4200:e3f6:df0f:3d23:2506) (Ping timeout: 256 seconds)
2021-07-30 08:15:43 +0000deejayteeGuest578
2021-07-30 08:15:43 +0000Guest578(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Killed (silver.libera.chat (Nickname regained by services)))
2021-07-30 08:15:47 +0000deejaytee(~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk)
2021-07-30 08:16:52 +0000rain3(~rain3___@79.115.250.43)
2021-07-30 08:17:13 +0000rain3(~rain3___@79.115.250.43) (Leaving)
2021-07-30 08:17:46 +0000sergio812(~sergio812@lfbn-ren-1-403-102.w2-10.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2021-07-30 08:17:48 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-30 08:17:48 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-30 08:17:51 +0000allbery_bgeekosaur
2021-07-30 08:17:51 +0000pesada(~agua@191.177.175.57)
2021-07-30 08:18:32 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds)
2021-07-30 08:22:00 +0000agua(~agua@2804:18:4f:b157:1:0:6976:119) (Ping timeout: 268 seconds)
2021-07-30 08:22:05 +0000koz(~koz@121.99.240.58) (Remote host closed the connection)
2021-07-30 08:22:45 +0000aegon(~mike@174.127.249.180) (Quit: leaving)
2021-07-30 08:23:44 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-30 08:24:42 +0000_xor(~xor@74.215.232.67) (Ping timeout: 240 seconds)
2021-07-30 08:25:40 +0000_xor(~xor@74.215.232.67)
2021-07-30 08:26:42 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-30 08:27:42 +0000anandprabhu(~anandprab@185.65.135.253) (Quit: Leaving)
2021-07-30 08:28:22 +0000koz(~koz@121.99.240.58)
2021-07-30 08:32:06 +0000kuribas(~user@ptr-25vy0i948b7pircazuk.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-07-30 08:32:58 +0000hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 08:33:44 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-30 08:33:57 +0000kuribas(~user@ptr-25vy0i948b7pircazuk.18120a2.ip6.access.telenet.be)
2021-07-30 08:37:51 +0000silverwhitefish(~hidden@47.202.102.10) (Remote host closed the connection)
2021-07-30 08:38:02 +0000[exa](exa@user/exa/x-3587197) (Ping timeout: 245 seconds)
2021-07-30 08:38:21 +0000silverwhitefish(~hidden@47.202.102.10)
2021-07-30 08:38:36 +0000caubert(~caubert@136.244.111.235) (Ping timeout: 252 seconds)
2021-07-30 08:38:49 +0000[exa](exa@srv3.blesmrt.net)
2021-07-30 08:39:36 +0000caubert(~caubert@136.244.111.235)
2021-07-30 08:42:17 +0000oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-07-30 08:42:18 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-30 08:42:31 +0000jumper149(~jumper149@80.240.31.34)
2021-07-30 08:42:36 +0000agua(~agua@2804:18:4f:b157:1:0:6976:119)
2021-07-30 08:42:53 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-30 08:42:59 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-30 08:44:14 +0000oxide(~lambda@user/oxide)
2021-07-30 08:44:49 +0000pesada(~agua@191.177.175.57) (Ping timeout: 268 seconds)
2021-07-30 08:47:11 +0000MQ-17J(~MQ-17J@8.6.144.192) (Ping timeout: 258 seconds)
2021-07-30 08:47:16 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 08:50:46 +0000econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-07-30 08:53:22 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-30 08:56:14 +0000xff0x(~xff0x@2001:1a81:532e:4200:e3f6:df0f:3d23:2506)
2021-07-30 08:56:22 +0000gensyst(gensyst@user/gensyst)
2021-07-30 09:04:50 +0000jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 252 seconds)
2021-07-30 09:10:12 +0000__monty__(~toonn@user/toonn)
2021-07-30 09:12:59 +0000mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-07-30 09:15:03 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-07-30 09:16:15 +0000michalz(~michalz@185.246.204.61) (Remote host closed the connection)
2021-07-30 09:16:36 +0000bontaq(~user@ool-18e47f8d.dyn.optonline.net)
2021-07-30 09:18:42 +0000mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Ping timeout: 272 seconds)
2021-07-30 09:20:41 +0000xff0x(~xff0x@2001:1a81:532e:4200:e3f6:df0f:3d23:2506) (Ping timeout: 252 seconds)
2021-07-30 09:21:25 +0000xff0x(~xff0x@2001:1a81:532e:4200:7940:4f25:14fa:5c3e)
2021-07-30 09:22:01 +0000pesada(~agua@2804:14c:8793:8e2f:4825:de59:6a63:adc7)
2021-07-30 09:26:12 +0000agua(~agua@2804:18:4f:b157:1:0:6976:119) (Ping timeout: 276 seconds)
2021-07-30 09:32:49 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-30 09:33:32 +0000Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 268 seconds)
2021-07-30 09:34:10 +0000oxide(~lambda@user/oxide) (Ping timeout: 240 seconds)
2021-07-30 09:34:19 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 09:38:56 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-30 09:39:55 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 09:42:05 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Read error: No route to host)
2021-07-30 09:43:33 +0000eggplant_(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 09:44:41 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-30 09:45:36 +0000michalz(~michalz@185.246.204.40)
2021-07-30 09:46:10 +0000 <dexterfoo> Data.Vector has 'Foldable' instance. But Data.Vector.Unboxed does not. why?
2021-07-30 09:47:07 +0000 <dminuoso> % :t fold
2021-07-30 09:47:07 +0000 <yahb> dminuoso: (Foldable t, Monoid m) => t m -> m
2021-07-30 09:47:12 +0000 <dminuoso> % :t foldr
2021-07-30 09:47:12 +0000 <yahb> dminuoso: Foldable t => (a -> b -> b) -> b -> t a -> b
2021-07-30 09:47:19 +0000 <dminuoso> dexterfoo: This is too liberabl on a.
2021-07-30 09:48:03 +0000 <dminuoso> It's the same reason why we cant have Functor on Set
2021-07-30 09:48:04 +0000eggplant_(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-07-30 09:48:43 +0000 <tomsmeding> how exactly would foldr on vector be different (semantically) from \f x v -> foldr f x (toList v)
2021-07-30 09:49:17 +0000 <tomsmeding> Unboxed.Vector can't be Functor for the reason you mention, but it could be Foldable, right?
2021-07-30 09:49:18 +0000 <dminuoso> You can have MonoFoldable for it though.
2021-07-30 09:50:09 +0000 <dminuoso> tomsmeding: No.
2021-07-30 09:50:15 +0000 <dminuoso> foldr has to work for *all* a.
2021-07-30 09:50:23 +0000MoC(~moc@user/moc)
2021-07-30 09:50:26 +0000 <tomsmeding> given that you have a 't a', yes
2021-07-30 09:50:48 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-30 09:50:49 +0000 <tomsmeding> oh right, the point is that an unboxed vector doesn't carry its Unbox dict with it?
2021-07-30 09:51:03 +0000 <dminuoso> Not even that, it's that foldr is too general
2021-07-30 09:51:47 +0000 <tomsmeding> well if I would define: data V a where V :: Unbox a => Unboxed.Vector a -> V a
2021-07-30 09:51:50 +0000 <dminuoso> An `instance Foldable UnboxedVector` would need to impose an additional constraint on `a`, namely that its Unbox, such that you can actually make use of it.
2021-07-30 09:51:57 +0000 <dminuoso> Oh well
2021-07-30 09:51:59 +0000 <dminuoso> Yes you are right
2021-07-30 09:52:11 +0000 <tomsmeding> I see
2021-07-30 09:52:16 +0000 <dminuoso> If the dictionary was embedded and accessible, it seems possible
2021-07-30 09:53:06 +0000 <tomsmeding> not saying that an unboxed vector should carry its Unbox dict with it -- not at all, just trying to understand :)
2021-07-30 09:53:14 +0000 <tomsmeding> dexterfoo: ^
2021-07-30 09:53:24 +0000 <dminuoso> Sure.
2021-07-30 09:54:16 +0000 <dminuoso> Though I think its hard to say what seems possible and what that would even mean, without an exact specification.
2021-07-30 09:54:32 +0000 <dminuoso> So Ill stick to: Not possible
2021-07-30 09:54:42 +0000 <dminuoso> MonoFoldable however can possibly get half the way
2021-07-30 09:55:07 +0000 <dminuoso> Depending on your needs that is
2021-07-30 09:55:43 +0000dhil(~dhil@195.213.192.47)
2021-07-30 09:57:41 +0000 <tomsmeding> This compiles:
2021-07-30 09:57:42 +0000 <tomsmeding> import qualified Data.Vector.Unboxed as U
2021-07-30 09:57:42 +0000 <tomsmeding> data FatUVector a where FatUVector :: U.Unbox a => U.Vector a -> FatUVector a
2021-07-30 09:57:42 +0000 <tomsmeding> instance Foldable FatUVector where foldr f x (FatUVector v) = U.foldr f x v
2021-07-30 09:58:05 +0000 <nshepperd> you can totally have Foldable on a wrapper that carries the Unbox dict
2021-07-30 09:59:03 +0000 <nshepperd> still can't have functor though ofc
2021-07-30 09:59:46 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 10:00:41 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 10:00:42 +0000Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-07-30 10:03:24 +0000oxide(~lambda@user/oxide)
2021-07-30 10:06:26 +0000mthvedt(uid501949@id-501949.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 10:09:06 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 276 seconds)
2021-07-30 10:10:47 +0000OscarH(~OscarH@97e0e7ba.skybroadband.com) (Ping timeout: 265 seconds)
2021-07-30 10:11:00 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-30 10:12:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 10:13:20 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 10:15:46 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 240 seconds)
2021-07-30 10:15:52 +0000pe200012_(~pe200012@183.236.83.77) (Remote host closed the connection)
2021-07-30 10:16:19 +0000pe200012_(~pe200012@113.105.10.33)
2021-07-30 10:16:31 +0000pe200012_pe200012
2021-07-30 10:19:45 +0000azeem(~azeem@176.200.236.58)
2021-07-30 10:23:33 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer)
2021-07-30 10:23:34 +0000jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-07-30 10:25:28 +0000euandreh(~euandreh@2804:14c:33:9fe5:9526:d20a:c7ef:dc9b) (Quit: WeeChat 3.2)
2021-07-30 10:26:00 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 10:28:42 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-30 10:35:03 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 10:35:40 +0000bens(~bens@www.typius.com)
2021-07-30 10:37:00 +0000jespada(~jespada@90.254.247.46) (Ping timeout: 250 seconds)
2021-07-30 10:39:24 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-07-30 10:39:31 +0000jespada(~jespada@90.254.247.46)
2021-07-30 10:41:34 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 10:44:50 +0000hueso(~root@user/hueso) (Ping timeout: 252 seconds)
2021-07-30 10:48:00 +0000acidjnk_new(~acidjnk@p200300d0c72b9507354aa6404eb54f37.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-07-30 10:48:44 +0000hueso(~root@user/hueso)
2021-07-30 10:54:50 +0000michalz(~michalz@185.246.204.40) (Ping timeout: 252 seconds)
2021-07-30 10:55:54 +0000fef(~thedawn@user/thedawn)
2021-07-30 10:56:43 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-30 10:57:05 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 10:58:21 +0000hexfive(~eric@50.35.83.177)
2021-07-30 11:00:12 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-30 11:00:28 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 11:04:19 +0000mattil(~mattilinn@87-92-232-85.rev.dnainternet.fi) (Quit: Leaving)
2021-07-30 11:05:57 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-07-30 11:09:22 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 11:13:03 +0000jakalx(~jakalx@base.jakalx.net) ()
2021-07-30 11:13:58 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-07-30 11:15:32 +0000mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-07-30 11:16:31 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 265 seconds)
2021-07-30 11:19:28 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 11:21:30 +0000azeem(~azeem@176.200.236.58) (Ping timeout: 240 seconds)
2021-07-30 11:22:19 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-30 11:22:45 +0000azeem(~azeem@176.200.236.58)
2021-07-30 11:23:59 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-07-30 11:28:42 +0000Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-30 11:29:19 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 11:29:28 +0000jakalx(~jakalx@base.jakalx.net)
2021-07-30 11:29:59 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 11:31:03 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 11:33:12 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 11:34:10 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds)
2021-07-30 11:35:47 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 11:37:22 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 11:37:53 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 11:38:57 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 11:41:24 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-07-30 11:43:10 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-30 11:43:10 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-30 11:43:13 +0000allbery_bgeekosaur
2021-07-30 11:43:58 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 11:44:10 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-07-30 11:45:32 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-30 11:47:37 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 11:48:28 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-30 11:48:32 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-07-30 11:50:02 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2021-07-30 11:50:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 11:50:25 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-07-30 11:50:55 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 11:51:34 +0000jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2021-07-30 11:52:16 +0000gensyst(gensyst@user/gensyst) (Quit: Leaving)
2021-07-30 11:53:29 +0000jonathanx_(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 258 seconds)
2021-07-30 11:58:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 11:58:23 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 12:00:12 +0000azeem(~azeem@176.200.236.58) (Ping timeout: 272 seconds)
2021-07-30 12:03:30 +0000azeem(~azeem@176.200.236.58)
2021-07-30 12:04:23 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 12:05:00 +0000qbt(~edun@user/edun) (Quit: WeeChat 3.2)
2021-07-30 12:08:18 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-07-30 12:08:41 +0000hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-07-30 12:08:54 +0000Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-30 12:10:39 +0000azeem(~azeem@176.200.236.58) (Ping timeout: 265 seconds)
2021-07-30 12:12:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 12:13:24 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 12:13:33 +0000azeem(~azeem@176.201.3.116)
2021-07-30 12:16:11 +0000qbt(~edun@user/edun)
2021-07-30 12:17:14 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 12:17:34 +0000qbt(~edun@user/edun) (Client Quit)
2021-07-30 12:18:17 +0000slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-30 12:21:22 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2021-07-30 12:22:02 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-07-30 12:22:23 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2021-07-30 12:23:07 +0000azeem(~azeem@176.201.3.116) (Ping timeout: 268 seconds)
2021-07-30 12:23:22 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 12:23:34 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 12:24:28 +0000int-e(~noone@int-e.eu) (Ping timeout: 252 seconds)
2021-07-30 12:24:32 +0000Kammao(~Kammao@188.27.128.31)
2021-07-30 12:24:32 +0000noctuks(oGswB5gyub@user/noctux) (Ping timeout: 258 seconds)
2021-07-30 12:24:52 +0000noctuks(mWTCqxoKka@user/noctux)
2021-07-30 12:25:25 +0000[exa](exa@srv3.blesmrt.net) (Changing host)
2021-07-30 12:25:25 +0000[exa](exa@user/exa/x-3587197)
2021-07-30 12:25:41 +0000 <Kammao> Hello! I want to deploy my webapp on heroku (I used the Yesod webframework) but i can'
2021-07-30 12:25:59 +0000 <Kammao> but it shuts down if i want to push it because it takes too long
2021-07-30 12:26:17 +0000azeem(~azeem@176.201.3.116)
2021-07-30 12:26:24 +0000 <Lycurgus> does herouku support haskell?
2021-07-30 12:27:06 +0000 <Kammao> I found multiple guides online (quite old tbh)..officially in the documenation I have not seen them mentioning Haskell tho
2021-07-30 12:27:37 +0000 <Lycurgus> seems like a culture clash to me. They do support python though.
2021-07-30 12:27:48 +0000 <Lycurgus> or rather django
2021-07-30 12:28:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 12:28:13 +0000 <Kammao> I was using github pages for my previous website..but now I have a database and I thought heroku would be a good free option since I don't really have traffic there
2021-07-30 12:28:31 +0000 <Kammao> Any other alternatives ideas? Would be much appreciated
2021-07-30 12:28:34 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 12:28:49 +0000 <Lycurgus> maybe someone else will say there's a haskell herouku like thing, i don't know of any
2021-07-30 12:29:47 +0000 <Lycurgus> other than noone wants to there's no reason in principle for there not to be
2021-07-30 12:30:00 +0000 <Kammao> Cheers! I'm quite new to programming in general so using docker or messing with nix is a bit over my head. Those being some ways to deploy it - mentioned in the official yesod docs
2021-07-30 12:31:03 +0000 <Lycurgus> easy, quick and dirty, etc, are discordant with the hs culture
2021-07-30 12:31:26 +0000 <Kammao> Fair enough, fair enough
2021-07-30 12:32:58 +0000 <lechner> justsomeguy: thanks for sending that https://gitlab.haskell.org/ghc/ghc/-/wikis/records
2021-07-30 12:33:46 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 12:34:45 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 12:35:21 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 276 seconds)
2021-07-30 12:37:13 +0000 <Kammao> Also, I found this : Just split dependencies in half and make a push with only part of the dependencies enabled. Then make a push with all of them enabled. The latter build will use cached dependencies from the former build.` Would that mean commenting out some of the dependencies in the stack.yaml file or cabal file and then pushing to heroku?
2021-07-30 12:39:48 +0000qbt(~edun@user/edun)
2021-07-30 12:39:48 +0000qbt(~edun@user/edun) (Client Quit)
2021-07-30 12:40:22 +0000qbt(~edun@user/edun)
2021-07-30 12:40:22 +0000qbt(~edun@user/edun) (Client Quit)
2021-07-30 12:40:25 +0000lechner(~lechner@debian/lechner) (Quit: WeeChat 3.0)
2021-07-30 12:44:26 +0000lechner(~lechner@debian/lechner)
2021-07-30 12:44:59 +0000fendor_(~fendor@91.141.37.142.wireless.dyn.drei.com)
2021-07-30 12:45:28 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-30 12:45:54 +0000jneira(~jneira@212.8.115.226) (Quit: Client closed)
2021-07-30 12:47:42 +0000fendor(~fendor@178.165.162.84.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2021-07-30 12:50:18 +0000nate3(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds)
2021-07-30 12:52:10 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 12:53:34 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 12:54:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 12:55:14 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 12:56:22 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 245 seconds)
2021-07-30 13:03:26 +0000azeem(~azeem@176.201.3.116) (Ping timeout: 252 seconds)
2021-07-30 13:03:47 +0000azeem(~azeem@176.201.3.116)
2021-07-30 13:05:22 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 13:08:01 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-30 13:09:46 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 13:10:30 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 13:13:00 +0000_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-30 13:18:14 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-30 13:18:53 +0000m4lvin(~m4lvin@w4eg.de) (Quit: m4lvin)
2021-07-30 13:19:13 +0000m4lvin(~m4lvin@w4eg.de)
2021-07-30 13:22:10 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-30 13:22:34 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 13:23:02 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 13:24:30 +0000choucavalier_(~choucaval@peanutbuttervibes.com)
2021-07-30 13:24:43 +0000LambdaDuck(~anka@ksit.fixme.fi)
2021-07-30 13:24:52 +0000guibou-(~guibou@163.172.83.213)
2021-07-30 13:25:00 +0000damien3(~damien@248.ip-149-56-13.net)
2021-07-30 13:25:23 +0000echoreply1(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
2021-07-30 13:25:27 +0000orzo_(joe@lasker.childrenofmay.org)
2021-07-30 13:25:33 +0000qontinuum_(qontinuum@user/qontinuum)
2021-07-30 13:25:43 +0000jassob1(~jassob@korrob.vth.sgsnet.se)
2021-07-30 13:25:43 +0000hexeme_(~hexeme@user/hexeme)
2021-07-30 13:26:20 +0000weechat-headless(~weechat-h@li219-154.members.linode.com)
2021-07-30 13:26:50 +0000exarkun_(~exarkun@user/exarkun)
2021-07-30 13:26:51 +0000mjrosenb_(~mrosenbe@104.225.243.2)
2021-07-30 13:26:57 +0000anderson_(~ande@134.209.221.71)
2021-07-30 13:27:12 +0000eco_(~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com)
2021-07-30 13:27:30 +0000glider_(~glider@user/glider)
2021-07-30 13:27:46 +0000carbolymer_(~carbolyme@dropacid.net)
2021-07-30 13:30:37 +0000qontinuum_(qontinuum@user/qontinuum) (Quit: See ya)
2021-07-30 13:30:55 +0000qontinuum_(qontinuum@user/qontinuum)
2021-07-30 13:31:57 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:f0d1:c4fb:1626:e1c7) (Quit: WeeChat 2.8)
2021-07-30 13:32:52 +0000megaTherion_(~therion@unix.io)
2021-07-30 13:33:53 +0000deshalb(~deshalb@user/deshalb)
2021-07-30 13:33:57 +0000fendor_fendor
2021-07-30 13:34:08 +0000qontinuum(qontinuum@user/qontinuum) (*.net *.split)
2021-07-30 13:34:08 +0000glider(~glider@user/glider) (*.net *.split)
2021-07-30 13:34:08 +0000anderson(~ande@134.209.221.71) (*.net *.split)
2021-07-30 13:34:08 +0000echoreply(~echoreply@45.32.163.16) (*.net *.split)
2021-07-30 13:34:08 +0000hexeme(~hexeme@user/hexeme) (*.net *.split)
2021-07-30 13:34:08 +0000orzo(joe@lasker.childrenofmay.org) (*.net *.split)
2021-07-30 13:34:08 +0000exarkun(~exarkun@user/exarkun) (*.net *.split)
2021-07-30 13:34:08 +0000tolt(~weechat-h@li219-154.members.linode.com) (*.net *.split)
2021-07-30 13:34:08 +0000jassob(~jassob@korrob.vth.sgsnet.se) (*.net *.split)
2021-07-30 13:34:08 +0000carbolymer(~carbolyme@dropacid.net) (*.net *.split)
2021-07-30 13:34:08 +0000choucavalier(~choucaval@peanutbuttervibes.com) (*.net *.split)
2021-07-30 13:34:08 +0000LambdaDu1k(~anka@ksit.fixme.fi) (*.net *.split)
2021-07-30 13:34:08 +0000guibou(~guibou@163.172.83.213) (*.net *.split)
2021-07-30 13:34:08 +0000megaTherion(~therion@coruscant.unix.io) (*.net *.split)
2021-07-30 13:34:08 +0000nisstyre(~wes@user/nisstyre) (*.net *.split)
2021-07-30 13:34:09 +0000mjrosenb(~mrosenbe@nyc.schrodinger.com) (*.net *.split)
2021-07-30 13:34:09 +0000eco(~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (*.net *.split)
2021-07-30 13:34:09 +0000lambdabot(~lambdabot@haskell/bot/lambdabot) (*.net *.split)
2021-07-30 13:34:09 +0000damien2(~damien@248.ip-149-56-13.net) (*.net *.split)
2021-07-30 13:34:09 +0000anderson_anderson
2021-07-30 13:34:09 +0000qontinuum_qontinuum
2021-07-30 13:34:14 +0000lambdabot(~lambdabot@silicon.int-e.eu)
2021-07-30 13:34:14 +0000lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2021-07-30 13:34:14 +0000lambdabot(~lambdabot@haskell/bot/lambdabot)
2021-07-30 13:35:04 +0000gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-30 13:36:39 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 13:39:05 +0000nisstyre(~wes@user/nisstyre)
2021-07-30 13:47:23 +0000hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-07-30 13:47:52 +0000hendursaga(~weechat@user/hendursaga)
2021-07-30 13:50:04 +0000xff0x(~xff0x@2001:1a81:532e:4200:7940:4f25:14fa:5c3e) (Ping timeout: 268 seconds)
2021-07-30 13:50:40 +0000xff0x(~xff0x@2001:1a81:532e:4200:4c53:a999:c700:5bd)
2021-07-30 13:51:20 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-30 13:51:27 +0000jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-30 13:52:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 13:53:11 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 13:53:58 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 13:54:49 +0000OscarH(~OscarH@97e48a81.skybroadband.com)
2021-07-30 13:54:52 +0000 <Taneb> Does anyone actually use Data.List.NonEmpty.xor
2021-07-30 13:58:02 +0000zebrag(~chris@user/zebrag)
2021-07-30 13:59:22 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds)
2021-07-30 13:59:23 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-30 14:00:03 +0000 <deejaytee> wow, that's weirdly specific...
2021-07-30 14:00:10 +0000 <Taneb> Yeah...
2021-07-30 14:00:44 +0000 <Taneb> Something that got added back in 2012 when it was part of one of edwardk's own libraries that he could do with what he wished, and it's just stuck
2021-07-30 14:01:18 +0000 <Taneb> It can also be defined for lists! It has False as an identity
2021-07-30 14:04:02 +0000oxide(~lambda@user/oxide) (Ping timeout: 252 seconds)
2021-07-30 14:05:37 +0000exarkun_exarkun
2021-07-30 14:09:46 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 240 seconds)
2021-07-30 14:10:18 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-07-30 14:10:55 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-30 14:11:04 +0000azeem(~azeem@176.201.3.116) (Ping timeout: 250 seconds)
2021-07-30 14:11:10 +0000qbt(~edun@user/edun)
2021-07-30 14:13:09 +0000qbt(~edun@user/edun) (Client Quit)
2021-07-30 14:13:26 +0000qbt(~edun@user/edun)
2021-07-30 14:13:38 +0000chris_(~chris@81.96.113.213)
2021-07-30 14:14:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 14:15:10 +0000fluffyballoon(~fluffybal@131.93.208.196)
2021-07-30 14:15:25 +0000azeem(~azeem@176.201.3.116)
2021-07-30 14:15:33 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 14:18:35 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 14:23:12 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-07-30 14:23:45 +0000cfricke(~cfricke@user/cfricke) (Ping timeout: 258 seconds)
2021-07-30 14:23:48 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 14:24:23 +0000azeem(~azeem@176.201.3.116) (Ping timeout: 252 seconds)
2021-07-30 14:24:53 +0000azeem(~azeem@176.201.3.116)
2021-07-30 14:24:58 +0000qbt(~edun@user/edun) (Quit: Leaving)
2021-07-30 14:25:16 +0000qbt(~edun@user/edun)
2021-07-30 14:26:24 +0000jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-07-30 14:29:24 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-30 14:29:24 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-30 14:29:27 +0000allbery_bgeekosaur
2021-07-30 14:29:38 +0000int-e(~noone@int-e.eu)
2021-07-30 14:31:36 +0000fluffyballoon78(~fluffybal@2620:72:0:6480::450)
2021-07-30 14:33:13 +0000oxide(~lambda@user/oxide)
2021-07-30 14:33:13 +0000Sgeo(~Sgeo@user/sgeo)
2021-07-30 14:34:01 +0000fluffyballoon(~fluffybal@131.93.208.196) (Ping timeout: 246 seconds)
2021-07-30 14:34:22 +0000 <tomsmeding> interesting also that it's in the category "Converting to and from a list"
2021-07-30 14:34:41 +0000cfricke(~cfricke@user/cfricke)
2021-07-30 14:34:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 14:35:30 +0000 <[exa]> I wish hackage had "usage examples" from looking at reverse dependencies :]
2021-07-30 14:35:51 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 14:39:48 +0000azeem(~azeem@176.201.3.116) (Ping timeout: 272 seconds)
2021-07-30 14:40:21 +0000fluffyballoon78(~fluffybal@2620:72:0:6480::450) (Quit: Client closed)
2021-07-30 14:40:50 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-30 14:41:59 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 252 seconds)
2021-07-30 14:42:02 +0000azeem(~azeem@176.201.36.49)
2021-07-30 14:42:41 +0000Guest9(~Guest9@43.241.144.27)
2021-07-30 14:44:36 +0000Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-30 14:45:38 +0000shriekingnoise(~shrieking@186.137.144.80)
2021-07-30 14:46:48 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-30 14:49:29 +0000timCF(~timCF@200-149-20-81.sta.estpak.ee)
2021-07-30 14:51:04 +0000juhp(~juhp@bb116-14-48-29.singnet.com.sg) (Quit: juhp)
2021-07-30 14:51:21 +0000juhp(~juhp@bb116-14-48-29.singnet.com.sg)
2021-07-30 14:52:11 +0000Softsoft
2021-07-30 14:52:44 +0000 <timCF> Hello! I'm trying to do some compile-time magic with TH (generate parsers) and I need to identify somehow from `Proxy a` information about fields of `a` contructors. Ideally I want to know is every particular field `Maybe a` or something else. Any ideas how to get this data on compile-time only from `a` constructor name?
2021-07-30 14:53:07 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-30 14:59:26 +0000azeem(~azeem@176.201.36.49) (Ping timeout: 272 seconds)
2021-07-30 15:00:02 +0000lbseale(~lbseale@user/ep1ctetus)
2021-07-30 15:02:34 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 15:03:08 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 15:03:30 +0000Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-30 15:04:10 +0000cfricke(~cfricke@user/cfricke) (Ping timeout: 265 seconds)
2021-07-30 15:06:14 +0000azeem(~azeem@176.201.36.49)
2021-07-30 15:07:40 +0000cfricke(~cfricke@user/cfricke)
2021-07-30 15:08:18 +0000Guest9(~Guest9@43.241.144.27) (Ping timeout: 240 seconds)
2021-07-30 15:09:05 +0000dyeplexer(~dyeplexer@user/dyeplexer)
2021-07-30 15:10:21 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 15:10:34 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 15:10:46 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 15:11:20 +0000alx741(~alx741@181.196.69.85)
2021-07-30 15:16:58 +0000Guest9(~Guest9@43.241.144.27)
2021-07-30 15:17:47 +0000wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-07-30 15:20:18 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-30 15:20:18 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-30 15:20:21 +0000allbery_bgeekosaur
2021-07-30 15:20:50 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe)
2021-07-30 15:20:58 +0000cfricke(~cfricke@user/cfricke) (Ping timeout: 240 seconds)
2021-07-30 15:25:07 +0000pschorf(~user@c-73-77-28-188.hsd1.tx.comcast.net) (Ping timeout: 245 seconds)
2021-07-30 15:27:51 +0000azeem(~azeem@176.201.36.49) (Ping timeout: 265 seconds)
2021-07-30 15:28:02 +0000hydroxide(~hydroxide@ool-18bab6fd.dyn.optonline.net)
2021-07-30 15:28:23 +0000chris_(~chris@81.96.113.213)
2021-07-30 15:29:26 +0000Kammao(~Kammao@188.27.128.31) (Quit: Client closed)
2021-07-30 15:31:06 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 15:31:16 +0000stevenxl(uid133530@id-133530.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 15:35:04 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-30 15:35:04 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-30 15:35:22 +0000azeem(~azeem@176.201.36.49)
2021-07-30 15:36:10 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
2021-07-30 15:36:20 +0000 <Boarders> timCF: sounds like something you'd want to use Generic (or similar) for
2021-07-30 15:36:35 +0000cfricke(~cfricke@user/cfricke)
2021-07-30 15:40:12 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 15:41:12 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 15:45:06 +0000pe200012(~pe200012@113.105.10.33) (Ping timeout: 240 seconds)
2021-07-30 15:45:53 +0000hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-30 15:45:58 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-30 15:47:20 +0000qontinuum(qontinuum@user/qontinuum) (Ping timeout: 252 seconds)
2021-07-30 15:50:44 +0000chris_(~chris@81.96.113.213)
2021-07-30 15:52:17 +0000jakalx(~jakalx@base.jakalx.net) ()
2021-07-30 15:54:46 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 15:55:08 +0000chris_(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-07-30 15:55:32 +0000dajoer(~david@user/gvx) (Quit: leaving)
2021-07-30 16:01:52 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 16:06:51 +0000pbrisbin(~patrick@47-208-172-238.trckcmtc01.res.dyn.suddenlink.net)
2021-07-30 16:09:24 +0000bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-07-30 16:10:25 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 16:11:12 +0000Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-30 16:12:42 +0000chris_(~chris@81.96.113.213)
2021-07-30 16:12:47 +0000MorrowM(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-30 16:13:17 +0000Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
2021-07-30 16:13:47 +0000azeem(~azeem@176.201.36.49) (Read error: Connection reset by peer)
2021-07-30 16:13:47 +0000Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-30 16:14:03 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 16:14:03 +0000mastarija(~mastarija@31.217.8.174)
2021-07-30 16:14:04 +0000mastarija_(~mastarija@31.217.8.174)
2021-07-30 16:14:06 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-30 16:16:04 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 16:16:53 +0000jmorris(uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 16:17:11 +0000chris_(~chris@81.96.113.213)
2021-07-30 16:18:51 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-07-30 16:20:06 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 16:21:07 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 16:22:11 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-30 16:22:31 +0000eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-30 16:22:57 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-30 16:23:55 +0000chris_(~chris@81.96.113.213)
2021-07-30 16:24:53 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 16:25:02 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 16:25:21 +0000mastarija_(~mastarija@31.217.8.174) (Quit: Leaving)
2021-07-30 16:27:35 +0000chris_(~chris@81.96.113.213)
2021-07-30 16:28:08 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 252 seconds)
2021-07-30 16:28:26 +0000deshalb(~deshalb@user/deshalb) (Quit: leaving)
2021-07-30 16:30:18 +0000mattil(~mattilinn@87-92-0-72.bb.dnainternet.fi)
2021-07-30 16:30:20 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-07-30 16:31:13 +0000mattil(~mattilinn@87-92-0-72.bb.dnainternet.fi) (Remote host closed the connection)
2021-07-30 16:31:36 +0000mattil(~mattilinn@87-92-0-72.bb.dnainternet.fi)
2021-07-30 16:32:39 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 16:33:30 +0000shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net)
2021-07-30 16:37:25 +0000jakalx(~jakalx@base.jakalx.net)
2021-07-30 16:40:08 +0000drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-30 16:41:46 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 240 seconds)
2021-07-30 16:42:26 +0000mastarija(~mastarija@31.217.8.174) (Read error: Connection reset by peer)
2021-07-30 16:42:44 +0000mastarija(~mastarija@31.217.8.174)
2021-07-30 16:45:48 +0000pavonia(~user@user/siracusa)
2021-07-30 16:45:56 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 16:46:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 16:47:39 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 16:50:54 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Ping timeout: 272 seconds)
2021-07-30 16:52:02 +0000jakalx(~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection)
2021-07-30 16:52:03 +0000jakalx(~jakalx@base.jakalx.net)
2021-07-30 16:52:32 +0000azeem(~azeem@176.201.36.49)
2021-07-30 16:53:33 +0000 <dminuoso> Generic-based parsers sounds like a terrible idea.
2021-07-30 16:53:38 +0000justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 258 seconds)
2021-07-30 16:53:50 +0000econo(uid147250@user/econo)
2021-07-30 16:53:50 +0000 <dminuoso> Especially if you care about performance.
2021-07-30 16:54:14 +0000 <dminuoso> timCF: You can use reify
2021-07-30 16:54:24 +0000 <dminuoso> https://hackage.haskell.org/package/template-haskell-2.17.0.0/docs/Language-Haskell-TH.html#v:reify
2021-07-30 16:54:25 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 16:54:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 16:55:35 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 16:56:52 +0000 <dminuoso> timCF: Ah in particular, reifyDatatype
2021-07-30 16:57:02 +0000 <dminuoso> https://hackage.haskell.org/package/th-abstraction-0.4.2.0/docs/Language-Haskell-TH-Datatype.html#…
2021-07-30 16:57:18 +0000 <dminuoso> This could be more helpful than collecting the information yourself
2021-07-30 16:59:05 +0000azeem(~azeem@176.201.36.49) (Read error: Connection reset by peer)
2021-07-30 16:59:22 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-07-30 16:59:35 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-30 17:02:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 17:03:05 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 17:04:16 +0000chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-30 17:07:30 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-07-30 17:10:58 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 17:11:08 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 17:11:42 +0000gustik(~gustik@2a01:c844:241f:c020:312a:c22f:e497:698f)
2021-07-30 17:17:44 +0000JohnnyBoy(~JohnnyBoy@91-158-200-68.elisa-laajakaista.fi)
2021-07-30 17:18:46 +0000JohnnyBoy(~JohnnyBoy@91-158-200-68.elisa-laajakaista.fi) ()
2021-07-30 17:20:16 +0000hydroxide(~hydroxide@ool-18bab6fd.dyn.optonline.net) (Ping timeout: 246 seconds)
2021-07-30 17:22:03 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 17:26:04 +0000jespada(~jespada@90.254.247.46) (Quit: Textual IRC Client: www.textualapp.com)
2021-07-30 17:27:05 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 17:27:38 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 17:28:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 17:28:29 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 17:28:48 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 17:29:01 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 17:29:17 +0000cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-07-30 17:30:28 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 17:30:47 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 17:30:50 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 17:38:12 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 250 seconds)
2021-07-30 17:39:38 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 17:40:58 +0000pbrisbin(~patrick@47-208-172-238.trckcmtc01.res.dyn.suddenlink.net) (Ping timeout: 240 seconds)
2021-07-30 17:44:18 +0000 <sm> Kammao: there have been a couple of haskell on heroku how-tos, searching should find them
2021-07-30 17:45:07 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-30 17:47:47 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-07-30 17:47:57 +0000vicfred(~vicfred@user/vicfred)
2021-07-30 17:48:09 +0000hyiltiz(~quassel@31.220.5.250)
2021-07-30 17:55:30 +0000deejaytee(~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) (Ping timeout: 240 seconds)
2021-07-30 17:57:21 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-30 18:00:20 +0000roboguy__(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f)
2021-07-30 18:00:38 +0000mastarija_(~mastarija@31.217.8.174)
2021-07-30 18:01:22 +0000PinealGlandOptic(~PinealGla@37.115.210.35) (Ping timeout: 245 seconds)
2021-07-30 18:02:01 +0000Erutuon(~Erutuon@user/erutuon)
2021-07-30 18:03:17 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 252 seconds)
2021-07-30 18:03:46 +0000mastarija(~mastarija@31.217.8.174) (Ping timeout: 250 seconds)
2021-07-30 18:04:38 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-07-30 18:04:49 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Remote host closed the connection)
2021-07-30 18:04:54 +0000Guest4(~Guest4@173-28-193-122.client.mchsi.com)
2021-07-30 18:05:19 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-30 18:06:50 +0000Atum_(~IRC@user/atum/x-2392232)
2021-07-30 18:06:51 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-30 18:06:59 +0000roboguy__(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f) ()
2021-07-30 18:07:24 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-30 18:08:38 +0000pgib(~textual@173.38.117.68)
2021-07-30 18:10:25 +0000shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-30 18:12:38 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Ping timeout: 252 seconds)
2021-07-30 18:16:22 +0000thmprover(~user@047-042-215-236.res.spectrum.com)
2021-07-30 18:19:35 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 18:21:11 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-30 18:21:13 +0000liam30(~liam@c-73-170-133-54.hsd1.ca.comcast.net)
2021-07-30 18:21:42 +0000liam30(~liam@c-73-170-133-54.hsd1.ca.comcast.net) (Client Quit)
2021-07-30 18:21:57 +0000l-monninger(~l-monning@c-73-170-133-54.hsd1.ca.comcast.net)
2021-07-30 18:24:19 +0000wwalker(~wwalker@platinum.solid-constructs.com) (Quit: leaving)
2021-07-30 18:24:33 +0000l-monninger(~l-monning@c-73-170-133-54.hsd1.ca.comcast.net) (Client Quit)
2021-07-30 18:25:12 +0000zyklotomic(~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8)
2021-07-30 18:25:12 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-30 18:25:14 +0000burnside_(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 18:26:10 +0000fossdd(~fossdd@sourcehut/user/fossdd) (Ping timeout: 240 seconds)
2021-07-30 18:27:11 +0000fossdd(~fossdd@sourcehut/user/fossdd)
2021-07-30 18:28:18 +0000hegstal(~hegstal@2a02:c7f:7604:8a00:7f3a:926a:5be5:7f19)
2021-07-30 18:32:12 +0000drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 276 seconds)
2021-07-30 18:34:25 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-30 18:36:47 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 18:38:26 +0000dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 250 seconds)
2021-07-30 18:40:12 +0000justsomeguy(~justsomeg@user/justsomeguy)
2021-07-30 18:41:54 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-07-30 18:43:01 +0000mattil(~mattilinn@87-92-0-72.bb.dnainternet.fi) (Quit: Leaving)
2021-07-30 18:43:36 +0000nckx(~nckx@tobias.gr) (Ping timeout: 268 seconds)
2021-07-30 18:46:01 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-07-30 18:51:08 +0000peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-07-30 18:51:20 +0000aegon(~mike@174.127.249.180)
2021-07-30 18:51:55 +0000 <aegon> i have so many modules loaded in stackghci that the prompt is a good 1/3 of my terminal space. Is there a way to tell ghci to be more terse about modules active in the current context?
2021-07-30 18:52:21 +0000dextaa(~DV@aftr-37-201-214-197.unity-media.net) (Ping timeout: 276 seconds)
2021-07-30 18:52:37 +0000mastarija__(~mastarija@31.217.8.174)
2021-07-30 18:53:14 +0000 <monochrom> I usually write one last file "play.hs" that imports the million modules. Then it's just ":load play.hs" for me.
2021-07-30 18:53:29 +0000 <monochrom> And so the prompt is just "*Main>"
2021-07-30 18:53:47 +0000 <monochrom> Actually s/usually/used to/
2021-07-30 18:54:06 +0000 <monochrom> Because these days in reality I use emacs haskell-mode so the prompt is always λ>
2021-07-30 18:54:57 +0000Guest9(~Guest9@43.241.144.27) (Quit: Connection closed)
2021-07-30 18:55:21 +0000 <aegon> kk, i'll try that approach. I've tried to get used to emacs but i always just want vim and the rest of the stuff is handled piecewise by unix apps in a tmux session
2021-07-30 18:55:28 +0000 <aegon> i wish emacs had a good text editor :P
2021-07-30 18:55:48 +0000 <sm> in GHC 9.0, the GHCI prompt has been fixed
2021-07-30 18:56:07 +0000 <monochrom> The "play.hs" trick is still very useful. I'm sure you also have a few recurring test cases you don't want to re-enter over and over again.
2021-07-30 18:56:10 +0000mastarija_(~mastarija@31.217.8.174) (Ping timeout: 265 seconds)
2021-07-30 18:56:20 +0000dextaa(~DV@aftr-37-201-214-197.unity-media.net)
2021-07-30 18:56:28 +0000 <sm> otherwise you can put `:set prompt "ghci> "` in ~/.ghci or ./ghci
2021-07-30 18:56:36 +0000 <sm> ./.ghci
2021-07-30 18:56:46 +0000fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-30 18:56:49 +0000 <DigitalKiwi> :set prompt "П> "
2021-07-30 18:57:02 +0000 <DigitalKiwi> is in my ~/.ghc/ghci.conf
2021-07-30 18:57:04 +0000 <monochrom> C:\>
2021-07-30 18:57:25 +0000 <monochrom> You know what, for really really real retro:
2021-07-30 18:57:27 +0000 <monochrom> A:\>
2021-07-30 18:57:47 +0000 <monochrom> We old geezers did not always have money for hard disks!
2021-07-30 18:58:04 +0000 <monochrom> It was like $1000 for merely 20MB.
2021-07-30 18:58:24 +0000 <DigitalKiwi> https://gist.github.com/emilypi/cafa2a0dac8c879b2a2916dab71a3f3f :)
2021-07-30 18:58:55 +0000 <aegon> DigitalKiwi: oooh, i din't know you could default enable extensions for it as well
2021-07-30 18:59:37 +0000 <pavonia> DigitalKiwi: What does the Pi stand for?
2021-07-30 19:00:13 +0000stenvold(~stenvold@2001:a61:25b2:3801:3990:922e:4d56:f95f)
2021-07-30 19:00:29 +0000 <DigitalKiwi> pillmore
2021-07-30 19:00:33 +0000 <DigitalKiwi> maybe?
2021-07-30 19:00:36 +0000 <aegon> monochrom: I had to look up what the A drive is :P thats pretty neat
2021-07-30 19:00:48 +0000 <monochrom> Dependent typing has a Π quantifier which is an improved ∀
2021-07-30 19:00:54 +0000 <DigitalKiwi> but also maybe twice of tau
2021-07-30 19:01:38 +0000 <deejaytee> monochrom: nice choice :D
2021-07-30 19:01:45 +0000 <monochrom> :)
2021-07-30 19:01:52 +0000 <DigitalKiwi> or is it half of tau? fff
2021-07-30 19:02:47 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f)
2021-07-30 19:03:06 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-07-30 19:03:14 +0000 <monochrom> Clearly, π is half of τ, τ is half of Π, Π is half of T
2021-07-30 19:03:17 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2021-07-30 19:04:04 +0000 <DigitalKiwi> yes, clearly...
2021-07-30 19:04:43 +0000monochromprefers Emily Rho. Err I mean Emily Riehl
2021-07-30 19:04:46 +0000 <DigitalKiwi> look i'm here for haskell not this maths stuffs ;p
2021-07-30 19:06:39 +0000mastarija__(~mastarija@31.217.8.174) (Ping timeout: 276 seconds)
2021-07-30 19:06:59 +0000 <int-e> monochrom: B:\> <--to show off your *second* floppy disk drive
2021-07-30 19:07:27 +0000 <deejaytee> int-e: ooooh, ahhhh, special
2021-07-30 19:08:59 +0000PinealGlandOptic(~PinealGla@37.115.210.35)
2021-07-30 19:13:50 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f) (Remote host closed the connection)
2021-07-30 19:14:42 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f)
2021-07-30 19:17:25 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-30 19:18:14 +0000 <Guest4> Hi all, I'm writing a plugin for haskell language server, and I need some help at the knowledge of GHC API. Does it provide a method to collect all type errors in code?
2021-07-30 19:19:13 +0000Guest71(~Guest71@50.47.115.102)
2021-07-30 19:19:44 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f) (Ping timeout: 272 seconds)
2021-07-30 19:20:31 +0000Guest71(~Guest71@50.47.115.102) (Client Quit)
2021-07-30 19:23:41 +0000weechat-headlesstolt
2021-07-30 19:24:08 +0000 <deejaytee> it's probably doable, but I don't think there's a function which will do it in one go
2021-07-30 19:26:48 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f)
2021-07-30 19:27:10 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f) (Remote host closed the connection)
2021-07-30 19:27:22 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f)
2021-07-30 19:27:42 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 19:27:49 +0000 <dolio> In some ways, Π is not improving ∀, depending on how you think parametricity should work.
2021-07-30 19:28:47 +0000 <monochrom> Ah I had the logic ∀ in mind, not the type ∀.
2021-07-30 19:29:46 +0000 <dolio> Oh, yeah. For that case ∀ is just Π for a particular universe, basically.
2021-07-30 19:32:04 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 256 seconds)
2021-07-30 19:34:10 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 19:34:54 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-07-30 19:36:33 +0000burnside_(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-30 19:37:04 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 19:37:13 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-30 19:37:21 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 19:41:15 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-30 19:41:41 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 19:41:56 +0000Guest14(~Guest14@50.47.115.102)
2021-07-30 19:43:13 +0000nuncanada(~dude@179.235.162.215)
2021-07-30 19:43:16 +0000 <Guest14> Could f-strings (similar to those in Python) be implemented using TemplateHaskell?
2021-07-30 19:43:46 +0000Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2021-07-30 19:44:17 +0000nuncanada(~dude@179.235.162.215) (Client Quit)
2021-07-30 19:44:29 +0000 <geekosaur> probably via a quasiquoter
2021-07-30 19:44:47 +0000 <geekosaur> there already exist some string quasiquoters you could start from
2021-07-30 19:45:36 +0000 <Hecate> geekosaur: https://hackage.haskell.org/package/PyF
2021-07-30 19:45:43 +0000 <Hecate> special mention to guibou-
2021-07-30 19:46:02 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2021-07-30 19:48:00 +0000peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-07-30 19:51:07 +0000Guest14(~Guest14@50.47.115.102) (Ping timeout: 246 seconds)
2021-07-30 19:55:40 +0000stenvold(~stenvold@2001:a61:25b2:3801:3990:922e:4d56:f95f) (Quit: Client closed)
2021-07-30 19:55:59 +0000ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-30 19:56:36 +0000ukari(~ukari@user/ukari)
2021-07-30 20:03:21 +0000Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-07-30 20:04:35 +0000MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-30 20:07:09 +0000falsifian(~falsifian@exoco.falsifian.org)
2021-07-30 20:07:18 +0000fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-07-30 20:08:17 +0000 <falsifian> Anyone using ghcjs with nixpkgs? Running ghcjs --make Main on a simple program that imports Data.JSString is giving "Could not find module Data.JSString".
2021-07-30 20:10:31 +0000 <falsifian> I'm not sure if there's some package that's supposed to provide that.
2021-07-30 20:12:07 +0000gehmehgeh(~user@user/gehmehgeh)
2021-07-30 20:12:55 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe)
2021-07-30 20:13:47 +0000epolanski(uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 20:15:13 +0000MQ-17J(~MQ-17J@69.14.129.206)
2021-07-30 20:16:05 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk)
2021-07-30 20:19:30 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 240 seconds)
2021-07-30 20:21:30 +0000burnsidesLlama(~burnsides@dhcp168-019.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-07-30 20:22:41 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 20:23:15 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe)
2021-07-30 20:23:19 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-07-30 20:24:01 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-30 20:25:01 +0000chele(~chele@user/chele) (Remote host closed the connection)
2021-07-30 20:25:19 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-30 20:26:48 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 20:32:49 +0000thmprover(~user@047-042-215-236.res.spectrum.com) (Quit: [Exit, pursued by bear])
2021-07-30 20:36:44 +0000amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-30 20:37:39 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 20:38:23 +0000amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 20:38:41 +0000amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-30 20:40:16 +0000 <falsifian> Hm. I got it working by building with cabal and depending on ghcjs-base. But now it doesn't like the "foreign import ..." syntax...
2021-07-30 20:43:33 +0000Guest4(~Guest4@173-28-193-122.client.mchsi.com) (Quit: Client closed)
2021-07-30 20:43:40 +0000delYsid(~user@84-115-55-45.cable.dynamic.surfer.at)
2021-07-30 20:43:47 +0000wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-07-30 20:44:40 +0000 <falsifian> Okay, figured that out. I need the ForeignFunctionInterface language option; JavaScriptFFI isn't enough.
2021-07-30 20:46:48 +0000 <geekosaur> huh. I'd report that as a bug, since JavascriptFFI makes no sense without ForeignFunctionInterface it should probably turn it on (we already have a number of cases where required extensions get turned on automatically by the extensions that require them)
2021-07-30 20:47:02 +0000ubert(~Thunderbi@91.141.35.41.wireless.dyn.drei.com)
2021-07-30 20:47:28 +0000 <falsifian> Heh. It looks like ForeignFunctionInterface on its own is sufficient. Not sure what's going on.
2021-07-30 20:48:44 +0000 <falsifian> Main.hs: https://clbin.com/sRPL1; jt.cabal: https://clbin.com/DXV6R
2021-07-30 20:49:24 +0000 <falsifian> Hm, looks like it's already reported at https://github.com/ghcjs/ghcjs/issues/541
2021-07-30 20:50:46 +0000 <falsifian> For all I know, ForeignFunctionInterface is the one I'm supposed to use anyway. I can't really find official-looking documentation that includes the necessary language option.
2021-07-30 20:50:49 +0000burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-07-30 20:52:21 +0000 <delYsid> In GHC 8 TH, I could just fail in the Q monad. Apparently, with GHC 9 TH, `Code Q a` has no MonadFail instance anymore. How am I supposed to fail the compile now?
2021-07-30 20:54:08 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-30 20:55:26 +0000burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 272 seconds)
2021-07-30 20:55:35 +0000hiruji(~hiruji@user/hiruji) (Read error: Connection reset by peer)
2021-07-30 20:55:42 +0000 <falsifian> geekosaur: Filed https://github.com/ghcjs/ghcjs/issues/808
2021-07-30 20:56:11 +0000hiruji(~hiruji@user/hiruji)
2021-07-30 20:57:03 +0000deejaytee(~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Quit: Leaving)
2021-07-30 20:57:51 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 20:59:58 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-30 21:01:04 +0000azeem(~azeem@dynamic-adsl-94-34-48-122.clienti.tiscali.it)
2021-07-30 21:03:35 +0000 <hpc> delYsid: Q itself still has its MonadFail instance
2021-07-30 21:08:43 +0000zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Changing host)
2021-07-30 21:08:43 +0000zfnmxt(~zfnmxtzfn@user/zfnmxt)
2021-07-30 21:11:50 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-30 21:12:14 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f)
2021-07-30 21:14:41 +0000pesada(~agua@2804:14c:8793:8e2f:4825:de59:6a63:adc7) (Ping timeout: 268 seconds)
2021-07-30 21:15:30 +0000mikoto-chan(~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) (Ping timeout: 240 seconds)
2021-07-30 21:15:55 +0000neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 268 seconds)
2021-07-30 21:19:26 +0000amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 272 seconds)
2021-07-30 21:20:21 +0000curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-07-30 21:25:01 +0000ablutor(~quassel@wasscher.com)
2021-07-30 21:29:09 +0000MoC(~moc@user/moc) (Quit: Konversation terminated!)
2021-07-30 21:30:25 +0000fendor(~fendor@91.141.37.142.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-30 21:30:27 +0000 <delYsid> hpc: I was apparently looking for bindCode and joinCode...
2021-07-30 21:31:55 +0000nckx(~nckx@tobias.gr)
2021-07-30 21:33:43 +0000pesada(~agua@191.177.175.57)
2021-07-30 21:37:01 +0000_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-30 21:37:18 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f) (Ping timeout: 256 seconds)
2021-07-30 21:39:37 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-30 21:40:03 +0000 <janus> @hoogle Data.Scientific.Scientific -> Data.Fixed.Fixed Data.Fixed.E3
2021-07-30 21:40:04 +0000 <lambdabot> No results found
2021-07-30 21:40:37 +0000 <janus> how can it be that nobody has written this? hmmm
2021-07-30 21:44:22 +0000 <janus> surely it should be possible to write f x = MkFixed . toInteger . (*) (resolution x) $ x :: HasResolution res => Scientific -> Fixed res
2021-07-30 21:44:42 +0000theproffesor(~theproffe@user/theproffesor) (Read error: Connection reset by peer)
2021-07-30 21:44:55 +0000theproffesor(~theproffe@2601:282:847f:8010::3a29)
2021-07-30 21:46:42 +0000notzmv(~zmv@user/notzmv)
2021-07-30 21:49:09 +0000jmorris(uid433911@id-433911.stonehaven.irccloud.com)
2021-07-30 21:49:12 +0000wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net) (Ping timeout: 265 seconds)
2021-07-30 21:50:03 +0000Guest4(~Guest4@173-28-193-122.client.mchsi.com)
2021-07-30 21:50:50 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 21:51:53 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-30 21:53:27 +0000gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-30 21:53:47 +0000 <janus> aaah i would need to conjure up a value "Fixed res", and i guess i can't use mempty...
2021-07-30 21:54:08 +0000 <janus> are there canonical Mult/Add newtype wrappers for common numeric types?
2021-07-30 21:54:34 +0000pesada(~agua@191.177.175.57) (Ping timeout: 240 seconds)
2021-07-30 21:54:51 +0000 <monochrom> Sum and Product.
2021-07-30 21:54:55 +0000Guest4(~Guest4@173-28-193-122.client.mchsi.com) (Client Quit)
2021-07-30 21:55:33 +0000 <monochrom> I would think realToFrac can do Scientific -> Fixed foo
2021-07-30 21:56:32 +0000 <janus> ooh , i can! thank you! what a bummer that i can't hoogle it...
2021-07-30 21:56:56 +0000 <monochrom> This is why I read library docs from cover to cover instead of using hoogle.
2021-07-30 21:59:25 +0000kuribas(~user@ptr-25vy0i948b7pircazuk.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-07-30 22:00:02 +0000safinaskar(~user@109.252.55.35)
2021-07-30 22:00:20 +0000 <safinaskar> webchat.freenode.net doesn't work
2021-07-30 22:00:23 +0000 <safinaskar> do you know why?
2021-07-30 22:00:49 +0000doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-07-30 22:01:41 +0000l-monninger(~l-monning@c-73-170-133-54.hsd1.ca.comcast.net)
2021-07-30 22:02:24 +0000l-monninger(~l-monning@c-73-170-133-54.hsd1.ca.comcast.net) (Client Quit)
2021-07-30 22:02:25 +0000 <meejah> safinaskar: "freenode is dead", approximately?
2021-07-30 22:02:35 +0000jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net)
2021-07-30 22:02:39 +0000ubert(~Thunderbi@91.141.35.41.wireless.dyn.drei.com) (Quit: ubert)
2021-07-30 22:02:50 +0000 <geekosaur> what pointed you at webchat.freenode.net?
2021-07-30 22:02:57 +0000ubert(~Thunderbi@91.141.35.41.wireless.dyn.drei.com)
2021-07-30 22:03:06 +0000 <yushyin> https://web.libera.chat/ use this
2021-07-30 22:03:11 +0000 <geekosaur> it should prb\obably point to web.libera.chat these days
2021-07-30 22:03:36 +0000 <safinaskar> well, i found on augeas site that they are using freenode
2021-07-30 22:03:39 +0000 <safinaskar> so i am asking
2021-07-30 22:04:38 +0000 <geekosaur> indeed they appear not to have moved here
2021-07-30 22:05:31 +0000 <yushyin> maybe ask the freenode support what's wrong with it
2021-07-30 22:07:05 +0000 <DigitalKiwi> lol good luck
2021-07-30 22:07:11 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 22:07:20 +0000ubert(~Thunderbi@91.141.35.41.wireless.dyn.drei.com) (Ping timeout: 256 seconds)
2021-07-30 22:08:21 +0000 <qrpnxz> it's called freenode, not freesupport /s
2021-07-30 22:08:57 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f)
2021-07-30 22:14:10 +0000Guest4(~Guest4@173-28-193-122.client.mchsi.com)
2021-07-30 22:15:33 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-30 22:16:34 +0000 <pavonia> freenode seems to enforce SASL connections now, might be related to this
2021-07-30 22:18:46 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 22:18:48 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe)
2021-07-30 22:18:52 +0000 <safinaskar> pavonia: yes, but even webchat.freenode.net doesn't work!
2021-07-30 22:19:12 +0000gabiruh_gabiruh
2021-07-30 22:19:18 +0000 <safinaskar> i. e. freenode's own official web client fails to properly connect to freenode servers!
2021-07-30 22:20:02 +0000 <pavonia> Are you trying to connect via your account?
2021-07-30 22:20:57 +0000 <monochrom> That reminds me. "doesn't work" has not been defined. This has degenerated to a telepathic speculation game.
2021-07-30 22:21:26 +0000 <monochrom> I mean, even if we ignore the fact that this is not a freenode tech support service.
2021-07-30 22:22:31 +0000sagax(~sagax@213.138.71.146) (Ping timeout: 268 seconds)
2021-07-30 22:23:18 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-30 22:23:32 +0000 <DigitalKiwi> this is particularly amusing considering what freenode did to this channel and especially edwardk lol
2021-07-30 22:25:27 +0000 <pavonia> What did they do to edwardk?
2021-07-30 22:29:51 +0000 <DigitalKiwi> https://twitter.com/kmett/status/1403428202173796353
2021-07-30 22:30:58 +0000 <monochrom> Thanks. Yikes.
2021-07-30 22:33:27 +0000 <sm> safinaskar: freenode is dead, you should forget it
2021-07-30 22:33:59 +0000 <geekosaur> augeas appears to still be there
2021-07-30 22:34:13 +0000 <geekosaur> which is what safinaskar was looking for
2021-07-30 22:35:00 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 22:35:11 +0000 <geekosaur> (of course it may be living up to its name…)
2021-07-30 22:36:10 +0000 <geekosaur> or down to, as the case may be
2021-07-30 22:36:33 +0000 <sm> I found only https://hackage.haskell.org/package/augeas from 2012
2021-07-30 22:37:45 +0000 <sm> ah, this page: https://augeas.net/developers.html
2021-07-30 22:39:29 +0000FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-07-30 22:40:04 +0000 <sm> and they don't seem to be on libera at all so maybe they really are a hold out, wow
2021-07-30 22:40:32 +0000chomwitt(~chomwitt@2a02:587:dc0c:a300:12c3:7bff:fe6d:d374)
2021-07-30 22:40:47 +0000theproffesor(~theproffe@2601:282:847f:8010::3a29) (Changing host)
2021-07-30 22:40:47 +0000theproffesor(~theproffe@user/theproffesor)
2021-07-30 22:40:56 +0000 <sm> no I think they're just not too active
2021-07-30 22:41:14 +0000FragByte(~christian@user/fragbyte)
2021-07-30 22:41:26 +0000roboguy__(~roboguy_@2605:a601:afe7:9f00:21b8:dc17:ae59:fdd6)
2021-07-30 22:41:38 +0000 <sm> send em a bug report safinaskar
2021-07-30 22:42:49 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-30 22:43:02 +0000xff0x(~xff0x@2001:1a81:532e:4200:4c53:a999:c700:5bd) (Ping timeout: 256 seconds)
2021-07-30 22:43:10 +0000smtnet3(~asdfasdfa@202.36.244.28) (Remote host closed the connection)
2021-07-30 22:43:23 +0000 <int-e> https://nitter.eu/kurtseifried/status/1398712468394811395#m is two months old, still relevant
2021-07-30 22:43:51 +0000xff0x(~xff0x@2001:1a81:532e:4200:ef34:239:52ff:ac71)
2021-07-30 22:44:08 +0000acidjnk(~acidjnk@p200300d0c72b9576e9974425ad52911e.dip0.t-ipconnect.de)
2021-07-30 22:45:06 +0000roboguy_(~roboguy_@2605:a601:afe7:9f00:948c:3207:efde:714f) (Ping timeout: 240 seconds)
2021-07-30 22:45:15 +0000newhaskeller(~newhaskel@2804:14c:c0:8dbb:94e0:d2eb:43f:5833)
2021-07-30 22:45:41 +0000 <pavonia> int-e++ (for posting nitter instead of twitter links)
2021-07-30 22:47:00 +0000tpefreedom(~tsomers@98-125-225-122.dyn.centurytel.net)
2021-07-30 22:47:18 +0000 <tpefreedom> Are there any GUI libraries that are not based on OO?
2021-07-30 22:47:28 +0000haskl(~haskl@98.37.78.63) (Ping timeout: 272 seconds)
2021-07-30 22:48:19 +0000 <pavonia> FRP libraries aren't, I guess
2021-07-30 22:48:24 +0000haskl(~haskl@98.37.78.63)
2021-07-30 22:48:26 +0000 <geekosaur> there's some FRP libraries
2021-07-30 22:48:38 +0000 <tpefreedom> FRP libraries?
2021-07-30 22:48:59 +0000 <geekosaur> some of which wrap originally OO or OO-like libs, but I think some are direct
2021-07-30 22:49:06 +0000 <geekosaur> functional reactive programming
2021-07-30 22:50:38 +0000drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 250 seconds)
2021-07-30 22:50:49 +0000 <delYsid> wait, does "cabal build" of a lib implicitly install it somehow?
2021-07-30 22:51:12 +0000 <monochrom> No.
2021-07-30 22:51:35 +0000 <monochrom> Even "cabal install" doesn't install a lib unless you add "--lib".
2021-07-30 22:51:36 +0000pesada(~agua@2804:14c:8793:8e2f:ecd5:11e0:50a0:f2fe)
2021-07-30 22:52:24 +0000 <monochrom> At least not in the "made available for bare-hand ghci" sense.
2021-07-30 22:53:03 +0000 <monochrom> But "cabal build" is extremely local to your source tree or build tree.
2021-07-30 22:53:23 +0000 <delYsid> I distinctly remember o-clock failed to build with ghc 9 yesterday. So I PR'ed it, and there hasnt been an upload to hackage yet. But today, the package I work on which depends on o-clock builds fine with ghc 9...
2021-07-30 22:53:54 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-30 22:53:57 +0000 <monochrom> Yes sometimes problems resolves themselves.
2021-07-30 22:54:02 +0000drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-30 22:54:22 +0000 <myShoggoth> Haskell Foundation July Update: https://discourse.haskell.org/t/haskell-foundation-july-update/2812
2021-07-30 22:54:28 +0000 <monochrom> Sometimes students email me questions when I'm asleep and email me again "I have figured it out" when I wake and check email. :)
2021-07-30 22:55:08 +0000 <delYsid> monochrom: yeah, but this is something different...
2021-07-30 22:55:08 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f) (Ping timeout: 272 seconds)
2021-07-30 22:55:21 +0000oxide(~lambda@user/oxide) (Quit: oxide)
2021-07-30 22:55:38 +0000 <delYsid> anyway, CI will tell.
2021-07-30 22:58:42 +0000 <tpefreedom> So far, with what little GUI stuff I've done, I've mostly just treated the widget toolkits like other imported libraries with their own built in operations.
2021-07-30 23:00:05 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f)
2021-07-30 23:01:06 +0000Null_A(~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 23:03:06 +0000pesada(~agua@2804:14c:8793:8e2f:ecd5:11e0:50a0:f2fe) (Ping timeout: 240 seconds)
2021-07-30 23:04:17 +0000dhil(~dhil@195.213.192.47) (Ping timeout: 245 seconds)
2021-07-30 23:04:56 +0000pesada(~agua@2804:14c:8793:8e2f:ecd5:11e0:50a0:f2fe)
2021-07-30 23:06:23 +0000qontinuum(qontinuum@user/qontinuum)
2021-07-30 23:07:10 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f) (Ping timeout: 272 seconds)
2021-07-30 23:08:16 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-30 23:08:19 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f)
2021-07-30 23:09:42 +0000safinaskar(~user@109.252.55.35) ()
2021-07-30 23:12:10 +0000pesada(~agua@2804:14c:8793:8e2f:ecd5:11e0:50a0:f2fe) (Ping timeout: 272 seconds)
2021-07-30 23:12:53 +0000lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-30 23:15:43 +0000drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 265 seconds)
2021-07-30 23:16:06 +0000qontinuum_(qontinuum@user/qontinuum)
2021-07-30 23:16:12 +0000qontinuum(qontinuum@user/qontinuum) (Ping timeout: 265 seconds)
2021-07-30 23:16:15 +0000qontinuum_qontinuum
2021-07-30 23:23:25 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 23:23:27 +0000qontinuum(qontinuum@user/qontinuum) (Ping timeout: 265 seconds)
2021-07-30 23:24:10 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 23:28:23 +0000qontinuum(qontinuum@user/qontinuum)
2021-07-30 23:31:02 +0000gustik(~gustik@2a01:c844:241f:c020:312a:c22f:e497:698f) (Quit: Leaving)
2021-07-30 23:32:34 +0000qontinuum_(qontinuum@user/qontinuum)
2021-07-30 23:33:00 +0000vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-07-30 23:33:07 +0000qontinuum(qontinuum@user/qontinuum) (Ping timeout: 265 seconds)
2021-07-30 23:33:07 +0000qontinuum_qontinuum
2021-07-30 23:40:00 +0000newhaskeller(~newhaskel@2804:14c:c0:8dbb:94e0:d2eb:43f:5833) (Quit: Client closed)
2021-07-30 23:42:00 +0000acidjnk(~acidjnk@p200300d0c72b9576e9974425ad52911e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-07-30 23:42:16 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-30 23:43:30 +0000lavaman(~lavaman@98.38.249.169)
2021-07-30 23:46:06 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-30 23:46:18 +0000Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 23:48:01 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-30 23:50:31 +0000pesada(~agua@191.177.175.57)
2021-07-30 23:52:43 +0000Core7498(~agua@2804:18:70:7597:1:0:6e99:2d6f)
2021-07-30 23:52:59 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-07-30 23:53:03 +0000agua(~agua@2804:18:70:7597:1:0:6e99:2d6f) (Read error: Connection reset by peer)
2021-07-30 23:54:00 +0000pesada(~agua@191.177.175.57) (Read error: Connection reset by peer)
2021-07-30 23:58:54 +0000Core9323(~Core9323@2804:14c:8793:8e2f:48b4:3d09:2f3b:552b)