2023/08/28

2023-08-28 00:00:14 +0200 <EvanR> I like pretty-simple
2023-08-28 00:00:16 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-28 00:00:19 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 00:00:41 +0200 <EvanR> silver standard it is
2023-08-28 00:01:33 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-28 00:02:06 +0200 <geekosaur> there's an inherent problem with pretty-printers: everyone has their own idea of what "pretty" is, especially for their program-specific types
2023-08-28 00:02:08 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-28 00:02:22 +0200cheater(~Username@user/cheater)
2023-08-28 00:02:29 +0200 <mniip> I like pretty-show with its "PreProc" mechanism
2023-08-28 00:04:04 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Client Quit)
2023-08-28 00:04:47 +0200 <Square> yeah, I can see that. I just thought "pretty-simple" was a bit cheap in that it just color literal values and block-separators.
2023-08-28 00:05:18 +0200 <geekosaur> wel, it is simple
2023-08-28 00:05:23 +0200 <Square> true
2023-08-28 00:05:53 +0200 <EvanR> welcome to the era of *simple haskell*
2023-08-28 00:06:21 +0200 <int-e> . o O ( It's better than BASIC )
2023-08-28 00:07:46 +0200 <mniip> what would "expensive" be in this context?
2023-08-28 00:07:48 +0200 <dsal> We are using one of those pretty printer things at work. I really dislike it for a few reasons. One is that it follows that new fad of putting everything on its own line. You write out a list of two things or something, you get like, three lines. The other thing is that has to convert everything to a string, then parse that string, and then based on what it parses, decide structure.
2023-08-28 00:07:58 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 00:08:31 +0200 <mniip> yeah we only use pretty-printers for golden tests to keep them more readable than `show`
2023-08-28 00:08:53 +0200 <EvanR> I would like a pretty printer which dumps my value to an SQL database and lets me query it
2023-08-28 00:08:59 +0200 <EvanR> automatically
2023-08-28 00:09:08 +0200 <dsal> Besides being super slow, a weird artifact in a Show instance can cause incorrect output, which led to an analysis problem once. I was looking at pretty printed output of a thing and didn't see a specific thing that indicated a problem. It was in the Show output, but the pretty printer ate it.
2023-08-28 00:09:28 +0200 <dsal> Golden tests are a pretty good use case for pretty printers like this.
2023-08-28 00:11:54 +0200 <dsal> Whatever one we're using is the default output printer in GHCI which… does not make things easier to read for me.
2023-08-28 00:12:17 +0200 <dsal> What would be two lines of output can involve scrolling.
2023-08-28 00:12:49 +0200 <geekosaur> ghci just uses the Show instance unless you're overriding it
2023-08-28 00:12:58 +0200danza(~francesco@151.37.230.40) (Read error: Connection reset by peer)
2023-08-28 00:13:00 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2023-08-28 00:13:14 +0200danza(~francesco@151.19.248.14)
2023-08-28 00:13:45 +0200 <dsal> Yeah, our project does the overloading.
2023-08-28 00:17:59 +0200 <dsal> For example: https://usercontent.irccloud-cdn.com/file/tsMflXlx/example.png
2023-08-28 00:18:30 +0200 <geekosaur> iiiiiiiick
2023-08-28 00:19:05 +0200 <dsal> Kind of a trendy look these days.
2023-08-28 00:20:01 +0200 <monochrom> :)
2023-08-28 00:22:35 +0200 <dsal> Ha. I made a directive that will ask the printer to do its compact representation. That depends on how wide it considers too wide before going all-in on tall: https://usercontent.irccloud-cdn.com/file/pXAEhSGS/tall.png
2023-08-28 00:27:29 +0200 <EvanR> your pretty printer is flawed. Each digit must be on its own line
2023-08-28 00:27:32 +0200ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-08-28 00:27:56 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-08-28 00:28:13 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 255 seconds)
2023-08-28 00:28:35 +0200 <aaronv> the commas should get their own lines
2023-08-28 00:28:35 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 00:28:35 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 00:28:35 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 00:31:07 +0200 <dsal> fourmolu kind of does that in really weird and unjustifiable conditions: https://github.com/fourmolu/fourmolu/issues/72
2023-08-28 00:32:20 +0200acidjnk(~acidjnk@p200300d6e7072f524500269999e4b2db.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-08-28 00:34:59 +0200 <Square> dsal, how do you get this fourmolu to work in ghci?
2023-08-28 00:35:23 +0200foul_owl_(~kerry@174-21-66-189.tukw.qwest.net)
2023-08-28 00:35:42 +0200 <dsal> ghci is running some other pretty printer. fourmolu is a sticky paste we smear on our code to make it take up more vertical space.
2023-08-28 00:35:44 +0200foul_owl(~kerry@157.97.134.164) (Ping timeout: 258 seconds)
2023-08-28 00:36:35 +0200 <dsal> You can override the print function with `-interactive-print` – I've got a ghci function that overrides our override to sometimes be less bad.
2023-08-28 00:39:01 +0200 <wroathe> Say I want to map types to strings... is there a more concise way of doing so than defining a type class and instances? I.e. instead of class Foo t where; fooString :: Tagged t String and instance X where; instance Y where;
2023-08-28 00:39:16 +0200 <wroathe> Just having some kind of map from Type -> 'String or something like that
2023-08-28 00:39:53 +0200 <geekosaur> Data.Typeable.typeRep?
2023-08-28 00:42:04 +0200 <EvanR> a type level String?
2023-08-28 00:42:11 +0200 <wroathe> geekosaur: Does that let me choose atrbitrary strings? the use case is a code generator that maps haskell data types to type keywords in that other language
2023-08-28 00:42:42 +0200 <wroathe> I want to go from Int32 -> "int" and Text -> "text" and so on
2023-08-28 00:42:52 +0200 <EvanR> you could use a type family to go from type/datakind to Symbol
2023-08-28 00:43:13 +0200 <wroathe> EvanR: That's what I was wondering about. I need to go read up on type families
2023-08-28 00:43:42 +0200 <EvanR> F Int32 = "int"
2023-08-28 00:43:47 +0200 <EvanR> F Text = "text"
2023-08-28 00:43:52 +0200 <EvanR> ...
2023-08-28 00:44:01 +0200 <wroathe> perfect, yeah, that would be great
2023-08-28 00:44:04 +0200 <EvanR> ok, that's not the syntax
2023-08-28 00:44:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 246 seconds)
2023-08-28 00:45:56 +0200 <EvanR> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/type_families.html#synonym-families
2023-08-28 00:46:29 +0200 <wroathe> symbolVal (Proxy :: Proxy (F Int32))
2023-08-28 00:46:38 +0200 <wroathe> Yeah, that seems to do the trick
2023-08-28 00:47:02 +0200 <wroathe> type family F a where; F Int32 = "int"
2023-08-28 00:47:46 +0200 <wroathe> This kind of type level programming is such a fun rabbit hole
2023-08-28 00:47:56 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-28 00:48:02 +0200 <EvanR> still waiting for my type level DOOM
2023-08-28 00:48:49 +0200gatekempt(~gatekempt@user/gatekempt)
2023-08-28 00:48:50 +0200 <wroathe> EvanR: I'm sure there's someone working on it
2023-08-28 00:49:26 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-08-28 00:54:36 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 248 seconds)
2023-08-28 00:57:08 +0200shapr(~user@2600:1700:c640:3100:147e:15c1:a149:186b)
2023-08-28 00:57:52 +0200Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.237)
2023-08-28 01:10:00 +0200 <dsal> Simple Haskell is the knee jerk reaction to Type Level Doom
2023-08-28 01:10:10 +0200 <wroathe> Hmm, is there a way to use a type family as a constraint?
2023-08-28 01:10:34 +0200 <wroathe> asType :: Tagged t String; asType = Tagged $ symbolVal (Proxy :: Proxy (DataType t))
2023-08-28 01:10:54 +0200 <wroathe> The use case is that the compiler isn't inferring that DataType t is an instance of KnownSymbol
2023-08-28 01:11:41 +0200 <wroathe> https://gist.github.com/JustinChristensen/d6f0c180899a1b03008dbf6b9007ec38
2023-08-28 01:14:46 +0200 <wroathe> What I'd like to be able to say there is DataType t => Tagged t String
2023-08-28 01:20:05 +0200 <aaronv> what was wrong with using type classes?
2023-08-28 01:20:54 +0200 <wroathe> aaronv: just experimenting in trying to be a bit more concise
2023-08-28 01:25:42 +0200 <geekosaur> wroathe, can you not simply say that?
2023-08-28 01:26:38 +0200 <wroathe> • Expected a constraint, but ‘DataType t’ has kind ‘Symbol’
2023-08-28 01:26:46 +0200 <aaronv> you need the KnownSymbol constraint. Also your type family has the downside that it's closed. Would be more comparable to type classes to use an open type family
2023-08-28 01:26:48 +0200 <geekosaur> hm, actually I think it has to be either `Tagged (DataType t) String` or `DataType t ~ x => Tagged x String`
2023-08-28 01:27:04 +0200 <geekosaur> oh, more complex than I'm thinking
2023-08-28 01:27:07 +0200 <aaronv> and there are unfortunately no constraints for type families
2023-08-28 01:27:08 +0200 <wroathe> aaronv: The closedness is just fine in this case
2023-08-28 01:27:14 +0200 <aaronv> instead they just get stuck if you don't have an instance
2023-08-28 01:27:28 +0200 <geekosaur> `(DataType t ~ x, KnownSymbol x) => Tagged t String` ?
2023-08-28 01:27:59 +0200 <wroathe> geekosaur: no dice
2023-08-28 01:28:16 +0200 <aaronv> KnownSymbol (DataType t) =>
2023-08-28 01:28:26 +0200 <wroathe> aaronv: Yeah in this case I just need a way to tell the compiler that `t` is one of the types that I have a type family instance defined for
2023-08-28 01:28:42 +0200 <wroathe> aaronv: Hmm, I tried that too before I posted here, and it didn't work
2023-08-28 01:28:43 +0200 <geekosaur> oh
2023-08-28 01:29:22 +0200 <aaronv> you can't do that, but even if you could you would still need a type class constraint in order to get something term-level
2023-08-28 01:30:00 +0200 <wroathe> Hmm, if type classes are the only way to do this I'm going to be a sad panda
2023-08-28 01:30:18 +0200 <aaronv> open type families are essentially just type-level type classes (in that they associate types with types rather than terms with types), but broken in that they don't require constraints to use (and you can't write such constraints)
2023-08-28 01:30:36 +0200 <aaronv> well, you can reuse the KnownSymbol class
2023-08-28 01:30:57 +0200 <wroathe> Meaning KnownSymbol (DataType t) => ?
2023-08-28 01:31:01 +0200 <aaronv> yes
2023-08-28 01:31:05 +0200 <wroathe> I had tried that and I get the same result
2023-08-28 01:31:07 +0200 <aaronv> or you can make an alias for it
2023-08-28 01:31:29 +0200ski(~ski@w188040.eduroam.gu.se)
2023-08-28 01:31:29 +0200 <wroathe> asType :: (KnownSymbol (DataType t)) => Tagged t String; asType = Tagged $ symbolVal (Proxy :: Proxy (DataType t))
2023-08-28 01:31:39 +0200 <aaronv> you need to enable scoped type variables and write an explicit forall for t
2023-08-28 01:31:48 +0200 <wroathe> Still tells me that Could not deduce (KnownSymbol (DataType t0))
2023-08-28 01:31:57 +0200 <wroathe> Ok, I've got #1
2023-08-28 01:32:01 +0200 <wroathe> I'll add the forall
2023-08-28 01:32:18 +0200 <wroathe> aaronv: You're a wizard
2023-08-28 01:32:21 +0200 <wroathe> That worked
2023-08-28 01:33:24 +0200 <wroathe> Assuming I don't mind that type family being closed, what's wrong with doing it this way
2023-08-28 01:33:40 +0200 <wroathe> Seems a little more syntactically concise than doing it the regular type class way
2023-08-28 01:35:53 +0200 <aaronv> you can write your type class instances on a single line each btw
2023-08-28 01:36:40 +0200 <wroathe> instance DataType Int32 where asType = "int" ?
2023-08-28 01:36:56 +0200 <wroathe> Yeah I suppose
2023-08-28 01:37:28 +0200 <wroathe> well, I suppose asType = Tagged "int"
2023-08-28 01:37:42 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 01:38:25 +0200 <aaronv> you can avoid Tagged if you use AllowAmbiguousTypes and TypeApplications
2023-08-28 01:38:30 +0200otto_s(~user@p4ff27798.dip0.t-ipconnect.de)
2023-08-28 01:38:48 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-28 01:39:10 +0200 <wroathe> I've been mulling over AllowAmbiguousTypes. I'm going to finish this code generator with Tagged first, and then maybe removed that bit
2023-08-28 01:39:29 +0200 <wroathe> Seemed like a sledgehammer, but I suppose I can limit that by moving this into a separate module
2023-08-28 01:39:59 +0200 <aaronv> you probably only need it for the class definition, I think
2023-08-28 01:40:20 +0200 <wroathe> right
2023-08-28 01:40:42 +0200 <wroathe> aaronv: thanks for the help, I'm logging off for a bit
2023-08-28 01:40:57 +0200 <aaronv> wait, you could use overloaded strings
2023-08-28 01:41:00 +0200 <aaronv> to not write Tagged
2023-08-28 01:41:06 +0200 <wroathe> :O
2023-08-28 01:41:22 +0200 <geekosaur> aaronv, iirc this started out as that but wroathe wanted to avoid AAT
2023-08-28 01:41:41 +0200 <wroathe> geekosaur: You're right, but I've been waffling on my position on that
2023-08-28 01:41:45 +0200 <aaronv> create your own tagged type with an IsString instance
2023-08-28 01:41:50 +0200 <aaronv> no need for AAT then
2023-08-28 01:41:55 +0200 <geekosaur> yeh, personally I think this is the very case AAT exists for
2023-08-28 01:41:57 +0200 <aaronv> for literals at least
2023-08-28 01:42:20 +0200 <geekosaur> since it really needs what amounts to a dependent type to be properly typeable
2023-08-28 01:42:44 +0200 <wroathe> Thanks for the help guys. I'll be back on a bit later on.
2023-08-28 01:43:09 +0200 <aaronv> newtype TaggedString t = TaggedString String; class Foo t where foo :: TaggedString t; instance IsString (TaggedString t) where ...
2023-08-28 01:45:26 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2023-08-28 01:47:19 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2023-08-28 01:48:40 +0200Thomas03(~Thomas03@2600:1702:21b0:a500:e1c1:8242:9d33:b337) (Quit: Client closed)
2023-08-28 01:49:01 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-08-28 01:50:21 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds)
2023-08-28 01:53:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
2023-08-28 01:54:21 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 01:54:21 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 01:54:21 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 01:54:23 +0200 <Jeanne-Kamikaze> How can I express "If Foo is an instance of MyClass, then it automatically is an instance of MyOtherClass (and here's the def, by the way)." Or do I need to write an instance of MyOtherClass for every Foo?
2023-08-28 01:55:21 +0200 <EvanR> instance MyClass a => MyOtherClass a where
2023-08-28 01:55:31 +0200 <EvanR> -- you prove it
2023-08-28 01:55:52 +0200 <Jeanne-Kamikaze> I seem to get an error with overlapping instances when I do that (slightly more complicated code.)
2023-08-28 01:56:17 +0200 <Jeanne-Kamikaze> It tells me that Bar has two MyOtherClass implementations, even though Bar does not implement MyClass.
2023-08-28 01:56:44 +0200 <c_wraith> The overall rule is that you shouldn't make types you don't know about instances of something.
2023-08-28 01:56:59 +0200 <aaronv> if you do what EvanR suggests then there can be no other instances of MyOtherClass
2023-08-28 01:57:18 +0200 <aaronv> there's no way to do what you want right now. You have to write the boilerplate instances
2023-08-28 01:57:23 +0200 <c_wraith> You can make a default definition for the class which allows one-line definitions for types that wish to opt in.
2023-08-28 01:57:26 +0200 <aaronv> and yes it's terrible
2023-08-28 01:57:26 +0200 <Jeanne-Kamikaze> You mean I cannot instance MyOtherClass Bar, even though Bar does not implement MyClass?
2023-08-28 01:57:46 +0200 <c_wraith> Bar sounds like a type you know
2023-08-28 01:57:46 +0200 <EvanR> you want to write that instance or not?
2023-08-28 01:58:05 +0200 <c_wraith> What you shouldn't do is write instances for types you don't know.
2023-08-28 01:58:11 +0200 <EvanR> is it supposed to be automatic or manual
2023-08-28 01:58:15 +0200 <Jeanne-Kamikaze> I am trying to save writing boilerplate MyOtherClass instances for Foo, Bar, Baz.
2023-08-28 01:58:31 +0200 <aaronv> short answer is you can't. This is a problem with haskell
2023-08-28 01:58:39 +0200 <c_wraith> it's not even a problem.
2023-08-28 01:58:42 +0200 <c_wraith> It makes code sane
2023-08-28 01:58:44 +0200 <EvanR> if all the boilerplates are the same you could use generics
2023-08-28 01:58:57 +0200 <c_wraith> if you could write a magic instance, you don't need generics.
2023-08-28 01:59:00 +0200 <aaronv> having to write boilerplate instances is definitely a problem
2023-08-28 01:59:01 +0200 <c_wraith> Just write a default implementation
2023-08-28 01:59:14 +0200 <c_wraith> then all you have to do is add the class to your deriving line...
2023-08-28 01:59:17 +0200 <EvanR> I mean, "the same"
2023-08-28 01:59:24 +0200 <aaronv> though the solution would not be able to write an instance like EvanR suggests
2023-08-28 01:59:40 +0200 <Jeanne-Kamikaze> Yeah, they are "the same". How do I use generics here?
2023-08-28 01:59:46 +0200 <c_wraith> don't.
2023-08-28 01:59:49 +0200 <c_wraith> they're irrelevant
2023-08-28 02:00:05 +0200 <c_wraith> Just write a default instance.
2023-08-28 02:00:27 +0200 <c_wraith> and all the types you want can opt in without doing anything other than saying they're opting in.
2023-08-28 02:00:33 +0200 <aaronv> you can use deriving via to derive the boilerplate instances
2023-08-28 02:00:51 +0200 <c_wraith> .... there are no boilerplate instance. why is everyone making this complicated?
2023-08-28 02:00:58 +0200gatekempt(~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-08-28 02:01:19 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 02:01:26 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 02:01:47 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-28 02:01:48 +0200 <Jeanne-Kamikaze> By default instance, do you mean writing default implementations for the functions in the type class?
2023-08-28 02:02:29 +0200 <c_wraith> yes. Use https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/default_signatures.html to put the constraint on the definition
2023-08-28 02:02:31 +0200 <aaronv> probably means default signatures. but you can only have one default signature and may have multiple ways to derive a superclass
2023-08-28 02:02:35 +0200 <EvanR> ok yeah, write the default implementation in the type class. Then every type you want to be an instance put instance MyOtherClass Bar
2023-08-28 02:02:56 +0200 <c_wraith> aaronv: did you read the initial question? This is the correct solution to that.
2023-08-28 02:02:56 +0200 <Jeanne-Kamikaze> I see... but what if they are not "the same" after all?
2023-08-28 02:03:00 +0200 <EvanR> lol
2023-08-28 02:03:08 +0200 <int-e> Whenever I hear this question... I wonder... are you trying to do OO in Haskell?
2023-08-28 02:03:09 +0200 <aaronv> until you have another subclass
2023-08-28 02:03:34 +0200 <int-e> (It can be done and it's usually not a great approach to anything.)
2023-08-28 02:03:39 +0200 <aaronv> this is the general default superclass problem which has existed forever and for which there are a bunch of proposed extensions none of which have ever gone anywhere
2023-08-28 02:04:14 +0200 <c_wraith> I mean, it's not a problem because attempting to do it magically is the problem. Being explicit is the solution.
2023-08-28 02:04:33 +0200 <EvanR> Jeanne-Kamikaze, so what is it, if not actually the same
2023-08-28 02:04:37 +0200 <aaronv> the real problem is the inability to abstract over construction of type class instances
2023-08-28 02:04:38 +0200 <int-e> Though the AMP mess was a counterexample to that OO idea.
2023-08-28 02:05:07 +0200 <Jeanne-Kamikaze> Trying to think of a minimal example.
2023-08-28 02:05:16 +0200 <int-e> (After AMP, everything that was a single Monad instance suddenly had to be a Functor, an Applicative, and a Monad instance.)
2023-08-28 02:05:45 +0200 <int-e> (All without any OO in sight.)
2023-08-28 02:05:49 +0200mvk(~mvk@2607:fea8:5c9a:a600::5235)
2023-08-28 02:06:02 +0200 <aaronv> what is OO
2023-08-28 02:06:11 +0200 <int-e> object-oriented programming
2023-08-28 02:06:13 +0200 <aaronv> what is that
2023-08-28 02:06:15 +0200 <c_wraith> int-e: all the types that were monads without also being instances of Applicative were terrible. I'm glad they were forced to be sane.
2023-08-28 02:06:19 +0200 <EvanR> lol
2023-08-28 02:06:23 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds)
2023-08-28 02:06:25 +0200 <int-e> aaronv: I won't answer that
2023-08-28 02:06:29 +0200 <aaronv> there is no answer
2023-08-28 02:06:43 +0200 <EvanR> OO haskell is where you try to emulate classes, subclasses, and reimplementing the superclass functionality selectively
2023-08-28 02:06:56 +0200 <EvanR> where classes are as in java
2023-08-28 02:07:14 +0200 <aaronv> I thought OO haskell was the lens library
2023-08-28 02:07:25 +0200 <EvanR> that's optics oriented programming
2023-08-28 02:07:26 +0200 <aaronv> with all it's subtyping
2023-08-28 02:07:30 +0200 <int-e> c_wraith: It wasn't exactly a complaint. But I did write code before Applicative was a thing.
2023-08-28 02:07:32 +0200 <aaronv> *its
2023-08-28 02:07:37 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-28 02:08:19 +0200 <int-e> c_wraith: And adapting that was tedious.
2023-08-28 02:08:20 +0200 <EvanR> the lens stuff is an example of "OO" subtyping actually working right, unlike most of the time java
2023-08-28 02:09:00 +0200 <aaronv> well, except the quantified types aren't first class, which can be annoying
2023-08-28 02:09:15 +0200 <EvanR> first class types?
2023-08-28 02:09:47 +0200 <EvanR> idris I can hear you in the trunk of that car screaming to get out
2023-08-28 02:10:56 +0200 <geekosaur> `forall a ->` is banging on the door
2023-08-28 02:10:56 +0200 <aaronv> maybe I should say they aren't even second class
2023-08-28 02:11:23 +0200 <aaronv> `forall a ->` would give up the subtyping
2023-08-28 02:13:56 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-08-28 02:14:01 +0200Inst(~liamzy@2601:6c4:4085:6d50::7f5a)
2023-08-28 02:14:51 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-08-28 02:15:07 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-08-28 02:15:26 +0200ddellacosta(~ddellacos@143.244.47.89) (Ping timeout: 245 seconds)
2023-08-28 02:15:37 +0200falafel(~falafel@216.68.6.51.dyn.plus.net) (Ping timeout: 246 seconds)
2023-08-28 02:17:00 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-08-28 02:17:29 +0200ddellacosta(~ddellacos@146.70.165.10)
2023-08-28 02:17:33 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 02:18:24 +0200 <Inst> erm, question
2023-08-28 02:18:40 +0200 <Axman6> No, statement
2023-08-28 02:18:51 +0200 <Inst> more like a clause, or a sentence fragment?
2023-08-28 02:18:54 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-08-28 02:19:03 +0200 <Inst> shoudn't tail calls be optimized to mutating code?
2023-08-28 02:19:09 +0200 <Inst> copy, mutate, return
2023-08-28 02:19:18 +0200 <Inst> *tail recursive calls
2023-08-28 02:20:33 +0200 <Inst> i assumed they were, someone corrected me that they weren't
2023-08-28 02:21:08 +0200 <Inst> i suppose state chains aren't, though, because they're not linear (yet), #1, #2, linear haskell makes no claim of enabling mutation
2023-08-28 02:21:22 +0200 <geekosaur> everything is a tail call by the time you reach STG, so things are much more complicated than that
2023-08-28 02:22:42 +0200 <Jeanne-Kamikaze> > EvanR> OO haskell is where you try to emulate classes, subclasses, and reimplementing the superclass functionality selectively; Yeah, I think that is what I was trying to do in a nutshell.
2023-08-28 02:22:44 +0200 <lambdabot> <hint>:1:22: error: parse error on input ‘where’
2023-08-28 02:23:14 +0200 <Jeanne-Kamikaze> I need to go back to the drawing board. Part of the problem is figuring out what I really want :/
2023-08-28 02:23:34 +0200 <EvanR> Jeanne-Kamikaze, probably an unpleastant road to go down but you can read some papers on past attempts
2023-08-28 02:24:25 +0200 <EvanR> instead of OO being a solution looking for a problem here, you should flesh out the problem
2023-08-28 02:24:42 +0200 <Inst> the foolish person learns from their own mistakes, the wise person learns from others' mistakes. But the foolish person has more fun!
2023-08-28 02:25:36 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-28 02:25:36 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-28 02:25:36 +0200wroathe(~wroathe@user/wroathe)
2023-08-28 02:27:13 +0200 <Inst> geekosaur: it came up because someone wanted mutation, I thought TCO was already mutation in the sense that it evaluated to a jump with constant registers
2023-08-28 02:27:43 +0200 <Inst> they left happily with unsafeFreeze, unsafeThaw, a warning, and a grin on their face from the likely inevitable explosion
2023-08-28 02:28:22 +0200 <EvanR> TCO isn't mutation at all
2023-08-28 02:28:49 +0200 <EvanR> it's lack of mutation (of the call stack, in some other setting which has a call stack)
2023-08-28 02:29:04 +0200 <Inst> ah :(
2023-08-28 02:29:21 +0200 <EvanR> which is why it's so cool, "zero cost call"
2023-08-28 02:30:09 +0200 <Inst> so what happens to the function arguments?
2023-08-28 02:30:20 +0200 <Inst> do they get shifted around, replaced with new pointers?
2023-08-28 02:30:21 +0200 <EvanR> passed to the function being called
2023-08-28 02:30:40 +0200 <EvanR> so I lied there
2023-08-28 02:31:03 +0200 <Inst> strictly, but the new function call creates new memory addresses / uses new registers? :(
2023-08-28 02:31:04 +0200 <EvanR> when you have no arguments, it's just a jump
2023-08-28 02:31:37 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-28 02:31:56 +0200 <EvanR> haskell programs use registers too but I don't see the connection
2023-08-28 02:32:04 +0200 <dolio> It's definitely true that some common uses of mutation can be replaced by tail recursion.
2023-08-28 02:32:42 +0200 <dolio> That's because the only way to do tail recursion in many languages (without unnecessarily eating stack) is with loops and mutation.
2023-08-28 02:33:04 +0200 <Inst> i actually like mutation and state, i just want it to be the compiler's problem, not mine, whenever possible
2023-08-28 02:33:10 +0200 <monochrom> Jeanne-Kamikaze: In the standard library, "if T is a Num instance, then it is also a Monoid instance using addition" is realized by the newtype wrapper "Sum", i.e., instance Num a => instance Monoid (Sum a)
2023-08-28 02:33:13 +0200 <Axman6> since there's no returning from a tail call, all a call to a haskell function is is putting the arguments in registers (many caveats here) and then jumping to that, and by definition anything that was in registers in the calling code can be overwritten, since it'll never be used.
2023-08-28 02:34:10 +0200 <Axman6> so at some level here's always mutation going on, and a tail recursive function will repeatedly overwrite its arguments on each recursive call
2023-08-28 02:34:12 +0200 <Jeanne-Kamikaze> monochrom, yeah, I think that's what I was trying to formulate.
2023-08-28 02:34:46 +0200 <Jeanne-Kamikaze> Like there are different kinds of monoids, but those that are Num behave with mappend = (+)
2023-08-28 02:35:13 +0200 <Axman6> no, they _can_ behave like thaty, or they can use mappend = (*)
2023-08-28 02:35:14 +0200 <Inst> i'm not sure this is correct, but there's only one Monoid typeclass, but different types instanced into the typeclass
2023-08-28 02:35:15 +0200 <Axman6> or const
2023-08-28 02:35:18 +0200 <monochrom> There are other cases where there is uniqueness but you still need a newtype wrapper to intervene.
2023-08-28 02:35:34 +0200ski(~ski@w188040.eduroam.gu.se) (Ping timeout: 255 seconds)
2023-08-28 02:35:41 +0200 <Inst> kinds is a bit of a dangerous word because it's a term of art in Haskell
2023-08-28 02:35:43 +0200 <Axman6> or any number of other implementations, which is why we split those common implementations out into the newtypes
2023-08-28 02:35:53 +0200 <monochrom> Fundamentally this is how Haskell type classes work (and not work). You need a wrapper, lest it's undecidable and overlapping.
2023-08-28 02:36:15 +0200ski(~ski@w188047.eduroam.gu.se)
2023-08-28 02:36:49 +0200 <EvanR> typeclasses vs the world, for any given type there's zero or one instance of something
2023-08-28 02:36:59 +0200 <EvanR> in typeclasses we trust
2023-08-28 02:37:00 +0200 <Inst> you know what a newtype is, right?
2023-08-28 02:37:20 +0200 <Jeanne-Kamikaze> Yeah
2023-08-28 02:39:47 +0200 <Inst> also, no, Num doesn't behave with mappend = (+) because real numbers have both addition and multiplication as monoids, hence the Sum newtype wrapper for (+) vs Product (*)
2023-08-28 02:39:52 +0200 <Jeanne-Kamikaze> Is understanding why the newtype is needed there / comment about undecidable/overlapping something one can read out?
2023-08-28 02:40:22 +0200 <Jeanne-Kamikaze> I just don't really understand how the type inference and stuff generally works.
2023-08-28 02:40:36 +0200 <Jeanne-Kamikaze> *read about
2023-08-28 02:40:47 +0200 <Axman6> The problem comes when I write mappend 2.0 3.0, do I want the answer to be 5.0 or 6.0?
2023-08-28 02:41:19 +0200 <Axman6> there's no way the compiler can know which implementation is expected if you can define mappend = (+) and mappend = (*)
2023-08-28 02:41:36 +0200 <EvanR> you can write an instance that implements Monoid for all Nums. And that overlaps all the usual Num instances
2023-08-28 02:41:37 +0200 <Jeanne-Kamikaze> Let's say that that Num only has (+) or (*), just one possible definition of monoid. Do you still need to wrap it in a newtype to avoid the overlapping/undecidable situation?
2023-08-28 02:41:49 +0200 <Inst> you don't
2023-08-28 02:41:59 +0200 <Axman6> yes
2023-08-28 02:42:13 +0200 <Inst> instance Num a => Monoid a where; mappend = (+)
2023-08-28 02:42:23 +0200 <EvanR> that overlaps and so is bad
2023-08-28 02:42:23 +0200 <Inst> do you have ghci ready?
2023-08-28 02:42:24 +0200 <Axman6> what if I want mappend 2.0 3.0 == 2.0? a.k.a, the First Monoid (sort of)
2023-08-28 02:42:40 +0200 <Jeanne-Kamikaze> Yeah. I get an error that the thing overlaps when the 'a' is not a Num.
2023-08-28 02:42:54 +0200 <EvanR> it also overlaps when it is a Num and has a Monoid instance too
2023-08-28 02:42:59 +0200 <Inst> hmm, that doesn't compile :(
2023-08-28 02:43:06 +0200 <Axman6> there's an infinite number of monoid instances that we could want, picking one arbitrarily makes all the others more painful to use
2023-08-28 02:43:46 +0200 <Jeanne-Kamikaze> What does "overlap" here really mean? What's the problem?
2023-08-28 02:43:54 +0200 <EvanR> a type has two instances of a class
2023-08-28 02:43:58 +0200 <monochrom> I can only think of the Haskell Report plus Typing Haskell in Haskell.
2023-08-28 02:44:08 +0200 <Jeanne-Kamikaze> How? You can either be or not be a Num?
2023-08-28 02:44:09 +0200 <Axman6> Jeanne-Kamikaze: what does mappend 2.0 3.0 return?
2023-08-28 02:44:17 +0200 <EvanR> you were talking about implementing Monoid
2023-08-28 02:45:00 +0200 <monochrom> "instance C [a]" and "instance C (f Int)" overlap. Because [Int] matches both.
2023-08-28 02:45:24 +0200 <monochrom> Clearly, "instance C a" and "instance C Int" also overlap, even more badly.
2023-08-28 02:46:05 +0200 <monochrom> Oh, "instance ExtraCondition => C a" is not going to help. Instance matching goes backwards and optimistically.
2023-08-28 02:46:11 +0200 <Inst> why is it complaining about undecidableinstances and the constraint Num a being no smaller than Monoid a? :(
2023-08-28 02:46:27 +0200 <Jeanne-Kamikaze> monochrom, yeah, that ExtraCondition => C a is what I had.
2023-08-28 02:46:35 +0200 <Jeanne-Kamikaze> I thought ExtraCondition would keep me honest.
2023-08-28 02:46:48 +0200 <monochrom> Here is how "instance Ord a => Ord [a]" works, for example.
2023-08-28 02:46:51 +0200 <Jeanne-Kamikaze> But it don't.
2023-08-28 02:47:25 +0200 <geekosaur> Inst, the compiler does not reason about meaning, it does not know and can not tell that there are fewer Num instances than Monoid instances
2023-08-28 02:47:25 +0200 <Inst> just curious, do you know what a mathematical monoid is?
2023-08-28 02:47:32 +0200 <Axman6> What if we also have: instance (Show a, Read a) => Monoid a where mappend a b = read (show a ++ show b), that also overlaps with basically all types which are instances of Num
2023-08-28 02:47:42 +0200 <Jeanne-Kamikaze> It's a single object category baby
2023-08-28 02:47:44 +0200 <geekosaur> It knows only that they have the same shape and one is not defined in terms of the other
2023-08-28 02:47:46 +0200 <monochrom> [MyType] matches [a] therefore Ord [MyType] is committed. Cut. (No backtracking in the future).
2023-08-28 02:48:08 +0200 <Jeanne-Kamikaze> Yeah, I am roughly familiar with monoids, that's as far as I got into the category theory book.
2023-08-28 02:48:14 +0200 <monochrom> Then "Ord MyType" is checked. If none found. error. There is no search for alternative solutions.
2023-08-28 02:48:32 +0200 <monochrom> Apply the same logic to "instance Num a => C a".
2023-08-28 02:48:56 +0200 <monochrom> Int matches "a", therefore C Mytype is committed. Cut.
2023-08-28 02:48:58 +0200 <Inst> wait, am I wrong when I say the most accessible concept of monoid is from algebra, not category theory?
2023-08-28 02:49:09 +0200 <monochrom> Then, if Num Mytype fails, error. THE END.
2023-08-28 02:49:43 +0200 <monochrom> Conclusion: "instance Num a => C a" does not mean "if Num a, then C a".
2023-08-28 02:50:19 +0200 <Inst> the way I understand the Haskeller fascination with abstract mathematics is that, in other languages, people want interfaces with contracts
2023-08-28 02:50:27 +0200 <Inst> mathematics gives you free interfaces with contracts
2023-08-28 02:50:44 +0200 <Inst> erm, gives you interfaces with free contracts
2023-08-28 02:50:46 +0200 <Jeanne-Kamikaze> monochrom, that explains it, thank you. I was going backwards in that reasoning.
2023-08-28 02:50:50 +0200 <monochrom> at least not with causal "if-then".
2023-08-28 02:51:28 +0200 <monochrom> Haskell's type class system is a very simplified Prolog with implicit cuts almost everywhere.
2023-08-28 02:53:06 +0200 <Jeanne-Kamikaze> Or rather, I was going forwards.
2023-08-28 02:53:11 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 250 seconds)
2023-08-28 02:53:44 +0200 <Jeanne-Kamikaze> "No backtracking" sounds like the opposite of SFINAE in C++ too.
2023-08-28 02:54:21 +0200ski(~ski@w188047.eduroam.gu.se) (Ping timeout: 260 seconds)
2023-08-28 02:58:51 +0200 <monochrom> The most important deviation from Prolog (which justifies other deviations) is that Prolog has closed-world assumption, Haskell is a separate compilation language so it has open-world assumption.
2023-08-28 02:59:54 +0200 <monochrom> backtracking and failre=negation require closed world
2023-08-28 03:00:19 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-08-28 03:02:24 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-28 03:04:15 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 03:04:56 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 03:05:38 +0200yisef(~yisef@202.81.231.204)
2023-08-28 03:08:11 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-08-28 03:08:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 03:10:55 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-08-28 03:11:05 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-08-28 03:11:20 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 03:12:52 +0200notzmv(~zmv@user/notzmv)
2023-08-28 03:17:02 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-08-28 03:17:23 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-08-28 03:18:36 +0200YuutaW(~YuutaW@2404:f4c0:f9c3:502::100:17b7) (Ping timeout: 246 seconds)
2023-08-28 03:20:47 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-08-28 03:23:20 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-28 03:23:38 +0200bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
2023-08-28 03:32:03 +0200Inst(~liamzy@2601:6c4:4085:6d50::7f5a) (Ping timeout: 246 seconds)
2023-08-28 03:37:28 +0200 <Jeanne-Kamikaze> Alright, welp, thanks for the lesson, I'm calling it a day.
2023-08-28 03:37:52 +0200Jeanne-Kamikaze(~Jeanne-Ka@142.147.89.237) (Quit: Leaving)
2023-08-28 03:41:17 +0200mvk(~mvk@2607:fea8:5c9a:a600::5235) (Ping timeout: 246 seconds)
2023-08-28 03:41:30 +0200doyougnu(~doyougnu@45.46.170.68) (Ping timeout: 246 seconds)
2023-08-28 03:44:23 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-08-28 03:44:38 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 03:44:57 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 245 seconds)
2023-08-28 03:45:07 +0200finsternis(~X@23.226.237.192) (Read error: Connection reset by peer)
2023-08-28 03:46:42 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-08-28 03:48:23 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 03:50:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds)
2023-08-28 03:57:52 +0200otto_s(~user@p4ff27798.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2023-08-28 03:59:55 +0200otto_s(~user@p5b044fa6.dip0.t-ipconnect.de)
2023-08-28 04:05:42 +0200bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 246 seconds)
2023-08-28 04:08:11 +0200hyvoid(~hyenavoid@222-0-178-69.static.gci.net)
2023-08-28 04:13:17 +0200danza_(~francesco@151.43.231.136)
2023-08-28 04:15:26 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 04:15:48 +0200danza(~francesco@151.19.248.14) (Ping timeout: 246 seconds)
2023-08-28 04:21:01 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-08-28 04:24:12 +0200Square(~Square@user/square) (Ping timeout: 248 seconds)
2023-08-28 04:27:04 +0200Square(~Square@user/square)
2023-08-28 04:46:07 +0200YuutaW(~YuutaW@mail.yuuta.moe)
2023-08-28 04:48:05 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-08-28 04:48:05 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-08-28 04:48:05 +0200finn_elijaFinnElija
2023-08-28 04:48:41 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds)
2023-08-28 04:50:23 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 04:50:24 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 04:50:24 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 04:52:29 +0200td_(~td@83.135.9.2) (Ping timeout: 248 seconds)
2023-08-28 04:53:46 +0200yisef(~yisef@202.81.231.204) (Remote host closed the connection)
2023-08-28 04:54:10 +0200td_(~td@i5387090B.versanet.de)
2023-08-28 04:54:36 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2023-08-28 04:59:30 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 05:00:21 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-28 05:01:01 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds)
2023-08-28 05:06:34 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 05:06:35 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 05:06:35 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 05:09:34 +0200dolio(~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-28 05:10:36 +0200remmie(ianremsen@tilde.team) (Ping timeout: 246 seconds)
2023-08-28 05:11:11 +0200dolio(~dolio@130.44.134.54)
2023-08-28 05:11:35 +0200vulpine(xfnw@tilde.team) (Ping timeout: 246 seconds)
2023-08-28 05:12:38 +0200vulpine(xfnw@tilde.team)
2023-08-28 05:12:44 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 248 seconds)
2023-08-28 05:14:21 +0200dolio(~dolio@130.44.134.54) (Client Quit)
2023-08-28 05:16:49 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 05:16:49 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 05:16:49 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 05:17:55 +0200dolio(~dolio@130.44.134.54)
2023-08-28 05:18:42 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2023-08-28 05:21:36 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds)
2023-08-28 05:27:14 +0200doyougnu(~doyougnu@45.46.170.68)
2023-08-28 05:29:10 +0200actioninja4(~actioninj@user/actioninja)
2023-08-28 05:29:43 +0200aforemny(~aforemny@2001:9e8:6cc3:b300:7be0:f3fb:8199:5ccd)
2023-08-28 05:30:29 +0200actioninja(~actioninj@user/actioninja) (Ping timeout: 250 seconds)
2023-08-28 05:30:30 +0200actioninja4actioninja
2023-08-28 05:30:32 +0200aforemny_(~aforemny@i59F516C9.versanet.de) (Ping timeout: 240 seconds)
2023-08-28 05:35:07 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 255 seconds)
2023-08-28 05:36:24 +0200Sciencentistguy2(~sciencent@hacksoc/ordinary-member)
2023-08-28 05:36:52 +0200remmie(ianremsen@tilde.team)
2023-08-28 05:38:07 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2023-08-28 05:38:25 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 245 seconds)
2023-08-28 05:38:25 +0200Sciencentistguy2Sciencentistguy
2023-08-28 05:38:43 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 05:38:43 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 05:38:43 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 05:45:04 +0200aaronv(~aaronv@user/aaronv) (Quit: Leaving)
2023-08-28 05:45:24 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 05:45:55 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 255 seconds)
2023-08-28 05:48:00 +0200aaronv(~aaronv@user/aaronv) (Client Quit)
2023-08-28 05:48:20 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 05:48:31 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 05:48:54 +0200 <segfaultfizzbuzz> hmm, people didn't respond in #haskell-offtopic so i thought i would try asking here, but feel free to tell me this is too offtopic:
2023-08-28 05:49:23 +0200 <segfaultfizzbuzz> let's say someone writes a planetary motion simulator using newton's laws, and uses a type system for this so for instance, the type system prevents the implementor from adding time to position without multiplying by a velocity, for instance, and all is well with the universe
2023-08-28 05:49:31 +0200Square(~Square@user/square) (Ping timeout: 255 seconds)
2023-08-28 05:49:38 +0200 <segfaultfizzbuzz> and then einstein comes along and this shit wrong
2023-08-28 05:49:49 +0200 <segfaultfizzbuzz> is the type system now wrong?
2023-08-28 05:50:15 +0200 <segfaultfizzbuzz> put another way, when domain knowledge shifts, does the type system always survive, often survive, rarely survive...?
2023-08-28 05:50:41 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 05:50:41 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 05:50:41 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 05:52:26 +0200Square(~Square@user/square)
2023-08-28 05:53:59 +0200notzmv(~zmv@user/notzmv)
2023-08-28 05:59:26 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-08-28 06:00:17 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 06:00:17 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 06:00:17 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 06:00:30 +0200actioninja(~actioninj@user/actioninja) (Quit: see ya mane)
2023-08-28 06:00:58 +0200actioninja(~actioninj@user/actioninja)
2023-08-28 06:04:25 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-08-28 06:06:49 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-28 06:07:23 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-08-28 06:10:02 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 06:11:22 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-28 06:11:53 +0200 <EvanR> segfaultfizzbuzz, haskell is known for it's relative ease of refactoring existing code. So if you used newtypes everywhere on numbers to track units and conversions, and later changed your mind on the units, you are refactoring
2023-08-28 06:12:16 +0200 <EvanR> but I imagine that example is pretty far fetched
2023-08-28 06:12:55 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-08-28 06:15:33 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds)
2023-08-28 06:16:04 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 06:18:45 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 255 seconds)
2023-08-28 06:22:14 +0200dibblego(~dibblego@116.255.1.151)
2023-08-28 06:22:14 +0200dibblego(~dibblego@116.255.1.151) (Changing host)
2023-08-28 06:22:14 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 06:22:19 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 06:22:26 +0200caryhartline(~caryhartl@168.182.58.169)
2023-08-28 06:23:00 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 246 seconds)
2023-08-28 06:23:24 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2023-08-28 06:25:37 +0200ripspin(~chatzilla@1.145.142.139)
2023-08-28 06:29:05 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 06:29:26 +0200ripspin(~chatzilla@1.145.142.139) (Remote host closed the connection)
2023-08-28 06:31:53 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-08-28 06:39:22 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-08-28 06:48:42 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
2023-08-28 06:49:21 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds)
2023-08-28 06:52:28 +0200Square(~Square@user/square) (Ping timeout: 248 seconds)
2023-08-28 06:53:23 +0200dibblego(~dibblego@220-233-36-23.ip4.superloop.au)
2023-08-28 06:53:23 +0200dibblego(~dibblego@220-233-36-23.ip4.superloop.au) (Changing host)
2023-08-28 06:53:23 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 06:58:35 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2023-08-28 07:09:02 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-08-28 07:12:35 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-08-28 07:14:42 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au)
2023-08-28 07:14:42 +0200dibblego(~dibblego@116-255-1-151.ip4.superloop.au) (Changing host)
2023-08-28 07:14:42 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 07:15:53 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 07:19:32 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 245 seconds)
2023-08-28 07:19:56 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-28 07:21:10 +0200dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 244 seconds)
2023-08-28 07:21:35 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com)
2023-08-28 07:21:41 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds)
2023-08-28 07:22:14 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 07:24:54 +0200dibblego(~dibblego@220.233.36.23)
2023-08-28 07:24:54 +0200dibblego(~dibblego@220.233.36.23) (Changing host)
2023-08-28 07:24:54 +0200dibblego(~dibblego@haskell/developer/dibblego)
2023-08-28 07:25:15 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-08-28 07:26:31 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-28 07:26:43 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 07:31:33 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-08-28 07:32:17 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-08-28 07:33:01 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2023-08-28 07:36:22 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-08-28 07:49:38 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-08-28 07:50:47 +0200michalz(~michalz@185.246.207.217)
2023-08-28 07:51:46 +0200michalz(~michalz@185.246.207.217) (Remote host closed the connection)
2023-08-28 07:52:22 +0200michalz(~michalz@185.246.207.197)
2023-08-28 07:52:39 +0200kenran(~user@user/kenran)
2023-08-28 07:55:32 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 07:58:36 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-08-28 07:59:16 +0200 <kenran> I'm trying out the optics library, and my project is using fourmolu to format things (on GHC 9.6). If anyone is doing something similar: can I get fourmolu to not heavily break lines in things like: s & registers % a .~ 0x3 & foo .~ "bar"
2023-08-28 08:00:27 +0200 <Axman6> what even is going on there XD
2023-08-28 08:00:45 +0200 <Axman6> oh, my terminal was playing up, looks more sensible now
2023-08-28 08:00:54 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 08:00:57 +0200 <kenran> Ideally I'd like to have the (&) calls on separate lines (maybe even aligned; at work an older fourmolu does that, but using lens), but as soon as I break before the 2nd one or both, I get every operand on a new line
2023-08-28 08:02:15 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-08-28 08:02:59 +0200sm(~sm@plaintextaccounting/sm) (Ping timeout: 246 seconds)
2023-08-28 08:04:52 +0200 <Axman6> What's % do in optics?
2023-08-28 08:05:42 +0200 <kenran> It's their (.)
2023-08-28 08:06:16 +0200 <kenran> I've tried using (.) instead just to test the formatting, but no difference either
2023-08-28 08:06:38 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 08:07:14 +0200 <kenran> right now I check using the older version of fourmolu from the work project (0.9) and it definitely formats it differently :/
2023-08-28 08:07:37 +0200 <Axman6> This is one of the (very uninformed) reasons I've stuck with stylish-haskell, it doesn't mess too much with the code itself, and I find I want to retain control of alignment in functions because it helps convey meaning or makes differences between similar looking lines far more obvious
2023-08-28 08:09:07 +0200 <kenran> Yes exactly! fourmolu is so nice though if it works like you intended, as it's afaik the only formatter to look something like what I'd write without one :) but if it doesn't... oh boy
2023-08-28 08:10:21 +0200 <Axman6> I feel like any one of these tools needs an insane number of configuration options so you can disable that one thing that annoys you. I really don't like the "opinionated" ones, because they are pretty much guaranteed to have the wrong opinion =)
2023-08-28 08:11:01 +0200 <kenran> That's why I quickly moved away from ormolu :D
2023-08-28 08:11:40 +0200 <kenran> I mean, I'd still use it at work, as Haskell seems to "provoke" lots of different, opinionated code styles, but for a personal project
2023-08-28 08:12:22 +0200 <kenran> I wonder if I should bite the bullet and just not use one in this... stylish-haskell (iirc) does the annoying thing with the imports, i.e., aligning the module names, qualified or not, right?
2023-08-28 08:13:46 +0200danza__(~francesco@151.57.253.143)
2023-08-28 08:15:02 +0200acidjnk(~acidjnk@p200300d6e7072f52f8062bd386216d20.dip0.t-ipconnect.de)
2023-08-28 08:15:27 +0200 <Axman6> it has flags for that.
2023-08-28 08:15:57 +0200 <Axman6> one of the reasons I like PostQualifiedImports or whatever it's called, makes for much nicer alignment
2023-08-28 08:16:13 +0200danza_(~francesco@151.43.231.136) (Ping timeout: 255 seconds)
2023-08-28 08:16:19 +0200 <Axman6> and you can just sort th line directly if you want
2023-08-28 08:16:37 +0200 <kenran> I wanted to try it out just now, but alas the version in nixpkgs doesn't build yet with GHC 9.6
2023-08-28 08:16:54 +0200 <Axman6> Huh, what issues?
2023-08-28 08:17:18 +0200 <kenran> constraint problems: ghc-lib-parser < 9.5
2023-08-28 08:17:21 +0200 <kenran> I'll check github
2023-08-28 08:17:29 +0200hyvoid(~hyenavoid@222-0-178-69.static.gci.net) (Read error: Connection reset by peer)
2023-08-28 08:18:35 +0200 <kenran> ah, recent commits have fixed this. I'll try with `main` then
2023-08-28 08:24:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 08:28:09 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-08-28 08:28:10 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-08-28 08:28:34 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-08-28 08:28:44 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-08-28 08:30:32 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 08:31:43 +0200mmhat(~mmh@p200300f1c70427faee086bfffe095315.dip0.t-ipconnect.de)
2023-08-28 08:32:47 +0200 <kenran> Axman6: ok, it works, and maybe I'll really give it a try, as it doesn't touch most of my code at all. I'll have to align my let/in myself, but I can live with that =)
2023-08-28 08:32:59 +0200 <kenran> thanks for the suggestion, I'd have dismissed it otherwise!
2023-08-28 08:33:13 +0200chele(~chele@user/chele)
2023-08-28 08:33:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 08:34:16 +0200aeroplane(~user@user/aeroplane)
2023-08-28 08:37:47 +0200mmhat(~mmh@p200300f1c70427faee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.4)
2023-08-28 08:38:02 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-08-28 08:38:14 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 08:41:25 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 258 seconds)
2023-08-28 08:41:26 +0200CiaoSen(~Jura@5.83.185.51)
2023-08-28 08:50:01 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 08:52:27 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-08-28 08:54:26 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 09:01:14 +0200k3ut0i(~keutoi@122.169.217.14) (Quit: leaving)
2023-08-28 09:08:55 +0200todi(~todi@p4fd1a580.dip0.t-ipconnect.de)
2023-08-28 09:12:03 +0200yisef(~yisef@202.81.231.204)
2023-08-28 09:14:20 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-28 09:17:18 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 09:17:38 +0200fendor(~fendor@2a02:8388:1640:be00:29b8:807b:7fa6:1bcf)
2023-08-28 09:18:21 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 09:21:23 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-28 09:29:22 +0200artem(~artem@73.145.240.143)
2023-08-28 09:32:47 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 258 seconds)
2023-08-28 09:34:24 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 09:37:17 +0200danza__(~francesco@151.57.253.143) (Ping timeout: 246 seconds)
2023-08-28 09:44:09 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-28 09:48:27 +0200danse-nr3(~francesco@151.57.253.143)
2023-08-28 09:49:45 +0200connrs(~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-28 09:50:01 +0200connrs(~connrs@user/connrs)
2023-08-28 09:52:56 +0200connrs(~connrs@user/connrs) (Read error: Connection reset by peer)
2023-08-28 09:55:48 +0200connrs(~connrs@user/connrs)
2023-08-28 09:58:37 +0200 <kenran> I think I might have found out what the problem is:
2023-08-28 09:59:34 +0200 <kenran> (&) is imported as a reexport from Optics, and it seems like (in newer versions) ormolu/fourmolu only get the correct fixity for operators that are not reexports. as soon as I import Data.Function ((&)) or specify the fixity manually, it formats correctly again!
2023-08-28 10:03:13 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-28 10:03:23 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-28 10:05:06 +0200Rydwxz(~rw@cpe-75-82-51-90.socal.res.rr.com) (Ping timeout: 246 seconds)
2023-08-28 10:12:18 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 10:21:04 +0200ec_(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-08-28 10:21:32 +0200ec_(~ec@gateway/tor-sasl/ec)
2023-08-28 10:23:35 +0200cfricke(~cfricke@user/cfricke)
2023-08-28 10:28:06 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-28 10:28:41 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 10:31:59 +0200Pickchea(~private@user/pickchea)
2023-08-28 10:33:56 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 246 seconds)
2023-08-28 10:34:35 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 10:37:42 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Quit: WeeChat 4.0.3)
2023-08-28 10:40:52 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2023-08-28 10:42:12 +0200elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-08-28 10:43:19 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-08-28 10:50:29 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-08-28 10:58:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 10:59:12 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 11:03:14 +0200matijja(~matijja@193.77.181.201) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-28 11:05:07 +0200matijja(~matijja@193.77.181.201)
2023-08-28 11:07:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-08-28 11:09:39 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 11:13:50 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-08-28 11:14:41 +0200AlexNoo_AlexNoo
2023-08-28 11:15:59 +0200acidjnk(~acidjnk@p200300d6e7072f52f8062bd386216d20.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-08-28 11:18:00 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-08-28 11:20:13 +0200stefan-__stefan-_
2023-08-28 11:27:02 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-08-28 11:37:13 +0200ft(~ft@p508db658.dip0.t-ipconnect.de) (Quit: leaving)
2023-08-28 11:40:09 +0200yisef(~yisef@202.81.231.204) (Remote host closed the connection)
2023-08-28 11:41:55 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-28 11:45:22 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 11:47:34 +0200razetime(~quassel@49.207.213.87)
2023-08-28 11:52:14 +0200danse-nr3(~francesco@151.57.253.143) (Remote host closed the connection)
2023-08-28 11:52:38 +0200danse-nr3(~francesco@151.57.253.143)
2023-08-28 11:59:41 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 248 seconds)
2023-08-28 12:02:06 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 260 seconds)
2023-08-28 12:06:11 +0200thyriaen(~thyriaen@2a01:aea0:dd4:6c62:6245:cbff:fe9f:48b1)
2023-08-28 12:12:05 +0200Inst(~liamzy@2601:6c4:4085:6d50::7f5a)
2023-08-28 12:13:37 +0200danse-nr3_(~francesco@151.43.236.65)
2023-08-28 12:13:41 +0200acidjnk(~acidjnk@p200300d6e7072f52f8062bd386216d20.dip0.t-ipconnect.de)
2023-08-28 12:14:04 +0200danse-nr3(~francesco@151.57.253.143) (Read error: Connection reset by peer)
2023-08-28 12:17:01 +0200cfricke(~cfricke@user/cfricke)
2023-08-28 12:18:46 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-08-28 12:19:32 +0200danse-nr3_(~francesco@151.43.236.65) (Ping timeout: 245 seconds)
2023-08-28 12:21:35 +0200danse-nr3_(~francesco@151.43.236.65)
2023-08-28 12:25:05 +0200danse-nr3_(~francesco@151.43.236.65) (Remote host closed the connection)
2023-08-28 12:25:27 +0200danse-nr3_(~francesco@151.43.236.65)
2023-08-28 12:29:34 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:c96:3a2a:8b5f:e9ce)
2023-08-28 12:31:40 +0200puke(~puke@user/puke) (Quit: puke)
2023-08-28 12:35:10 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-08-28 12:36:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-28 12:36:49 +0200puke(~puke@user/puke)
2023-08-28 12:38:34 +0200danse-nr3_(~francesco@151.43.236.65) (Ping timeout: 255 seconds)
2023-08-28 12:40:04 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 12:40:26 +0200Inst(~liamzy@2601:6c4:4085:6d50::7f5a) (Ping timeout: 246 seconds)
2023-08-28 12:40:44 +0200danza(~francesco@151.43.236.65)
2023-08-28 12:41:47 +0200danse-nr3_(~francesco@151.43.236.65)
2023-08-28 12:43:30 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 12:44:28 +0200Inst(~liamzy@2601:6c4:4085:6d50::85df)
2023-08-28 12:45:26 +0200danza(~francesco@151.43.236.65) (Ping timeout: 246 seconds)
2023-08-28 12:48:10 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-28 12:57:26 +0200CiaoSen(~Jura@5.83.185.51) (Ping timeout: 245 seconds)
2023-08-28 12:58:26 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:c96:3a2a:8b5f:e9ce) (Remote host closed the connection)
2023-08-28 12:58:43 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:c96:3a2a:8b5f:e9ce)
2023-08-28 13:00:23 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-08-28 13:00:56 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-08-28 13:04:12 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-28 13:11:24 +0200razetime(~quassel@49.207.213.87) (Ping timeout: 255 seconds)
2023-08-28 13:12:44 +0200Inst(~liamzy@2601:6c4:4085:6d50::85df) (Ping timeout: 248 seconds)
2023-08-28 13:17:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 13:17:56 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 13:18:46 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 13:18:48 +0200Inst(~liamzy@2601:6c4:4085:6d50::85df)
2023-08-28 13:18:55 +0200Guest68(~Guest68@p200300e79f22800038d6aa3d99bb30f0.dip0.t-ipconnect.de)
2023-08-28 13:22:53 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-08-28 13:26:00 +0200renegade(~renegade@bcdcac82.skybroadband.com) (Ping timeout: 246 seconds)
2023-08-28 13:26:18 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-08-28 13:26:27 +0200renegade(~renegade@bcdcac82.skybroadband.com)
2023-08-28 13:29:05 +0200[exa]_[exa]
2023-08-28 13:29:14 +0200[exa](~exa@srv3n.blesmrt.net) (Changing host)
2023-08-28 13:29:14 +0200[exa](~exa@user/exa/x-3587197)
2023-08-28 13:30:51 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 13:32:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 13:35:21 +0200fserucas(~fserucas@83.223.248.85)
2023-08-28 13:40:02 +0200fserucas_(~fserucas@92.250.103.7)
2023-08-28 13:40:09 +0200yosef`(~yosef`@user/yosef/x-2947716) (Quit: Client closed)
2023-08-28 13:42:27 +0200fserucas(~fserucas@83.223.248.85) (Ping timeout: 246 seconds)
2023-08-28 13:47:25 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds)
2023-08-28 13:49:15 +0200yosef`84(~yosef`@user/yosef/x-2947716)
2023-08-28 13:49:52 +0200yosef`97(~yosef`@user/yosef/x-2947716)
2023-08-28 13:50:10 +0200yosef`84(~yosef`@user/yosef/x-2947716) (Write error: Broken pipe)
2023-08-28 13:57:26 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-08-28 13:57:38 +0200Guest68(~Guest68@p200300e79f22800038d6aa3d99bb30f0.dip0.t-ipconnect.de) (Quit: Client closed)
2023-08-28 13:59:08 +0200Inst(~liamzy@2601:6c4:4085:6d50::85df) (Ping timeout: 248 seconds)
2023-08-28 14:02:30 +0200razetime(~quassel@49.207.213.87)
2023-08-28 14:04:35 +0200yosef`97(~yosef`@user/yosef/x-2947716) (Quit: Client closed)
2023-08-28 14:04:53 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-28 14:04:54 +0200andrei_n(~andrei.n@2a02:a03f:c0bc:8400:c96:3a2a:8b5f:e9ce) (Quit: Leaving)
2023-08-28 14:08:48 +0200yosef`(~yosef`@user/yosef/x-2947716) (Remote host closed the connection)
2023-08-28 14:09:24 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-08-28 14:09:46 +0200gatekempt(~gatekempt@user/gatekempt)
2023-08-28 14:24:29 +0200myxokephale(~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Quit: myxokephale)
2023-08-28 14:24:41 +0200CiaoSen(~Jura@2a05:5800:29b:d00:664b:f0ff:fe37:9ef)
2023-08-28 14:24:44 +0200myxos(~myxos@cpe-65-28-251-121.cinci.res.rr.com)
2023-08-28 14:24:53 +0200gatekempt(~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-08-28 14:29:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-08-28 14:30:25 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-28 14:30:45 +0200ddellacosta(~ddellacos@146.70.165.10) (Ping timeout: 246 seconds)
2023-08-28 14:32:47 +0200ddellacosta(~ddellacos@143.244.47.100)
2023-08-28 14:36:30 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 14:41:14 +0200 <Axman6> kenran: huh, interesting! Has a bug been filed? (/Have you filed one yet?)
2023-08-28 14:43:06 +0200ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 260 seconds)
2023-08-28 14:43:47 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-08-28 14:43:57 +0200actioninja(~actioninj@user/actioninja) (Ping timeout: 248 seconds)
2023-08-28 14:45:18 +0200ddellacosta(~ddellacos@146.70.165.180)
2023-08-28 14:45:30 +0200actioninja(~actioninj@user/actioninja)
2023-08-28 14:58:05 +0200razetime(~quassel@49.207.213.87) (Ping timeout: 246 seconds)
2023-08-28 15:06:12 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 245 seconds)
2023-08-28 15:06:37 +0200Feuermagier(~Feuermagi@user/feuermagier)
2023-08-28 15:12:58 +0200yosef`(~yosef`@user/yosef/x-2947716) (Remote host closed the connection)
2023-08-28 15:16:16 +0200razetime(~quassel@49.207.213.87)
2023-08-28 15:19:16 +0200ddellacosta(~ddellacos@146.70.165.180) (Ping timeout: 260 seconds)
2023-08-28 15:21:08 +0200ddellacosta(~ddellacos@143.244.47.76)
2023-08-28 15:21:14 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 15:21:33 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-08-28 15:28:12 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-28 15:28:12 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-28 15:28:12 +0200wroathe(~wroathe@user/wroathe)
2023-08-28 15:28:33 +0200fserucas__(~fserucas@89.214.146.18)
2023-08-28 15:30:57 +0200fserucas_(~fserucas@92.250.103.7) (Ping timeout: 246 seconds)
2023-08-28 15:37:40 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2023-08-28 15:38:14 +0200lzszt(~lzszt@ip-037-024-119-190.um08.pools.vodafone-ip.de)
2023-08-28 15:40:18 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-08-28 15:40:49 +0200ddellacosta(~ddellacos@143.244.47.76) (Ping timeout: 255 seconds)
2023-08-28 15:42:42 +0200ddellacosta(~ddellacos@143.244.47.89)
2023-08-28 15:42:53 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-08-28 15:55:36 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds)
2023-08-28 15:57:52 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-08-28 16:00:32 +0200lzszt(~lzszt@ip-037-024-119-190.um08.pools.vodafone-ip.de) (Quit: Client closed)
2023-08-28 16:01:06 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 16:03:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 16:03:51 +0200gatekempt(~gatekempt@user/gatekempt)
2023-08-28 16:04:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-28 16:05:54 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 16:10:33 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 16:12:12 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2023-08-28 16:13:24 +0200danse-nr3_(~francesco@151.43.236.65) (Read error: Connection reset by peer)
2023-08-28 16:13:48 +0200danse-nr3_(~francesco@151.57.232.137)
2023-08-28 16:20:41 +0200yosef`(~yosef`@user/yosef/x-2947716) (Ping timeout: 246 seconds)
2023-08-28 16:25:08 +0200thegeekinside(~thegeekin@189.180.81.59)
2023-08-28 16:27:06 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 245 seconds)
2023-08-28 16:31:39 +0200Square2(~Square4@user/square)
2023-08-28 16:32:44 +0200CiaoSen(~Jura@2a05:5800:29b:d00:664b:f0ff:fe37:9ef) (Ping timeout: 248 seconds)
2023-08-28 16:33:05 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-28 16:40:01 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-28 16:40:25 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds)
2023-08-28 16:49:50 +0200kimiamania600(~65804703@user/kimiamania) (Quit: Ping timeout (120 seconds))
2023-08-28 16:50:09 +0200hugo(znc@verdigris.lysator.liu.se)
2023-08-28 16:50:12 +0200kimiamania600(~65804703@user/kimiamania)
2023-08-28 16:53:47 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-28 16:54:15 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 16:54:17 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-28 16:57:00 +0200gatekempt(~gatekempt@user/gatekempt) (Remote host closed the connection)
2023-08-28 16:59:56 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2023-08-28 17:01:34 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 17:02:45 +0200sm(~sm@plaintextaccounting/sm) (Remote host closed the connection)
2023-08-28 17:03:25 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 17:04:16 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net)
2023-08-28 17:08:07 +0200Square(~Square@user/square)
2023-08-28 17:08:17 +0200Square2(~Square4@user/square) (Ping timeout: 246 seconds)
2023-08-28 17:08:34 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-08-28 17:11:41 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-28 17:13:17 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 17:14:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 17:16:59 +0200danza(~francesco@151.57.232.137)
2023-08-28 17:17:11 +0200tabemann(~tabemann@128.92.110.163) (Quit: Leaving)
2023-08-28 17:17:45 +0200danza(~francesco@151.57.232.137) (Remote host closed the connection)
2023-08-28 17:18:03 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-28 17:19:41 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 17:19:52 +0200danza(~francesco@151.57.232.137)
2023-08-28 17:23:45 +0200thegeekinside(~thegeekin@189.180.81.59) (Ping timeout: 250 seconds)
2023-08-28 17:24:23 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-28 17:24:50 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-28 17:32:14 +0200 <kenran> Axman6: I'll do so tomorrow, but I want to test it some more. I could only find a single somewhat related issue, but that seems to have been a user error.
2023-08-28 17:33:03 +0200 <kenran> I also don't know how the fourmolu tests work yet, so I'll read those and see if I can reproduce the issue there to have a starting point for a fix
2023-08-28 17:35:34 +0200danse-nr3_(~francesco@151.57.232.137) (Ping timeout: 255 seconds)
2023-08-28 17:36:49 +0200 <kenran> hum, a colleague of mine upgraded our project to GHC 9.4, but now I see ==..== Simplifier statistics ==...== with "Total ticks: xyz" cluttering all the build output. any idea where that's coming from?
2023-08-28 17:37:31 +0200cods(~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 260 seconds)
2023-08-28 17:38:43 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2023-08-28 17:39:06 +0200 <geekosaur> sounds like `-ddump-simpl-stats` got turned on somehow?
2023-08-28 17:39:52 +0200ulysses4ever(~artem@73.145.240.143)
2023-08-28 17:39:53 +0200artem(~artem@73.145.240.143) (Read error: Connection reset by peer)
2023-08-28 17:40:18 +0200Rydwxz(~rw@cpe-75-82-51-90.socal.res.rr.com)
2023-08-28 17:40:56 +0200 <geekosaur> what point version?
2023-08-28 17:41:19 +0200 <geekosaur> 9.4.7 just came out, maybe it has a messaging bug
2023-08-28 17:41:25 +0200 <kenran> geekosaur: grepping for the option yields no results. 9.4.6
2023-08-28 17:43:11 +0200 <kenran> ah, one dependency has changed branches, and that uses GHC. this might be it, let me check
2023-08-28 17:44:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 17:46:06 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-28 17:46:27 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 17:47:11 +0200aeroplane(~user@user/aeroplane) (ERC 5.4 (IRC client for GNU Emacs 28.2))
2023-08-28 17:49:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 17:59:58 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2023-08-28 18:03:41 +0200 <kenran> nothing there either. this is very strange
2023-08-28 18:04:39 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-28 18:06:14 +0200g(g@libera/staff/glguy) (Remote host closed the connection)
2023-08-28 18:06:17 +0200g(g@libera/staff/glguy)
2023-08-28 18:08:05 +0200hiredman(~hiredman@frontier1.downey.family)
2023-08-28 18:09:53 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2023-08-28 18:12:16 +0200apteryx(~maxim@dsl-10-132-204.b2b2c.ca)
2023-08-28 18:12:54 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-08-28 18:15:08 +0200Rydwxz(~rw@cpe-75-82-51-90.socal.res.rr.com) (Ping timeout: 246 seconds)
2023-08-28 18:17:04 +0200 <haskellbridge> <A​rtem> Just curious how the Matrix bridge works, don't mind me
2023-08-28 18:17:11 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-28 18:17:19 +0200 <ulysses4ever> Oh, looks nice
2023-08-28 18:17:48 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 18:17:52 +0200ulysses4everartem
2023-08-28 18:18:57 +0200mrmr1(~mrmr@user/mrmr) (Read error: Connection reset by peer)
2023-08-28 18:19:02 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 18:19:22 +0200 <geekosaur> I'm doing some builds with 9.4.6 and 9.4.7 and not seeing any such output with either
2023-08-28 18:19:22 +0200mrmr1(~mrmr@user/mrmr)
2023-08-28 18:19:28 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 18:22:19 +0200GoldsteinQ(~goldstein@goldstein.rs) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-28 18:23:27 +0200GoldsteinQ(~goldstein@goldstein.rs)
2023-08-28 18:23:53 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 18:28:02 +0200remmie(ianremsen@tilde.team) (Read error: Connection reset by peer)
2023-08-28 18:30:57 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 18:31:00 +0200 <kenran> geekosaur: I've narrowed it down to a single package of ours, and that one uses the `concat` plugin. But the specific fork of the plugin doesn't seem to dump simplifier stats either, so I dunno
2023-08-28 18:31:13 +0200 <kenran> but if it's just in that package, it's no big deal, as that's "stable"
2023-08-28 18:32:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 18:34:02 +0200Sgeo(~Sgeo@user/sgeo)
2023-08-28 18:44:21 +0200artem(~artem@73.145.240.143) (Ping timeout: 250 seconds)
2023-08-28 18:45:54 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-08-28 18:45:56 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 258 seconds)
2023-08-28 18:50:52 +0200hyvoid(~hyenavoid@222-0-178-69.static.gci.net)
2023-08-28 18:51:23 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 18:51:53 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 18:52:11 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2023-08-28 18:53:10 +0200cyphase(~cyphase@user/cyphase)
2023-08-28 18:53:58 +0200accord(uid568320@id-568320.hampstead.irccloud.com)
2023-08-28 18:55:13 +0200vulpine(xfnw@tilde.team) (Quit: Connection reset by purr)
2023-08-28 18:55:13 +0200nullsh(nullsh@user/nexeq) (Quit: WeeChat 3.8)
2023-08-28 18:56:36 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 19:00:30 +0200kenran(~user@user/kenran) (Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50))
2023-08-28 19:06:51 +0200ulysses4ever(~artem@2601:408:c408:3bbb:f474:e3f8:9806:671)
2023-08-28 19:10:21 +0200artem(~artem@73.145.240.96)
2023-08-28 19:10:21 +0200ulysses4ever(~artem@2601:408:c408:3bbb:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-08-28 19:11:29 +0200cods(~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 246 seconds)
2023-08-28 19:12:11 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2023-08-28 19:12:32 +0200remmie(ianremsen@tilde.team)
2023-08-28 19:13:04 +0200drewjose(~drewjose@223.178.82.141)
2023-08-28 19:13:34 +0200artem(~artem@73.145.240.96) (Read error: Connection reset by peer)
2023-08-28 19:16:36 +0200ulysses4ever(~artem@73.145.240.96)
2023-08-28 19:18:43 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2023-08-28 19:20:17 +0200thegeekinside(~thegeekin@189.180.81.59)
2023-08-28 19:21:36 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-08-28 19:22:33 +0200razetime(~quassel@49.207.213.87) (Remote host closed the connection)
2023-08-28 19:23:32 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-08-28 19:23:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 19:25:56 +0200ulysses4ever(~artem@73.145.240.96) (Read error: Connection reset by peer)
2023-08-28 19:26:56 +0200ulysses4ever(~artem@73.145.240.96)
2023-08-28 19:27:20 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 19:28:44 +0200caryhartline(~caryhartl@168.182.58.169)
2023-08-28 19:28:59 +0200thegeekinside(~thegeekin@189.180.81.59) (Ping timeout: 250 seconds)
2023-08-28 19:31:05 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 19:32:14 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 19:38:22 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-08-28 19:38:41 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-28 19:42:27 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Client Quit)
2023-08-28 19:42:45 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-28 19:43:30 +0200thegeekinside(~thegeekin@189.180.81.59)
2023-08-28 19:44:17 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Client Quit)
2023-08-28 19:44:52 +0200thegeekinside(~thegeekin@189.180.81.59) (Remote host closed the connection)
2023-08-28 19:46:09 +0200thegeekinside(~thegeekin@189.180.81.59)
2023-08-28 19:47:34 +0200yahb2(~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection)
2023-08-28 19:47:39 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-08-28 19:47:58 +0200yahb2(~yahb2@static.56.27.47.78.clients.your-server.de)
2023-08-28 19:50:42 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-28 19:51:21 +0200V(~v@ircpuzzles/2022/april/winner/V) (Ping timeout: 246 seconds)
2023-08-28 19:51:23 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-28 19:54:45 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Client Quit)
2023-08-28 19:55:37 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-28 19:55:50 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-08-28 19:55:56 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Remote host closed the connection)
2023-08-28 19:57:15 +0200 <apteryx> this resource is offline: http://learnyouahaskell.com/, referenced from https://www.haskell.org/get-started/
2023-08-28 20:00:24 +0200 <EvanR> works for me
2023-08-28 20:02:32 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 20:02:47 +0200 <geekosaur> working here as well
2023-08-28 20:03:40 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 20:03:45 +0200 <[exa]> apteryx: there's an updated version thereof on github somewhere
2023-08-28 20:04:02 +0200 <[exa]> apteryx: ah here https://learnyouahaskell.github.io/
2023-08-28 20:08:34 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 20:11:01 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 250 seconds)
2023-08-28 20:11:16 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-08-28 20:14:03 +0200danza_(~francesco@151.19.236.144)
2023-08-28 20:15:03 +0200danza(~francesco@151.57.232.137) (Read error: Connection reset by peer)
2023-08-28 20:16:22 +0200GoldsteinQ(~goldstein@goldstein.rs) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-28 20:17:29 +0200GoldsteinQ(~goldstein@goldstein.rs)
2023-08-28 20:18:39 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-08-28 20:19:57 +0200tabemann(~tabemann@2600:1700:7990:24e0:8b40:1e1c:2812:6b15)
2023-08-28 20:20:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 20:21:44 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-08-28 20:25:06 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 20:25:31 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-28 20:25:32 +0200extor(~extor@ns3018124.ip-149-202-82.eu) (Leaving)
2023-08-28 20:25:55 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-28 20:30:20 +0200ulysses4ever(~artem@73.145.240.96) (Ping timeout: 246 seconds)
2023-08-28 20:32:47 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2023-08-28 20:35:51 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-08-28 20:36:37 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-28 20:38:23 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 244 seconds)
2023-08-28 20:39:13 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-08-28 20:39:36 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 20:40:00 +0200ulysses4ever(~artem@73.145.241.136)
2023-08-28 20:41:23 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-28 20:41:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:95d9:c452:b765:5142)
2023-08-28 20:44:35 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:95d9:c452:b765:5142) (Remote host closed the connection)
2023-08-28 20:45:15 +0200artem(~artem@73.145.241.136)
2023-08-28 20:45:15 +0200ulysses4ever(~artem@73.145.241.136) (Read error: Connection reset by peer)
2023-08-28 20:46:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 20:46:49 +0200thegeekinside(~thegeekin@189.180.81.59) (Ping timeout: 255 seconds)
2023-08-28 20:47:33 +0200thegeekinside(~thegeekin@189.180.81.59)
2023-08-28 20:47:49 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-28 20:48:13 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-28 20:48:54 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 20:49:21 +0200billchenchina(~billchenc@103.152.35.21) (Remote host closed the connection)
2023-08-28 20:53:45 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 20:54:03 +0200Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-28 20:55:50 +0200gmg(~user@user/gehmehgeh)
2023-08-28 20:58:58 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 21:04:50 +0200chele(~chele@user/chele) (Quit: Leaving)
2023-08-28 21:05:16 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2023-08-28 21:07:18 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
2023-08-28 21:07:39 +0200vulpine(xfnw@tilde.team)
2023-08-28 21:11:38 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-08-28 21:12:27 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 21:21:11 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-28 21:25:16 +0200V(~v@ircpuzzles/2022/april/winner/V)
2023-08-28 21:26:12 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-08-28 21:27:36 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 21:30:02 +0200 <ph88> why is there an instance of Traversable List in base but not Foldable List ?
2023-08-28 21:31:04 +0200 <ncf> there is a Foldable List
2023-08-28 21:31:06 +0200 <c_wraith> :t sum
2023-08-28 21:31:07 +0200 <lambdabot> (Foldable t, Num a) => t a -> a
2023-08-28 21:31:12 +0200 <c_wraith> > sum [1,2,3]
2023-08-28 21:31:13 +0200 <ncf> it might be printed as Foldable [] depending on the haddock version
2023-08-28 21:31:13 +0200 <lambdabot> 6
2023-08-28 21:31:33 +0200 <c_wraith> what lead you to think that instance doesn't exist?
2023-08-28 21:31:33 +0200 <ncf> (https://gitlab.haskell.org/ghc/ghc/-/issues/23368)
2023-08-28 21:32:08 +0200 <c_wraith> for what it's worth, Foldable is a requirement for Traversable. You literally cannot have an instance of Traversable without an instance of Foldable for the same type
2023-08-28 21:32:26 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-28 21:33:17 +0200 <ph88> c_wraith, when i search on this page https://hackage.haskell.org/package/base-4.16.3.0/docs/Data-Foldable.html#t:Foldable for "Foldable List" nothing comes up
2023-08-28 21:33:40 +0200 <ph88> ok i see Foldable []
2023-08-28 21:34:29 +0200 <mauke> that's because there is no List in base
2023-08-28 21:34:35 +0200 <c_wraith> apparently there is
2023-08-28 21:35:06 +0200 <c_wraith> https://hackage.haskell.org/package/base-4.18.0.0/docs/GHC-List.html#t:List
2023-08-28 21:35:11 +0200 <ph88> there is Traversable List so that's why i was looking for Foldable List too
2023-08-28 21:35:41 +0200 <c_wraith> that's a weird thing.
2023-08-28 21:35:43 +0200 <mauke> huh, interesting
2023-08-28 21:35:48 +0200 <ph88> by the way where is the documentation for [] ?
2023-08-28 21:35:52 +0200 <ph88> https://hoogle.haskell.org/?hoogle=%5B%5D
2023-08-28 21:36:27 +0200 <c_wraith> [] is a special case. the name isn't available to normal definitions, so I'm not surprised hoogle doesn't find it
2023-08-28 21:36:40 +0200 <c_wraith> Err, the name [] is a special case. Not the type itself.
2023-08-28 21:36:46 +0200 <ph88> [a] then i guess
2023-08-28 21:36:58 +0200 <ph88> https://hoogle.haskell.org/?hoogle=%5Ba%5D ??
2023-08-28 21:37:39 +0200 <geekosaur> that wouldn't be there either. the documentation is in the Haskell Report, not in function or type docs
2023-08-28 21:39:03 +0200 <mauke> data () => Char
2023-08-28 21:39:05 +0200 <mauke> uh ...
2023-08-28 21:39:11 +0200 <mauke> https://hoogle.haskell.org/?scope=set%3Astackage&hoogle=Char
2023-08-28 21:39:14 +0200 <c_wraith> I'm not quite sure what to make of GHC.List.List. I guess I have to count it as internal GHC weirdness
2023-08-28 21:40:30 +0200 <mauke> now that's an operator: https://hackage.haskell.org/package/leancheck-1.0.0/docs/Test-LeanCheck-Utils-TypeBinding.html#v:-…
2023-08-28 21:40:33 +0200 <erisco> every language needs a blessed data structure :)
2023-08-28 21:40:37 +0200 <mauke> (I was looking for (->))
2023-08-28 21:42:51 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 21:45:06 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:95d9:c452:b765:5142)
2023-08-28 21:49:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:95d9:c452:b765:5142) (Ping timeout: 246 seconds)
2023-08-28 21:52:54 +0200son0p(~ff@152.203.98.110) (Quit: Bye)
2023-08-28 21:53:37 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 21:55:12 +0200V(~v@ircpuzzles/2022/april/winner/V) (Ping timeout: 240 seconds)
2023-08-28 21:56:14 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-28 22:00:01 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 22:01:59 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 22:03:09 +0200 <ph88> how can i debug this code ? instance Aeson.ToJSON Scheduling where toEncoding = Aeson.genericToEncoding Aeson.defaultOptions When i use ddump-deriv i only see Data.Aeson.Types.FromJSON.FromJSON [App.Scheduling]; Data.Aeson.Types.FromJSON.parseJSON = Data.Aeson.Types.FromJSON.$dmparseJSON @(App.Scheduling)
2023-08-28 22:04:14 +0200V(~v@ircpuzzles/2022/april/winner/V)
2023-08-28 22:05:36 +0200 <mauke> debug in what way?
2023-08-28 22:06:55 +0200Guest|14(~Guest|14@104.223.98.183)
2023-08-28 22:07:40 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 248 seconds)
2023-08-28 22:07:50 +0200 <ph88> mauke, while decoding it can't find a field. but im pretty sure its in the right place in the json
2023-08-28 22:08:48 +0200V(~v@ircpuzzles/2022/april/winner/V) (Ping timeout: 244 seconds)
2023-08-28 22:09:26 +0200 <mauke> I don't see how ToJSON is relevant for decoding
2023-08-28 22:10:21 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-08-28 22:10:43 +0200Guest|14(~Guest|14@104.223.98.183) ()
2023-08-28 22:12:12 +0200 <mauke> I don't know a way to debug this other than staring very hard at the code/json data
2023-08-28 22:12:56 +0200ddellacosta(~ddellacos@143.244.47.89) (Ping timeout: 246 seconds)
2023-08-28 22:13:09 +0200 <ph88> mauke, that was a copy paste mistake, should have been FromJSON which looks like the same Data.Aeson.Types.FromJSON.FromJSON [App.Scheduling]; Data.Aeson.Types.FromJSON.parseJSON = Data.Aeson.Types.FromJSON.$dmparseJSON @(App.Scheduling)
2023-08-28 22:13:55 +0200fweht(uid404746@id-404746.lymington.irccloud.com)
2023-08-28 22:14:16 +0200ft(~ft@p508db658.dip0.t-ipconnect.de)
2023-08-28 22:14:49 +0200Skill-ton(~Skill-ton@189.172.86.37)
2023-08-28 22:15:15 +0200ddellacosta(~ddellacos@146.70.165.180)
2023-08-28 22:16:00 +0200 <ph88> here type and json side to side https://bpa.st/FFVQ
2023-08-28 22:16:19 +0200 <ph88> perhaps it has to do with the order .. but thats pretty lame because they should be found by key name i guess
2023-08-28 22:17:07 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-08-28 22:17:54 +0200 <Skill-ton> https://justpaste.it/Speedy_Gonzalez_Jerry_Blowjob Jerry gives Speedy Gonzalez a delicious blowjob and ends up with mouse cum on his face!
2023-08-28 22:18:02 +0200ChanServ+o geekosaur
2023-08-28 22:18:08 +0200geekosaur+b *!*@189.172.86.37
2023-08-28 22:18:08 +0200Skill-tongeekosaur (Skill-ton)
2023-08-28 22:18:14 +0200geekosaur-o geekosaur
2023-08-28 22:23:11 +0200 <mauke> ph88: what are Vector and Planning?
2023-08-28 22:23:16 +0200V(~v@ircpuzzles/2022/april/winner/V)
2023-08-28 22:25:14 +0200 <ph88> mauke, here a small reproducable example https://bpa.st/X4FA
2023-08-28 22:27:35 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-28 22:27:50 +0200segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-28 22:29:20 +0200 <mauke> not quite self-contained: Not in scope: type constructor or class ‘Generic’; Couldn't match type ‘[Char]’ with ‘bytestring-0.11.4.0:Data.ByteString.Lazy.Internal.ByteString’
2023-08-28 22:29:39 +0200 <ph88> https://play.haskell.org/saved/y8bHMTyM
2023-08-28 22:29:46 +0200 <ph88> mauke, ^
2023-08-28 22:30:40 +0200 <mauke> ph88: bs = "{\"tag\":\"Bla\",\"a\":true,\"b\":false}" works
2023-08-28 22:32:40 +0200 <ph88> ok i will try to change client side encoder
2023-08-28 22:35:56 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 248 seconds)
2023-08-28 22:37:03 +0200 <mauke> "contents" is only used if the constructor is not a record
2023-08-28 22:37:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 22:39:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 22:39:38 +0200Qudit(~user@user/Qudit)
2023-08-28 22:40:49 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 22:42:47 +0200fendor(~fendor@2a02:8388:1640:be00:29b8:807b:7fa6:1bcf) (Remote host closed the connection)
2023-08-28 22:43:33 +0200 <int-e> That is fun if you have data FooBar = Foo | Bar { tag :: Bool }
2023-08-28 22:43:58 +0200 <int-e> encode $ Bar True --> {"tag":true}, oops.
2023-08-28 22:44:07 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-28 22:44:45 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 22:45:32 +0200dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-28 22:45:32 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds)
2023-08-28 22:48:29 +0200 <mauke> that's why tagFieldName exists
2023-08-28 22:48:29 +0200ChanServ+o litharge
2023-08-28 22:48:29 +0200litharge-bo *!*@189.172.86.37 litharge
2023-08-28 22:49:55 +0200 <ncf> why unban?
2023-08-28 22:51:15 +0200 <darkling> Bot, timer...
2023-08-28 22:51:31 +0200 <monochrom> "All good bans come to an end." >:)
2023-08-28 22:51:50 +0200 <geekosaur> yeh, I set a 30min unban, if they pop back in I'll make it permanent but they seem to use a different nick each time anyway
2023-08-28 22:52:21 +0200 <geekosaur> (look for the "justpaste.it" url in the logs)
2023-08-28 22:54:12 +0200pavonia(~user@user/siracusa)
2023-08-28 22:54:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-28 22:55:46 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-28 22:55:50 +0200Inst(~liamzy@2601:6c4:4085:6d50::7f5a)
2023-08-28 22:56:06 +0200thyriaen(~thyriaen@2a01:aea0:dd4:6c62:6245:cbff:fe9f:48b1) (Remote host closed the connection)
2023-08-28 23:00:01 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-28 23:00:42 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 23:03:28 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-28 23:03:37 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
2023-08-28 23:05:25 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-08-28 23:08:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-28 23:20:48 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-08-28 23:22:27 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 245 seconds)
2023-08-28 23:23:29 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-28 23:24:04 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-08-28 23:28:18 +0200 <apteryx> EvanR: ah, it must have been my "HTTPS everywhere" add-on for Firefox
2023-08-28 23:28:25 +0200 <apteryx> the site must be HTTP only
2023-08-28 23:28:32 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-08-28 23:33:20 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-28 23:33:25 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-08-28 23:34:59 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-08-28 23:35:19 +0200aaronv(~aaronv@user/aaronv)
2023-08-28 23:38:01 +0200Angelz(Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Quit: IRCNow and Forever!)
2023-08-28 23:38:36 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-28 23:39:04 +0200 <Inst> i checked re don stewart, seems to be working on Glean with Simon Marlow
2023-08-28 23:39:33 +0200 <Inst> don't like making false claims, or at least leaving them uncorrected
2023-08-28 23:42:00 +0200sm(~sm@plaintextaccounting/sm)
2023-08-28 23:42:41 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-28 23:43:03 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-08-28 23:45:38 +0200caryhartline(~caryhartl@168.182.58.169)
2023-08-28 23:46:20 +0200artem(~artem@73.145.241.136) (Ping timeout: 248 seconds)
2023-08-28 23:49:46 +0200ulysses4ever(~artem@2601:408:c408:1a9d:f474:e3f8:9806:671)
2023-08-28 23:50:47 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 245 seconds)
2023-08-28 23:52:03 +0200finsternis(~X@23.226.237.192)
2023-08-28 23:53:37 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2023-08-28 23:58:36 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds)