Home liberachat/#haskell: Logs Calendar

Logs on 2024-01-05 (liberachat/#haskell)

00:06:46 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 255 seconds)
00:09:02 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 260 seconds)
00:17:02 rvalue joins (~rvalue@user/rvalue)
00:26:46 × Tuplanolla quits (~Tuplanoll@91-159-69-171.elisa-laajakaista.fi) (Ping timeout: 260 seconds)
00:32:58 pavonia joins (~user@user/siracusa)
00:35:06 × acidjnk quits (~acidjnk@p200300d6e72b9355985adb6a1a34faf9.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
00:37:39 × Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection)
00:38:09 Axman6 joins (~Axman6@user/axman6)
00:44:23 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:54:38 shapr` is now known as shapr
00:58:18 × edr quits (~edr@user/edr) (Quit: Leaving)
01:00:22 × waldo quits (~waldo@user/waldo) (Quit: waldo)
01:05:26 jmdaemon joins (~jmdaemon@user/jmdaemon)
01:21:45 trev joins (~trev@user/trev)
01:22:28 × feetwind quits (~mike@user/feetwind) (Quit: WeeChat 3.1)
01:22:49 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
01:22:55 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
01:22:59 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
01:24:21 Lord_of_Life_ is now known as Lord_of_Life
01:33:40 jargon joins (~jargon@211.sub-174-205-225.myvzw.com)
01:55:02 causal joins (~eric@50.35.85.7)
01:55:25 meritamen joins (~meritamen@user/meritamen)
01:56:13 × meritamen quits (~meritamen@user/meritamen) (Remote host closed the connection)
02:05:14 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
02:08:06 × shapr quits (~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 252 seconds)
02:35:39 derpyxdhs joins (~Thunderbi@user/derpyxdhs)
02:41:20 <Axman6> Can I ask a favour of someone who's on matrix (and hence bridged to IRC using haskellbridge) - can you say something so I can test whether my terminal is still bring broken by it?
02:42:17 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection)
02:42:34 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
02:42:39 <haskellbridge> 05<g​eekosaur> boom?
02:43:24 <Axman6> yeah still broken - I get a space in glirc after the first character of anyone using it, and it break my terminal in fun ways
02:43:40 <Axman6> first character of the nick of*
02:43:59 hgolden joins (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
02:44:01 <glguy> To be clear this isn't a general glirc problem, there's something special about axman6's configuration :)
02:44:48 <Axman6> this is true
02:45:04 <Axman6> it also bleeds into other tmux windows which is fun
02:47:39 <Axman6> Hmmmm, looks like it might be fine in alacritty
02:48:31 TonyStone joins (~TonyStone@074-076-057-186.res.spectrum.com)
02:49:00 <geekosaur> yeh, my guess would be your terminal doesn't handle zero width joiners (or nonjoiners; I forget which one matterbridge uses)
02:51:45 <int-e> zero​width​space
02:51:52 <geekosaur> zero width space, U+200B
02:51:53 <int-e> it uses the U+200B one
02:52:54 <int-e> (the funniest one of those is U+2062 INVISIBLE TIMES
02:52:57 <int-e> )
02:53:48 <int-e> (that could be a news outlet from Unseen University)
02:56:32 × derpyxdhs quits (~Thunderbi@user/derpyxdhs) (Quit: derpyxdhs)
03:10:07 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
03:10:30 stiell joins (~stiell@gateway/tor-sasl/stiell)
03:17:06 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:31eb:5352:b0f6:c0ae) (Remote host closed the connection)
03:17:22 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
03:21:30 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:21:30 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:37:43 <EvanR> phantom characters
03:38:02 <EvanR> too late for halloween
03:38:05 erina joins (~erina@222.195.81.58)
03:39:19 <erina> I want to sort a [(Int,Int)] by comparing the first then the second value. I'm currently using sortOn (\(x,y) -> x*1000+y),is there a better way?
03:39:50 <erina> x and y are small
03:41:26 <sm> erina: does just `sort` not do that ?
03:41:42 <erina> So Ord can derive to tuples?
03:41:50 <sm> it does, yes
03:42:28 <erina> Oh, that's really nice.
03:42:38 <sm> you can see it toward the bottom of https://hackage.haskell.org/package/base-4.19.0.0/docs/Prelude.html#t:Ord
03:42:56 <erina> What if I want to compare the second element first then?
03:43:38 <sm> (and check the source if you want to be sure.. sometimes it's a good idea as instances don't always do what you think)
03:44:01 <sm> uh.. something like sortBy (comparing . flip) IIRC
03:44:41 <sm> not flip.. swap
03:44:45 <erina> @hoogle (a,b) -> (b,a)
03:44:46 <lambdabot> Data.Tuple swap :: (a, b) -> (b, a)
03:44:46 <lambdabot> Data.Tuple.HT swap :: (a, b) -> (b, a)
03:44:46 <lambdabot> Data.Tuple.Lazy swap :: (a, b) -> (b, a)
03:45:41 <erina> as for the source, it seems it is written in ghc, not base
03:46:13 <erina> But, I'd expect it to work in the unsurprising way.
03:46:58 Guest3 joins (~Guest3@c-17cce355.09-95-67766c3.bbcust.telenor.se)
03:47:03 <sm> and for simple things like this you can just check in ghci
03:47:57 sm was suggesting that the haddock docs have useful source links for each instance's definition.. unfortunately these ones are hard to see and use because of the width, and broken links
03:48:21 <sm> moving right along.
03:48:31 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
03:48:49 <sm> @sort [(2,1),(1,2)]
03:48:49 <lambdabot> Maybe you meant: src part more
03:48:55 Guest65 joins (~Guest3@c-17cce355.09-95-67766c3.bbcust.telenor.se)
03:49:07 <sm> moving right along.
03:49:31 × Guest3 quits (~Guest3@c-17cce355.09-95-67766c3.bbcust.telenor.se) (Client Quit)
03:54:35 × Guest65 quits (~Guest3@c-17cce355.09-95-67766c3.bbcust.telenor.se) (Quit: Client closed)
03:55:48 <erina> > sort [(2,1),(1,2)]
03:55:50 <lambdabot> [(1,2),(2,1)]
03:56:17 <EvanR> > sort [(2,6),(2,2)]
03:56:18 <lambdabot> [(2,2),(2,6)]
03:56:24 × thegeekinside quits (~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
03:56:31 Hesse0 joins (uid528325@id-528325.tinside.irccloud.com)
03:56:42 <EvanR> dictionary ordering
03:58:04 <erina> I knew that this applies for lists too, since sorting Strings([Char]) just work, no way ordinary lists can't derive. But tuples made me hesitate because some other programming language.
03:58:36 × Hesse0 quits (uid528325@id-528325.tinside.irccloud.com) (Client Quit)
03:59:31 × td_ quits (~td@i53870939.versanet.de) (Ping timeout: 245 seconds)
04:01:06 <EvanR> it's not a derived instance in this case, it's instance Ord a => Ord [a] where ... such and such
04:01:25 td_ joins (~td@i5387091D.versanet.de)
04:01:31 <EvanR> code is written somewhere that just works if the list elements have an Ord instance
04:01:50 bilegeek_ joins (~bilegeek@242.sub-174-208-229.myvzw.com)
04:02:24 <erina> I get what you mean.
04:02:26 <EvanR> hmm I guess that is what deriving would do
04:03:09 <erina> Wait, but can derive be used in such case?
04:03:46 <EvanR> try data MyList a = Cons a (MyList a) | Nil deriving (Eq, Ord) and see
04:04:06 × bilegeek quits (~bilegeek@2600:1008:b00e:eae6:fb16:ad39:774b:5f34) (Ping timeout: 245 seconds)
04:04:08 <EvanR> sort (Cons 'z' (Cons 'a' Nil))
04:04:59 not_reserved joins (~not_reser@185.199.102.172)
04:08:13 <erina> you can't do sort, but you can say
04:08:32 <erina> compare (Cons 4 (Cons 3 Nil)) (Cons 3 (Cons 4 Nil))
04:08:38 <EvanR> :t sort
04:08:39 <lambdabot> Ord a => [a] -> [a]
04:08:55 <erina> sort has to do with lists
04:08:59 <EvanR> oh
04:09:30 <EvanR> sort [Cons...., Cons....]
04:09:34 <erina> compare (Cons 4 (Cons 3 Nil)) (Cons 3 (Cons 4 Nil))
04:09:36 <erina> GT
04:10:47 <erina> compare (Cons 4 Nil) (Cons 4 (Cons 3 Nil))
04:10:49 <erina> GT
04:11:08 <erina> Because Nil is placed after Cons, so Nil is greater in this case
04:11:22 aforemny_ joins (~aforemny@i59F516E1.versanet.de)
04:12:28 × aforemny quits (~aforemny@2001:9e8:6ce0:4e00:87b9:bb6b:a794:dec0) (Ping timeout: 255 seconds)
04:24:36 × TonyStone quits (~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving)
04:27:37 × g quits (g@libera/staff/glguy) (Remote host closed the connection)
04:27:41 g joins (g@libera/staff/glguy)
04:29:19 <erina> @hoogle [[a]] -> Array (Int, Int) a
04:29:20 <lambdabot> No results found
04:30:10 <erina> @hoogle [a] -> Array Int a
04:30:10 <lambdabot> Matrix.Vector fromList :: [a] -> Array Int a
04:31:11 <EvanR> for the second one may Vector is better
04:31:18 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
04:31:20 <EvanR> maybe
04:31:27 <EvanR> fromList :: [a] -> Vector a
04:42:44 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:56:07 <haskellbridge> 14<m​aerwald> sm: https://www.gergely.risko.hu/debian-dsa1571.en.html
04:56:41 <haskellbridge> 14<m​aerwald> Backporting security patches downstream (or patching downstream at all) has a dark side
05:08:33 michalz joins (~michalz@185.246.207.215)
05:12:49 × michalz quits (~michalz@185.246.207.215) (Client Quit)
05:15:37 michalz joins (~michalz@185.246.207.221)
05:15:52 qqq joins (~qqq@92.43.167.61)
05:40:28 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
05:41:49 euleritian joins (~euleritia@dynamic-046-114-091-056.46.114.pool.telefonica.de)
05:47:30 × euleritian quits (~euleritia@dynamic-046-114-091-056.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
05:47:47 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
05:53:33 × bilegeek_ quits (~bilegeek@242.sub-174-208-229.myvzw.com) (Remote host closed the connection)
05:54:28 bilegeek joins (~bilegeek@242.sub-174-208-229.myvzw.com)
06:00:32 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
06:06:54 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
06:08:22 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
06:09:17 euleritian joins (~euleritia@dynamic-046-114-091-056.46.114.pool.telefonica.de)
06:13:26 gmg joins (~user@user/gehmehgeh)
06:17:36 misterfish joins (~misterfis@84.53.85.146)
06:19:31 × myxos quits (~myxos@065-028-251-121.inf.spectrum.com) (Ping timeout: 245 seconds)
06:20:09 myxos joins (~myxos@065-028-251-121.inf.spectrum.com)
06:26:03 igemnace joins (~ian@user/igemnace)
06:42:30 × misterfish quits (~misterfis@84.53.85.146) (Remote host closed the connection)
06:52:40 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
06:57:14 wheatengineer joins (~frederik@p200300f63f0869007e3432bc6baed6bb.dip0.t-ipconnect.de)
07:02:30 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 260 seconds)
07:16:19 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:20:08 × euleritian quits (~euleritia@dynamic-046-114-091-056.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
07:20:27 euleritian joins (~euleritia@77.22.252.56)
07:31:00 bilegeek_ joins (~bilegeek@199.sub-174-209-36.myvzw.com)
07:34:13 × bilegeek quits (~bilegeek@242.sub-174-208-229.myvzw.com) (Ping timeout: 276 seconds)
07:38:54 mokee joins (~mokee@37.228.215.150)
07:40:58 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
07:43:08 kmein joins (~weechat@user/kmein)
07:50:12 alp_ joins (~alp@2001:861:e3d6:8f80:b45d:f8e1:4f51:fdac)
07:52:04 × alp_ quits (~alp@2001:861:e3d6:8f80:b45d:f8e1:4f51:fdac) (Remote host closed the connection)
07:52:23 alp_ joins (~alp@2001:861:e3d6:8f80:7c8e:db5b:e3ae:c26a)
07:53:22 nschoe joins (nschoe@gateway/vpn/protonvpn/nschoe)
07:56:15 takuan joins (~takuan@178-116-218-225.access.telenet.be)
07:56:27 acidjnk joins (~acidjnk@p200300d6e72b9387192044100938d5f4.dip0.t-ipconnect.de)
07:57:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:57:55 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer)
07:58:33 takuan joins (~takuan@178-116-218-225.access.telenet.be)
08:00:42 xdminsy joins (~xdminsy@117.147.71.169)
08:04:47 × xdminsy quits (~xdminsy@117.147.71.169) (Remote host closed the connection)
08:05:19 xdminsy joins (~xdminsy@117.147.71.169)
08:09:14 target_i joins (~target_i@217.175.14.39)
08:12:12 CiaoSen joins (~Jura@2a05:5800:29d:4c00:ca4b:d6ff:fec1:99da)
08:15:44 × not_reserved quits (~not_reser@185.199.102.172) (Quit: Client closed)
08:17:25 fendor joins (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
08:19:54 rvalue joins (~rvalue@user/rvalue)
08:20:54 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
08:23:50 × phma quits (~phma@2001:5b0:212a:d8b8:260d:d506:237:c86d) (Read error: Connection reset by peer)
08:24:44 phma joins (phma@2001:5b0:211b:ea88:27f8:300f:f5b2:4333)
08:28:29 random-jellyfish joins (~developer@2a02:2f04:11e:c600:53fd:323:6279:f011)
08:28:29 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:53fd:323:6279:f011) (Changing host)
08:28:29 random-jellyfish joins (~developer@user/random-jellyfish)
08:30:49 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 246 seconds)
08:33:45 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:35:18 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 252 seconds)
08:38:39 not_reserved joins (~not_reser@185.153.177.184)
08:40:56 × mokee quits (~mokee@37.228.215.150) (Quit: off)
08:45:05 ubert joins (~Thunderbi@p548c94bd.dip0.t-ipconnect.de)
09:01:37 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:03:40 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
09:03:49 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
09:04:01 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
09:18:10 × not_reserved quits (~not_reser@185.153.177.184) (Quit: Client closed)
09:20:16 × barak quits (~barak@2a0d:6fc2:68c1:2600:ba5c:5700:a75b:5c2d) (Ping timeout: 255 seconds)
09:20:25 not_reserved joins (~not_reser@185.153.177.184)
09:36:26 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:31eb:5352:b0f6:c0ae)
09:39:06 __monty__ joins (~toonn@user/toonn)
09:40:46 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:31eb:5352:b0f6:c0ae) (Ping timeout: 245 seconds)
09:42:40 azimut joins (~azimut@gateway/tor-sasl/azimut)
09:50:22 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
09:56:53 × bilegeek_ quits (~bilegeek@199.sub-174-209-36.myvzw.com) (Quit: Leaving)
09:58:45 Lycurgus joins (~georg@li1192-118.members.linode.com)
09:58:45 × Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host)
09:58:45 Lycurgus joins (~georg@user/Lycurgus)
09:58:51 × tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
10:08:14 <erina> @hoogle (Eq a) => [a] -> [a]
10:08:15 <lambdabot> Data.List nub :: Eq a => [a] -> [a]
10:08:15 <lambdabot> GHC.OldList nub :: Eq a => [a] -> [a]
10:08:15 <lambdabot> Distribution.Compat.Prelude.Internal nub :: Eq a => [a] -> [a]
10:08:20 <erina> :t group
10:08:21 <lambdabot> Eq a => [a] -> [[a]]
10:14:46 × erina quits (~erina@222.195.81.58) (Ping timeout: 246 seconds)
10:23:55 meritamen joins (~meritamen@user/meritamen)
10:27:46 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:31eb:5352:b0f6:c0ae)
10:35:51 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
10:39:03 erina joins (~erina@2001:da8:d800:e1bf:8a22:ecf0:1978:2c5)
10:39:06 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds)
10:41:56 × CiaoSen quits (~Jura@2a05:5800:29d:4c00:ca4b:d6ff:fec1:99da) (Ping timeout: 268 seconds)
10:46:43 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 256 seconds)
10:52:55 × xnbya quits (~xnbya@116.202.23.221) (Quit: No Ping reply in 180 seconds.)
10:53:17 × lambdap2371 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: Ping timeout (120 seconds))
10:53:35 lambdap2371 joins (~lambdap@static.167.190.119.168.clients.your-server.de)
10:54:01 xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1)
11:00:54 × sprout quits (~quassel@2a02-a448-3a80-0-4452-3fe7-d88c-ddc2.fixed6.kpn.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
11:05:04 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
11:06:36 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
11:10:07 mmhat joins (~mmh@p200300f1c7323cb5ee086bfffe095315.dip0.t-ipconnect.de)
11:13:13 sprout joins (~quassel@2a02-a448-3a80-0-f168-44da-f351-b5b9.fixed6.kpn.net)
11:13:49 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
11:14:24 × vglfr quits (~vglfr@234.red-88-6-215.staticip.rima-tde.net) (Ping timeout: 256 seconds)
11:15:17 vglfr joins (~vglfr@135.pool85-48-184.static.orange.es)
11:16:29 × sshine quits (~simon@zhen.mechanicus.xyz) (Ping timeout: 240 seconds)
11:16:32 Fansly joins (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f)
11:17:28 sshine joins (~simon@zhen.mechanicus.xyz)
11:18:16 xff0x joins (~xff0x@133-175-35-58.east.fdn.vectant.ne.jp)
11:18:59 × barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (Ping timeout: 260 seconds)
11:23:52 × wz1000 quits (~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 268 seconds)
11:24:15 barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk)
11:25:59 × vglfr quits (~vglfr@135.pool85-48-184.static.orange.es) (Read error: Connection reset by peer)
11:26:24 vglfr joins (~vglfr@234.red-88-6-215.staticip.rima-tde.net)
11:29:08 × jjhoo quits (jahakala@user/jjhoo) (Ping timeout: 256 seconds)
11:32:48 × nschoe quits (nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 268 seconds)
11:36:20 wz1000 joins (~zubin@static.11.113.47.78.clients.your-server.de)
11:53:14 × Fansly quits (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f) (Quit: Quit)
11:53:23 Fansly joins (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f)
11:54:36 Fansly1 joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
11:55:24 <Fansly1> between the irc and the matrix which is more active?
11:55:40 × not_reserved quits (~not_reser@185.153.177.184) (Quit: Client closed)
11:55:48 <geekosaur> they're about the same
11:56:50 × Fansly1 quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Client Quit)
11:57:10 Fansly1 joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
11:58:00 <Fansly1> ah i see
11:59:44 <geekosaur> a lot of the long time Haskellers are only in here though, which is why this channel is bridged over to Matrix (#haskell-irc:matrix.org)
12:00:53 <Fansly1> so the matrix one has more "new" members then?
12:01:02 × Fansly1 quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Client Quit)
12:01:17 <Fansly> Might join the matrix then
12:01:22 Fansly1 joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
12:02:40 × ubert quits (~Thunderbi@p548c94bd.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
12:05:57 jjhoo joins (~jahakala@user/jjhoo)
12:06:09 × Fansly1 quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Client Quit)
12:08:02 mfaathirarsa joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
12:08:24 <haskellbridge> 15<J​ade> hello from matrix side :)
12:08:51 <mfaathirarsa> ooohhhh so thats what it meant by abridge
12:13:28 × mfaathirarsa quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Quit: mfaathirarsa)
12:14:56 ubert joins (~Thunderbi@p200300ecdf15aacb56e293b798032549.dip0.t-ipconnect.de)
12:16:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:19:52 mfaathirarsa joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
12:22:10 × Teacup quits (~teacup@user/teacup) (Ping timeout: 260 seconds)
12:22:40 Teacup joins (~teacup@user/teacup)
12:39:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:40:05 × Fansly quits (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f) (Ping timeout: 240 seconds)
12:43:41 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
12:44:51 Teacup joins (~teacup@user/teacup)
12:46:31 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
12:47:05 stiell joins (~stiell@gateway/tor-sasl/stiell)
12:48:23 nschoe joins (nschoe@gateway/vpn/protonvpn/nschoe)
12:53:48 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 252 seconds)
13:02:00 sawilagar joins (~sawilagar@user/sawilagar)
13:12:52 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
13:14:01 Teacup joins (~teacup@user/teacup)
13:14:37 <haskellbridge> 14<m​auke> From what I see, this channel is a lot more active than the Matrix one, at least in terms of message count
13:17:15 jjhoo joins (~jahakala@user/jjhoo)
13:17:18 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
13:17:32 × jjhoo quits (~jahakala@user/jjhoo) (Client Quit)
13:18:04 jjhoo joins (~jahakala@user/jjhoo)
13:27:44 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
13:28:16 × Teacup quits (~teacup@user/teacup) (Ping timeout: 245 seconds)
13:29:21 Teacup joins (~teacup@user/teacup)
13:32:11 chele joins (~chele@user/chele)
13:34:02 × Square quits (~Square@user/square) (Ping timeout: 260 seconds)
13:43:05 jjhoo_ joins (~jahakala@user/jjhoo)
13:44:24 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 252 seconds)
13:44:49 Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::e875)
13:45:14 × Teacup quits (~teacup@user/teacup) (Ping timeout: 260 seconds)
13:45:33 <mfaathirarsa> what irc client are you guys using? been using thunderbird but kinda curious to the alternatives.
13:45:45 Teacup joins (~teacup@user/teacup)
13:45:55 <geekosaur> I use Hexchat
13:46:12 <geekosaur> many people use irssi
13:46:31 <geekosaur> a few use glirc, an IRC client written in and extensible in Haskell
13:46:38 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 260 seconds)
13:47:21 × sawilagar quits (~sawilagar@user/sawilagar) (Quit: Leaving)
13:47:29 <[exa]> I'm on irssi but quite a few people also have weechat, it's not bad at all and comes with a sensible bouncer
13:47:48 <[exa]> (with some droid interop, which ain't bad)
13:48:23 Fansly joins (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f)
13:48:28 <Rembane> Otherwise using irssi or weechat from a VPS is a way to get always online with logs and all the other good stuff.
13:49:04 sawilagar joins (~sawilagar@user/sawilagar)
13:49:39 euleritian joins (~euleritia@dynamic-046-114-202-095.46.114.pool.telefonica.de)
13:51:27 × Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::e875) (Ping timeout: 256 seconds)
13:55:51 doyougnu- joins (~doyougnu@045-046-170-068.res.spectrum.com)
13:55:52 shriekingnoise joins (~shrieking@186.137.175.87)
13:58:22 × doyougnu quits (~doyougnu@045-046-170-068.res.spectrum.com) (Ping timeout: 276 seconds)
13:59:19 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
14:04:14 irrgit joins (~irrgit@89.47.234.74)
14:09:27 dminuoso_ uses weechat
14:10:53 <yushyin> weechat + weechat-android
14:10:54 thegeekinside joins (~thegeekin@189.217.90.224)
14:19:59 ph88 joins (~ph88@2a02:8109:9e26:c800:d842:e652:85ed:65e8)
14:21:39 todi1 joins (~todi@p4fd1a54c.dip0.t-ipconnect.de)
14:21:48 × todi quits (~todi@pd95710f6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:21:59 <nullie> I'm running weechat on server, connect from PC via glowing bear and weechat-android on phone
14:26:55 × euleritian quits (~euleritia@dynamic-046-114-202-095.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
14:27:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:27:14 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
14:29:02 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:30:17 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
14:30:17 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
14:30:17 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
14:30:52 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
14:30:57 sord937 joins (~sord937@gateway/tor-sasl/sord937)
14:31:25 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
14:42:20 × mfaathirarsa quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Quit: mfaathirarsa)
14:42:41 mfaathirarsa joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
14:47:05 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
14:47:25 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:48:06 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
14:48:24 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
14:49:23 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection)
14:51:02 hgolden joins (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com)
14:58:48 × Teacup quits (~teacup@user/teacup) (Ping timeout: 256 seconds)
15:00:49 × jargon quits (~jargon@211.sub-174-205-225.myvzw.com) (Read error: Connection reset by peer)
15:03:04 Batzy_ joins (~quassel@user/batzy)
15:06:06 × mfaathirarsa quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Quit: mfaathirarsa)
15:06:10 × Batzy quits (~quassel@user/batzy) (Ping timeout: 256 seconds)
15:06:28 mfaathirarsa joins (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2)
15:12:58 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
15:13:12 euleritian joins (~euleritia@dynamic-046-114-202-095.46.114.pool.telefonica.de)
15:17:01 Teacup joins (~teacup@user/teacup)
15:22:42 <erina> @hoogle a -> (a->b->c) -> [b] -> [c]
15:22:42 <lambdabot> No results found
15:23:05 <erina> its map :: (b->c) -> [b] -> [c] then
15:23:17 × mmhat quits (~mmh@p200300f1c7323cb5ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
15:23:40 mmhat joins (~mmh@p200300f1c7323c1eee086bfffe095315.dip0.t-ipconnect.de)
15:28:22 × meritamen quits (~meritamen@user/meritamen) (Remote host closed the connection)
15:28:26 <haskellbridge> 15<J​ade> yeah, just `map (f a) bs`
15:29:20 <haskellbridge> 15<J​ade> you could even write `map . f` where `f :: a -> b -> c`
15:37:18 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
15:43:17 × xff0x quits (~xff0x@133-175-35-58.east.fdn.vectant.ne.jp) (Ping timeout: 240 seconds)
15:44:21 Sgeo joins (~Sgeo@user/sgeo)
15:52:03 random-jellyfish joins (~developer@user/random-jellyfish)
15:54:01 × random-jellyfish quits (~developer@user/random-jellyfish) (Client Quit)
15:54:27 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:04:05 × vglfr quits (~vglfr@234.red-88-6-215.staticip.rima-tde.net) (Ping timeout: 240 seconds)
16:05:42 × dnh^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
16:05:43 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
16:06:28 <mauke> @djinn a -> (a->b->c) -> [b] -> [c]
16:06:28 <lambdabot> Error: Undefined type []
16:06:31 <mauke> :-(
16:07:18 <mauke> :t (map .) . flip id
16:07:19 <lambdabot> b1 -> (b1 -> a -> b2) -> [a] -> [b2]
16:08:02 × ph88 quits (~ph88@2a02:8109:9e26:c800:d842:e652:85ed:65e8) (Remote host closed the connection)
16:08:19 ph88 joins (~ph88@2a02:8109:9e26:c800:84c6:614f:521a:1105)
16:10:10 vglfr joins (~vglfr@152.pool85-48-184.static.orange.es)
16:15:30 × erina quits (~erina@2001:da8:d800:e1bf:8a22:ecf0:1978:2c5) (Ping timeout: 260 seconds)
16:16:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:20:21 × thegeekinside quits (~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
16:21:00 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
16:21:51 × ph88 quits (~ph88@2a02:8109:9e26:c800:84c6:614f:521a:1105) (Quit: Leaving)
16:26:59 Guest84 joins (~Guest84@p200300f54702457898b1fb62c4fd9c75.dip0.t-ipconnect.de)
16:28:03 × Guest84 quits (~Guest84@p200300f54702457898b1fb62c4fd9c75.dip0.t-ipconnect.de) (Client Quit)
16:35:03 × irrgit quits (~irrgit@89.47.234.74) (Read error: Connection reset by peer)
16:35:22 irrgit joins (~irrgit@176.113.74.138)
16:40:29 × wheatengineer quits (~frederik@p200300f63f0869007e3432bc6baed6bb.dip0.t-ipconnect.de) (Quit: Leaving)
16:52:53 × ubert quits (~Thunderbi@p200300ecdf15aacb56e293b798032549.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
16:53:14 ubert joins (~Thunderbi@p200300ecdf15aa7e6ebc06f5f6cffa34.dip0.t-ipconnect.de)
16:53:54 × vglfr quits (~vglfr@152.pool85-48-184.static.orange.es) (Read error: Connection reset by peer)
16:54:22 vglfr joins (~vglfr@234.red-88-6-215.staticip.rima-tde.net)
16:57:55 × euleritian quits (~euleritia@dynamic-046-114-202-095.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
16:58:12 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:00:07 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
17:01:24 azimut joins (~azimut@gateway/tor-sasl/azimut)
17:09:13 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
17:09:51 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
17:09:55 euleritian joins (~euleritia@dynamic-046-114-202-095.46.114.pool.telefonica.de)
17:12:08 × euleritian quits (~euleritia@dynamic-046-114-202-095.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
17:12:27 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:16:18 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:31eb:5352:b0f6:c0ae) (Remote host closed the connection)
17:16:31 tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net)
17:16:37 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a52e:6d05:4696:6c93)
17:19:48 petrichor uses weechat plus znc
17:23:41 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
17:25:02 × irrgit quits (~irrgit@176.113.74.138) (Remote host closed the connection)
17:25:21 irrgit joins (~irrgit@146.70.27.218)
17:27:17 paul_j joins (~user@8.190.187.81.in-addr.arpa)
17:28:15 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 252 seconds)
17:28:47 × paul_j quits (~user@8.190.187.81.in-addr.arpa) (Client Quit)
17:29:01 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
17:29:04 paul_j joins (~user@8.190.187.81.in-addr.arpa)
17:29:37 paul_j` joins (~user@8.190.187.81.in-addr.arpa)
17:30:48 × paul_j` quits (~user@8.190.187.81.in-addr.arpa) (Client Quit)
17:32:55 × remedan quits (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Quit: Bye!)
17:33:37 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
17:36:22 paul_j` joins (~user@8.190.187.81.in-addr.arpa)
17:41:21 waldo joins (~waldo@user/waldo)
17:42:20 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
17:44:16 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a52e:6d05:4696:6c93) (Remote host closed the connection)
17:46:34 × paul_j quits (~user@8.190.187.81.in-addr.arpa) (Remote host closed the connection)
17:46:34 × paul_j` quits (~user@8.190.187.81.in-addr.arpa) (Remote host closed the connection)
17:46:54 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a52e:6d05:4696:6c93)
17:47:22 × td_ quits (~td@i5387091D.versanet.de) (Ping timeout: 260 seconds)
17:48:05 td_ joins (~td@i53870927.versanet.de)
17:48:15 × fendor quits (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
17:49:52 paul_j joins (~user@8.190.187.81.in-addr.arpa)
17:49:55 thegeekinside joins (~thegeekin@189.217.90.224)
17:52:07 × michalz quits (~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
18:00:10 × nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
18:01:14 nurupo joins (~nurupo.ga@user/nurupo)
18:02:03 × mfaathirarsa quits (~Thunderbi@2001:448a:2010:476e:48cd:a864:f290:93b2) (Quit: mfaathirarsa)
18:07:24 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a52e:6d05:4696:6c93) (Remote host closed the connection)
18:18:01 remedan joins (~remedan@ip-94-112-0-18.bb.vodafone.cz)
18:18:42 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
18:25:44 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
18:25:50 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4930:80a7:d767:a681)
18:30:29 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 240 seconds)
18:31:40 <phma> Is hackage-admin an appropriate place to ask that the Hackage compiler be upgraded?
18:32:47 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
18:34:12 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
18:38:29 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
18:42:10 rvalue joins (~rvalue@user/rvalue)
18:44:00 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
18:51:36 <EvanR> are you using especially new-age features in your hackage package?
18:51:39 <EvanR> what's the issue
18:53:24 <c_wraith> IIRC, using a function in base that's newer
18:53:41 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 245 seconds)
18:56:15 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 252 seconds)
18:56:22 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
18:57:13 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:58:50 <phma> I'm using (.>>.) and friends
19:00:00 __monty__ joins (~toonn@user/toonn)
19:01:03 incertia_ joins (~incertia@209.122.137.252)
19:01:11 × incertia quits (~incertia@209.122.137.252) (Ping timeout: 245 seconds)
19:01:11 incertia_ is now known as incertia
19:01:51 × alp_ quits (~alp@2001:861:e3d6:8f80:7c8e:db5b:e3ae:c26a) (Ping timeout: 256 seconds)
19:02:09 igemnace joins (~ian@user/igemnace)
19:02:46 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
19:04:17 <EvanR> :t (.>>.)
19:04:18 <lambdabot> error: Variable not in scope: .>>.
19:06:10 <phma> 3 .<<. 8 .^. 22
19:06:25 × Fansly quits (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f) (Remote host closed the connection)
19:07:50 <EvanR> cool
19:12:21 <mauke> is that like `shiftL`?
19:12:38 <monochrom> yeah
19:14:49 × waldo quits (~waldo@user/waldo) (Ping timeout: 246 seconds)
19:16:05 Fansly joins (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f)
19:16:07 Fare joins (~fare@pool-71-185-54-59.phlapa.fios.verizon.net)
19:17:11 <Fare> Historical question: since when is Haskell a practical language? When did @edwardk start making plenty of libraries? Are the two about at the same time?
19:17:45 <mauke> define "practical"
19:18:00 <Fare> mauke: you tell me.
19:18:03 <mauke> no u
19:18:34 <Fare> capable of doing tasks that Perl5, Python, or whichever language-of-the-day would have otherwise been used for.
19:18:41 <c_wraith> long before lens
19:18:54 <haskellbridge> 15<J​ade> From the very first version of the compiler
19:19:06 <haskellbridge> 15<J​ade> but if that's the bar then brainfuck and malbolge make it to
19:19:11 <EvanR> if I was able to do those tasks in javascript circa 2000, then anything is possible
19:19:13 <haskellbridge> 15<J​ade> s/to/too
19:19:26 <Fare> there's obviously a lot of subjectivity there—but I expect an S curve such that whichever arbitrary threshhold criteria you choose the answer would be at about the same time.
19:20:02 <EvanR> to clarify the question, about what time period did edk become proficient in haskell
19:20:08 <c_wraith> I'd say that a lot of significant improvements were made in the 6.x series
19:20:22 <mauke> cabal was first released in 2005
19:20:26 <mauke> I'd say that's a lower bound
19:20:42 <EvanR> was that an actual improvement? xD
19:20:55 <Fare> So mid-2000s is a good estimate?
19:20:57 <EvanR> 2005 cabal is released, 2006 cabal hell is coined
19:21:37 <haskellbridge> 06<s​m> you could arbitrarily pick "when Real World Haskell was published"
19:22:07 <haskellbridge> 06<s​m> (2008)
19:22:35 <c_wraith> 2008 is when I started using it professionally, fwiw
19:22:41 <mauke> xmonad is from 2007
19:23:20 <haskellbridge> 06<s​m> for me it was "when stack made non-trivial haskell programs & scripts repeatable"
19:24:02 <monochrom> Perhaps Pandoc also provides a time reference.
19:25:05 <mauke> darcs is from 2003, pandoc from 2006
19:25:42 <Fare> Other historical question: the relationship between Haskell typeclasses and OO. The founding article clearly mentions ad hoc polymorphism, alludes to a relationship between (type) classes and objects, and cites several papers about typing object systems. But otherwise plenty of Haskellers try to pretend that typeclasses have nothing to do with OO. Is there a bibliography and/or sub-school of Haskellers who embrace and explore the
19:25:42 <Fare> relationship between typeclasses and OO ?
19:26:05 haskellbridge 06<s​m> started shipping haskell to cross-platform end users in 2008
19:26:17 <haskellbridge> 06<s​m> but darcs definitely counts as useful
19:26:58 <monochrom> Ugh not pretend.
19:27:25 <monochrom> In pedagogical contexts, type classes are best taught as having nothing to do with OO.
19:27:35 <Rembane> Fare: Which article do you refer to?
19:27:44 <haskellbridge> 06<s​m> (outside compiler tools, was darcs the first successful haskell app ?)
19:28:01 <Fare> "How to make ad-hoc polymorphism less ad hoc", Wadler & Blott, 1989
19:28:14 <mauke> not "nothing to do with", but the concepts don't map directly, and OO-style class design doesn't really work for haskell
19:28:17 <haskellbridge> 06<s​m> no doubt I'm missing tons of great apps that had a short earlier lifespan
19:28:36 <sclv> definitely the 6.0 series is the turning point because that's when multicore hit, but imho it wasn't really usable until maybe the mid 6s, so that's also circa 2005
19:28:44 <monochrom> But of course in theoretical contexts, we can discuss relations.
19:28:47 <haskellbridge> 06<s​m> but I can't think of one that had a large user base
19:29:13 <monochrom> But tautologically, in theoretical contexts, everything is "related" to everything. That contains zero information.
19:29:23 <sclv> first release of bytestring is circa 2005, first upload to hackage 2007 https://hackage.haskell.org/package/bytestring-0.9
19:29:43 <Rembane> Fare: They refer to Python as related work IIRC, and that's lovely imo, but it's more inspirational than has a clear relation imo.
19:29:51 <sclv> Fare: have you read the "history of haskell" "being lazy with class" article? it covers a lot of this stuff!
19:29:56 <mauke> Fare: https://okmij.org/ftp/Computation/typeclass.html#Kaes
19:30:45 × chele quits (~chele@user/chele) (Remote host closed the connection)
19:30:58 <sclv> there's been some toy attempts, including from oleg to do OO in haskell. but typeclasses really are quite diffrent, they just sometimes happen to use similar typing tech.
19:31:27 <haskellbridge> 06<s​m> FWIW yesterday's "Rob Pike - What We Got Right, What We Got Wrong" video has some nice discussion of Go's interfaces, and how it was their answer to OO. And how they got prof. Wadler to help fix their type system. Made me wonder what are the essential differences between go interfaces and haskell typeclasses.
19:32:26 <haskellbridge> 06<s​m> https://www.youtube.com/watch?v=yE5Tpp2BSGw&t=5s
19:32:43 <mauke> heh
19:32:56 <sclv> cf "haskell's overlooked object system" https://arxiv.org/abs/cs/0509027
19:32:57 <mauke> didn't Wadler also work on Java generics?
19:33:04 <Fare> sclv, mauke: thanks a lot! Now I have way too much bibliography to read.
19:33:09 <sclv> not just work on, essentially invent
19:33:27 <sclv> it was a translation of his work on parametric polymorphism to an oo/inheritence context
19:33:57 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
19:34:56 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4930:80a7:d767:a681) (Remote host closed the connection)
19:37:42 <monochrom> History is also full of historical accidents. Type classes are much closer to C++ operator overloading than OO overloading (subclass overloading). It is a historical accident, not any real semantic relation, that the type class paper brought up OO instead of operator overloading.
19:37:58 × Hooloovoo quits (~Hooloovoo@hax0rbana.org) (Remote host closed the connection)
19:38:09 <monochrom> Ironically, the word "overloaded" is overloaded, too.
19:38:23 Hooloovoo joins (~Hooloovoo@hax0rbana.org)
19:38:45 <Fare> @haskellbridge when was that? "<haskellbridge> <s​m> for me it was "when stack made non-trivial haskell programs & scripts repeatable"
19:38:45 <lambdabot> Unknown command, try @list
19:38:50 <Fare> @haskellbridge when was that? "<haskellbridge> <s​m> for me it was "when stack made non-trivial haskell programs & scripts repeatable"
19:38:50 <monochrom> operator overloading and subclass overloading are, like, completely unrelated.
19:39:23 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:39:54 <mauke> Fare: that was sm speaking :-)
19:40:24 <haskellbridge> 06<s​m> 2015ish it looks like
19:40:30 <Fare> monochrom, my 2012 "Interface Passing Style" article bridges between class OO and typeclasses—with my "interfaces" being semantically isomorphic to the dictionaries that typeclasses desugar into.
19:40:35 <c_wraith> that's it. I'm going to use pseq instead of seq when it has the correct semantics, even when no parallelism or concurrency is involved.
19:42:06 <Fare> thank you so much guys for all the information!
19:42:33 <Fare> I may not have time to dig deeply into all of it before I publish the current paper on OO, but definitely for the next iteration.
19:42:40 <monochrom> Surely you are aware that the true proposition "Haskell can be desugared to x86 asm code" does not imply the false proposition "Haskell as x86 asm semantics"?
19:43:06 <Fare> it's a local desugaring after type resolution
19:43:14 <monochrom> Likewise, everyone already knows that OO and dictionary passing are isomorphic, no need to write an article for that.
19:43:37 <monochrom> However, type classes have coherence, dictionary passing doesn't. There is the mismatch.
19:43:59 <Fare> well the "dictionary" in traditional OO is attached to each object (vtable) rather than to the context (as in interface-passing style), so that's a difference. But the only real difference.
19:45:05 <Fare> the extra "coherence" I see is that typeclasses make the situation more symmetric wrt constructors, that are part of the protocol, rather than a magic call to new.
19:45:52 <monochrom> OK you don't understand type classes, you only understand dictionary passing.
19:46:00 <Fare> apart from that, the two approaches are so isomorphic that I could write a Lisp macro to do a local translation between the two.
19:46:41 <Fare> monochrom, what am I missing?
19:46:55 <monochrom> Your understanding of coherence is wrong.
19:46:56 <Fare> that isn't "just" the usual Haskell type inference?
19:47:15 <Fare> monochrom, please enlighten me (and/or link to papers/USENET flamewars that will)
19:52:00 <monochrom> Exercise: Implement a polymorphic binary-search-tree library, two versions. One version uses Ord. Another version uses dictionary passing. Find out and show how a user may misuse the 2nd version and cause themselves bugs, but this misuse is impossible with the 1st version.
19:53:18 <mauke> why does it smell like scala here
19:53:46 × billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Quit: Leaving)
19:53:50 <monochrom> This is also similar to how Racket's run-time type "Any -> Any" (which is Racket's id's type, for lack of better choice) is not even remoted close to Haskell's "a -> a".
19:54:31 gdown joins (~gavin@h69-11-149-109.kndrid.broadband.dynamic.tds.net)
19:55:44 <monochrom> The impossibility of that kind of mistakes with the 1st version is what coherence is about.
19:58:27 × thegeekinside quits (~thegeekin@189.217.90.224) (Read error: Connection reset by peer)
19:59:59 <sclv> that's a good point about scala -- scala's "implicits" were an attempt to use a version of dictionary passing to do a form of local translation from typeclasses into an underlying OO mechanism.
20:00:16 <sclv> the result was absolutely not typeclasses, and there are a number of good papers comparing the approaches
20:01:35 <sclv> typeclasses have not only local but global properties in terms of their resolution. they're not possible to solve purely locally, especially with extensions such as type families or fundeps
20:04:30 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4930:80a7:d767:a681)
20:08:05 × Fare quits (~fare@pool-71-185-54-59.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
20:09:27 paul_j` joins (~user@8.190.187.81.in-addr.arpa)
20:13:49 × td_ quits (~td@i53870927.versanet.de) (Ping timeout: 256 seconds)
20:14:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:15:40 td_ joins (~td@i53870917.versanet.de)
20:17:50 × vglfr quits (~vglfr@234.red-88-6-215.staticip.rima-tde.net) (Ping timeout: 256 seconds)
20:17:50 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
20:18:01 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
20:18:42 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:19:01 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
20:19:40 chexum joins (~quassel@gateway/tor-sasl/chexum)
20:24:55 × causal quits (~eric@50.35.85.7) (Quit: WeeChat 4.1.1)
20:34:00 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
20:36:00 Lycurgus joins (~georg@li1192-118.members.linode.com)
20:36:00 × Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host)
20:36:00 Lycurgus joins (~georg@user/Lycurgus)
20:36:38 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
20:37:23 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:37:42 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4930:80a7:d767:a681) (Remote host closed the connection)
20:38:44 paul_j`` joins (~user@8.190.187.81.in-addr.arpa)
20:40:51 × paul_j quits (~user@8.190.187.81.in-addr.arpa) (Quit: Asta la vista)
20:40:51 × paul_j` quits (~user@8.190.187.81.in-addr.arpa) (Quit: Asta la vista)
20:40:51 × paul_j`` quits (~user@8.190.187.81.in-addr.arpa) (Client Quit)
20:41:14 paul_j joins (~user@8.190.187.81.in-addr.arpa)
20:42:10 × trev quits (~trev@user/trev) (Quit: trev)
20:42:19 × paul_j quits (~user@8.190.187.81.in-addr.arpa) (Remote host closed the connection)
20:42:41 paul_j joins (~user@8.190.187.81.in-addr.arpa)
20:43:17 × paul_j quits (~user@8.190.187.81.in-addr.arpa) (Remote host closed the connection)
20:45:23 <EvanR> type classes vs the world!
20:47:53 <Franciman> the awkward squad
20:47:58 <Franciman> what was the title of that paper?
20:48:34 <Franciman> ah tackling the awkward squad
20:48:36 <geekosaur> tackling the awkward squad
20:48:42 <Franciman> ty
20:49:32 <EvanR> How to make ad-hoc polymorphism less ad hoc
20:49:54 <EvanR> oh
20:51:04 incertia_ joins (~incertia@209.122.137.252)
20:52:07 × incertia quits (~incertia@209.122.137.252) (Ping timeout: 268 seconds)
20:52:08 incertia_ is now known as incertia
21:03:45 jargon joins (~jargon@211.sub-174-205-225.myvzw.com)
21:04:16 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 256 seconds)
21:09:19 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4930:80a7:d767:a681)
21:09:22 × ubert quits (~Thunderbi@p200300ecdf15aa7e6ebc06f5f6cffa34.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
21:11:40 × Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!)
21:12:07 Fijxu joins (~Fijxu@user/fijxu)
21:12:30 × rvalue quits (~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
21:12:45 rvalue joins (~rvalue@user/rvalue)
21:14:50 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
21:15:59 × rvalue quits (~rvalue@user/rvalue) (Client Quit)
21:16:17 rvalue joins (~rvalue@user/rvalue)
21:18:27 vglfr joins (~vglfr@189.pool85-48-184.static.orange.es)
21:18:43 × vglfr quits (~vglfr@189.pool85-48-184.static.orange.es) (Read error: Connection reset by peer)
21:18:48 alp_ joins (~alp@2001:861:e3d6:8f80:157b:7ae2:54aa:2f19)
21:19:02 vglfr joins (~vglfr@234.red-88-6-215.staticip.rima-tde.net)
21:19:35 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
21:25:11 × rvalue quits (~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
21:26:13 × vglfr quits (~vglfr@234.red-88-6-215.staticip.rima-tde.net) (Ping timeout: 276 seconds)
21:26:42 random-jellyfish joins (~developer@2a02:2f04:11e:c600:a7c8:d04:7c0d:7769)
21:26:43 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:a7c8:d04:7c0d:7769) (Changing host)
21:26:43 random-jellyfish joins (~developer@user/random-jellyfish)
21:27:59 <monochrom> oh yeah I still need to watch the Type Class vs The World video!
21:32:01 <yushyin> and i need a link to that video!
21:32:04 × Fansly quits (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f) (Ping timeout: 276 seconds)
21:32:27 <EvanR> https://www.youtube.com/watch?v=hIZxTQP1ifo
21:32:44 pavonia joins (~user@user/siracusa)
21:33:19 <yushyin> thx
21:50:55 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 276 seconds)
21:52:44 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:53:51 vglfr joins (~vglfr@142.pool85-48-184.static.orange.es)
21:54:12 × vglfr quits (~vglfr@142.pool85-48-184.static.orange.es) (Read error: Connection reset by peer)
21:54:31 vglfr joins (~vglfr@234.red-88-6-215.staticip.rima-tde.net)
21:57:00 Fansly joins (~Fansly@2404:c0:2020::b50:e2a6)
21:57:14 × target_i quits (~target_i@217.175.14.39) (Quit: leaving)
21:59:08 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
21:59:41 chomwitt joins (~chomwitt@athedsl-99408.home.otenet.gr)
22:09:41 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 240 seconds)
22:20:24 × random-jellyfish quits (~developer@user/random-jellyfish) (Quit: Leaving)
22:23:32 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
22:24:35 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
22:27:47 Square joins (~Square@user/square)
22:32:21 × mmhat quits (~mmh@p200300f1c7323c1eee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.1.2)
22:36:02 × nschoe quits (nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 268 seconds)
22:36:20 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:37:19 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
22:39:55 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds)
22:39:55 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:40:36 × elkcl quits (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Remote host closed the connection)
22:42:49 elkcl joins (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
22:48:45 × pie__ quits (~pie_bnc@user/pie/x-2818909) ()
22:48:57 pie_ joins (~pie_bnc@user/pie/x-2818909)
22:50:03 Tuplanolla joins (~Tuplanoll@91-159-69-171.elisa-laajakaista.fi)
22:50:19 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:55:25 thegeekinside joins (~thegeekin@189.217.90.224)
23:02:39 × raym quits (~ray@user/raym) (Ping timeout: 252 seconds)
23:03:00 son0p joins (~ff@186.114.35.184)
23:07:51 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
23:07:53 × gdown quits (~gavin@h69-11-149-109.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
23:10:03 raym joins (~ray@user/raym)
23:24:34 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
23:28:13 × son0p quits (~ff@186.114.35.184) (Quit: Bye)
23:29:11 azimut joins (~azimut@gateway/tor-sasl/azimut)
23:45:21 × Fansly quits (~Fansly@2404:c0:2020::b50:e2a6) (Ping timeout: 245 seconds)
23:45:33 Fansly joins (~Fansly@2001:448a:2010:476e:5d30:627d:73c3:a75f)

All times are in UTC on 2024-01-05.