2021/10/10

2021-10-10 00:06:02 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-10 00:08:24 +0000chomwitt(~chomwitt@94.66.61.137) (Ping timeout: 265 seconds)
2021-10-10 00:08:51 +0000bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 250 seconds)
2021-10-10 00:10:34 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-10 00:12:11 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2021-10-10 00:17:14 +0000acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-10 00:17:27 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 00:17:28 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 00:17:28 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 00:20:09 +0000Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-10-10 00:21:56 +0000ph88(~ph88@dslb-178-001-158-182.178.001.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
2021-10-10 00:23:54 +0000systemhalted(~systemhal@130.51.137.77)
2021-10-10 00:25:51 +0000dajoer(~david@user/gvx)
2021-10-10 00:28:43 +0000systemhalted(~systemhal@130.51.137.77) (Ping timeout: 252 seconds)
2021-10-10 00:29:49 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 00:31:32 +0000TranquilEcho(~grom@user/tranquilecho) (Quit: WeeChat 2.8)
2021-10-10 00:34:30 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Ping timeout: 260 seconds)
2021-10-10 00:38:27 +0000syntactic_sugar(~amoljha@2601:644:8601:2e30::822c) (Quit: WeeChat 3.1)
2021-10-10 00:39:20 +0000alx741(~alx741@181.196.68.60) (Ping timeout: 265 seconds)
2021-10-10 00:42:21 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 00:42:28 +0000euandreh(~euandreh@2804:14c:33:9fe5:c707:55db:3139:271f) (Ping timeout: 252 seconds)
2021-10-10 00:42:44 +0000Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2021-10-10 00:44:37 +0000euandreh(~euandreh@2804:14c:33:9fe5:bea9:a565:1d5e:1b2d)
2021-10-10 00:47:04 +0000pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
2021-10-10 00:52:26 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-10 00:52:35 +0000alx741(~alx741@181.196.69.249)
2021-10-10 00:53:40 +0000machinedgod(~machinedg@24.105.81.50)
2021-10-10 00:55:09 +0000alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-10 00:55:35 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 00:59:10 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-10 01:00:07 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-10 01:05:46 +0000 <sm> what is https://hackage.haskell.org/package/numeric-prelude-0.4.3.3/docs/Algebra-RealRing.html ?
2021-10-10 01:06:59 +0000 <c_wraith> A Henning Thielemann package.
2021-10-10 01:08:25 +0000 <c_wraith> Looks like the class is that package's equivalent to base's RealFrac
2021-10-10 01:08:27 +0000 <awpr> is there a convention that all classes are named `C`?
2021-10-10 01:08:36 +0000 <c_wraith> that's Henning Thielemann
2021-10-10 01:08:42 +0000 <c_wraith> all his types are named T
2021-10-10 01:08:52 +0000xff0x(~xff0x@2001:1a81:528b:f000:e4dd:6ceb:f4d5:b9b2) (Ping timeout: 252 seconds)
2021-10-10 01:09:02 +0000 <awpr> optimizing for the most inscrutable Hackage docs possible, apparently
2021-10-10 01:09:19 +0000 <awpr> `class (C a, Ord a) => C a where ...`
2021-10-10 01:10:29 +0000xff0x(~xff0x@2001:1a81:52ca:8900:3fb5:73ff:4151:6c25)
2021-10-10 01:12:06 +0000 <awpr> lol, the Haddock FR is almost certainly referring to this library https://github.com/haskell/haddock/issues/272
2021-10-10 01:12:24 +0000 <awpr> "sometimes we get libraries which use single letter data type and type class names"
2021-10-10 01:12:42 +0000 <c_wraith> well. All of his libraries. Not just that one.
2021-10-10 01:13:24 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-10 01:15:08 +0000harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2021-10-10 01:20:12 +0000smdidn't care about the T type, but the lack of introductory sentence is bothersome
2021-10-10 01:20:38 +0000 <sm> hackage should simply disallow such uploads
2021-10-10 01:22:26 +0000ph88(~ph88@2a02:8109:9e00:7e5c::3d56)
2021-10-10 01:23:06 +0000 <sm> come the revolution, every module shall have a non empty module haddock.
2021-10-10 01:24:02 +0000hendursaga(~weechat@user/hendursaga)
2021-10-10 01:35:39 +0000zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-10-10 01:36:47 +0000zaquest(~notzaques@5.128.210.178)
2021-10-10 01:38:12 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-10 01:38:57 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 01:44:01 +0000jinsun(~quassel@user/jinsun) (Ping timeout: 252 seconds)
2021-10-10 01:47:31 +0000hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
2021-10-10 01:51:09 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-10-10 01:54:19 +0000peter71(~a@p200300ef971a68c8e4ca7f30fbe64496.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1)
2021-10-10 01:57:27 +0000MQ-17J(~MQ-17J@8.6.144.117) (Read error: Connection reset by peer)
2021-10-10 01:57:37 +0000hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
2021-10-10 01:58:01 +0000MQ-17J(~MQ-17J@8.6.144.117)
2021-10-10 02:02:27 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 02:02:29 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com)
2021-10-10 02:03:27 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-10 02:04:44 +0000jinsun(~quassel@user/jinsun)
2021-10-10 02:05:13 +0000hendursaga(~weechat@user/hendursaga)
2021-10-10 02:12:30 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-10 02:13:59 +0000 <Axman6> c_wraith, awpr: I would guess those packages are intended to be imported qualified and then used as RealRing.T. For some reason we do a similar thing in our stuff at work, and I have a love/hate relationship with it (Mostly because we'll have Foo.Bar.Baz define a type called Baz, then type T = Baz, so when I hover a usage of Bar.T all I get is the type T = Bar definition, and not Baz's definition)
2021-10-10 02:14:08 +0000neightchan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Read error: No route to host)
2021-10-10 02:14:46 +0000 <dsal> "This is the type class of a ring with a notion of an absolute value, satisfying the laws" -- Yeah, sounds like something that should be named `C`
2021-10-10 02:14:47 +0000 <awpr> yeah, I assumed that was the reasoning. just makes for really bad Haddockumentation
2021-10-10 02:16:00 +0000dsalimagines a class ring with absolute value
2021-10-10 02:16:28 +0000zerozzz
2021-10-10 02:18:13 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-10 02:19:00 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com)
2021-10-10 02:20:13 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 02:20:51 +0000tremontremon_
2021-10-10 02:35:26 +0000_\_(~o@user/ding) (Quit: ___)
2021-10-10 02:36:06 +0000_\_(~o@user/ding)
2021-10-10 02:36:47 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-10 02:39:00 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-10 02:39:33 +0000Cajun(~Cajun@user/cajun) (Ping timeout: 256 seconds)
2021-10-10 02:40:33 +0000Cajun(~Cajun@user/cajun)
2021-10-10 02:46:48 +0000alx741(~alx741@181.196.69.249) (Quit: alx741)
2021-10-10 02:48:25 +0000machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-10-10 02:53:34 +0000td_(~td@muedsl-82-207-238-244.citykom.de) (Ping timeout: 260 seconds)
2021-10-10 02:54:28 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 252 seconds)
2021-10-10 02:55:01 +0000td_(~td@muedsl-82-207-238-022.citykom.de)
2021-10-10 02:56:32 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-10 02:57:37 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 03:01:25 +0000_\_(~o@user/ding) (Quit: ___)
2021-10-10 03:02:04 +0000_\_(~o@user/ding)
2021-10-10 03:02:11 +0000CiaoSen(~Jura@p5dcc1e8d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-10 03:02:53 +0000zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-10-10 03:06:30 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-10 03:07:12 +0000Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-10 03:11:46 +0000Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Ping timeout: 260 seconds)
2021-10-10 03:12:22 +0000hendursaga(~weechat@user/hendursaga)
2021-10-10 03:16:54 +0000 <TDANG_> Hi. What does this symbol do: <>
2021-10-10 03:17:55 +0000 <c_wraith> TDANG_: It's helpful to know about haddock indexes - https://hackage.haskell.org/package/base-4.15.0.0/docs/doc-index-60.html
2021-10-10 03:20:14 +0000 <TDANG_> So, is it an concatenation of 2 list?
2021-10-10 03:20:39 +0000 <c_wraith> > "hello " <> "world"
2021-10-10 03:20:40 +0000 <lambdabot> "hello world"
2021-10-10 03:20:43 +0000 <c_wraith> with lists, it is
2021-10-10 03:21:14 +0000 <int-e> :t (<>)
2021-10-10 03:21:16 +0000 <lambdabot> Semigroup a => a -> a -> a
2021-10-10 03:21:44 +0000 <int-e> > (Plus 2 <> Plus 5, Times 2 <> Times 5) -- hmm
2021-10-10 03:21:46 +0000 <lambdabot> error:
2021-10-10 03:21:46 +0000 <lambdabot> Data constructor not in scope: Plus :: t0 -> aerror:
2021-10-10 03:21:46 +0000 <lambdabot> Data constructor not in scope: Plus :: t1 -> aerror:
2021-10-10 03:21:50 +0000 <int-e> aww
2021-10-10 03:21:53 +0000 <c_wraith> > getSum $ Sum 1 <> Sum 4
2021-10-10 03:21:55 +0000 <lambdabot> 5
2021-10-10 03:22:04 +0000 <TDANG_> so, are they same: <> and ++
2021-10-10 03:22:08 +0000 <c_wraith> for lists
2021-10-10 03:22:09 +0000 <TDANG_> ?
2021-10-10 03:22:16 +0000 <int-e> :t (++)
2021-10-10 03:22:17 +0000 <lambdabot> [a] -> [a] -> [a]
2021-10-10 03:22:19 +0000 <c_wraith> <> works on many other types
2021-10-10 03:22:19 +0000 <int-e> ++ is only for lists
2021-10-10 03:22:58 +0000 <TDANG_> ++ also works for string, "hello " ++ "world"
2021-10-10 03:23:00 +0000 <int-e> <> generalizes ++
2021-10-10 03:23:07 +0000 <int-e> String = [Char] is a list
2021-10-10 03:23:18 +0000 <TDANG_> Oh, I see
2021-10-10 03:23:46 +0000 <TDANG_> so, what is the difference of <> vs ++
2021-10-10 03:23:47 +0000mniip(mniip@libera/staff/mniip) (Remote host closed the connection)
2021-10-10 03:23:56 +0000 <awpr> > Sum 5 <> Sum 6
2021-10-10 03:23:58 +0000 <lambdabot> Sum {getSum = 11}
2021-10-10 03:24:36 +0000 <awpr> it's generally "some associative combining function that's appropriate for the type"
2021-10-10 03:24:49 +0000 <int-e> > (text "abc" <> text "def", Product 2 <> Product 5)
2021-10-10 03:24:50 +0000 <lambdabot> (abcdef,Product {getProduct = 10})
2021-10-10 03:25:06 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-10-10 03:25:44 +0000 <awpr> > Data.Set.fromList [2, 4, 6] <> Data.Set.fromList [1, 3, 5]
2021-10-10 03:25:46 +0000 <lambdabot> fromList [1,2,3,4,5,6]
2021-10-10 03:26:21 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 245 seconds)
2021-10-10 03:28:04 +0000mniip(~mniip@libera/staff/mniip)
2021-10-10 03:29:37 +0000geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 252 seconds)
2021-10-10 03:30:02 +0000notzmv(~zmv@user/notzmv)
2021-10-10 03:49:46 +0000shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-10-10 03:56:46 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-10 04:01:45 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-10 04:02:59 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com)
2021-10-10 04:04:00 +0000hendursaga(~weechat@user/hendursaga)
2021-10-10 04:05:43 +0000natechan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-10-10 04:10:55 +0000lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap)
2021-10-10 04:13:05 +0000lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2021-10-10 04:16:23 +0000scootahlong(~scootahlo@122-199-26-165.ip4.superloop.com)
2021-10-10 04:16:42 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-10 04:18:01 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-10 04:18:57 +0000hendursaga(~weechat@user/hendursaga)
2021-10-10 04:23:51 +0000pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 245 seconds)
2021-10-10 04:23:55 +0000tonyday(~user@122-199-26-165.ip4.superloop.com)
2021-10-10 04:25:39 +0000scootahlong(~scootahlo@122-199-26-165.ip4.superloop.com) (Quit: Connection closed)
2021-10-10 04:27:28 +0000tonyday(~user@122-199-26-165.ip4.superloop.com) (Remote host closed the connection)
2021-10-10 04:30:03 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-10 04:33:00 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 04:33:42 +0000syntactic_sugar(~amoljha@2601:644:8601:2e30::822c)
2021-10-10 04:35:03 +0000hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-10 04:35:05 +0000syntactic_sugar(~amoljha@2601:644:8601:2e30::822c) (Client Quit)
2021-10-10 04:47:16 +0000aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-10-10 04:49:45 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com)
2021-10-10 05:04:16 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-10 05:06:13 +0000wei2912(~wei2912@112.199.250.21)
2021-10-10 05:07:34 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-10 05:12:54 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-10 05:16:46 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-10 05:18:24 +0000fef(~thedawn@user/thedawn)
2021-10-10 05:19:17 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 05:19:18 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 05:19:18 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 05:19:40 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2021-10-10 05:20:06 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-10 05:23:31 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-10 05:24:30 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-10 05:25:46 +0000hyiltiz(~quassel@31.220.5.250)
2021-10-10 05:32:43 +0000 <dsal> TDANG_: ++ does list concatenation only. <> lets you combine anything that's a semigroup.
2021-10-10 05:33:05 +0000 <dsal> A semigroup is a type that has an operator that takes two things of that type and returns a new thing of that type. That operator in Haskell is <>
2021-10-10 05:33:51 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-10 05:34:09 +0000 <dsal> If you have two things of type [T], <> is the same thing as ++. But There are many different things with that property. Simple examples are stuff like Text, which look syntactically similar (with OverloadedStrings), but you can't use ++
2021-10-10 05:34:54 +0000 <dsal> Semigroups (and monoids in general) seem kind of dumb at first, but they're everywhere, and having a common language and common tooling makes a lot of things easier.
2021-10-10 05:35:21 +0000 <dsal> Though I did run into the situation today I learned that there's no Either monoid. :(
2021-10-10 05:36:49 +0000 <dsal> > fold . traverse Right $ [1, 2, 3] -- I had to replace a `foldMap` with a `fold . traverse`. It was pretty tragic.
2021-10-10 05:36:51 +0000 <lambdabot> [1,2,3]
2021-10-10 05:37:10 +0000 <dsal> No, that's not what I did.
2021-10-10 05:39:13 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-10 05:39:36 +0000 <dsal> Oh, that's right, it was more like this:
2021-10-10 05:39:38 +0000 <dsal> > fmap fold . traverse (Right . (:[])) $ [1, 2, 3]
2021-10-10 05:39:40 +0000 <lambdabot> Right [1,2,3]
2021-10-10 05:40:07 +0000 <dsal> I had to `fmap fold . traverse` to get the same effect I wanted from `foldMap`
2021-10-10 05:40:28 +0000 <dsal> I don't know. It was time for me to go to bed in the past. Brain not feel right.
2021-10-10 05:48:19 +0000 <hololeap> dsal: what were you trying to do with Either?
2021-10-10 05:49:12 +0000 <dsal> I just had a Left that was an error and a right that was a list. I wanted my foldMap to stay Left or fold Right.
2021-10-10 05:49:17 +0000 <dsal> Something like that.
2021-10-10 05:49:31 +0000 <dsal> The problem is that there's more than one correct way to do it, I guess.
2021-10-10 05:49:40 +0000 <hololeap> isn't that just the applicative instance of Either?
2021-10-10 05:50:19 +0000 <hololeap> > sequenceA [Right 3, Left "error", Right 4]
2021-10-10 05:50:20 +0000 <lambdabot> Left "error"
2021-10-10 05:50:29 +0000 <dsal> Yeah. That's why I ended up using traverse.
2021-10-10 05:50:32 +0000 <hololeap> > sequenceA [Right 3, Right 0, Right 4]
2021-10-10 05:50:34 +0000 <lambdabot> Right [3,0,4]
2021-10-10 05:50:51 +0000 <dsal> But my Rights might were lists I wanted to fold.
2021-10-10 05:50:58 +0000 <dsal> So I was hoping it'd either spit out a Left or fold Right.
2021-10-10 05:51:38 +0000 <dsal> I don't remember exactly what I was doing…  but I learned that it's another case where Maybe and Either differ in a slightly surprising way.
2021-10-10 05:52:07 +0000 <dsal> Actually, it's even differenter.
2021-10-10 05:52:09 +0000 <dsal> > Just [1] <> Just [2]
2021-10-10 05:52:11 +0000 <lambdabot> Just [1,2]
2021-10-10 05:52:14 +0000 <dsal> > Right [1] <> Right [2]
2021-10-10 05:52:16 +0000 <lambdabot> Right [1]
2021-10-10 05:52:34 +0000 <dsal> My example didn't compile, which is nice, because I don't like whatever this is. heh
2021-10-10 05:53:16 +0000 <hololeap> > fold $ Right [Sum 1, Sum 2, Sum 3]
2021-10-10 05:53:18 +0000 <lambdabot> [Sum {getSum = 1},Sum {getSum = 2},Sum {getSum = 3}]
2021-10-10 05:53:34 +0000 <hololeap> wait, what
2021-10-10 05:53:55 +0000 <hololeap> oh I see the need for fmap fold now
2021-10-10 05:54:27 +0000 <hololeap> > fold $ Ap $ Right [Sum 1, Sum 2, Sum 3]
2021-10-10 05:54:29 +0000 <lambdabot> [Sum {getSum = 1},Sum {getSum = 2},Sum {getSum = 3}]
2021-10-10 06:03:35 +0000jlamothe(~jlamothe@104.158.48.100) (Ping timeout: 246 seconds)
2021-10-10 06:03:41 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com)
2021-10-10 06:04:51 +0000 <hololeap> > foldMap Ap [Right (Sum 1), Right (Sum 2), Right (Sum 3)]
2021-10-10 06:04:53 +0000 <lambdabot> Ap {getAp = Right (Sum {getSum = 6})}
2021-10-10 06:05:02 +0000 <hololeap> > foldMap Ap [Right (Sum 1), Left "error", Right (Sum 3)]
2021-10-10 06:05:04 +0000 <lambdabot> Ap {getAp = Left "error"}
2021-10-10 06:05:42 +0000jlamothe(~jlamothe@198.251.61.229)
2021-10-10 06:07:10 +0000 <hololeap> dsal: that's what I was thinking of. using Ap to get a monoid from Monoid a => Either e a
2021-10-10 06:08:15 +0000 <hololeap> > Ap (Right [1]) <> Ap (Right [2])
2021-10-10 06:08:17 +0000 <lambdabot> Ap {getAp = Right [1,2]}
2021-10-10 06:11:12 +0000falafel(~falafel@2603-8000-d800-688c-1149-ad01-bbe3-4af1.res6.spectrum.com) (Remote host closed the connection)
2021-10-10 06:13:43 +0000 <hololeap> > Ap (Left "error") <> Ap (Right [2])
2021-10-10 06:13:45 +0000 <lambdabot> Ap {getAp = Left "error"}
2021-10-10 06:15:11 +0000 <hololeap> anyway, I find Ap to be useful, and often times I'll just derive Semigroup and Monoid from it using DerivingVia, if the applicative doesn't have some other obvious monoid instance
2021-10-10 06:18:21 +0000 <hololeap> now if Endo took any Category instead of forcing you to use (a -> a), we'd be getting somewhere :)
2021-10-10 06:21:51 +0000vglfr(~vglfr@88.155.3.123)
2021-10-10 06:23:40 +0000vglfr(~vglfr@88.155.3.123) (Remote host closed the connection)
2021-10-10 06:29:43 +0000 <hololeap> % newtype Endo' c a = Endo' { runEndo' :: c a a }
2021-10-10 06:29:43 +0000 <yahb> hololeap:
2021-10-10 06:30:06 +0000 <hololeap> % instance Category c => Semigroup (Endo' c a) where Endo' f <> Endo' g = Endo' (f C.. g)
2021-10-10 06:30:06 +0000 <yahb> hololeap:
2021-10-10 06:30:15 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-10-10 06:30:22 +0000 <hololeap> % newtype Thing r a = Thing (a -> r -> a)
2021-10-10 06:30:22 +0000 <yahb> hololeap:
2021-10-10 06:30:29 +0000slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-10-10 06:30:38 +0000 <hololeap> % deriving via Endo' (Kleisli (Reader r)) a instance Semigroup (Thing r a)
2021-10-10 06:30:38 +0000 <yahb> hololeap:
2021-10-10 06:32:13 +0000 <hololeap> lol, I think that's just foldl with extra steps. still cool
2021-10-10 06:32:42 +0000 <hololeap> well, not quite, but it would fit into a foldl
2021-10-10 06:34:21 +0000wonko(~wjc@62.115.229.50)
2021-10-10 06:34:50 +0000 <hololeap> hm, no, it's just isomorphic to Ap (Reader r) (Endo a)
2021-10-10 06:35:48 +0000fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-10-10 06:37:24 +0000 <hololeap> something something hom functor
2021-10-10 06:47:51 +0000fef(~thedawn@user/thedawn)
2021-10-10 07:03:44 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 07:13:21 +0000chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-10 07:23:00 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-10 07:25:13 +0000Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-10-10 07:25:55 +0000max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-10 07:28:33 +0000 <gentauro> is it possible to set the `-WAll` flag just on a single file?
2021-10-10 07:28:39 +0000 <gentauro> just like with pragmas?
2021-10-10 07:29:28 +0000gentauro`{-# LANGUAGE MultiParamTypeClasses #-}` -> `{-# LANGUAGE WAll #-}` or something like that
2021-10-10 07:31:15 +0000notzmv(~zmv@user/notzmv)
2021-10-10 07:31:47 +0000 <awpr> `{-# OPTIONS_GHC -Wall #-}`
2021-10-10 07:37:51 +0000brainfreeze(~brainfree@2a03:1b20:4:f011::20d) (Quit: Leaving)
2021-10-10 07:38:23 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-10 07:42:43 +0000 <gentauro> awpr: thx
2021-10-10 07:45:02 +0000jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-10 07:45:30 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-10 07:47:44 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-10-10 07:56:06 +0000Lycurgus(~juan@98.4.112.204)
2021-10-10 07:57:27 +0000alzgh(~alzgh@user/alzgh)
2021-10-10 08:01:47 +0000Skyfire(~pyon@user/pyon) (Quit: brb)
2021-10-10 08:01:58 +0000ubert(~Thunderbi@91.141.71.73.wireless.dyn.drei.com)
2021-10-10 08:02:11 +0000Skyfire(~pyon@user/pyon)
2021-10-10 08:02:17 +0000ubert(~Thunderbi@91.141.71.73.wireless.dyn.drei.com) (Client Quit)
2021-10-10 08:04:20 +0000gehmehgeh(~user@user/gehmehgeh)
2021-10-10 08:05:03 +0000mc47(~mc47@xmonad/TheMC47)
2021-10-10 08:05:12 +0000hendursa1(~weechat@user/hendursaga)
2021-10-10 08:08:45 +0000hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-10 08:09:52 +0000_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-10-10 08:11:47 +0000rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 08:13:08 +0000DNH(~DNH@2a02:8108:1100:16d8:b5db:e528:b8d:89bb)
2021-10-10 08:13:49 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-10 08:16:12 +0000rembo10(~rembo10@remulis.com)
2021-10-10 08:17:36 +0000wonko(~wjc@62.115.229.50) (Ping timeout: 245 seconds)
2021-10-10 08:17:37 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-10-10 08:17:37 +0000allbery_b(~geekosaur@xmonad/geekosaur)
2021-10-10 08:17:40 +0000allbery_bgeekosaur
2021-10-10 08:20:10 +0000wonko(~wjc@62.115.229.50)
2021-10-10 08:21:07 +0000razor[m]uploaded an image: (1707KiB) < https://libera.ems.host/_matrix/media/r0/download/monero.social/MFQekLlyOhDaKbUVhZZFLVIV/image.png >
2021-10-10 08:21:22 +0000 <razor[m]> how i look
2021-10-10 08:22:35 +0000 <Lycurgus> like ur in the wrong place to be real?
2021-10-10 08:23:10 +0000DNH(~DNH@2a02:8108:1100:16d8:b5db:e528:b8d:89bb) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-10 08:23:26 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 08:24:30 +0000bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-10-10 08:28:10 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Ping timeout: 260 seconds)
2021-10-10 08:28:15 +0000Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2021-10-10 08:29:25 +0000chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds)
2021-10-10 08:29:41 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 08:30:36 +0000chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-10 08:33:51 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-10-10 08:34:27 +0000acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de)
2021-10-10 08:46:50 +0000wonko(~wjc@62.115.229.50) (Ping timeout: 260 seconds)
2021-10-10 08:49:33 +0000econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-10-10 08:52:38 +0000choucavalier(~choucaval@user/choucavalier) (Ping timeout: 246 seconds)
2021-10-10 08:58:12 +0000fendor_(~fendor@178.165.170.133.wireless.dyn.drei.com)
2021-10-10 09:00:31 +0000fendor(~fendor@91.141.39.19.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2021-10-10 09:03:37 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
2021-10-10 09:04:04 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-10-10 09:12:21 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-10-10 09:19:10 +0000Elis21F(~KELEBEK@188.119.54.133)
2021-10-10 09:19:16 +0000kaizen(sid501599@id-501599.helmsley.irccloud.com) (Ping timeout: 245 seconds)
2021-10-10 09:19:16 +0000grfn(sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 245 seconds)
2021-10-10 09:20:01 +0000hubvu(sid495858@user/hubvu) (Ping timeout: 252 seconds)
2021-10-10 09:20:34 +0000kristjansson_(sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-10 09:20:55 +0000T_S_(sid501726@id-501726.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
2021-10-10 09:20:56 +0000hook54321(sid149355@user/hook54321) (Ping timeout: 245 seconds)
2021-10-10 09:21:13 +0000T_S_(sid501726@uxbridge.irccloud.com)
2021-10-10 09:22:04 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
2021-10-10 09:22:12 +0000kaizen(sid501599@helmsley.irccloud.com)
2021-10-10 09:22:15 +0000hubvu(sid495858@user/hubvu)
2021-10-10 09:22:19 +0000kristjansson_(sid126207@tinside.irccloud.com)
2021-10-10 09:22:51 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-10-10 09:23:38 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-10 09:24:03 +0000hook54321(sid149355@user/hook54321)
2021-10-10 09:24:29 +0000hendursa1(~weechat@user/hendursaga) (Remote host closed the connection)
2021-10-10 09:25:30 +0000hendursa1(~weechat@user/hendursaga)
2021-10-10 09:26:28 +0000 <maerwald> lol
2021-10-10 09:29:29 +0000_0x47(sid508683@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:29:40 +0000jackdk(sid373013@cssa/jackdk) (Ping timeout: 260 seconds)
2021-10-10 09:29:40 +0000sa(sid1055@5.254.36.57) (Ping timeout: 260 seconds)
2021-10-10 09:29:41 +0000hongminhee(sid295@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:29:41 +0000hubvu(sid495858@user/hubvu) (Ping timeout: 245 seconds)
2021-10-10 09:29:47 +0000typetetris(sid275937@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:29:49 +0000taktoa[c](sid282096@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:29:50 +0000jmct_(sid160793@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:29:52 +0000kristjansson_(sid126207@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-10-10 09:29:52 +0000agander_m(sid407952@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:29:56 +0000Elis21F(~KELEBEK@188.119.54.133) (Quit: � Www.Kelebek.Org Mutlaka Download Edin! Kelebek Final irc.kelebek.org �y wToprak �)
2021-10-10 09:30:00 +0000glowcoil(sid3405@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:30:06 +0000Nahra(~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 245 seconds)
2021-10-10 09:30:10 +0000bbhoss(sid18216@5.254.36.57) (Read error: Connection reset by peer)
2021-10-10 09:32:50 +0000hongminhee(sid295@tinside.irccloud.com)
2021-10-10 09:33:03 +0000typetetris(sid275937@tinside.irccloud.com)
2021-10-10 09:33:17 +0000_0x47(sid508683@id-508683.tinside.irccloud.com)
2021-10-10 09:33:27 +0000bbhoss(sid18216@tinside.irccloud.com)
2021-10-10 09:33:33 +0000taktoa[c](sid282096@id-282096.tinside.irccloud.com)
2021-10-10 09:33:37 +0000jmct_(sid160793@id-160793.tinside.irccloud.com)
2021-10-10 09:33:41 +0000glowcoil(sid3405@id-3405.tinside.irccloud.com)
2021-10-10 09:33:44 +0000kristjansson_(sid126207@id-126207.tinside.irccloud.com)
2021-10-10 09:33:45 +0000grfn(sid449115@id-449115.helmsley.irccloud.com)
2021-10-10 09:33:45 +0000jackdk(sid373013@cssa/jackdk)
2021-10-10 09:33:49 +0000hubvu(sid495858@user/hubvu)
2021-10-10 09:34:14 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 09:34:17 +0000sa(sid1055@id-1055.tinside.irccloud.com)
2021-10-10 09:34:21 +0000werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
2021-10-10 09:34:48 +0000agander_m(sid407952@id-407952.tinside.irccloud.com)
2021-10-10 09:56:31 +0000acidjnk_new3(~acidjnk@p200300d0c703cb54947e0de64b437952.dip0.t-ipconnect.de)
2021-10-10 10:00:58 +0000acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2021-10-10 10:03:43 +0000cls(~cls@chalk.lubutu.com)
2021-10-10 10:05:54 +0000neurocyte0132889(~neurocyte@45.10.62.134)
2021-10-10 10:05:54 +0000neurocyte0132889(~neurocyte@45.10.62.134) (Changing host)
2021-10-10 10:05:54 +0000neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-10 10:08:30 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-10 10:19:28 +0000__monty__(~toonn@user/toonn)
2021-10-10 10:26:11 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-10 10:31:03 +0000mbuf(~Shakthi@122.178.231.226)
2021-10-10 10:34:16 +0000agander_m(sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-10 10:34:38 +0000jmct_(sid160793@id-160793.tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-10-10 10:34:49 +0000jackdk(sid373013@cssa/jackdk) (Ping timeout: 252 seconds)
2021-10-10 10:35:06 +0000hubvu(sid495858@user/hubvu) (Ping timeout: 260 seconds)
2021-10-10 10:35:06 +0000glowcoil(sid3405@id-3405.tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-10-10 10:35:22 +0000sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-10 10:35:22 +0000_0x47(sid508683@id-508683.tinside.irccloud.com) (Ping timeout: 252 seconds)
2021-10-10 10:35:34 +0000kristjansson_(sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-10-10 10:35:55 +0000grfn(sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 252 seconds)
2021-10-10 10:35:58 +0000taktoa[c]_(sid282096@tinside.irccloud.com)
2021-10-10 10:36:02 +0000taktoa[c](sid282096@id-282096.tinside.irccloud.com) (Ping timeout: 260 seconds)
2021-10-10 10:36:02 +0000taktoa[c]_taktoa[c]
2021-10-10 10:36:04 +0000grfn(sid449115@helmsley.irccloud.com)
2021-10-10 10:36:12 +0000 <cls> i'm trying to understand a datatype i'm working with. i have a full set of functions for constructing it inductively, and a complementary set of functions for deconstructing it coinductively, sort of like an ADT or a product of prisms, is that 'just' an Iso? i'm trying to work out the best way to visualise it.
2021-10-10 10:36:38 +0000hubvu(sid495858@user/hubvu)
2021-10-10 10:36:47 +0000sa(sid1055@tinside.irccloud.com)
2021-10-10 10:37:11 +0000glowcoil(sid3405@tinside.irccloud.com)
2021-10-10 10:37:16 +0000TranquilEcho(~grom@user/tranquilecho)
2021-10-10 10:37:31 +0000kristjansson_(sid126207@tinside.irccloud.com)
2021-10-10 10:38:21 +0000jackdk(sid373013@cssa/jackdk)
2021-10-10 10:38:22 +0000_0x47(sid508683@tinside.irccloud.com)
2021-10-10 10:38:35 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-10 10:39:31 +0000agander_m(sid407952@tinside.irccloud.com)
2021-10-10 10:39:50 +0000jmct_(sid160793@tinside.irccloud.com)
2021-10-10 10:46:36 +0000DNH(~DNH@2a02:8108:1100:16d8:2c83:2f3:e68a:5c4)
2021-10-10 10:57:32 +0000ghoulguy(x@libera/staff/glguy) (Read error: Connection reset by peer)
2021-10-10 11:00:50 +0000max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2021-10-10 11:00:54 +0000alx741(~alx741@181.196.69.249)
2021-10-10 11:01:39 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds)
2021-10-10 11:01:42 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 260 seconds)
2021-10-10 11:02:59 +0000ChaiTRex(~ChaiTRex@user/chaitrex)
2021-10-10 11:04:45 +0000hyiltiz(~quassel@31.220.5.250)
2021-10-10 11:10:21 +0000aliosablack(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-10 11:10:34 +0000chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds)
2021-10-10 11:12:02 +0000jaitoon(~Jaitoon@188.241.156.2) (Quit: Leaving)
2021-10-10 11:12:26 +0000FragByte(~christian@user/fragbyte) (Quit: Quit)
2021-10-10 11:14:13 +0000FragByte(~christian@user/fragbyte)
2021-10-10 11:18:13 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2021-10-10 11:18:36 +0000azimut(~azimut@gateway/tor-sasl/azimut)
2021-10-10 11:18:54 +0000ph88(~ph88@2a02:8109:9e00:7e5c::3d56) (Quit: Leaving)
2021-10-10 11:20:53 +0000Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2021-10-10 11:22:13 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Quit: mikoto-chan)
2021-10-10 11:28:24 +0000pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-10-10 11:30:36 +0000pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-10 11:33:30 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection)
2021-10-10 11:33:48 +0000acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de)
2021-10-10 11:33:50 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-10-10 11:35:07 +0000glguy(x@libera/staff/glguy)
2021-10-10 11:36:41 +0000unknown__(~thedawn@user/thedawn)
2021-10-10 11:37:13 +0000acidjnk_new3(~acidjnk@p200300d0c703cb54947e0de64b437952.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2021-10-10 11:37:13 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-10 11:41:02 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2021-10-10 11:41:18 +0000fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-10-10 11:42:54 +0000DNH(~DNH@2a02:8108:1100:16d8:2c83:2f3:e68a:5c4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-10 11:43:45 +0000DNH(~DNH@2a02:8108:1100:16d8:2c83:2f3:e68a:5c4)
2021-10-10 11:46:45 +0000machinedgod(~machinedg@24.105.81.50)
2021-10-10 11:46:47 +0000tcard(~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp)
2021-10-10 11:47:42 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 268 seconds)
2021-10-10 11:49:29 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-10 11:53:56 +0000 <troydm> how do I specify -L library to be linked with my exe when via stakc.yaml ?
2021-10-10 11:54:17 +0000 <troydm> or should it be specified in .cabal file?
2021-10-10 11:59:05 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 250 seconds)
2021-10-10 11:59:56 +0000 <tomsmeding> troydm: in the .cabal file you can use https://cabal.readthedocs.io/en/3.6/cabal-package.html#pkg-field-ld-options probably
2021-10-10 12:00:27 +0000 <troydm> tomsmeding: found it, it's called extra-libraries:, but strangely it can't find my libinput library
2021-10-10 12:01:04 +0000 <tomsmeding> maybe extra-libraries adds -l options, whereas you need some -L as well?
2021-10-10 12:01:09 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-10 12:01:25 +0000 <troydm> tomsmeding: seems so
2021-10-10 12:03:44 +0000 <troydm> nvm figured it out, had to specify libinput with lib prefix as it seems like it automatically adds it when linking
2021-10-10 12:04:05 +0000 <troydm> extra-libraries: input
2021-10-10 12:04:07 +0000 <troydm> worked
2021-10-10 12:04:53 +0000xiongxin(~quassel@113.116.34.120)
2021-10-10 12:04:58 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 12:07:31 +0000shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-10 12:09:35 +0000geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2021-10-10 12:11:53 +0000xiongxin(~quassel@113.116.34.120) (Read error: Connection reset by peer)
2021-10-10 12:12:49 +0000xiongxin(~quassel@119.123.101.136)
2021-10-10 12:14:43 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Read error: Connection reset by peer)
2021-10-10 12:16:40 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-10 12:16:41 +0000Farzad(~FarzadBek@178.131.30.105)
2021-10-10 12:24:35 +0000max22-(~maxime@2a01cb0883359800b15a48cb0cc875f6.ipv6.abo.wanadoo.fr)
2021-10-10 12:26:35 +0000slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-10 12:28:36 +0000sm2n_(~sm2n@user/sm2n)
2021-10-10 12:29:29 +0000sm2n(~sm2n@user/sm2n) (Ping timeout: 245 seconds)
2021-10-10 12:30:40 +0000mrckndt(~mrckndt@user/mrckndt)
2021-10-10 12:31:53 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 12:34:53 +0000Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-10 12:35:05 +0000Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-10 12:36:19 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-10 12:39:14 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-10 12:43:28 +0000sm2n_(~sm2n@user/sm2n) (Ping timeout: 252 seconds)
2021-10-10 12:48:28 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 12:49:53 +0000img(~img@user/img)
2021-10-10 12:52:27 +0000max22-(~maxime@2a01cb0883359800b15a48cb0cc875f6.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2021-10-10 13:01:22 +0000Guest23568(~user@123.180.79.70)
2021-10-10 13:01:56 +0000twitu(~twitu@122.163.88.222)
2021-10-10 13:07:10 +0000max22-(~maxime@2a01cb088335980078ad8eabec9c6d90.ipv6.abo.wanadoo.fr)
2021-10-10 13:07:43 +0000twitu(~twitu@122.163.88.222) (Quit: Client closed)
2021-10-10 13:10:13 +0000hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net)
2021-10-10 13:11:28 +0000twitu(~twitu@122.163.88.222)
2021-10-10 13:20:01 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-10 13:20:02 +0000 <geekosaur> troydm, yes, the linker automatically prepends "lib" to any library specified with -l
2021-10-10 13:20:18 +0000 <geekosaur> so you'll see this in C too
2021-10-10 13:21:36 +0000zebrag(~chris@user/zebrag)
2021-10-10 13:22:38 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 13:24:01 +0000img(~img@user/img)
2021-10-10 13:27:01 +0000choucavalier(~choucaval@2001:41d0:a:2158::1)
2021-10-10 13:33:06 +0000unknown__(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-10-10 13:37:25 +0000CiaoSen(~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-10 13:43:07 +0000hippoid(~hippoid@c-24-12-226-47.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
2021-10-10 13:44:47 +0000raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-10 13:47:39 +0000twitu(~twitu@122.163.88.222) (Ping timeout: 256 seconds)
2021-10-10 13:48:16 +0000connrs(~connrs@conners.plus.com)
2021-10-10 14:03:50 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-10 14:09:45 +0000jakalx(~jakalx@base.jakalx.net) ()
2021-10-10 14:10:00 +0000jakalx(~jakalx@base.jakalx.net)
2021-10-10 14:10:51 +0000azimut_(~azimut@gateway/tor-sasl/azimut)
2021-10-10 14:11:09 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 14:11:27 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2021-10-10 14:12:31 +0000img(~img@user/img)
2021-10-10 14:14:59 +0000mei6(~mei@user/mei)
2021-10-10 14:15:53 +0000mei6(~mei@user/mei) (Client Quit)
2021-10-10 14:16:17 +0000Guest12(~Guest12@2405:9800:ba00:8058:827e:a0f5:e23:ac59)
2021-10-10 14:16:31 +0000twitu(~twitu@122.163.88.222)
2021-10-10 14:17:27 +0000Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-10 14:17:45 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 14:19:09 +0000 <Guest12> @type map
2021-10-10 14:19:10 +0000 <lambdabot> (a -> b) -> [a] -> [b]
2021-10-10 14:20:56 +0000acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-10 14:21:18 +0000 <Guest12> > map (+1) [1..10]
2021-10-10 14:21:20 +0000 <lambdabot> [2,3,4,5,6,7,8,9,10,11]
2021-10-10 14:21:32 +0000 <Guest12> @list
2021-10-10 14:21:32 +0000 <lambdabot> What module? Try @listmodules for some ideas.
2021-10-10 14:21:38 +0000 <Guest12> @listmodules
2021-10-10 14:21:39 +0000 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
2021-10-10 14:21:39 +0000 <lambdabot> seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where
2021-10-10 14:22:12 +0000 <Guest12> @help
2021-10-10 14:22:12 +0000 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2021-10-10 14:22:21 +0000 <Guest12> @help list
2021-10-10 14:22:22 +0000 <lambdabot> list [module|command]. Show commands for [module] or the module providing [command].
2021-10-10 14:22:22 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Ping timeout: 260 seconds)
2021-10-10 14:22:34 +0000 <Guest12> @help pointfree
2021-10-10 14:22:34 +0000 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2021-10-10 14:24:02 +0000 <Guest12> @help pointful
2021-10-10 14:24:02 +0000 <lambdabot> pointful <expr>. Make code pointier.
2021-10-10 14:24:16 +0000 <geekosaur> @help pl
2021-10-10 14:24:16 +0000 <lambdabot> pointless <expr>. Play with pointfree code.
2021-10-10 14:24:27 +0000 <Guest12> @pointful
2021-10-10 14:24:27 +0000 <lambdabot> Error: expected a Haskell expression or declaration
2021-10-10 14:24:31 +0000 <Guest12> @pointful \f1 f2 f3 t -> (,,) (f1 t) (f2 t) (f3 t)
2021-10-10 14:24:31 +0000 <lambdabot> \ f1 f2 f3 t -> (,,) (f1 t) (f2 t) (f3 t)
2021-10-10 14:25:05 +0000 <geekosaur> that one's already got points. (,,) is a constructor, not pointfree
2021-10-10 14:30:05 +0000 <Guest12> @pointful return
2021-10-10 14:30:05 +0000 <lambdabot> return
2021-10-10 14:30:43 +0000arahael(~arahael@203-206-94-225.tpgi.com.au) (Ping timeout: 252 seconds)
2021-10-10 14:30:57 +0000stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds)
2021-10-10 14:35:03 +0000arahael(~arahael@203-206-94-225.tpgi.com.au)
2021-10-10 14:35:35 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 14:37:37 +0000Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Remote host closed the connection)
2021-10-10 14:39:41 +0000xff0x(~xff0x@2001:1a81:52ca:8900:3fb5:73ff:4151:6c25) (Ping timeout: 245 seconds)
2021-10-10 14:40:27 +0000Guest23568(~user@123.180.79.70) (Quit: ERC (IRC client for Emacs 26.3))
2021-10-10 14:43:25 +0000stiell(~stiell@gateway/tor-sasl/stiell)
2021-10-10 14:44:21 +0000Lycurgus(~juan@98.4.112.204)
2021-10-10 14:49:37 +0000connrs(~connrs@conners.plus.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 14:50:07 +0000connrs(~connrs@conners.plus.com)
2021-10-10 14:50:58 +0000Farzad(~FarzadBek@178.131.30.105) (Ping timeout: 265 seconds)
2021-10-10 14:51:02 +0000sedeki(~textual@user/sedeki)
2021-10-10 14:52:25 +0000connrs(~connrs@conners.plus.com) (Client Quit)
2021-10-10 14:53:06 +0000connrs(~connrs@conners.plus.com)
2021-10-10 14:54:54 +0000neurocyte0132889(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-10-10 14:54:56 +0000rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438)
2021-10-10 14:55:20 +0000[Kalisto](~nico@user/kalisto/x-8968079)
2021-10-10 15:01:14 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 15:02:37 +0000img(~img@user/img)
2021-10-10 15:04:15 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-10 15:05:27 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 15:05:27 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 15:05:27 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 15:09:21 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds)
2021-10-10 15:09:58 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-10 15:10:22 +0000xff0x(~xff0x@2001:1a81:52ca:8900:3fb5:73ff:4151:6c25)
2021-10-10 15:20:13 +0000Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2021-10-10 15:22:06 +0000unknown__(~thedawn@user/thedawn)
2021-10-10 15:26:05 +0000fusion86(~fusion@2a02-a44c-e6e5-1-9052-d9fb-9373-1d35.fixed6.kpn.net)
2021-10-10 15:29:10 +0000 <fusion86> Is there a standard format for how to implement the Show function? E.g. I have an object (if you can call it that in Haskell) with a few fields which I want to print in the Show function. I could just make `show` return a JSON-like string which would work, but maybe there's a better format?
2021-10-10 15:30:59 +0000 <fusion86> E.g python has __repr__ where the convention is to return 'MyObject(name="sup", other_prop="whatever")`
2021-10-10 15:32:36 +0000xff0x(~xff0x@2001:1a81:52ca:8900:3fb5:73ff:4151:6c25) (Ping timeout: 245 seconds)
2021-10-10 15:32:45 +0000xiongxin(~quassel@119.123.101.136) (Quit: No Ping reply in 180 seconds.)
2021-10-10 15:33:14 +0000themc47(~mc47@xmonad/TheMC47)
2021-10-10 15:33:35 +0000xff0x(~xff0x@port-92-195-30-252.dynamic.as20676.net)
2021-10-10 15:33:57 +0000 <hpc> my mental model of Show is "human-readable information in whatever format is most difficult for a machine to handle"
2021-10-10 15:34:01 +0000xiongxin(~quassel@113.116.34.120)
2021-10-10 15:34:16 +0000 <pavonia> fusion86: The standard format is "deriving Show"
2021-10-10 15:34:21 +0000 <hpc> usually it's some reasonable approximation of valid haskell, but there's nothing stopping it from being something like
2021-10-10 15:34:24 +0000 <hpc> > getLine
2021-10-10 15:34:26 +0000 <lambdabot> <IO [Char]>
2021-10-10 15:34:38 +0000 <hpc> and yeah, you almost always just want deriving
2021-10-10 15:34:59 +0000 <hpc> same for Read, Enum, Bounded, and a few more of the basics
2021-10-10 15:35:37 +0000mc47(~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds)
2021-10-10 15:35:52 +0000connrs(~connrs@conners.plus.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 15:35:56 +0000 <hpc> if you know you want json, there's json serialization packages you can look for
2021-10-10 15:36:33 +0000unmanbearpig(~unmanbear@user/unmanbearpig) (Ping timeout: 265 seconds)
2021-10-10 15:37:31 +0000unmanbearpig(~unmanbear@user/unmanbearpig)
2021-10-10 15:38:37 +0000connrs(~connrs@conners.plus.com)
2021-10-10 15:43:02 +0000sam__(~sam@modemcable242.171-178-173.mc.videotron.ca)
2021-10-10 15:43:26 +0000TranquilEcho(~grom@user/tranquilecho) (Ping timeout: 245 seconds)
2021-10-10 15:43:26 +0000sam__Guest6168
2021-10-10 15:43:55 +0000Guest12(~Guest12@2405:9800:ba00:8058:827e:a0f5:e23:ac59) (Quit: Client closed)
2021-10-10 15:44:44 +0000TranquilEcho(~grom@user/tranquilecho)
2021-10-10 15:50:06 +0000acertain(sid470584@hampstead.irccloud.com) (Ping timeout: 245 seconds)
2021-10-10 15:50:06 +0000gonz___(sid304396@lymington.irccloud.com) (Ping timeout: 245 seconds)
2021-10-10 15:50:25 +0000hendi(sid489601@lymington.irccloud.com) (Ping timeout: 265 seconds)
2021-10-10 15:50:31 +0000sclv(sid39734@haskell/developer/sclv) (Ping timeout: 245 seconds)
2021-10-10 15:50:31 +0000dmj`(sid72307@hampstead.irccloud.com) (Ping timeout: 245 seconds)
2021-10-10 15:50:31 +0000edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 245 seconds)
2021-10-10 15:50:31 +0000pepeiborra(sid443799@ilkley.irccloud.com) (Ping timeout: 245 seconds)
2021-10-10 15:50:31 +0000aarchi(sid486183@uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2021-10-10 15:50:54 +0000agander_m(sid407952@tinside.irccloud.com) (Ping timeout: 265 seconds)
2021-10-10 15:51:03 +0000edwardk(sid47016@haskell/developer/edwardk)
2021-10-10 15:51:34 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-10 15:51:39 +0000agander_m(sid407952@id-407952.tinside.irccloud.com)
2021-10-10 15:51:41 +0000 <fusion86> Alright thanks, I just went with `deriving Show`. I just forgot to also do that for al nested types, which is why I initially skipped that approach.
2021-10-10 15:52:04 +0000aarchi(sid486183@id-486183.uxbridge.irccloud.com)
2021-10-10 15:52:04 +0000hendi(sid489601@id-489601.lymington.irccloud.com)
2021-10-10 15:52:09 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 15:52:54 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2021-10-10 15:53:17 +0000acertain(sid470584@id-470584.hampstead.irccloud.com)
2021-10-10 15:53:27 +0000gonz___(sid304396@id-304396.lymington.irccloud.com)
2021-10-10 15:53:30 +0000img(~img@user/img)
2021-10-10 15:53:42 +0000pepeiborra(sid443799@id-443799.ilkley.irccloud.com)
2021-10-10 15:53:43 +0000dmj`(sid72307@id-72307.hampstead.irccloud.com)
2021-10-10 15:54:10 +0000sclv(sid39734@haskell/developer/sclv)
2021-10-10 15:55:18 +0000img(~img@user/img) (Client Quit)
2021-10-10 15:57:29 +0000img(~img@user/img)
2021-10-10 15:58:59 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 15:58:59 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 15:58:59 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 16:00:47 +0000wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-10-10 16:02:11 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 245 seconds)
2021-10-10 16:02:38 +0000bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2021-10-10 16:03:50 +0000xiongxin(~quassel@113.116.34.120) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-10 16:04:33 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-10-10 16:05:03 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 16:06:25 +0000img(~img@user/img)
2021-10-10 16:06:52 +0000glguyghoulguy
2021-10-10 16:07:00 +0000img(~img@user/img) (Client Quit)
2021-10-10 16:08:20 +0000 <hololeap> fusion86: you might like the pretty-simple package which gives you pretty printing for free as long as your type has a Show instance
2021-10-10 16:08:22 +0000img(~img@user/img)
2021-10-10 16:08:43 +0000bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-10-10 16:09:05 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-10-10 16:12:37 +0000hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com)
2021-10-10 16:16:55 +0000rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed)
2021-10-10 16:17:13 +0000Jeanne-Kamikaze(~Jeanne-Ka@192.252.212.60)
2021-10-10 16:19:20 +0000sus(zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
2021-10-10 16:19:50 +0000sus(zero@user/zeromomentum)
2021-10-10 16:20:12 +0000dajoer(~david@user/gvx) (Quit: leaving)
2021-10-10 16:21:51 +0000sedeki(~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-10-10 16:26:14 +0000dka(~code-is-a@ns3059207.ip-193-70-33.eu) (Quit: My Ex-Girlfriend once told me: I'm not a slut, I'm just popular)
2021-10-10 16:27:08 +0000justsomeguy(~justsomeg@user/justsomeguy)
2021-10-10 16:28:12 +0000 <fusion86> hololeap: Oh that's pretty nice. The only problem I have that it insists on printing each element in a list on a new line unless I set outputOptionsPageWidth to something very large like 9999999999
2021-10-10 16:29:14 +0000 <fusion86> Which is a bit awkward when your list has 600 items
2021-10-10 16:29:46 +0000 <fusion86> Though just having the color highlighting is nice on its own
2021-10-10 16:32:52 +0000connrs(~connrs@conners.plus.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-10 16:33:39 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 16:34:06 +0000connrs(~connrs@conners.plus.com)
2021-10-10 16:35:16 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 16:38:16 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-10 16:51:14 +0000wonko(~wjc@62.115.229.50)
2021-10-10 16:55:03 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 250 seconds)
2021-10-10 16:56:04 +0000twitu(~twitu@122.163.88.222) (Quit: Client closed)
2021-10-10 17:02:33 +0000 <monochrom> The phrase "pretty printing" in the Haskell community means the priority is layout.
2021-10-10 17:03:16 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-10 17:04:39 +0000hyiltiz(~quassel@31.220.5.250)
2021-10-10 17:05:35 +0000fusion86(~fusion@2a02-a44c-e6e5-1-9052-d9fb-9373-1d35.fixed6.kpn.net) (Quit: Leaving)
2021-10-10 17:05:36 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Client Quit)
2021-10-10 17:05:50 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-10 17:06:08 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 17:08:02 +0000LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2021-10-10 17:08:45 +0000favonia(~favonia@user/favonia)
2021-10-10 17:10:13 +0000machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-10-10 17:12:01 +0000catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Remote host closed the connection)
2021-10-10 17:13:11 +0000xff0x(~xff0x@port-92-195-30-252.dynamic.as20676.net) (Quit: xff0x)
2021-10-10 17:18:08 +0000VoidNoir0(~VoidNoir0@72.80.203.52)
2021-10-10 17:20:49 +0000tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-10-10 17:20:56 +0000econo(uid147250@user/econo)
2021-10-10 17:21:32 +0000justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-10-10 17:26:05 +0000xff0x(~xff0x@2001:1a81:52ca:8900:7389:7610:d1fa:c93e)
2021-10-10 17:26:28 +0000kuribas(~user@ptr-25vy0i8pd2zsmqr2sga.18120a2.ip6.access.telenet.be)
2021-10-10 17:26:39 +0000dka(~code-is-a@ns3059207.ip-193-70-33.eu)
2021-10-10 17:27:06 +0000unknown__(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-10-10 17:27:22 +0000 <kuribas> ugh, I am giving up on smallcheck. The combinatory explosion is just to big, for example when generating 4 values.
2021-10-10 17:28:45 +0000dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net)
2021-10-10 17:35:01 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-10 17:35:31 +0000waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-10-10 17:35:32 +0000 <dsal> kuribas: There are libraries of better generators.
2021-10-10 17:35:48 +0000 <kuribas> dsal: which one?
2021-10-10 17:35:56 +0000waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-10-10 17:37:29 +0000 <dsal> Hmmm... I can't remember the one I saw recently right now. But for numbers, it supports doing something more sensible than "random 64 bit number" which is rarely interesting.
2021-10-10 17:39:26 +0000unknown__(~thedawn@user/thedawn)
2021-10-10 17:40:37 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-10 17:41:46 +0000 <dsal> kuribas: here's one example: https://hackage.haskell.org/package/quickcheck-special
2021-10-10 17:42:18 +0000 <kuribas> right. Property testing is not trivial.
2021-10-10 17:42:26 +0000 <kuribas> it's easy to miss special cases.
2021-10-10 17:44:44 +0000 <dsal> It's easy to think "this works for things that are average 64-bit numbers, so it's good!" when it doesn't work for like, 2. This special thing has a bunch of hard-coded rules that make stuff special, which still isn't good enough.
2021-10-10 17:44:53 +0000 <dsal> Coverage-directed fuzzing gets stuff done.
2021-10-10 17:45:11 +0000 <dsal> I've not seen that available in haskell, though.
2021-10-10 17:46:32 +0000sm2n(~sm2n@user/sm2n)
2021-10-10 17:47:13 +0000 <kuribas> where did you see that then?
2021-10-10 17:47:48 +0000 <kuribas> I am pondering something syntax directed, where it could eliminate cases which trigger the same code...
2021-10-10 17:48:06 +0000 <kuribas> I know, that could be untractable in general, but still work for many cases.
2021-10-10 17:48:10 +0000dsp(~dsp@cpc152107-haye27-2-0-cust227.17-4.cable.virginm.net) (Ping timeout: 252 seconds)
2021-10-10 17:50:21 +0000 <dsal> I worked at a place that had a thing that allowed for coverage directed fuzzing and a few things were built on it, but the tools weren't great at the time. C++ support was probably the best. go support kind of worked.
2021-10-10 17:50:44 +0000 <dsal> The idea is great, though. You write a property and there's a feedback loop between inputs and coverage reports to try to figure out how to break your thing.
2021-10-10 17:51:02 +0000Guest6168(~sam@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2021-10-10 17:52:50 +0000 <dsal> The simple example was something like a function that checked the length of its input to be > = 3 or something like that, and then verified the values against a specific four-element value. If your arbitrary didn't get you into that function with the right three bytes and a fourth byte, you'd never notice it.
2021-10-10 17:54:39 +0000DNH(~DNH@2a02:8108:1100:16d8:2c83:2f3:e68a:5c4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-10 18:02:45 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2021-10-10 18:03:26 +0000Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
2021-10-10 18:05:31 +0000Sgeo(~Sgeo@user/sgeo)
2021-10-10 18:09:35 +0000Jeanne-Kamikaze(~Jeanne-Ka@192.252.212.60) (Ping timeout: 250 seconds)
2021-10-10 18:10:05 +0000aegon(~mike@174.127.249.180)
2021-10-10 18:10:34 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 18:10:56 +0000favonia(~favonia@user/favonia) (Ping timeout: 245 seconds)
2021-10-10 18:11:23 +0000notzmv(~zmv@user/notzmv)
2021-10-10 18:12:26 +0000MQ-17J(~MQ-17J@8.6.144.117) (Ping timeout: 260 seconds)
2021-10-10 18:18:10 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 18:20:07 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl)
2021-10-10 18:22:09 +0000max22-(~maxime@2a01cb088335980078ad8eabec9c6d90.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2021-10-10 18:24:41 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-10 18:25:04 +0000bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds)
2021-10-10 18:26:32 +0000benin03693230163(~benin@183.82.30.186) (Ping timeout: 265 seconds)
2021-10-10 18:29:17 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-10 18:29:36 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-10 18:31:42 +0000hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-10-10 18:32:06 +0000hendursaga(~weechat@user/hendursaga)
2021-10-10 18:34:00 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 18:34:00 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 18:34:00 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 18:39:22 +0000slack1256(~slack1256@45.4.2.52)
2021-10-10 18:39:41 +0000seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr)
2021-10-10 18:45:30 +0000NieDzejkob(~quassel@212.87.13.106)
2021-10-10 18:46:24 +0000unknown__(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2021-10-10 18:46:49 +0000seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.3)
2021-10-10 18:47:02 +0000seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr)
2021-10-10 18:47:31 +0000seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr) (Client Quit)
2021-10-10 18:47:41 +0000lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-10 18:47:44 +0000seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr)
2021-10-10 18:47:54 +0000CiaoSen(~Jura@p200300c9571101002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-10 18:47:55 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 18:48:03 +0000lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-10 18:48:10 +0000mbuf(~Shakthi@122.178.231.226) (Quit: Leaving)
2021-10-10 18:49:01 +0000desantra(~skykanin@user/skykanin)
2021-10-10 18:52:49 +0000coot(~coot@37.30.52.99.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-10-10 18:55:16 +0000sm2n(~sm2n@user/sm2n) (Read error: Connection reset by peer)
2021-10-10 18:55:19 +0000 <slack1256> If I got the term `True`, how do I construct an `Q Exp` for template haskell? quoting gives me a `Name`, but I don't see how to transform one onto another.
2021-10-10 18:55:29 +0000desantra(~skykanin@user/skykanin) (Quit: WeeChat 3.3)
2021-10-10 18:55:31 +0000 <slack1256> Or should I construct the mapping via a function myself?
2021-10-10 18:55:48 +0000 <c_wraith> [| True |]
2021-10-10 18:56:12 +0000 <geekosaur> isn' there a typeclass Lift?
2021-10-10 18:56:13 +0000 <awpr> also https://hackage.haskell.org/package/template-haskell-2.17.0.0/docs/Language-Haskell-TH-Syntax.html…
2021-10-10 18:56:20 +0000awprlost the race
2021-10-10 18:56:48 +0000 <c_wraith> The quote syntax calls the Lift class when given a literal or local
2021-10-10 18:56:56 +0000 <slack1256> Oh `Lift` is for that. Thanks geekosaur, awpr!
2021-10-10 18:56:58 +0000 <c_wraith> don't fear quote syntax
2021-10-10 18:57:08 +0000 <slack1256> I am new to writing TH haha.
2021-10-10 18:57:12 +0000sm2n(~sm2n@user/sm2n)
2021-10-10 18:58:29 +0000 <c_wraith> for most use cases, you should treat Lift as an implementation detail for quotes.
2021-10-10 18:59:11 +0000max22-(~maxime@2a01cb0883359800f1f665e3dd9c27b2.ipv6.abo.wanadoo.fr)
2021-10-10 18:59:42 +0000tom(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2021-10-10 19:01:06 +0000tomGuest7083
2021-10-10 19:01:57 +0000 <slack1256> But knowing that is implemented via a class let me knew that I should derive Lift for an ADT I want to quote :-) .
2021-10-10 19:02:05 +0000 <Guest7083> Do you agree that Haskell gets exceptions wrong?
2021-10-10 19:02:07 +0000 <Guest7083> http://web.archive.org/web/20170919133237/https://existentialtype.wordpress.com/2012/12/
2021-10-10 19:03:59 +0000DNH(~DNH@2a02:8108:1100:16d8:1c7b:8442:d05:4640)
2021-10-10 19:04:07 +0000 <c_wraith> that's sure Robert Harper.
2021-10-10 19:04:14 +0000 <c_wraith> He's mostly wrong about Haskell
2021-10-10 19:04:44 +0000hatds(~hatds@c-107-4-136-72.hsd1.mn.comcast.net)
2021-10-10 19:05:26 +0000 <Guest7083> Yeah I am finding his writing weird
2021-10-10 19:05:41 +0000 <Guest7083> "Exceptions are commonly criticized as being the “goto’s” of modern programming languages. ... I disagree. "
2021-10-10 19:05:59 +0000 <geekosaur> slack1256, I think you can derive Lift with an extension
2021-10-10 19:06:29 +0000 <geekosaur> oh, I see you spotted that
2021-10-10 19:06:36 +0000 <geekosaur> sorry
2021-10-10 19:06:59 +0000 <kuribas> I haven't "commonly" heard that argument.
2021-10-10 19:07:12 +0000 <c_wraith> Like, he's almost never wrong on technical details. He's very well-educated and intelligent. But he just seems to default to "criticize Haskell whenever possible" on every topic.
2021-10-10 19:07:21 +0000 <geekosaur> I have heard it but it's syurely not the most common complaint I've heard about thenm
2021-10-10 19:08:02 +0000 <awpr> um, the article that links to to justify Haskell being broken is actually pointing out that being able to define `Typeable` manually is unsound, and actually has nothing to do with exceptions. but that's fine, because it's illegal to define `Typeable` manually.
2021-10-10 19:08:19 +0000 <c_wraith> Typeable was not automatically derived when he wrote it.
2021-10-10 19:08:20 +0000 <awpr> (evidently it was legal in 2012?)
2021-10-10 19:08:22 +0000Nahra(~user@static.161.95.99.88.clients.your-server.de)
2021-10-10 19:08:25 +0000 <geekosaur> it was possible early on, before they realized it was unsound
2021-10-10 19:08:37 +0000 <c_wraith> Eh, it was always obviously unsound
2021-10-10 19:09:00 +0000 <c_wraith> It's just that before -XPolyKinds, it was totally unclear how to have a uniform interface
2021-10-10 19:09:03 +0000 <awpr> in any case, the "arguably broken" article is outdated
2021-10-10 19:09:31 +0000 <awpr> and is actually about Typeable anyway
2021-10-10 19:09:57 +0000 <c_wraith> The article linked above is making a different point, though. And that one is a bit more interesting, but I have to disagree.
2021-10-10 19:10:09 +0000 <c_wraith> catch-all handlers are the only ones I care about.
2021-10-10 19:11:02 +0000 <kuribas> I like the way java exceptions have to be annotated in the function.
2021-10-10 19:11:10 +0000 <c_wraith> Exceptions are usually non-recoverable
2021-10-10 19:11:30 +0000 <c_wraith> I want them to either crash the program or be logged in a top-level loop.
2021-10-10 19:11:54 +0000 <c_wraith> I don't *want* to have to write a hundred nested identical handlers to cover every exception type
2021-10-10 19:12:45 +0000 <kuribas> I like to distinguish between recoverable and unrecoverable errors. For the former I use Either/ExceptT.
2021-10-10 19:12:58 +0000 <c_wraith> Exactly.
2021-10-10 19:14:19 +0000 <Guest7083> And then there is Snoyman who says that ExceptT IO is an antipattern
2021-10-10 19:14:58 +0000 <kuribas> Guest7083: I agree partly, in that it may not be a good idea to have this in your AppM.
2021-10-10 19:15:18 +0000 <Guest7083> Interesting how so Kuribas?
2021-10-10 19:15:53 +0000 <kuribas> Guest7083: well, because they are recoverable, so you should recover them :)
2021-10-10 19:16:07 +0000 <kuribas> Which means they don't end up in the final app loop.
2021-10-10 19:16:41 +0000 <Guest7083> Which exceptions are recoverable?
2021-10-10 19:17:21 +0000 <kuribas> that depends on the business logic.
2021-10-10 19:17:37 +0000 <kuribas> For example, you'll want to recover parser errors.
2021-10-10 19:19:34 +0000 <Guest7083> Oh so your exceptT is your main computation and so you probably want more local uses of Except than your main stack
2021-10-10 19:20:18 +0000 <Guest7083> Probably the better default for AppM is ReaderT IO
2021-10-10 19:21:05 +0000 <kuribas> If you want to process the errors, maybe reformat them and show them to the user, then Either/ExceptT is better.
2021-10-10 19:21:24 +0000 <kuribas> If you want to just abort the whole computation/request, then simply throw and log it somewhere.
2021-10-10 19:21:36 +0000favonia(~favonia@user/favonia)
2021-10-10 19:21:57 +0000 <kuribas> Guest7083: that's the RIO pattern :)
2021-10-10 19:22:04 +0000 <Guest7083> Yeah :)
2021-10-10 19:22:41 +0000_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-10 19:24:04 +0000 <kuribas> mixing StateT with IO doesn't make a hole lot of sense...
2021-10-10 19:24:12 +0000 <kuribas> Unless the IO is optional.
2021-10-10 19:26:04 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-10 19:26:09 +0000 <c_wraith> It usually happens in the form of "I want to wrap StateT around something unknown"
2021-10-10 19:32:58 +0000Pickchea(~private@user/pickchea)
2021-10-10 19:33:16 +0000terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat)
2021-10-10 19:34:27 +0000terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de)
2021-10-10 19:36:42 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 19:39:36 +0000werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-10 19:42:40 +0000acidjnk_new(~acidjnk@p200300d0c703cb54947e0de64b437952.dip0.t-ipconnect.de)
2021-10-10 19:43:20 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 19:43:21 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 19:43:21 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 19:47:22 +0000pavonia(~user@user/siracusa)
2021-10-10 19:47:23 +0000brainfreeze(~brainfree@2a03:1b20:4:f011::20d)
2021-10-10 19:48:13 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 265 seconds)
2021-10-10 19:49:44 +0000tfeb(~tfb@88.98.95.237)
2021-10-10 19:51:22 +0000wonko(~wjc@62.115.229.50) (Ping timeout: 252 seconds)
2021-10-10 19:53:20 +0000tfeb(~tfb@88.98.95.237) (Client Quit)
2021-10-10 19:54:25 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2021-10-10 20:05:07 +0000juhp(~juhp@128.106.188.220) (Ping timeout: 252 seconds)
2021-10-10 20:07:48 +0000jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.3)
2021-10-10 20:08:28 +0000juhp(~juhp@128.106.188.220)
2021-10-10 20:09:19 +0000kuribas(~user@ptr-25vy0i8pd2zsmqr2sga.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-10-10 20:10:32 +0000slack1256now loves TH
2021-10-10 20:11:31 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-10-10 20:12:02 +0000 <seiryn> * love TH too
2021-10-10 20:12:22 +0000 <seiryn> hmmm, one day i will know how irc work, i swear
2021-10-10 20:14:14 +0000 <monochrom> I think the command you're looking for is /me
2021-10-10 20:14:39 +0000seirynhas just learned a new command
2021-10-10 20:15:01 +0000 <monochrom> :)
2021-10-10 20:16:20 +0000 <seiryn> I'm surprised you didn't tried to make me use alt+f4 tho
2021-10-10 20:16:57 +0000zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-10-10 20:19:07 +0000CiaoSen(~Jura@p5dcc1303.dip0.t-ipconnect.de)
2021-10-10 20:20:20 +0000zaquest(~notzaques@5.128.210.178)
2021-10-10 20:21:06 +0000 <hpc> yeah, pretty much everything special in irc is a /command
2021-10-10 20:21:23 +0000 <hpc> but if it's not a valid command it'll just send it as text, like this:
2021-10-10 20:21:24 +0000 <hpc> /quit
2021-10-10 20:22:17 +0000 <geekosaur> that depends on the client
2021-10-10 20:22:37 +0000 <geekosaur> mine throws an error but will handle //quit or /say /quit
2021-10-10 20:23:00 +0000 <seiryn> \/quit
2021-10-10 20:23:27 +0000 <seiryn> I know if i do /quit weechat will exit, but i don't want to try /say /quit
2021-10-10 20:25:35 +0000 <hpc> /say /anything, or //anything, or / /anything will escape it
2021-10-10 20:32:40 +0000jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2021-10-10 20:33:01 +0000 <monochrom> /say the word
2021-10-10 20:36:02 +0000hololeap_(~hololeap@user/hololeap)
2021-10-10 20:36:51 +0000jushur(~human@user/jushur)
2021-10-10 20:38:02 +0000mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 260 seconds)
2021-10-10 20:39:30 +0000hololeap(~hololeap@user/hololeap) (Ping timeout: 276 seconds)
2021-10-10 20:45:11 +0000emf(~emf@2620:10d:c090:400::5:c927)
2021-10-10 20:51:50 +0000Psybur(~Psybur@mobile-166-170-32-197.mycingular.net)
2021-10-10 21:01:54 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-10 21:01:54 +0000wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-10 21:01:54 +0000wroathe(~wroathe@user/wroathe)
2021-10-10 21:03:55 +0000Artem[m](~artemtype@2001:470:69fc:105::75b)
2021-10-10 21:03:59 +0000gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-10 21:05:40 +0000hatds(~hatds@c-107-4-136-72.hsd1.mn.comcast.net) (Quit: Leaving)
2021-10-10 21:06:21 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-10 21:08:08 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-10 21:08:20 +0000themc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-10 21:15:06 +0000Nahra(~user@static.161.95.99.88.clients.your-server.de) (Ping timeout: 245 seconds)
2021-10-10 21:15:26 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 21:20:03 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-10 21:20:31 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2021-10-10 21:22:10 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-10 21:22:58 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-10-10 21:23:53 +0000acidjnk_new3(~acidjnk@p200300d0c703cb54b4411e2fd211e6ee.dip0.t-ipconnect.de)
2021-10-10 21:24:08 +0000machinedgod(~machinedg@24.105.81.50)
2021-10-10 21:25:02 +0000fendor_(~fendor@178.165.170.133.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-10 21:26:41 +0000ystael(~ystael@user/ystael) (Quit: Lost terminal)
2021-10-10 21:27:40 +0000acidjnk_new(~acidjnk@p200300d0c703cb54947e0de64b437952.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-10 21:29:16 +0000Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-10-10 21:30:07 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-10 21:30:22 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-10 21:33:10 +0000jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-10-10 21:33:42 +0000max22-(~maxime@2a01cb0883359800f1f665e3dd9c27b2.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-10-10 21:33:51 +0000aliosablack(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-10-10 21:37:34 +0000ph88(~ph88@2a02:8109:9e00:7e5c::3d56)
2021-10-10 21:38:49 +0000 <ph88> I know A is correct and i was considering B, could anyone tell me how these things compare? A) class Rule f a where get :: Decorator f => f a B) class Rule Decorator a where get :: Decorator a
2021-10-10 21:39:45 +0000 <c_wraith> B does not appear to be syntactically correct
2021-10-10 21:40:21 +0000 <ph88> thanks c_wraith
2021-10-10 21:40:22 +0000jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-10-10 21:40:37 +0000 <c_wraith> Did you want something more like this? class Decorator f => Rule f a where get :: f a
2021-10-10 21:41:00 +0000jpds(~jpds@gateway/tor-sasl/jpds)
2021-10-10 21:41:06 +0000 <c_wraith> ie, distinguishing between putting the constraint on Rule and get?
2021-10-10 21:41:24 +0000 <ph88> yes, that's interesting thank you
2021-10-10 21:41:46 +0000 <c_wraith> there are interesting differences between that and A
2021-10-10 21:42:03 +0000 <c_wraith> when the constraint is on get, it means you would need to put both constraints in the type of something that uses get
2021-10-10 21:42:26 +0000 <c_wraith> when the constraint is on Rule, it's enough to specify the Rule constraint. It automatically provides the Decorator constraint as well
2021-10-10 21:43:15 +0000 <c_wraith> In that case, putting the constraint on Rule is probably better, as the constraint is always needed anyway.
2021-10-10 21:43:37 +0000 <c_wraith> But if there were other members in the class, ones that didn't need the Decorator instance, then it might be worth separating them
2021-10-10 21:44:25 +0000 <awpr> the original form might permit some polymorphic instances that the latter doesn't
2021-10-10 21:44:42 +0000 <c_wraith> yes, that too.
2021-10-10 21:44:58 +0000 <awpr> (for monomorphic ones, either the instance is unusable or the second form would be implementable)
2021-10-10 21:45:50 +0000 <c_wraith> and of course there are cases where not putting the constraint on the class means you don't even need to mention that type variable in the class head.
2021-10-10 21:45:54 +0000 <c_wraith> Like Traversable
2021-10-10 21:46:00 +0000 <c_wraith> :t traverse
2021-10-10 21:46:02 +0000 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2021-10-10 21:46:16 +0000 <c_wraith> The class head only mentions t. f is polymorphic
2021-10-10 21:47:36 +0000emf(~emf@2620:10d:c090:400::5:c927) (Ping timeout: 245 seconds)
2021-10-10 21:51:28 +0000fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Quit: leaving)
2021-10-10 21:52:26 +0000Psybur(~Psybur@mobile-166-170-32-197.mycingular.net) (Ping timeout: 265 seconds)
2021-10-10 21:55:54 +0000 <ph88> c_wraith, thanks i'll put your comments in my notes
2021-10-10 21:56:19 +0000cjb(~cjb@user/cjb)
2021-10-10 22:03:09 +0000fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
2021-10-10 22:07:18 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-10 22:11:36 +0000machinedgod(~machinedg@24.105.81.50) (Quit: Lost terminal)
2021-10-10 22:11:45 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c) (Remote host closed the connection)
2021-10-10 22:12:44 +0000machinedgod(~machinedg@24.105.81.50)
2021-10-10 22:14:21 +0000 <ph88> how can i do this regex in trifecta ? (.+?)\s+([\d,]) match everything lazily as needed, until some whitespace and some digits. Capturing the "everything" and the "digits" but not the whitespace in between
2021-10-10 22:17:35 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-10-10 22:21:16 +0000pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
2021-10-10 22:23:17 +0000 <c_wraith> you want the full regex behavior of maximal matching?
2021-10-10 22:23:32 +0000 <c_wraith> oh, no. that's +?. minimal matching
2021-10-10 22:23:53 +0000 <c_wraith> you can do that with trifecta, but it will be awkward
2021-10-10 22:25:25 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-10 22:28:46 +0000DNH(~DNH@2a02:8108:1100:16d8:1c7b:8442:d05:4640) (Quit: Textual IRC Client: www.textualapp.com)
2021-10-10 22:29:31 +0000 <ph88> ye i don't know when the middle part stops really .. there is no marker for it. I can see it visually because it's the end of the line, and before that a number, and before that the piece i want
2021-10-10 22:29:31 +0000vicfred(~vicfred@user/vicfred)
2021-10-10 22:29:47 +0000geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-10 22:31:37 +0000geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-10 22:41:55 +0000merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-10-10 22:43:41 +0000 <ph88> i guess i could use this ? https://hackage.haskell.org/package/parsers-0.12.10/docs/Text-Parser-Combinators.html#v:manyTill
2021-10-10 22:44:19 +0000eggplantade(~Eggplanta@2600:1700:bef1:5e10:9d7d:3fe6:8f3b:9e6c)
2021-10-10 22:44:31 +0000 <c_wraith> that's not going to work especially well, as it doesn't return the terminator
2021-10-10 22:45:30 +0000acidjnk_new(~acidjnk@pd9e0b933.dip0.t-ipconnect.de)
2021-10-10 22:47:01 +0000 <ph88> hmm
2021-10-10 22:47:10 +0000 <ph88> im still browsing around the docs
2021-10-10 22:47:37 +0000Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-10-10 22:47:53 +0000 <ph88> two other things about manyTill is that in my case i need 1 match before, not zero or more. And it would be matching character by character into a list .. which is not ideal because i want Text
2021-10-10 22:48:17 +0000 <c_wraith> you're going to have to match character-by-character anyway
2021-10-10 22:48:39 +0000acidjnk_new3(~acidjnk@p200300d0c703cb54b4411e2fd211e6ee.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-10-10 22:49:05 +0000 <ph88> ye just dont see how it makes sense to put them in a linked list when the text is already loaded in memory and i could just copy it once i found the end
2021-10-10 22:49:34 +0000 <c_wraith> that's a thing you can do, but it's not a thing trifecta's model is designed for
2021-10-10 22:51:42 +0000 <ph88> edwardk, what could i do best in this case ? is there a function for the lazy match ? can i match without building a linked list ?
2021-10-10 22:55:40 +0000favonia(~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-10-10 23:03:00 +0000TranquilEcho(~grom@user/tranquilecho) (Quit: WeeChat 2.8)
2021-10-10 23:05:06 +0000gentauro(~gentauro@user/gentauro) (Ping timeout: 245 seconds)
2021-10-10 23:11:59 +0000gentauro(~gentauro@user/gentauro)
2021-10-10 23:12:03 +0000alzgh(~alzgh@user/alzgh) (Ping timeout: 256 seconds)
2021-10-10 23:20:02 +0000Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-10-10 23:26:58 +0000machinedgod(~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
2021-10-10 23:29:46 +0000waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2021-10-10 23:33:12 +0000lavaman(~lavaman@98.38.249.169)
2021-10-10 23:37:25 +0000lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-10 23:41:40 +0000seiryn(~seiryn@2a01cb040147e000e4dbf764ff30bd96.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.3)
2021-10-10 23:46:30 +0000hammock(~Hammock@2600:1700:19a1:3330::588)
2021-10-10 23:50:02 +0000VoidNoir0(~VoidNoir0@72.80.203.52) (Ping timeout: 265 seconds)
2021-10-10 23:50:07 +0000hyiltiz(~quassel@31.220.5.250) (Ping timeout: 252 seconds)
2021-10-10 23:51:30 +0000myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)