Home liberachat/#haskell: Logs Calendar

Logs on 2021-09-12 (liberachat/#haskell)

00:05:18 catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
00:12:53 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
00:15:45 zaquest joins (~notzaques@5.128.210.178)
00:26:02 <zzz> what's a good resource for someone to start exploring working with bits in haskell?
00:26:51 <zzz> like arbitrarily sized sequences of bits and so on
00:30:11 <zzz> i'm assuming there are better alternatives to [Bool]
00:32:42 <dsal> Any particular bit you'd like to work with?
00:32:54 favonia joins (~favonia@user/favonia)
00:34:17 × sheddow quits (~sheddow@84-52-255.245.3p.ntebredband.no) (Ping timeout: 256 seconds)
00:34:36 <dsal> I've worked with a combination of attoparsec and binary in a project a few years go which was reading some data out of one of my RC battery chargers.
00:34:53 Digit joins (~user@user/digit)
00:34:55 <dsal> Actually, no attoparsec here. I use that in a different protocol.
00:34:56 <geekosaur> iirc Data.Vector.Unboxed of Bool packs the bits
00:35:21 <geekosaur> but it won't be ideal for bit operations like and/or
00:35:37 <geekosaur> see Data.Bits for that
00:38:56 <zzz> i actually want to do things like manipulating a list of WordX and a list of WordY and then comparing them, where X and Y are arbitrary
00:45:43 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
00:46:02 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
00:46:06 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
00:46:25 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
00:49:34 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
00:53:25 × proofofkeags_ quits (~proofofke@205.209.28.54) (Ping timeout: 260 seconds)
00:54:10 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
00:56:05 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:01:19 falafel joins (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com)
01:01:55 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
01:02:19 cheater joins (~Username@user/cheater)
01:05:11 × alx741 quits (~alx741@186.178.109.89) (Quit: alx741)
01:06:29 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
01:06:42 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
01:06:42 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
01:06:53 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
01:11:22 × falafel quits (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) (Ping timeout: 260 seconds)
01:13:23 × mcglk quits (~mcglk@131.191.49.120) (Read error: Connection reset by peer)
01:14:27 mcglk joins (~mcglk@131.191.49.120)
01:15:50 falafel joins (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com)
01:15:53 × AlistairB quits (~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net) (Quit: Client closed)
01:19:55 × xff0x quits (~xff0x@2001:1a81:5337:500:1487:c5ae:272e:6220) (Ping timeout: 252 seconds)
01:21:43 xff0x joins (~xff0x@2001:1a81:5374:7800:b91b:1969:510:c2ea)
01:21:44 falafel_ joins (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com)
01:21:56 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
01:22:10 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
01:23:30 falafel__ joins (~falafel@cpe-76-168-195-162.socal.res.rr.com)
01:24:54 × falafel quits (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) (Ping timeout: 260 seconds)
01:26:46 × falafel_ quits (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) (Ping timeout: 260 seconds)
01:31:43 AlistairB joins (~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net)
01:32:10 × AlistairB quits (~AlistairB@121-200-5-212.79c805.syd.nbn.aussiebb.net) (Client Quit)
01:34:42 × vysn quits (~vysn@user/vysn) (Ping timeout: 260 seconds)
01:39:16 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
01:43:19 homarlone joins (~homarlone@2804:14d:baa3:4341:a4ed:9e92:1eb0:a3e2)
01:45:40 [_] is now known as [itchyjunk]
01:54:51 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2.1)
02:00:55 × cafkafk quits (~cafkafk@user/cafkafk) (Quit: WeeChat 3.1)
02:05:41 × jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
02:11:06 × harveypwca quits (~harveypwc@2601:246:c180:a570:2435:ba7:e573:bc26) (Ping timeout: 260 seconds)
02:12:25 jushur joins (~human@user/jushur)
02:12:26 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
02:12:49 × td_ quits (~td@94.134.91.99) (Ping timeout: 252 seconds)
02:14:30 td_ joins (~td@muedsl-82-207-238-026.citykom.de)
02:15:07 × hubvu quits (sid495858@id-495858.tinside.irccloud.com) (Changing host)
02:15:07 hubvu joins (sid495858@user/hubvu)
02:18:20 harveypwca joins (~harveypwc@2601:246:c180:a570:2435:ba7:e573:bc26)
02:18:34 proofofkeags_ joins (~proofofke@97-118-134-2.hlrn.qwest.net)
02:22:51 × rhit quits (~rhit@ool-44c162d8.dyn.optonline.net) (Quit: WeeChat 3.2)
02:33:07 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:33:30 normsaa joins (~normsaa@101.175.64.73)
02:33:43 <Cajun> could probably use some sort of type level Natural for that
02:33:54 <Cajun> sounds like an interesting library/exercise idea
02:38:00 lavaman joins (~lavaman@98.38.249.169)
02:42:30 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
02:46:55 × proofofkeags_ quits (~proofofke@97-118-134-2.hlrn.qwest.net) (Ping timeout: 252 seconds)
02:47:04 proofofkeags joins (~proofofke@97-118-134-2.hlrn.qwest.net)
02:48:26 <Boarders> is it possible to write a type family in Haskell that goes like '[] |-> (# #), '[Int] |-> (# Int #), '[Int, Int] |-> (# Int, Int #) etc.
02:48:57 <Boarders> I think the kind sig would be something like: type Unbox :: [Type] -> (forall ks . TYPE (TupleRep ks)
02:48:59 <Boarders> but that is not working
02:50:46 <Boarders> geekosaur: Data.Vector.Unboxed doesn't pack the bits: https://hackage.haskell.org/package/vector-0.12.3.0/docs/src/Data.Vector.Unboxed.Base.html#line-338
02:50:54 <Boarders> It converts back and forth to a Word8
02:57:16 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
02:57:31 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
02:59:35 proofofkeags_ joins (~proofofke@97-118-134-2.hlrn.qwest.net)
03:00:31 × proofofkeags quits (~proofofke@97-118-134-2.hlrn.qwest.net) (Ping timeout: 252 seconds)
03:01:30 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
03:02:36 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
03:02:49 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
03:03:04 pony joins (~ed@101.53.218.157)
03:03:24 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:03:50 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds)
03:06:21 × Skyfire quits (~pyon@user/pyon) (Quit: brb)
03:08:48 reddishblue[m] joins (~reddishbl@2001:470:69fc:105::21eb)
03:11:08 × abrantesasf quits (abrantesas@gateway/vpn/protonvpn/abrantesasf) (Quit: Leaving)
03:12:38 <ldlework> Trying to implement Maybe Monoid instance, and it's not working
03:12:39 <ldlework> https://gist.github.com/dustinlacewell/7c00fe33d757ffa447228707836e9b90
03:12:42 <ldlework> Where have I gone wrong?
03:12:56 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
03:13:09 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
03:16:06 Skyfire joins (~pyon@user/pyon)
03:22:49 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:38:10 <Cajun> Idlework: in modern versions of haskell, you must define semigroups, which are like what you are trying to do but instead define the operator (<>). (<>) is mappend
03:38:26 <Cajun> mappend still exists but for backwards compatibility as far as i know
03:38:56 <Cajun> monoids are semigroups but with an empty/unit representation
03:43:16 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
03:43:29 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
03:44:39 pony is now known as lua
03:48:47 ChaiTRex joins (~ChaiTRex@user/chaitrex)
03:50:49 nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263)
03:51:00 × nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Client Quit)
03:51:03 hololeap joins (~hololeap@user/hololeap)
03:55:58 × harveypwca quits (~harveypwc@2601:246:c180:a570:2435:ba7:e573:bc26) (Quit: Leaving)
03:57:28 hendursaga joins (~weechat@user/hendursaga)
03:58:32 jpds joins (~jpds@gateway/tor-sasl/jpds)
04:03:36 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
04:03:50 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
04:04:56 stiell joins (~stiell@gateway/tor-sasl/stiell)
04:09:33 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
04:16:36 proofofkeags__ joins (~proofofke@97-118-134-2.hlrn.qwest.net)
04:19:35 × proofofkeags_ quits (~proofofke@97-118-134-2.hlrn.qwest.net) (Ping timeout: 265 seconds)
04:22:58 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
04:27:50 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
04:29:55 arjun joins (~Srain@user/arjun)
04:34:34 × arjun quits (~Srain@user/arjun) (Ping timeout: 265 seconds)
04:44:04 × d34df00d quits (~d34df00d@2600:1700:8c60:3a10::3e) (Ping timeout: 252 seconds)
04:44:45 × Cajun quits (~Cajun@user/cajun) (Ping timeout: 256 seconds)
04:51:43 _alexm_ joins (~alexm_@161.8.253.213)
04:59:35 <_alexm_> hi, I'm trying to build intuition around covariance and contravariance, in the fpcomplete article on that topic there is an exercise asking to determine whether a certain data type is covariant or contravariant. E.g. for the newtype E6 a = E6 ((() -> a -> a) -> ()) I've come up with contramap f (E6 g) = E6 (\cb -> g $ \h -> flip const $ f . (cb h))
04:59:59 <_alexm_> but I'm having problems with newtype E7 a = E7 ((() -> () -> a) -> a)
05:00:34 <_alexm_> is this type neither covariant nor contravariant, hence, invariant?
05:05:21 lavaman joins (~lavaman@98.38.249.169)
05:07:04 × iqubic quits (~user@2601:602:9502:c70:17b6:d303:f703:d0d7) (Read error: Connection reset by peer)
05:09:50 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
05:13:56 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
05:14:09 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
05:15:55 <mniip> _alexm_, your contramap for E6 is not functorial
05:16:02 <mniip> (contramap id != id)
05:18:04 Cajun joins (~Cajun@user/cajun)
05:22:27 <_alexm_> mniip, any clues on how I can make a lawful instance?
05:23:04 <mniip> you can't
05:23:07 <mniip> but that would be a clue
05:24:47 <_alexm_> is it invariant then, because the type parameter is both negative and positive?
05:24:52 <mniip> yes
05:25:05 <_alexm_> and the same applies to E7
05:25:12 <mniip> yes
05:29:25 <_alexm_> and this one: newtype E9 a = E9 ((() -> () -> ()) -> ()) must be bivariant because the data type is phantom?
05:33:29 AndrewYu is now known as xeroxIRC
05:33:29 xeroxIRC is now known as Guest591
05:34:00 Guest591 is now known as AndrewIRC
05:40:35 × homarlone quits (~homarlone@2804:14d:baa3:4341:a4ed:9e92:1eb0:a3e2) (Quit: Client closed)
05:41:00 homarlone joins (~homarlone@2804:14d:baa3:4341:a4ed:9e92:1eb0:a3e2)
05:43:05 proofofkeags_ joins (~proofofke@97-118-134-2.hlrn.qwest.net)
05:43:32 × homarlone quits (~homarlone@2804:14d:baa3:4341:a4ed:9e92:1eb0:a3e2) (Changing host)
05:43:32 homarlone joins (~homarlone@user/homarlone)
05:44:16 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
05:44:29 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
05:45:31 × proofofkeags__ quits (~proofofke@97-118-134-2.hlrn.qwest.net) (Ping timeout: 252 seconds)
05:45:48 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:46:12 × Lycurgus quits (~juan@98.4.112.204) (Quit: Exeunt)
05:48:25 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
05:51:32 Gurkenglas joins (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de)
05:55:30 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
05:56:42 jpds joins (~jpds@gateway/tor-sasl/jpds)
05:58:35 benin03693230 joins (~benin@183.82.24.227)
05:58:41 × homarlone quits (~homarlone@user/homarlone) (Quit: Client closed)
05:59:09 homarlone joins (~homarlone@user/homarlone)
05:59:36 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
05:59:57 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
05:59:59 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
06:00:20 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
06:00:29 GalzuFromQ joins (~GalzuFrom@c-76-31-61-239.hsd1.tx.comcast.net)
06:00:32 GalzuFromQ parts (~GalzuFrom@c-76-31-61-239.hsd1.tx.comcast.net) ()
06:00:57 <mniip> yes
06:15:38 × Neuromancer quits (~Neuromanc@user/neuromancer) (Ping timeout: 260 seconds)
06:16:43 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
06:17:38 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
06:18:40 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::46)
06:19:40 × ryantrinkle quits (~ryan@66.152.129.6) (Ping timeout: 252 seconds)
06:21:10 <_alexm_> mniip, thanks!
06:27:13 <Axman6> Boarders: Can you do something like type family Unbox (ks :: [Type]] where Unbox ks = TYPE (TupleRep ks) seems close to what you had but not quite the same?
06:28:52 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:33:22 × jespada quits (~jespada@90.254.245.194) (Ping timeout: 260 seconds)
06:33:25 × _xor quits (~xor@74.215.232.67) (Quit: brb)
06:35:10 × proofofkeags_ quits (~proofofke@97-118-134-2.hlrn.qwest.net) (Ping timeout: 252 seconds)
06:36:15 jespada joins (~jespada@90.254.245.194)
06:43:47 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
06:44:13 jpds joins (~jpds@gateway/tor-sasl/jpds)
06:44:37 chomwitt joins (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374)
06:47:22 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::46) (Ping timeout: 260 seconds)
06:54:53 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
06:58:37 geekosaur joins (~geekosaur@xmonad/geekosaur)
07:00:01 Codaraxis joins (~Codaraxis@user/codaraxis)
07:00:23 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:00:36 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
07:03:02 syntactic_sugar joins (~amoljha@2601:644:8601:2e30::822c)
07:05:51 dcompoze joins (~dcompoze@5E98D6D9.static.tld.pl)
07:06:04 × dcompoze quits (~dcompoze@5E98D6D9.static.tld.pl) (Client Quit)
07:07:18 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
07:10:43 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:10:56 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
07:11:33 oxide joins (~lambda@user/oxide)
07:13:05 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 252 seconds)
07:13:31 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
07:15:27 × favonia quits (~favonia@user/favonia) (Ping timeout: 245 seconds)
07:16:28 favonia joins (~favonia@user/favonia)
07:21:03 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:21:16 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
07:21:40 <ldlework> Cajun: when I change `mappend` to `(<>)` it says ‘<>’ is not a (visible) method of class ‘Monoid’
07:22:00 <Cajun> define (<>) in a Semigroup instance
07:22:21 <Cajun> monoids are semigroups, and the append operation comes from the Semigroup instance
07:22:45 <Cajun> if youre reading an article/textbook and its telling you to just define a monoid with mappend, its because its dated
07:23:10 <ldlework> oh so literally implement an instance of Semigroup which is where (<>) is defined?
07:23:18 <Cajun> yup!
07:23:48 <Cajun> mappend only exists as a legacy function, its unlawful to have its definition be different than the Semigroup definition
07:23:52 <ldlework> Cajun: is there some other version of mempty to use too?
07:24:02 <Cajun> no
07:24:08 <ldlework> okay thanks for the guidance
07:25:00 <Cajun> Semigroups are a datatype that can append, but not necessarily have a unit/empty value. monoids can append (because they are instances of Semigroup) and they have an empty/unit value (because thats what it means to be a monoid)
07:25:26 <Cajun> semigroups are a typeclass that implements an*
07:25:51 × homarlone quits (~homarlone@user/homarlone) (Quit: Client closed)
07:26:21 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
07:26:27 homarlone joins (~homarlone@user/homarlone)
07:27:24 <ldlework> Cajun: is there an interactive site where you can explore these relationships
07:27:33 jpds joins (~jpds@gateway/tor-sasl/jpds)
07:27:50 acidjnk_new joins (~acidjnk@p200300d0c720301980aba8353aca9eb7.dip0.t-ipconnect.de)
07:28:04 <Cajun> you can check the documentation or the wiki but im not sure if there is anything that is interactive
07:28:07 <Cajun> https://wiki.haskell.org/Data.Semigroup
07:28:48 <ldlework> Ah, I wonder if the network could be extracted systematically from Haskell source
07:29:20 <ldlework> Or maybe haskell is powerful enough to introspectively compute it?
07:29:30 <Cajun> it would be cool to see a web for that like there are for dependencies
07:29:38 <ldlework> yeah!
07:30:15 <Cajun> https://wiki.haskell.org/File:Typeclassopedia-diagram.png
07:30:28 <ldlework> ah neato
07:31:23 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
07:31:37 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
07:31:57 × phma quits (~phma@host-67-44-208-57.hnremote.net) (Read error: Connection reset by peer)
07:32:46 phma joins (~phma@host-67-44-209-52.hnremote.net)
07:42:47 max22- joins (~maxime@2a01cb088335980028be7ec51380d82c.ipv6.abo.wanadoo.fr)
07:45:34 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
07:45:49 hyiltiz joins (~quassel@31.220.5.250)
07:46:19 × syntactic_sugar quits (~amoljha@2601:644:8601:2e30::822c) (Quit: WeeChat 3.1)
07:46:22 <mjrosenb> so, I have a function that uses the lens function `use`, and now I'm trying to change it to accept `use` as a parameter, but the types are not behaving.
07:46:30 <mjrosenb> is it even possible to do this?
07:48:01 × oxide quits (~lambda@user/oxide) (Quit: oxide)
07:48:31 <Cajun> could you give the code excerpts?
07:48:52 × acidjnk_new quits (~acidjnk@p200300d0c720301980aba8353aca9eb7.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
07:53:09 <mjrosenb> not really right now, it is buried in like 80 lines of code, and too many constructors. I'll get a small example in the morning.
07:54:01 wonko joins (~wjc@62.115.229.50)
07:57:32 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
08:06:10 hendursa1 joins (~weechat@user/hendursaga)
08:07:34 neo2 joins (~neo3@cpe-292712.ip.primehome.com)
08:09:07 <ldlework> Cajun: this image doesn't show magma :P
08:09:15 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds)
08:09:26 <Cajun> is magma part of base?
08:11:51 eggplant_ joins (~Eggplanta@2600:1700:bef1:5e10:51d4:9b49:c242:8b82)
08:13:02 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
08:14:42 kenran joins (~kenran@200116b82b2c7100cbc5e0806122cc82.dip.versatel-1u1.de)
08:14:53 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
08:14:56 hyiltiz joins (~quassel@31.220.5.250)
08:15:12 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:15:16 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c09c:3e60:e691:1fba) (Ping timeout: 252 seconds)
08:17:43 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:44 allbery_b joins (~geekosaur@xmonad/geekosaur)
08:17:47 allbery_b is now known as geekosaur
08:18:01 <sshine> Cajun, no
08:18:14 <Cajun> figured as much :P
08:18:15 <sshine> Cajun, only Monoid and Semigroup in that hierarchy
08:18:42 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:18:42 Everything joins (~Everythin@37.115.210.35)
08:18:49 <sshine> https://hoogle.haskell.org/?hoogle=Magma :)
08:19:20 thyriaen joins (~thyriaen@dynamic-089-012-060-128.89.12.pool.telefonica.de)
08:19:40 <sshine> so it's in lens and numhask, it seems.
08:19:56 ArctVaulMarsHMPJ joins (~pjetcetal@2.95.102.85)
08:20:32 <Cajun> the numhask one seems to be more along the lines of an actual Magma
08:28:01 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
08:41:20 × homarlone quits (~homarlone@user/homarlone) (Quit: Client closed)
08:42:58 Codaraxis_ joins (~Codaraxis@user/codaraxis)
08:46:52 × Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 265 seconds)
08:51:03 syntactic_sugar joins (~amoljha@2601:644:8601:2e30::822c)
08:52:29 ddrtns^ joins (~ddrtns@68.101.54.227)
09:01:43 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
09:01:57 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
09:02:01 × syntactic_sugar quits (~amoljha@2601:644:8601:2e30::822c) (Quit: WeeChat 3.1)
09:02:03 × eggplant_ quits (~Eggplanta@2600:1700:bef1:5e10:51d4:9b49:c242:8b82) (Remote host closed the connection)
09:04:45 jtomas_ joins (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
09:04:47 × jtomas_ quits (~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Remote host closed the connection)
09:06:53 vysn joins (~vysn@user/vysn)
09:08:12 __monty__ joins (~toonn@user/toonn)
09:08:15 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
09:11:10 <ldlework> Prelude> (fmap . fmap) replaceWithP lms
09:11:12 <ldlework> [Just 'p',Nothing,Just 'p']
09:11:14 <ldlework> my head!
09:15:54 zer0bitz joins (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi)
09:19:37 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:32:03 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
09:32:16 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
09:32:47 × hugo quits (znc@verdigris.lysator.liu.se) (Quit: ZNC 1.7.5 - https://znc.in)
09:32:47 × neo2 quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 265 seconds)
09:33:08 hugo joins (znc@verdigris.lysator.liu.se)
09:35:21 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:36:46 × falafel__ quits (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 260 seconds)
09:41:01 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
09:41:39 falafel__ joins (~falafel@cpe-76-168-195-162.socal.res.rr.com)
09:46:19 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 265 seconds)
09:46:34 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 260 seconds)
09:47:57 mikoto-chan joins (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
09:51:52 kayprish joins (~kayprish@cable-188-2-153-140.dynamic.sbb.rs)
09:52:22 × awpr quits (uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity)
09:53:54 × kenran quits (~kenran@200116b82b2c7100cbc5e0806122cc82.dip.versatel-1u1.de) (Quit: WeeChat info:version)
09:56:57 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
10:02:54 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:04:01 × ubert quits (~Thunderbi@178.165.201.147.wireless.dyn.drei.com) (Remote host closed the connection)
10:05:39 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 265 seconds)
10:07:34 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
10:08:30 × falafel__ quits (~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 260 seconds)
10:12:23 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
10:12:36 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
10:13:16 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
10:19:11 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
10:19:50 × lemonsni- quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
10:20:15 lua is now known as pony
10:20:19 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
10:24:06 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
10:25:33 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:26:48 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
10:29:27 mangoiv joins (~MangoIV@193.175.5.172)
10:33:29 × mangoiv quits (~MangoIV@193.175.5.172) (Client Quit)
10:33:47 mangoiv joins (~MangoIV@193.175.5.172)
10:34:43 sheddow joins (~sheddow@84-52-255.245.3p.ntebredband.no)
10:43:27 <ldlework> I'm stuck on a challenge to implement an instance of Functor for `data Pair a = Pair a a` but I can't understand how it could work, because the fmapped result will necessarily be of type `Pair a b` since the fmap first arg is defined as `a -> b`
10:43:41 <ldlework> Is it a bug in the challenge or am I missing a concept somewhere
10:44:39 <ldlework> instance Functor Pair where fmap f (Pair v1 v2) = Pair v1 (f v2)
10:44:59 <ldlework> It complains that the last term (f v2) can't match actual type `b` to expected type `a`
10:45:11 <ldlework> Which makes sense because `f` returns `b`
10:45:18 <ldlework> As per Functor
10:46:35 <ldlework> If I define the type as `type Pair a b = Pair a b` it works, but that's not what the challenge asks for
10:46:59 <ldlework> Maybe for `Pair a a` I'm supposed to run `f` over both values
10:48:25 <ldlework> Ah yeah that works. That must be what I was missing. It's only for type constructors with two args that you can only map the innermost value
10:48:54 <Rembane> ldlework: When you're done with the challenge, take a look at the Functor instance for Either.
10:49:10 <ldlework> Rembane: I bet it only maps the Right value
10:49:17 <Rembane> ldlework: Bingo!
10:50:22 × zer0bitz quits (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Ping timeout: 252 seconds)
10:55:41 × max22- quits (~maxime@2a01cb088335980028be7ec51380d82c.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
10:56:24 zer0bitz joins (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi)
10:58:05 <ldlework> Oh. Functor for Maybe and Either are helpful for not having to handle the Nothing/Left cases...
10:58:07 <ldlework> interesting!
10:58:25 max22- joins (~maxime@2a01cb0883359800586692f82479ecdc.ipv6.abo.wanadoo.fr)
10:58:57 <ldlework> Oh wow, I just found https://hackage.haskell.org/package/cml
10:59:37 × Codaraxis_ quits (~Codaraxis@user/codaraxis) (Ping timeout: 245 seconds)
10:59:45 <ldlework> that's awesome
11:00:32 <ldlework> wait is `fromMaybe` implemented as `fmap id`
11:01:00 alx741 joins (~alx741@186.178.109.89)
11:01:03 <Rembane> :t fmap id
11:01:04 <lambdabot> Functor f => f b -> f b
11:01:08 <Rembane> :t fromMaybe
11:01:09 <lambdabot> a -> Maybe a -> a
11:01:43 <Rembane> fmap id seems to be missing something, doesn't it?
11:01:43 <ldlework> hmm
11:02:06 <ldlework> yeah, it returns the Maybe
11:02:09 <ldlework> rather than the inner value
11:02:18 <ldlework> So `fmap id` just leaves the Maybe alone
11:02:20 <ldlework> makes sense
11:02:21 <Rembane> Exactly.
11:02:27 <Rembane> Here's the actual implementation: https://hackage.haskell.org/package/base-4.15.0.0/docs/src/Data-Maybe.html#fromMaybe
11:02:50 <ldlework> oh right because you give it a default too
11:02:54 <Rembane> Yes
11:03:49 <ldlework> i like that you can make any function work on any time that implements Functor by composing it with fmap
11:03:54 <ldlework> on any type*
11:04:16 <ldlework> incMaybe = fmap . (+1)
11:04:18 <ldlework> right?
11:04:22 <ldlework> or rather
11:04:29 <ldlework> incMaybe = fmap (+1)
11:04:37 <ldlework> I guess no composition needed, just partial application
11:05:05 <ldlework> hmm I guess that would work over any Functor, not just Maybe
11:05:50 <ldlework> I guess you'd call it finc :D
11:06:56 <Rembane> ^^
11:07:03 <Rembane> :t fmap . (+1)
11:07:04 <lambdabot> (Functor f, Num (a -> b)) => (a -> b) -> f a -> f b
11:07:11 <Rembane> :t fmap (+1)
11:07:12 <lambdabot> (Functor f, Num b) => f b -> f b
11:08:05 <ldlework> The former would add 1 to the argument, probably a function, and blow up. Or the first argument is a Num, and the addition works, but fails to be passed to fmap as the first arg
11:08:19 <Rembane> > (fmap . (+1)) (*2) (Just 7)
11:08:21 <lambdabot> error:
11:08:21 <lambdabot> • No instance for (Num (Integer -> Integer))
11:08:21 <lambdabot> arising from a use of ‘e_1127’
11:08:25 <Rembane> Ach! :D
11:08:59 <Rembane> Yeah, functions need a Num instance, which they can have, but it makes everything interesting in other ways.
11:09:08 <ldlework> whatt
11:09:10 <ldlework> lol
11:09:25 <ldlework> like using + on functions?
11:09:52 <ldlework> I guess it would just be some kind of combination of the functions
11:10:32 <ldlework> I guess no different than . as an operator or whatever
11:10:33 <Rembane> Yeah, what does f + g mean? :)
11:10:36 <ldlework> just a higher order function
11:10:53 <ldlework> could mean a number of things I guess
11:11:03 <Rembane> It's very much up to you what you choose to model.
11:11:37 <ldlework> since `f + g` is really just `(+) f g` and it might as well be `glippityglop f g`
11:11:42 <ldlework> aka some random HOF
11:13:20 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
11:13:43 <Rembane> Yes!
11:14:07 <ldlework> Copilot has learned the Functor laws slightly incorrectly
11:14:16 <ldlework> Instead of writing the test
11:14:17 <ldlework> -- >>> fmap not . fmap not $ p
11:14:19 <ldlework> it writes
11:14:30 <ldlework> -- >>> fmap (not . not) . fmap (not . not) $ p
11:20:46 <Hecate> haha nice
11:23:07 hyiltiz joins (~quassel@31.220.5.250)
11:24:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:24:18 _xor joins (~xor@74.215.232.67)
11:25:39 <int-e> well it's not wrong?
11:26:34 × kayprish quits (~kayprish@cable-188-2-153-140.dynamic.sbb.rs) (Remote host closed the connection)
11:26:46 <[itchyjunk]> wait, what does f + g mean for f,g functions?
11:26:57 <int-e> usually \x -> f x + g x
11:27:15 <[itchyjunk]> ah
11:27:24 <int-e> > (1 + id) 2
11:27:26 <lambdabot> error:
11:27:26 <lambdabot> • No instance for (Num (Integer -> Integer))
11:27:26 <lambdabot> arising from a use of ‘e_112’
11:27:35 <int-e> okay. I was wondering about that.
11:28:05 <int-e> (lambdabot used to have that instance by default... now it's there intermittently, whenever a fan of that instance defines it)
11:28:40 <int-e> With the Num instance, that would evaluate to 3.
11:28:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
11:34:43 <ldlework> [itchyjunk]: but my point was its semantics could be anything
11:35:18 × Everything quits (~Everythin@37.115.210.35) (Quit: leaving)
11:36:10 <[itchyjunk]> sure, the symbol or it's meaning is context dependent
11:36:45 <[itchyjunk]> oh so in java, "overloading" is the same as ad hoc polymorphism
11:36:46 × pony quits (~ed@101.53.218.157) (Quit: WeeChat 2.8)
11:36:57 <[itchyjunk]> What's an example (easy) of ad hoc polymorphism in haskell?
11:37:45 <[itchyjunk]> hmm i might have to learn a bit more haskell before i ask these questions actually
11:38:20 <[itchyjunk]> because idk if + wors for anything other than int.. which i don't think it does?
11:38:22 <[itchyjunk]> :t +
11:38:23 <lambdabot> error: parse error on input ‘+’
11:38:31 <[itchyjunk]> :t (+)
11:38:32 <lambdabot> Num a => a -> a -> a
11:39:12 <Rembane> > fmap (+1) (Just 7)
11:39:13 <lambdabot> Just 8
11:39:15 <Rembane> > fmap (+1) (Right 7)
11:39:17 <lambdabot> Right 8
11:39:22 <Rembane> [itchyjunk]: That one perhaps?
11:39:47 <Rembane> [itchyjunk]: We're using the Functor instances for Maybe and Either.
11:40:27 <[itchyjunk]> I am trying to remember what a Functor is.. is that a map between categories?
11:40:39 <Rembane> :t fmap
11:40:40 <lambdabot> Functor f => (a -> b) -> f a -> f b
11:40:50 <Rembane> Dunno about that, but the signature is above
11:43:04 <[itchyjunk]> i vaguely understand
11:43:23 <Rembane> And you can replace f with Maybe and (Either x) to get the specialized type signatures.
11:46:53 <[itchyjunk]> yes! this makes sense. ty
11:47:08 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
11:47:52 <Rembane> No worries. :)
11:53:45 × max22- quits (~maxime@2a01cb0883359800586692f82479ecdc.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
11:54:20 <ldlework> > We come now to Applicative. Applicatives are monoidal functors. No, no, stay with us.
11:54:21 <lambdabot> <hint>:1:67: error: parse error on input ‘,’
11:54:28 <ldlework> 😩 it's 7AM I think i'll sleep instead
11:54:31 <ldlework> heh
11:57:06 <ldlework> [itchyjunk]: An instance of Functor for a type `a` "lifts" a function (like (+)) "over the structure" of `a` allowing (+) to work on data within `a`
11:57:33 <ldlework> So, a Functor for lists, lets you lift a function over the structure of the list, and apply it to the values in the list
11:57:55 <ldlework> A functor for strings, let's you lift a function over the structure of the string, and run the function over the characters inside
11:58:14 <ldlework> A functor for Maybe lets you run a function on the value inside the Maybe (if there is one)
11:58:27 <ldlework> A functor for Either lets you run a function on the Right value
12:01:54 × Vajb quits (~Vajb@n5jcms613emg0qp3a-2.v6.elisa-mobile.fi) (Ping timeout: 260 seconds)
12:04:02 kayprish joins (~kayprish@cable-188-2-153-140.dynamic.sbb.rs)
12:15:17 acidjnk_new joins (~acidjnk@p200300d0c720301980aba8353aca9eb7.dip0.t-ipconnect.de)
12:21:20 Vajb joins (~Vajb@n7i80zvgkeh1dcvfh-2.v6.elisa-mobile.fi)
12:22:43 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
12:22:56 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
12:25:21 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
12:25:58 × Vajb quits (~Vajb@n7i80zvgkeh1dcvfh-2.v6.elisa-mobile.fi) (Ping timeout: 252 seconds)
12:27:36 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:27:56 Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr)
12:29:30 Vajb joins (~Vajb@ndzniy17n18zst2kw-1.v6.elisa-mobile.fi)
12:30:10 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
12:33:22 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
12:33:40 × Vajb quits (~Vajb@ndzniy17n18zst2kw-1.v6.elisa-mobile.fi) (Ping timeout: 252 seconds)
12:33:57 hendursaga joins (~weechat@user/hendursaga)
12:44:35 Pickchea joins (~private@user/pickchea)
12:54:11 × _alexm_ quits (~alexm_@161.8.253.213) (Remote host closed the connection)
12:54:45 IgnatInsarov[m] joins (~kindaroma@2001:470:69fc:105::f5d9)
12:55:39 Vajb joins (~Vajb@n1fdw1j4uyo9saqj8-2.v6.elisa-mobile.fi)
12:56:44 <IgnatInsarov[m]> Yo!
12:56:53 <IgnatInsarov[m]> I need someone to run my project and see how long it takes with and without this patch. https://github.com/kindaro/paths-in-cube/commit/d79cd4a77f168ab5f5e841c30ade05e51db969f5
12:57:02 <IgnatInsarov[m]> It has huge effect on performance on my machine and I want to confirm it somewhere else.
12:57:16 × mikoto-chan quits (~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
12:58:06 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
12:58:37 aman joins (~aman@user/aman)
13:00:02 × Vajb quits (~Vajb@n1fdw1j4uyo9saqj8-2.v6.elisa-mobile.fi) (Ping timeout: 245 seconds)
13:00:50 × aman quits (~aman@user/aman) (Client Quit)
13:01:32 Vajb joins (~Vajb@n1fdw1j4uyo9saqj8-2.v6.elisa-mobile.fi)
13:02:32 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
13:04:37 <IgnatInsarov[m]> This channel looks unusually dead…
13:09:28 <IgnatInsarov[m]> Has the migration from `freenode` taken a toll?
13:09:44 <int-e> maybe, but it generally tends to quiet down on weekends too
13:12:40 × martin02 quits (~silas@141.84.69.76) (Ping timeout: 252 seconds)
13:14:26 <yushyin> it is still one of the channels with the most traffic compared to other channels i participate in
13:14:40 acidjnk_new3 joins (~acidjnk@p200300d0c72030195d3a0f2c04c6116c.dip0.t-ipconnect.de)
13:15:25 acidjnk joins (~acidjnk@p200300d0c7203019c44d9fe177fb36b1.dip0.t-ipconnect.de)
13:15:28 × Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 252 seconds)
13:16:54 Brumaire joins (~quassel@fr-poney6.204vpn.net)
13:17:57 × acidjnk_new quits (~acidjnk@p200300d0c720301980aba8353aca9eb7.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
13:19:22 × acidjnk_new3 quits (~acidjnk@p200300d0c72030195d3a0f2c04c6116c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:19:39 <pavonia> IgnatInsarov[m]: trace internally uses unsafePerformIO, so it's likely that the new code evaluates things more often
13:19:58 <IgnatInsarov[m]> How so?
13:20:05 <pavonia> Btw, don't you want `trace "" $ buildTree (Set.fromList theBox) function` anyway?
13:20:13 <pavonia> (note the $)
13:20:25 <IgnatInsarov[m]> I want it to run fast.
13:20:28 <IgnatInsarov[m]> Did you run it?
13:20:38 <IgnatInsarov[m]> Please run it and see how `$` changes things.
13:20:48 <IgnatInsarov[m]> I promise you will be amused.
13:21:02 <pavonia> Or you tell me which is faster :p
13:22:12 <IgnatInsarov[m]> I do not want you to believe me, I want you to see for yourself.
13:22:21 martin02 joins (~silas@141.84.69.76)
13:22:32 <IgnatInsarov[m]> Maybe my measurements are wrong.
13:23:04 <pavonia> The thing is, do not rely on code that uses trace, because you might be using it wrong and you might get fast but incorrect results
13:24:14 <IgnatInsarov[m]> I should surely like not to rely on it.
13:25:54 <pavonia> Though I'm confused why `trace "" buildTree` is faster, evaluating `buildTree` should be a no-op
13:27:46 <pavonia> Maybe the problem is related to specialization of types
13:28:01 <int-e> IgnatInsarov[m]: try either {-# NOINLINE buildTree #-} or memory = lazy (buildTree (Set.fromList theBox) function) where lazy is from GHC.Exts. There's probably some obscure inlining decisions that GHC takes otherwise that cause the program to recompute the "tree".
13:28:56 <IgnatInsarov[m]> Yep I tried `noinline`ing everything, it did not make any difference. Maybe I should try again.
13:29:09 <int-e> But I'm not in the mood to investigate (which would involve looking at stg code, and possibly even tracing the simplifier)
13:29:55 <int-e> I tried both of those and they helped for me
13:29:55 <IgnatInsarov[m]> pavonia:   Specialization is surely an important aspect when it comes to memoization: <https://www.reddit.com/r/haskell/comments/plfotc/examples_of_compiler_optimizations_changing/>
13:30:21 <int-e> {-# NOINLINE memory #-}, on the other hand, didn't help
13:30:29 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
13:31:07 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
13:31:30 <IgnatInsarov[m]> Oh you are right, they actually work.
13:31:42 <int-e> but I can't really explain why they help... I followed my gut.
13:31:58 <IgnatInsarov[m]> I suppose I tried the pragmas on some other variant of the code.
13:32:18 <IgnatInsarov[m]> I have been re-arranging it for a few hours last night.
13:33:02 <IgnatInsarov[m]> int-e: How should I quote you?
13:33:03 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
13:33:12 <int-e> don't bother
13:33:20 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
13:33:24 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
13:33:34 <IgnatInsarov[m]> Since you found a solution, I have to attribute it to you when I write about it.
13:33:45 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
13:33:48 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
13:33:49 sedeki joins (~textual@user/sedeki)
13:33:52 <IgnatInsarov[m]> «A friendly person on IRC»?
13:34:02 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
13:34:17 <int-e> Works for me. int-e on IRC works too, I just don't think I did a whole lot here.
13:34:34 <int-e> The real work would be in explaining the difference.
13:35:15 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 260 seconds)
13:38:53 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
13:40:17 son0p joins (~ff@181.136.122.143)
13:40:27 × agoraphobic_ quits (~agoraphob@ip11-173.bon.riksnet.se) (Ping timeout: 245 seconds)
13:42:31 geekosaur joins (~geekosaur@xmonad/geekosaur)
13:42:31 × sheddow quits (~sheddow@84-52-255.245.3p.ntebredband.no) (Ping timeout: 256 seconds)
13:50:38 × Brumaire quits (~quassel@fr-poney6.204vpn.net) (Ping timeout: 260 seconds)
13:51:18 Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr)
13:51:21 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
13:53:21 wonko joins (~wjc@62.115.229.50)
13:56:31 <IgnatInsarov[m]> I wrote it up on Reddit: <https://www.reddit.com/r/haskellquestions/comments/pmt3g8/why_does_adding_trace_give_a_tenfold_speed_up/>
13:56:55 <IgnatInsarov[m]> Thanks everyone and see you all later.
14:02:55 × ArctVaulMarsHMPJ quits (~pjetcetal@2.95.102.85) (Read error: Connection reset by peer)
14:05:56 × sedeki quits (~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
14:12:54 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
14:16:32 max22- joins (~maxime@2a01cb088335980044460da6948ac63d.ipv6.abo.wanadoo.fr)
14:17:15 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 260 seconds)
14:19:39 ArctVaulMarsHMPJ joins (~pjetcetal@2.95.102.85)
14:24:43 kuribas joins (~user@ptr-25vy0i9m8o0g27xnl8z.18120a2.ip6.access.telenet.be)
14:25:12 × hannessteffenhag quits (~hannesste@ip4d14ffd8.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
14:26:07 <maerwald> IgnatInsarov[m]: where's the repo again?
14:29:10 <mangoiv> Hi, is there a recommended order of files to look into when I'm trying to read myself into the WayMonad project? I'd love to contribute but such projects are always soooo big I get frustrated tryin to understand what's going on really quickly...
14:29:15 <mangoiv> Thanks in advance y'all
14:32:29 <lechner> Hi, would someone please help me with these type errors? I have a hard time seeing what's going on. https://paste.tomsmeding.com/Itli1J6O#file-2
14:35:57 <kuribas> lechner: you need lazy Text, not strict Text.
14:36:04 <kuribas> Data.Text.Lazy
14:36:55 <lechner> kuribas: thanks!
14:37:29 <maerwald> IgnatInsarov[m]: I found it
14:40:49 × xff0x quits (~xff0x@2001:1a81:5374:7800:b91b:1969:510:c2ea) (Ping timeout: 252 seconds)
14:44:47 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:44:47 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
14:44:47 wroathe joins (~wroathe@user/wroathe)
14:47:20 <geekosaur> mangoiv, there's a pointer to a matrix room in the right sidebar of https://github.com/L-as/waymonad, you might have more luck there
14:48:43 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
14:51:24 × Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Remote host closed the connection)
14:53:59 <mangoiv> geekosaur, thanks for your answer, I'll definitely look into that. (First I gotta get back to a distro with Systemd, otherwise no Nix D: )
14:54:03 acidjnk_new joins (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de)
14:54:25 <mangoiv> (say, how do you get those fany name colors?)
14:54:56 <geekosaur> your client does it, irc normally doesn't have color to speak of
14:55:58 agoraphobic joins (~agoraphob@ip11-173.bon.riksnet.se)
14:56:54 × acidjnk quits (~acidjnk@p200300d0c7203019c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
15:00:59 <lechner> mangoiv geekosaur: thanks for that pointer. i'm a former xmonad user. why is the 'hayland' library mentioned here obsolete, and what is its replacement? https://github.com/L-as/waymonad#hsroots
15:03:11 <geekosaur> that I couldn't tell you. I'm an xmonad developer. I'm aware of waymonad but not much beyond that
15:03:58 <geekosaur> but I'd guess hayland is a Haskell binding or reimplementation of the basic Wayland library
15:04:07 <lechner> okay, thanks! perhaps it's ohe of these https://github.com/abooij/sudbury#related-projects
15:04:45 <lechner> or sudbury itself, although there has been no activity
15:06:14 <lechner> geekosaur: also, thaks for xmonad. it was great under X
15:06:20 <lechner> thnks
15:06:29 <lechner> thanks
15:07:38 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd)
15:08:01 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::46)
15:09:59 TranquilEcho joins (~grom@user/tranquilecho)
15:11:57 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
15:12:04 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Ping timeout: 252 seconds)
15:13:19 xff0x joins (~xff0x@2001:1a81:5374:7800:b91b:1969:510:c2ea)
15:15:03 tommd joins (~tommd@75-164-130-101.ptld.qwest.net)
15:17:55 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
15:22:36 × amk quits (~amk@109.255.169.126) (Remote host closed the connection)
15:23:47 amk joins (~amk@109.255.169.126)
15:27:21 sleblanc joins (~sleblanc@user/sleblanc)
15:27:45 zmt01 joins (~zmt00@user/zmt00)
15:31:16 × wonko quits (~wjc@62.115.229.50) (Ping timeout: 252 seconds)
15:31:48 slowButPresent joins (~slowButPr@user/slowbutpresent)
15:35:04 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
15:37:55 Hanicef joins (~gustaf@81-229-9-108-no92.tbcn.telia.com)
15:39:43 son0p joins (~ff@181.136.122.143)
15:42:31 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
15:46:48 chexum joins (~quassel@gateway/tor-sasl/chexum)
15:50:29 mangoiv1 joins (~MangoIV@193.175.5.172)
15:50:29 × mangoiv quits (~MangoIV@193.175.5.172) (Read error: Connection reset by peer)
15:55:15 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2)
15:55:24 × max22- quits (~maxime@2a01cb088335980044460da6948ac63d.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
15:55:40 × mangoiv1 quits (~MangoIV@193.175.5.172) (Quit: WeeChat 3.2)
15:56:10 <janus> why is the quadratic Aeson problem not visible on https://www.reddit.com/r/haskell/top/?t=month ? i can still see it on https://www.reddit.com/r/haskell/comments/pm7rcr/cs_syd_json_vulnerability_in_haskells_aeson/
15:56:34 <kuribas> janus: it's there?
15:57:06 kenran joins (~kenran@200116b82b2c7100d4de7347c00a41a3.dip.versatel-1u1.de)
15:58:16 × acidjnk_new quits (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
15:59:08 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
15:59:22 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:00:03 <janus> kuribas: aaah ok i must have somehow hid it by accident, it has happened before.. still don't know how this happens
16:00:06 × thonoht[m] quits (~thonohtma@2001:470:69fc:105::d7be) (Quit: You have been kicked for being idle)
16:00:08 × boxscape quits (~boxscape@user/boxscape) (Quit: You have been kicked for being idle)
16:00:13 <janus> i must be hitting some hotkey ...
16:00:29 boxscape joins (~boxscape@user/boxscape)
16:01:00 lechner did not know about r/ hide feature
16:02:15 <janus> RES has this feature... but on the other hand, it shouldn't work in incognito mode, and it does... so weird
16:05:09 × kayprish quits (~kayprish@cable-188-2-153-140.dynamic.sbb.rs) (Remote host closed the connection)
16:13:31 fendor joins (~fendor@178.165.199.123.wireless.dyn.drei.com)
16:15:30 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd)
16:19:28 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
16:19:42 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:24:48 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
16:25:01 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:36:05 gehmehgeh joins (~user@user/gehmehgeh)
16:37:01 econo joins (uid147250@user/econo)
16:40:03 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
16:41:15 psilospore joins (uid517704@id-517704.stonehaven.irccloud.com)
16:42:59 max22- joins (~maxime@2a01cb0883359800574cfc02ebbdd1ed.ipv6.abo.wanadoo.fr)
16:46:02 sheddow joins (~sheddow@84-52-255.245.3p.ntebredband.no)
16:47:30 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
16:50:08 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
16:50:24 hyiltiz joins (~quassel@31.220.5.250)
16:50:25 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:50:31 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
16:50:44 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:50:51 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
16:51:04 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:51:07 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
16:51:27 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
16:56:33 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
16:56:46 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
17:06:53 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
17:07:06 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
17:09:32 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2)
17:12:11 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
17:14:16 × kenran quits (~kenran@200116b82b2c7100d4de7347c00a41a3.dip.versatel-1u1.de) (Ping timeout: 252 seconds)
17:15:18 kenran joins (~kenran@200116b82b2c7100e37982919c9088b5.dip.versatel-1u1.de)
17:18:31 shriekingnoise joins (~shrieking@186.137.144.80)
17:20:28 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:30:17 Erutuon joins (~Erutuon@user/erutuon)
17:33:14 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
17:41:13 <Las[m]> Does anyone know whether there's a way to make all functions INLINABLE?
17:41:25 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
17:42:37 <Las[m]> lechner: AFAIU it's marked obsolete because the author moved onto Sudbury as you can tell
17:42:57 <Las[m]> The main difference being Sudbury doesn't interface with libwayland
17:43:11 <Las[m]> The reason Waymonad uses Hayland is because we need to interface with libwayland, since that's what wlroots uses
17:49:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:49:18 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
17:49:18 wroathe joins (~wroathe@user/wroathe)
17:53:46 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
17:56:08 × agoraphobic quits (~agoraphob@ip11-173.bon.riksnet.se) (Read error: Connection reset by peer)
17:56:23 × kuribas quits (~user@ptr-25vy0i9m8o0g27xnl8z.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
17:56:29 agoraphobic joins (~agoraphob@ip11-173.bon.riksnet.se)
18:01:00 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
18:01:49 gehmehgeh joins (~user@user/gehmehgeh)
18:08:10 × Hanicef quits (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
18:08:50 × alx741 quits (~alx741@186.178.109.89) (Ping timeout: 260 seconds)
18:14:46 × enikar quits (~enikar@user/enikar) (Ping timeout: 252 seconds)
18:15:13 enikar joins (~enikar@user/enikar)
18:15:34 lavaman joins (~lavaman@98.38.249.169)
18:17:03 <lechner> Las[m]: thanks! I am currently on sway and look forward to your compositor
18:17:52 <Las[m]> lechner: Thanks! Hopefully I'll get some progress done.
18:19:19 <Las[m]> elvishjerricco: Did you ever find an answer to https://old.reddit.com/r/haskell/comments/6i2t27/ghc_option_for_marking_everything_inlinable/ ?
18:19:51 System123 joins (~System123@203-134-35-213.sta.estpak.ee)
18:20:20 Sgeo joins (~Sgeo@user/sgeo)
18:21:16 alx741 joins (~alx741@181.196.69.212)
18:22:13 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
18:22:26 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
18:22:31 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
18:22:45 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
18:26:19 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
18:26:44 homarlone joins (~homarlone@user/homarlone)
18:27:48 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
18:28:01 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
18:28:28 pavonia joins (~user@user/siracusa)
18:34:13 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection)
18:34:43 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd)
18:35:40 × max22- quits (~maxime@2a01cb0883359800574cfc02ebbdd1ed.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
18:36:14 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:36:15 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
18:36:15 wroathe joins (~wroathe@user/wroathe)
18:36:26 × betelgeuse quits (~betelgeus@94-225-47-8.access.telenet.be) (Quit: Ping timeout (120 seconds))
18:37:48 betelgeuse joins (~betelgeus@94-225-47-8.access.telenet.be)
18:39:30 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Ping timeout: 260 seconds)
18:40:54 System12_ joins (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com)
18:44:10 × System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 260 seconds)
18:46:53 × ddrtns^ quits (~ddrtns@68.101.54.227) (Remote host closed the connection)
18:48:08 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds)
18:48:22 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
18:48:23 acidjnk_new joins (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de)
18:52:19 max22- joins (~maxime@2a01cb08833598004bd2e3d55bf9d97e.ipv6.abo.wanadoo.fr)
18:53:08 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
18:53:23 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
19:03:36 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 265 seconds)
19:06:20 vysn joins (~vysn@user/vysn)
19:12:48 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
19:14:20 awpr joins (uid446117@id-446117.lymington.irccloud.com)
19:18:29 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
19:18:43 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
19:19:10 ubert joins (~Thunderbi@178.165.198.127.wireless.dyn.drei.com)
19:19:25 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
19:20:46 × tommd quits (~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 252 seconds)
19:24:12 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-131-92.cust.tzulo.com)
19:25:35 tdsltl^ joins (~tdsltl@68.101.54.227)
19:28:02 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 260 seconds)
19:28:15 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
19:33:49 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
19:34:04 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
19:35:05 tommd joins (~tommd@75-164-130-101.ptld.qwest.net)
19:36:42 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd)
19:37:33 Pickchea joins (~private@user/pickchea)
19:37:45 hyiltiz joins (~quassel@31.220.5.250)
19:39:02 × zer0bitz quits (~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi) (Read error: Connection reset by peer)
19:39:55 × tommd quits (~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 252 seconds)
19:43:56 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
19:43:59 gehmehgeh joins (~user@user/gehmehgeh)
19:49:42 × homarlone quits (~homarlone@user/homarlone) (Quit: Client closed)
19:53:36 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Remote host closed the connection)
19:54:34 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
19:55:18 hexfive joins (~eric@50.35.83.177)
19:56:25 × hexfive quits (~eric@50.35.83.177) (Client Quit)
19:57:15 × ubert quits (~Thunderbi@178.165.198.127.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
19:57:25 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
19:59:18 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 260 seconds)
20:01:36 × Tordek quits (tordek@triton.blinkenshell.org) (Ping timeout: 265 seconds)
20:02:33 Tordek joins (~tordek@triton.blinkenshell.org)
20:05:28 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 265 seconds)
20:06:46 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 256 seconds)
20:06:46 juhp joins (~juhp@128.106.188.220)
20:07:05 justsomeguy joins (~justsomeg@user/justsomeguy)
20:08:10 × Tordek quits (~tordek@triton.blinkenshell.org) (Ping timeout: 260 seconds)
20:08:10 sa joins (sid1055@id-1055.tinside.irccloud.com)
20:08:56 Tordek joins (~tordek@triton.blinkenshell.org)
20:09:10 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
20:09:24 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
20:14:10 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
20:20:27 cheater joins (~Username@user/cheater)
20:21:20 geekosaur joins (~geekosaur@xmonad/geekosaur)
20:24:30 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
20:24:47 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
20:24:49 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:31:43 lavaman joins (~lavaman@98.38.249.169)
20:32:30 burnsidesLlama joins (~burnsides@dhcp168-018.wadham.ox.ac.uk)
20:36:53 × burnsidesLlama quits (~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
20:38:37 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
20:40:31 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
20:41:03 × fendor quits (~fendor@178.165.199.123.wireless.dyn.drei.com) (Remote host closed the connection)
20:44:23 pbrisbin joins (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net)
20:44:54 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:45:46 mikoto-chan joins (~mikoto-ch@83.137.2.241)
20:48:41 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
20:49:53 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
20:50:06 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
20:50:15 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
20:50:25 System123 joins (~System123@203-134-35-213.sta.estpak.ee)
20:50:29 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
20:51:35 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
20:52:21 × mikoto-chan quits (~mikoto-ch@83.137.2.241) (Ping timeout: 265 seconds)
20:53:24 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:53:59 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd)
20:54:22 × System12_ quits (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) (Ping timeout: 260 seconds)
20:56:24 mikoto-chan joins (~mikoto-ch@83.137.2.241)
20:58:34 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd) (Ping timeout: 252 seconds)
20:59:02 falafel joins (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com)
20:59:29 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
21:00:43 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
21:00:44 Lord_of_Life_ is now known as Lord_of_Life
21:03:39 × chomwitt quits (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) (Remote host closed the connection)
21:06:46 × System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Remote host closed the connection)
21:07:27 System123 joins (~System123@203-134-35-213.sta.estpak.ee)
21:07:50 × kenran quits (~kenran@200116b82b2c7100e37982919c9088b5.dip.versatel-1u1.de) (Quit: WeeChat info:version)
21:10:27 × _________ quits (~nobody@user/noodly) (Remote host closed the connection)
21:10:46 _________ joins (~nobody@user/noodly)
21:11:04 lavaman joins (~lavaman@98.38.249.169)
21:11:41 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:12:25 × System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 252 seconds)
21:13:31 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-131-92.cust.tzulo.com) (Ping timeout: 252 seconds)
21:13:45 zebrag joins (~chris@user/zebrag)
21:15:43 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
21:15:53 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-131-70.cust.tzulo.com)
21:16:07 × benin03693230 quits (~benin@183.82.24.227) (Ping timeout: 252 seconds)
21:20:02 × falafel quits (~falafel@2603-8000-d801-2d68-1d6d-bf72-eba2-a20e.res6.spectrum.com) (Ping timeout: 245 seconds)
21:22:19 × Gurkenglas quits (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
21:23:14 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
21:29:42 Brumaire joins (~quassel@81-64-14-121.rev.numericable.fr)
21:31:42 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 260 seconds)
21:34:16 × Philonous quits (~Philonous@user/philonous) (Ping timeout: 252 seconds)
21:34:39 Philonous joins (~Philonous@user/philonous)
21:34:49 × mikoto-chan quits (~mikoto-ch@83.137.2.241) (Ping timeout: 252 seconds)
21:36:50 × pbrisbin quits (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) (Ping timeout: 260 seconds)
21:39:44 hyiltiz joins (~quassel@31.220.5.250)
21:45:00 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:45:29 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
21:45:42 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
21:46:34 lavaman joins (~lavaman@98.38.249.169)
21:51:18 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
21:51:19 × Brumaire quits (~quassel@81-64-14-121.rev.numericable.fr) (Ping timeout: 265 seconds)
21:53:30 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:00:06 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2dc7:70f:65a6:fbdd)
22:00:25 benin03693230 joins (~benin@183.82.24.227)
22:03:32 × max22- quits (~maxime@2a01cb08833598004bd2e3d55bf9d97e.ipv6.abo.wanadoo.fr) (Quit: Leaving)
22:10:48 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
22:11:01 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
22:11:07 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit)
22:11:20 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
22:11:54 Guest|72 joins (~Guest|72@142.126.232.67)
22:16:30 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 260 seconds)
22:16:53 × TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8)
22:19:07 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Ping timeout: 240 seconds)
22:19:23 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
22:20:04 × acidjnk_new quits (~acidjnk@p200300d0c7203034c44d9fe177fb36b1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
22:20:13 × Guest|72 quits (~Guest|72@142.126.232.67) (Quit: Connection closed)
22:22:52 System123 joins (~System123@203-134-35-213.sta.estpak.ee)
22:24:14 cjb joins (~cjbayliss@user/cjb)
22:26:23 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
22:26:37 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
22:27:34 × System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 265 seconds)
22:27:39 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
22:28:21 hyiltiz joins (~quassel@31.220.5.250)
22:31:43 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
22:31:56 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
22:34:14 LixOS joins (~Guest98@2001:67c:2628:647:12::1c7)
22:36:54 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
22:39:14 geekosaur joins (~geekosaur@xmonad/geekosaur)
22:40:05 × spruit11 quits (~quassel@2a02:a467:ccd6:1:5542:2068:efaa:d531) (Ping timeout: 260 seconds)
22:42:03 × amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha)
22:42:20 amitnjha joins (~amit@024-216-124-116.res.spectrum.com)
22:43:43 × xff0x quits (~xff0x@2001:1a81:5374:7800:b91b:1969:510:c2ea) (Ping timeout: 252 seconds)
22:44:04 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:44:32 xff0x joins (~xff0x@2001:1a81:5374:7800:9550:4329:f93b:bad7)
22:51:18 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
22:53:37 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
23:00:29 spruit11 joins (~quassel@2a02:a467:ccd6:1:a09c:5ae1:45f8:7ffe)
23:17:21 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds)
23:19:25 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
23:19:46 <elvishjerricco> Las[m]: I did not, but I've since learned that was a bad idea anyway. In this GHC proposal https://github.com/ghc-proposals/ghc-proposals/pull/313 Alexis pointed out that she tried compiling a sizable project with everything inlinable and GHC just wouldn't terminate; it had too much to try and specialize
23:19:57 jpds joins (~jpds@gateway/tor-sasl/jpds)
23:20:34 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 252 seconds)
23:20:51 hyiltiz joins (~quassel@31.220.5.250)
23:26:16 <Cajun> so i was looking into lens libraries and i noticed two big ones, `lens` and `optics` so i was wondering what is the best one to use. i understand the implementation differences, but what about actually just using it?
23:27:01 <ldlework> Cajun: I haven't gotten there but I heard that `lens` is more traditional and formal and `optics` is more egronomic and goes beyond the formalism to make it easier to use
23:27:06 <ldlework> that's just what i heard
23:27:53 × sheddow quits (~sheddow@84-52-255.245.3p.ntebredband.no) (Ping timeout: 256 seconds)
23:27:58 <geekosaur> they're equivalent at included functionality. optics is easier for beginners because it has better error messages, lens has more power for advanced users because it's easily expandable
23:29:20 <Cajun> nice, optics seems like a good start then. ive watched the long 2hr talk the dev of the lens library gave along with some optics tutorials, but they never go into detail about using it within a monad transformer stack. is there any good article/talk/textbook chapter on that?
23:30:30 <geekosaur> that I couldn't really tell you. although both provide some stuff for working directly with StateT in particular
23:30:53 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
23:40:22 <c_wraith> optics is a closed ecosystem, lens is open. With all the advantages and disadvantages that brings to both
23:41:18 <ldlework> i'm glad others chimed in to give real takes :D
23:43:57 <c_wraith> to expand slightly: optics has a list of things you are allowed to do. When you try to do anything else, you get vocal error messages telling you that's not allowed. lens just says "here are some things, do whatever you want", and it allows a lot more to be done. But that's at the cost of ghc making half-sense of things you wrote and telling you about a unification error nowhere near your actual bug
23:44:06 × zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving)
23:44:16 <dsal> lens lets you do *weird* stuff.
23:44:29 <dsal> With hypergeneric mechanisms.
23:44:53 <c_wraith> also, there are things optics *could* do, and just chooses not to. At least one of which is really nice.
23:45:18 zaquest joins (~notzaques@5.128.210.178)
23:46:24 <c_wraith> holesOf is great fun for fanout sorts of problems.
23:47:44 <ldlework> Yesterday I learned about Monoids, Functors and Applicatives
23:47:57 <ldlework> Words I thought I would never bother to understand :P
23:50:42 × LixOS quits (~Guest98@2001:67c:2628:647:12::1c7) (Quit: Client closed)
23:51:29 Melvar joins (~melvar@dslb-178-001-195-022.178.001.pools.vodafone-ip.de)
23:51:40 <Cajun> with that toolset you might want to take a look at Alternative
23:51:51 <ldlework> I think HFFP is going to move onto Monad proper next
23:52:01 <ldlework> But I just wrote down "Alternative" in my notes, so thanks
23:52:32 <Cajun> yeah its to do with Monoids and Applicatives. its quite useful when you need it
23:52:42 <c_wraith> Alternative can show up in a lot of places, but it's something you use constantly when writing parsers in particular.
23:53:07 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 265 seconds)
23:53:48 pbrisbin joins (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net)
23:54:35 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-131-70.cust.tzulo.com) (Quit: Leaving)
23:57:57 × haskl[error] quits (~haskl@user/haskl) (Ping timeout: 265 seconds)
23:58:21 haskl joins (~haskl@user/haskl)
23:58:42 × vysn quits (~vysn@user/vysn) (Ping timeout: 260 seconds)

All times are in UTC on 2021-09-12.