Home liberachat/#haskell: Logs Calendar

Logs on 2022-03-07 (liberachat/#haskell)

00:02:36 × Inst quits (~Liam@2601:6c4:4080:3f80:d0ab:3f36:53e6:70a6) (Ping timeout: 240 seconds)
00:02:43 <ski> shapr : since a couple of days :)
00:02:53 <shapr> wow, I'm out of the loop
00:04:33 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
00:08:07 InstX1 is now known as Inst
00:11:20 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
00:12:02 × acidjnk quits (~acidjnk@p200300d0c70d8c985c6dbece2fe5bbc5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
00:12:39 wroathe joins (~wroathe@user/wroathe)
00:14:33 shlevy[m] joins (~shlevymat@2001:470:69fc:105::1:d3b1)
00:15:37 × mvk quits (~mvk@2607:fea8:5cc3:7e00::45ee) (Ping timeout: 240 seconds)
00:16:55 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
00:16:55 <shlevy[m]> Would it be hard to allow visible dependent quantifiers in types of terms but only allow usage of type variables and type-level constants at the call-site? Basically anything you can currently do with TypeApplications but without requiring the `@`?
00:17:23 vicfred joins (~vicfred@user/vicfred)
00:18:07 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
00:20:04 × wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal)
00:21:11 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 245 seconds)
00:23:39 × pilipilihoho quits (~pilipilih@user/pilipilihoho) (Quit: See ya!)
00:25:55 <geekosaur> I believe that's due in ghc 9.4
00:26:03 <geekosaur> forall a -> ...
00:26:18 <shlevy[m]> geekosaur: We already have that in kinds
00:26:33 <shlevy[m]> Is there a relaxation to allow it in the type of a term coming?
00:27:02 <geekosaur> you have it in kinds because there's nodifference between a kind and a type (see TypeInType)
00:27:36 <geekosaur> 9.4 adds using types as values: given `x :: forall a -> Int -> Int` you can have `x Int 3`
00:27:47 <geekosaur> (note the arrow instead of `.`)
00:28:39 <shlevy[m]> geekosaur: My point is we *already* allow the arrow instead of the dot in the types of types, i.e. in kinds. That's why I wanted to confirm that we have something new coming in 9.4 specifically for types of terms
00:31:54 <shlevy[m]> This works:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/2793fe47d70f95bd4f0b04856db57c5ab892b0d0)
00:32:04 <shlevy[m]> s///
00:32:52 <shlevy[m]> This fails:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/5bfbb4cc489d39d6453229737436433bfeb9f733)
00:33:39 <geekosaur> I said 9.4
00:33:48 × alp quits (~alp@user/alp) (Ping timeout: 240 seconds)
00:33:49 <geekosaur> 9.2.2 was released about an hour ago
00:34:22 <geekosaur> also, as best I can tell you are asking if Dependent Haskell exists yet. the answer is "no, and it won't for some time yet"
00:34:33 <shlevy[m]> No, this is not dependent haskell
00:34:53 <shlevy[m]> As I said, it would be limited to type variables and constants, just like TypeApplications
00:35:15 <shlevy[m]> This is no more expressive than current invisible dependent quantification except in terms of ergonomics
00:35:34 <shlevy[m]> Do you have a link for the 9.4 change?
00:36:21 <geekosaur> https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0081-forall-arrow.rst
00:36:53 <shlevy[m]> geekosaur: Again, *this is already in 9.2*. Check my first example which does compile, it has the forall arrow
00:37:13 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
00:37:34 <geekosaur> okay, then I missed something. I had understood it to be a9.4change
00:38:08 <geekosaur> you probably want to talk to eisenberg about what you're asking
00:40:55 Goodbye_Vincent joins (~Goodbye_V@freakshells.net)
00:42:10 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
00:47:27 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
00:47:44 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:47:44 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:47:44 wroathe joins (~wroathe@user/wroathe)
00:59:35 × DNH quits (~DNH@2a02:8108:1100:16d8:d9d2:7af1:5c0a:c9d9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:02:26 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
01:03:09 × boletales quits (~boletales@p98076-ipoefx.ipoe.ocn.ne.jp) (Ping timeout: 250 seconds)
01:04:16 boletales joins (~boletales@109.25.3.110.ap.yournet.ne.jp)
01:04:52 Erutuon joins (~Erutuon@user/erutuon)
01:05:55 boletales_ joins (~boletales@p98076-ipoefx.ipoe.ocn.ne.jp)
01:08:49 × boletales quits (~boletales@109.25.3.110.ap.yournet.ne.jp) (Ping timeout: 256 seconds)
01:10:45 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:14 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
01:13:50 × cynomys quits (~cynomys@user/cynomys) (Quit: Lost terminal)
01:16:51 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:21:24 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
01:22:07 vysn joins (~vysn@user/vysn)
01:24:00 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
01:25:09 lavaman joins (~lavaman@98.38.249.169)
01:26:08 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:28:44 × Inst quits (~Liam@2601:6c4:4080:3f80:2cc2:d132:f33f:4fd4) (Read error: Connection reset by peer)
01:33:01 cc123652345762 joins (~cc1236523@116.24.67.150)
01:33:22 × kaph_ quits (~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Read error: Connection reset by peer)
01:33:56 Inst joins (~Liam@2601:6c4:4080:3f80:e499:f12d:32a8:5255)
01:34:44 kaph joins (~kaph@net-109-116-124-149.cust.vodafonedsl.it)
01:37:08 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
01:37:28 cc123652345762 joins (~cc1236523@116.24.67.150)
01:38:33 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
01:39:38 notzmv joins (~zmv@user/notzmv)
01:41:18 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
01:41:30 machinedgod joins (~machinedg@24.105.81.50)
01:41:38 cc123652345762 joins (~cc1236523@116.24.67.150)
01:42:49 TonyStone joins (~TonyStone@2603-7080-8607-c36a-1c52-7a09-75d4-5be2.res6.spectrum.com)
01:42:56 ensyde joins (~ensyde@2600:1700:2050:1040:64f2:c4d3:2ec3:ac49)
01:43:08 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
01:44:49 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
01:50:10 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
01:50:29 cc123652345762 joins (~cc1236523@116.24.67.150)
01:52:10 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
01:52:18 × ensyde quits (~ensyde@2600:1700:2050:1040:64f2:c4d3:2ec3:ac49) (Quit: Leaving)
01:52:32 cc123652345762 joins (~cc1236523@116.24.67.150)
01:54:13 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
01:54:33 cc123652345762 joins (~cc1236523@116.24.67.150)
01:56:27 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
01:56:44 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
01:56:49 cc123652345762 joins (~cc1236523@116.24.67.150)
02:01:02 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:01:16 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 256 seconds)
02:01:21 cc123652345762 joins (~cc1236523@116.24.67.150)
02:03:05 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:03:22 Batzy_ joins (~quassel@user/batzy)
02:03:25 cc123652345762 joins (~cc1236523@116.24.67.150)
02:06:37 × Batzy quits (~quassel@user/batzy) (Ping timeout: 256 seconds)
02:09:12 × ishutin quits (~ishutin@92-249-141-199.pool.digikabel.hu) (Ping timeout: 256 seconds)
02:10:49 ishutin joins (~ishutin@92-249-150-134.static.digikabel.hu)
02:13:58 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:14:21 cc123652345762 joins (~cc1236523@116.24.67.150)
02:16:01 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:16:22 cc123652345762 joins (~cc1236523@116.24.67.150)
02:17:47 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
02:19:12 hololeap joins (~hololeap@user/hololeap)
02:22:15 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
02:24:44 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:25:05 cc123652345762 joins (~cc1236523@116.24.67.150)
02:25:25 × chenqisu1 quits (~chenqisu1@183.217.201.47) (Remote host closed the connection)
02:28:42 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:29:01 cc123652345762 joins (~cc1236523@116.24.67.150)
02:30:42 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:31:00 cc123652345762 joins (~cc1236523@116.24.67.150)
02:31:19 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
02:31:40 chenqisu1 joins (~chenqisu1@183.217.201.47)
02:32:19 × chenqisu1 quits (~chenqisu1@183.217.201.47) (Max SendQ exceeded)
02:34:22 chenqisu1 joins (~chenqisu1@183.217.201.47)
02:37:12 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:37:30 cc123652345762 joins (~cc1236523@116.24.67.150)
02:37:39 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
02:38:49 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
02:40:13 bahamas joins (~lucian@84.232.140.52)
02:40:19 × chenqisu1 quits (~chenqisu1@183.217.201.47) (Read error: Connection reset by peer)
02:41:05 chenqisu1 joins (~chenqisu1@183.217.201.47)
02:42:36 lavaman joins (~lavaman@98.38.249.169)
02:45:02 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds)
02:46:32 × aeka quits (~aeka@user/hiruji) (Ping timeout: 240 seconds)
02:47:07 aeka joins (~aeka@user/hiruji)
02:50:09 × aeka quits (~aeka@user/hiruji) (Client Quit)
02:50:36 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
02:50:45 aeka joins (~aeka@user/hiruji)
02:52:30 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:52:51 cc123652345762 joins (~cc1236523@116.24.67.150)
02:55:17 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
02:56:36 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
02:58:44 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
02:59:06 cc123652345762 joins (~cc1236523@116.24.67.150)
03:01:24 mbuf joins (~Shakthi@110.225.240.104)
03:03:16 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:03:36 cc123652345762 joins (~cc1236523@116.24.67.150)
03:03:53 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
03:09:31 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:10:12 cc123652345762 joins (~cc1236523@116.24.67.150)
03:11:21 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
03:12:40 × agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds)
03:17:42 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
03:18:07 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
03:20:50 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:21:19 cc123652345762 joins (~cc1236523@116.24.67.150)
03:23:28 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:23:47 × unit73e quits (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving)
03:23:48 cc123652345762 joins (~cc1236523@116.24.67.150)
03:24:57 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
03:27:08 Guest|9 joins (~Guest|9@fixed-187-190-165-171.totalplay.net)
03:29:04 <dons> oh man got a 80cm monitor. what a game changer.
03:29:34 <dolio> What did you have before?
03:29:47 <dons> oh, i've been on the road for a few months, so living off laptop screens.
03:30:03 <dolio> Oh yeah. Much nicer than that. :)
03:30:05 <dons> mostly on 16" macbook
03:32:10 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:32:33 cc123652345762 joins (~cc1236523@116.24.67.150)
03:32:47 <dons> so at 32"/80cm you can comfortably have 3x2 124col terms in a grid
03:33:08 <dons> or 4x2 @ 92cols
03:33:28 <dons> (accounting for fontsize at my aging eyesight)
03:33:57 × Guest|9 quits (~Guest|9@fixed-187-190-165-171.totalplay.net) (Quit: Connection closed)
03:34:05 <sm> congrats!
03:34:31 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
03:39:15 deadmarshal_ joins (~deadmarsh@95.38.115.166)
03:39:56 × Nahra` quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
03:40:21 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 245 seconds)
03:42:37 cianky_ joins (~cianky@136.206.239.15)
03:43:24 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 240 seconds)
03:43:58 cianky_ parts (~cianky@136.206.239.15) ()
03:45:46 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:46:06 cc123652345762 joins (~cc1236523@116.24.67.150)
03:47:47 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:47:50 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
03:48:07 cc123652345762 joins (~cc1236523@116.24.67.150)
03:49:47 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:50:10 cc123652345762 joins (~cc1236523@116.24.67.150)
03:50:10 xkuru joins (~xkuru@user/xkuru)
03:50:30 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
03:50:32 × worldhelloworld1 quits (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
03:52:12 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:52:17 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
03:52:31 xkuru joins (~xkuru@user/xkuru)
03:52:34 cc123652345762 joins (~cc1236523@116.24.67.150)
03:56:32 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
03:56:53 cc123652345762 joins (~cc1236523@116.24.67.150)
03:58:09 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
03:58:09 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
04:00:30 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:00:50 cc123652345762 joins (~cc1236523@116.24.67.150)
04:02:31 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:02:51 cc123652345762 joins (~cc1236523@116.24.67.150)
04:04:32 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:04:52 cc123652345762 joins (~cc1236523@116.24.67.150)
04:06:45 × ishutin quits (~ishutin@92-249-150-134.static.digikabel.hu) (Ping timeout: 256 seconds)
04:08:11 ishutin joins (~ishutin@92-249-150-134.static.digikabel.hu)
04:11:51 <Axman6> dons: yeah I couldn't do my current job without a monitor that big, I recently needed to have a 3x2 grid of three different files (each split in two) just to begin to understand the code I'm trying to replace. Turns out you csn write Java in Haskell if you try hard enough
04:13:32 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:13:53 cc123652345762 joins (~cc1236523@116.24.67.150)
04:15:33 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:15:53 cc123652345762 joins (~cc1236523@116.24.67.150)
04:16:33 × Unicorn_Princess quits (~Unicorn_P@46-54-248-191.static.kate-wing.si) (Quit: Leaving)
04:19:46 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:20:07 cc123652345762 joins (~cc1236523@116.24.67.150)
04:21:24 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
04:22:12 azimut joins (~azimut@gateway/tor-sasl/azimut)
04:22:12 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
04:25:53 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
04:27:02 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
04:28:42 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:29:01 cc123652345762 joins (~cc1236523@116.24.67.150)
04:29:16 xkuru joins (~xkuru@user/xkuru)
04:32:48 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:33:07 cc123652345762 joins (~cc1236523@116.24.67.150)
04:33:08 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
04:33:52 × lechner_ quits (~lechner@debian/lechner) (Quit: WeeChat 3.0)
04:33:58 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
04:33:58 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
04:34:31 lechner joins (~lechner@debian/lechner)
04:35:14 xkuru joins (~xkuru@user/xkuru)
04:36:55 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:37:14 cc123652345762 joins (~cc1236523@116.24.67.150)
04:38:10 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
04:39:56 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
04:43:34 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:44:01 cc123652345762 joins (~cc1236523@116.24.67.150)
04:44:18 zero is now known as zzz
04:46:48 deadmarshal_ joins (~deadmarsh@95.38.115.166)
04:48:28 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:48:51 cc123652345762 joins (~cc1236523@116.24.67.150)
04:49:48 × soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds)
04:52:38 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:52:43 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
04:52:58 cc123652345762 joins (~cc1236523@116.24.67.150)
04:54:36 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
04:56:36 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
04:56:54 cc123652345762 joins (~cc1236523@116.24.67.150)
04:57:02 kritzefitz joins (~kritzefit@debian/kritzefitz)
04:57:45 kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net)
04:58:01 <Axman6> @where ops
04:58:01 <lambdabot> byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski
04:58:10 <Axman6> ops: cc123652345762x ^
04:59:11 <dibblego> gawn
04:59:23 <Axman6> flaky connection though
05:00:19 ChanServ sets mode +o litharge
05:00:20 litharge sets mode +b cc123652345762!~cc1236523@116.24.67.150##fix-your-connection
05:00:27 <Axman6> <3
05:00:30 litharge sets mode -o litharge
05:02:28 ChanServ sets mode +o litharge
05:02:30 litharge sets mode +b cc123652345762!~cc1236523@116.24.67.150$##fix-your-connection
05:02:31 cc123652345762 is kicked by litharge (You are banned from this channel (by ski))
05:02:40 litharge sets mode -o litharge
05:05:01 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
05:08:29 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
05:08:45 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
05:09:31 × liz quits (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection)
05:11:14 xkuru joins (~xkuru@user/xkuru)
05:12:48 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
05:13:19 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
05:16:53 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
05:19:02 × kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Ping timeout: 256 seconds)
05:19:34 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
05:20:44 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
05:21:06 kimjetwav joins (~user@2607:fea8:2363:8f00:979b:b492:f897:b694)
05:21:31 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
05:21:36 xkuru joins (~xkuru@user/xkuru)
05:25:14 soxen joins (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
05:25:49 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
05:30:19 ChanServ sets mode +o litharge
05:30:20 litharge sets mode -bo cc123652345762!~cc1236523@116.24.67.150##fix-your-connection litharge
05:31:29 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
05:31:47 azimut joins (~azimut@gateway/tor-sasl/azimut)
05:36:53 `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net)
05:38:25 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
05:38:41 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
05:38:41 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
05:38:41 wroathe joins (~wroathe@user/wroathe)
05:40:48 × zmt00 quits (~zmt00@user/zmt00) (Quit: Leaving)
05:41:33 × wroathe quits (~wroathe@user/wroathe) (Client Quit)
05:42:22 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
05:42:25 zmt00 joins (~zmt00@user/zmt00)
05:43:00 × soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds)
05:44:25 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
05:44:26 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
05:44:26 wroathe joins (~wroathe@user/wroathe)
05:44:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
05:46:14 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
05:47:41 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:48:14 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
05:48:16 × lumberjack123 quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
05:48:17 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 240 seconds)
05:48:54 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
05:50:46 × `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 256 seconds)
05:54:43 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
05:55:35 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
05:56:14 deadmarshal_ joins (~deadmarsh@95.38.115.166)
05:58:11 coot joins (~coot@213.134.190.95)
05:58:48 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:58:54 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:01:23 × foul_owl quits (~kerry@23.82.193.89) (Quit: WeeChat 2.3)
06:02:30 ChanServ sets mode +o litharge
06:02:31 litharge sets mode -bo cc123652345762!~cc1236523@116.24.67.150$##fix-your-connection litharge
06:03:33 foul_owl joins (~kerry@174-21-76-71.tukw.qwest.net)
06:03:48 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
06:04:55 cc123652345762 joins (~cc1236523@116.24.67.150)
06:06:05 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:11:30 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
06:14:20 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:16:12 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
06:18:57 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
06:19:00 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
06:19:11 lavaman joins (~lavaman@98.38.249.169)
06:20:09 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
06:21:30 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:23:19 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
06:23:57 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
06:26:08 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:26:30 cc123652345762 joins (~cc1236523@116.24.67.150)
06:26:32 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
06:26:43 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
06:27:25 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
06:27:33 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.4)
06:28:38 da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff)
06:30:07 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds)
06:32:08 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
06:35:12 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:35:32 cc123652345762 joins (~cc1236523@116.24.67.150)
06:37:13 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:37:14 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:37:33 cc123652345762 joins (~cc1236523@116.24.67.150)
06:39:13 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:39:32 cc123652345762 joins (~cc1236523@116.24.67.150)
06:40:13 cynomys joins (~cynomys@user/cynomys)
06:41:54 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:42:16 cc123652345762 joins (~cc1236523@116.24.67.150)
06:42:20 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
06:42:46 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:45:58 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:46:19 cc123652345762 joins (~cc1236523@116.24.67.150)
06:47:59 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
06:48:18 cc123652345762 joins (~cc1236523@116.24.67.150)
06:48:29 liz joins (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
06:48:52 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
06:50:12 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
06:50:46 × cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50)
06:51:38 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
06:56:31 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
06:57:06 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
06:58:44 agumonkey joins (~user@88.163.231.79)
06:59:06 deadmarshal_ joins (~deadmarsh@95.38.115.166)
07:01:16 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:01:38 cc123652345762 joins (~cc1236523@116.24.67.150)
07:01:39 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
07:02:54 gehmehgeh joins (~user@user/gehmehgeh)
07:03:50 alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo)
07:03:52 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds)
07:05:32 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:05:53 cc123652345762 joins (~cc1236523@116.24.67.150)
07:06:42 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
07:09:40 × liz quits (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection)
07:10:53 jakalx parts (~jakalx@base.jakalx.net) ()
07:11:30 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
07:11:53 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
07:12:56 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
07:13:37 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
07:16:20 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
07:17:22 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
07:18:37 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
07:21:06 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:21:26 cc123652345762 joins (~cc1236523@116.24.67.150)
07:21:56 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
07:25:08 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
07:25:28 azimut joins (~azimut@gateway/tor-sasl/azimut)
07:27:20 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:27:40 cc123652345762 joins (~cc1236523@116.24.67.150)
07:28:08 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
07:28:26 × boletales_ quits (~boletales@p98076-ipoefx.ipoe.ocn.ne.jp) (Remote host closed the connection)
07:30:33 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
07:30:49 × da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:33:34 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:33:53 cc123652345762 joins (~cc1236523@116.24.67.150)
07:35:34 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:35:52 cc123652345762 joins (~cc1236523@116.24.67.150)
07:37:01 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
07:37:53 namkeleser joins (~namkelese@101.175.104.107)
07:37:55 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
07:38:28 vorpuni joins (~pvorp@2001:861:3881:c690:4511:759b:ea40:3933)
07:39:23 da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff)
07:42:04 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
07:42:07 jakalx joins (~jakalx@base.jakalx.net)
07:42:23 cc123652345762 joins (~cc1236523@116.24.67.150)
07:42:27 <Cheery> wow. catched a bug with code coverage.
07:42:28 × vorpuni quits (~pvorp@2001:861:3881:c690:4511:759b:ea40:3933) (Remote host closed the connection)
07:43:06 michalz joins (~michalz@185.246.204.65)
07:43:43 <Cheery> now I'm wondering whether there's a tool to diff code coverage graphs.
07:43:52 <Cheery> I did it visually by comparing markups.
07:45:15 vorpuni joins (~pvorp@2001:861:3881:c690:8ac1:68a6:89a:bc52)
07:45:52 × vorpuni quits (~pvorp@2001:861:3881:c690:8ac1:68a6:89a:bc52) (Client Quit)
07:45:57 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
07:47:20 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
07:48:47 <dminuoso> Cheery: You can probably jury rig something together with https://hackage.haskell.org/package/tree-diff
07:51:51 lortabac joins (~lortabac@2a01:e0a:541:b8f0:623a:34aa:5c8e:6872)
07:52:28 liz joins (~liz@host109-151-125-217.range109-151.btcentralplus.com)
07:52:38 × da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:b9cc:c9f7:50d2:91bf:feff) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:54:36 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
07:54:56 da39a3ee5e6b4b0d joins (~textual@mx-ll-171.5.18-125.dynamic.3bb.co.th)
07:56:23 fendor joins (~fendor@91.141.40.111.wireless.dyn.drei.com)
07:58:46 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:02:24 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:03:17 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Client Quit)
08:05:53 aiden joins (~iceneko@user/iceneko)
08:08:42 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
08:09:01 cc123652345762 joins (~cc1236523@116.24.67.150)
08:09:59 × aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
08:10:03 × namkeleser quits (~namkelese@101.175.104.107) (Quit: Ping timeout (120 seconds))
08:10:08 × eriol quits (~eriol@user/eriol) (Quit: Ping timeout (120 seconds))
08:10:19 aforemny joins (~aforemny@static.248.158.34.188.clients.your-server.de)
08:10:25 eriol joins (~eriol@user/eriol)
08:10:26 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
08:11:23 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:11:28 InstX1 joins (~Liam@2601:6c4:4080:3f80:2121:51c:b67:36c3)
08:12:23 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
08:12:57 × Inst quits (~Liam@2601:6c4:4080:3f80:e499:f12d:32a8:5255) (Ping timeout: 240 seconds)
08:14:04 × qwedfg quits (~qwedfg@user/qwedfg) (Quit: ZNC - https://znc.in)
08:14:22 alp joins (~alp@user/alp)
08:15:11 acidjnk joins (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de)
08:15:27 qwedfg joins (~qwedfg@user/qwedfg)
08:16:36 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 245 seconds)
08:18:50 jonathanx_ joins (~jonathan@c-5eea36c9-74736162.cust.telenor.se)
08:18:51 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
08:21:30 × jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds)
08:23:32 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
08:24:05 InstX1 is now known as Inst
08:24:37 × ncopa quits (~ncopa@gbr2-dev1.alpinelinux.org) (Changing host)
08:24:37 ncopa joins (~ncopa@alpine/developer/ncopa)
08:26:17 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
08:26:35 zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
08:26:37 cc123652345762 joins (~cc1236523@116.24.67.150)
08:28:18 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
08:28:37 cc123652345762 joins (~cc1236523@116.24.67.150)
08:29:25 MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl)
08:30:13 × foul_owl quits (~kerry@174-21-76-71.tukw.qwest.net) (Ping timeout: 272 seconds)
08:30:28 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
08:30:38 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
08:31:52 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
08:33:49 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
08:34:08 kmein joins (~weechat@user/kmein)
08:37:02 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
08:37:22 cc123652345762 joins (~cc1236523@116.24.67.150)
08:39:03 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
08:39:20 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
08:39:23 cc123652345762 joins (~cc1236523@116.24.67.150)
08:40:52 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:43:37 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 240 seconds)
08:43:49 foul_owl joins (~kerry@23.82.193.87)
08:44:26 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
08:45:19 da39a3ee5e6b4b0_ joins (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100)
08:46:26 × da39a3ee5e6b4b0d quits (~textual@mx-ll-171.5.18-125.dynamic.3bb.co.th) (Ping timeout: 256 seconds)
08:47:21 × da39a3ee5e6b4b0_ quits (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100) (Client Quit)
08:48:02 machinedgod joins (~machinedg@24.105.81.50)
08:50:04 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
08:50:25 cc123652345762 joins (~cc1236523@116.24.67.150)
08:53:56 mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
08:57:15 chele joins (~chele@user/chele)
08:57:26 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
08:58:08 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
08:58:31 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
08:58:57 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
08:59:21 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
08:59:33 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
09:00:10 × marijan quits (~marijanma@2001:470:69fc:105::1:6cce) (Quit: You have been kicked for being idle)
09:02:08 × jonathanx_ quits (~jonathan@c-5eea36c9-74736162.cust.telenor.se) (Ping timeout: 268 seconds)
09:04:34 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
09:06:23 kuribas joins (~user@ptr-25vy0ia80zmfb26ginl.18120a2.ip6.access.telenet.be)
09:09:54 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:10:14 cc123652345762 joins (~cc1236523@116.24.67.150)
09:12:16 × alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
09:12:57 alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo)
09:18:49 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:19:10 cc123652345762 joins (~cc1236523@116.24.67.150)
09:20:07 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
09:22:05 aiden parts (~iceneko@user/iceneko) (Leaving)
09:22:42 soxen joins (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
09:25:05 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 252 seconds)
09:26:39 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
09:27:27 `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net)
09:27:57 × ishutin quits (~ishutin@92-249-150-134.static.digikabel.hu) (Ping timeout: 240 seconds)
09:29:44 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:29:56 ishutin joins (~ishutin@193-110-63-40.cable-modem.hdsnet.hu)
09:30:04 cc123652345762 joins (~cc1236523@116.24.67.150)
09:31:44 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:31:47 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 256 seconds)
09:32:04 cc123652345762 joins (~cc1236523@116.24.67.150)
09:33:33 × mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds)
09:33:41 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
09:35:58 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:36:17 cc123652345762 joins (~cc1236523@116.24.67.150)
09:38:36 × romesrf quits (~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 272 seconds)
09:41:20 __monty__ joins (~toonn@user/toonn)
09:42:04 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
09:42:17 da39a3ee5e6b4b0d joins (~textual@171.5.29.46)
09:46:40 mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
09:53:32 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:53:53 cc123652345762 joins (~cc1236523@116.24.67.150)
09:54:43 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:56:21 × cynomys quits (~cynomys@user/cynomys) (Ping timeout: 272 seconds)
09:58:01 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
09:58:24 cc123652345762 joins (~cc1236523@116.24.67.150)
10:00:11 <kuribas> Would it be possible to have an "easy" language, that still has the advantages of haskell?
10:00:41 <kuribas> Like making side-effects explicit, easy concurrency, function composition, ...
10:00:53 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
10:00:58 <kuribas> But without requiring everything to be a monad or monad transformer, using folds for everything...
10:01:41 <dminuoso> Nothing requires you to use monad transformers.
10:01:47 <dminuoso> That's just a choice people make.
10:02:01 <dminuoso> Take a look at GHC, its essentially just a big ball of IO
10:02:10 <kuribas> Well, at least you will want ReaderT r IO, no?
10:02:15 <Inst> it's just a standard, as some people say, Haskell is more a metalanguage (in the sense that you have 20 different ways to do something) than a language
10:02:27 <dminuoso> kuribas: You can pass dictionaries/dependencies explicitly or use global IORefs.
10:02:34 <dminuoso> The same as with any other language.
10:04:00 <kuribas> so that language is haskell, minus the complicated parts?
10:04:56 <kuribas> And instead of EitherT use exceptions?
10:05:12 mc47 joins (~mc47@xmonad/TheMC47)
10:07:43 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
10:08:09 <lortabac> kuribas: I have thought about this for a long time, I think a "simpler Haskell" would need a couple of built-in features for things that we do at library level
10:08:27 <kuribas> and be strict probably
10:09:04 <lortabac> specifically, better support for implicit parameters (to avoid Reader), some syntactic sugar for State (something like Prolog's DCG's)
10:09:18 <lortabac> and built-in lenses or at least better records
10:09:37 <kuribas> extensible records like purescript?
10:09:40 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
10:09:48 romesrf joins (~romes@44.190.189.46.rev.vodafone.pt)
10:10:31 <lortabac> not necessarily extensible, but it should at least allow duplicated fields, maybe through some built-in constraint like HasField
10:11:17 <lortabac> actually I had started working on such a language, but I don't have the time (nor probably the skills) to complete the work alone
10:11:38 <lortabac> and I'm not even sure the world needs yet another programming language
10:12:01 <lortabac> after all, it might be more reasonable to just learn to live with Haskell's quirks
10:12:46 <merijn> The world needs load more programming languages
10:12:54 <merijn> As long as they aren't boring reskins of C/Java
10:13:17 <dminuoso> lortabac: Im not convinced HasField is going to make things better.
10:13:44 <dminuoso> One of the major issues Haskell has is how we encode these things via typeclasses, at the great cost of extremely poor diagnostics.
10:13:56 <dminuoso> Rather than "X has no field XYZ" you get failed constrained errors
10:14:18 <lortabac> dminuoso: to be clear, we are talking about an imaginary new language which is simpler than Haskell
10:14:27 <lortabac> not about using HasField in Haskell
10:14:45 <kuribas> merijn: or crappy dynamic languages where proper semantics are an afterthought.
10:14:50 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
10:15:56 <lortabac> personally I'd just propose a new language if it offers some substantial improvement/advantage/use case over the existing ones
10:16:16 <lortabac> if it's just Haskell minus transformers I'm hesitant to advertise it to the world
10:16:32 <dminuoso> I dont think this "minus transformers" proposition is really important.
10:16:43 <kuribas> Maybe something like f# is more suitable for mainstream?
10:16:51 <dminuoso> f# is a nasty piece of work
10:17:03 <lortabac> I do think transformers are a big obstacle to simplicity in Haskell
10:17:21 × mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
10:18:11 <dminuoso> lortabac: transformers are not a necessity. they are just some overhead when deciphering other peoples code.
10:18:17 <dminuoso> Except ReaderT perhaps
10:18:34 <kuribas> dminuoso: they are convenient to create parsers for example.
10:18:45 <kuribas> Not necessary, but they can take away the builerplate.
10:18:47 <dminuoso> Not as transformers.
10:18:54 <dminuoso> parsers are usually handcrafted monads.
10:19:18 <dminuoso> megaparsec is a bit odd since it gives you a whole transformer, but you dont have to actually use it
10:19:19 <kuribas> Perhaps, but I find it easier to create them using mtl.
10:19:40 <lortabac> they are a necessity, because whatever abstraction you come up with, you need to know how to compose it with existing abstractions, and that usually involves transformers
10:19:41 <kuribas> Saves me from the plumbing, plus it's more likely to be correct, easier to adapt, etc...
10:20:01 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
10:20:03 <kuribas> lortabac: perhaps a language could have effects builtin, and use transformer under the hood?
10:20:07 <dminuoso> lortabac: I dont know about that, over the past 3 years Ive successfully managed with just ReaderT (and that's just for convenience)
10:20:19 mc47 joins (~mc47@xmonad/TheMC47)
10:20:23 <dminuoso> Writing composable software is somewhat orthogonal to transformers
10:20:35 <lortabac> kuribas: yes, more built-in effects is the idea that I explored with my language
10:21:26 <kuribas> dminuoso: one problem I found nicely solved with monads and applicatives is validation/error reporting. How would you do it without effects?
10:21:38 × maerwald quits (~maerwald@user/maerwald) (Quit: gone)
10:21:51 ProfSimm joins (~ProfSimm@87.227.196.109)
10:21:54 <kuribas> Just use a IORef to collect them?
10:22:00 <dminuoso> Yes.
10:22:13 <kuribas> Then there is still the problem that I would to collect all errors.
10:22:18 maerwald joins (~maerwald@mail.hasufell.de)
10:22:28 <dminuoso> This is how we have warnings, failable and fatal errors in our large project
10:22:38 <kuribas> Foo <$> trythis <*> andthat <*> alsoThat.
10:22:52 <dminuoso> Write a custom monad instance
10:23:00 <dminuoso> The advantage is nobody has to understand bizarre interactions of monad transformers
10:23:06 <dminuoso> You can look at what >> does in my code
10:23:12 <kuribas> If I throw with trythis, I don't see the error of "andthat" and "alsoThat".
10:23:27 <dminuoso> I also have >|> for example, which only proceeds if no failable erros are set
10:23:42 × maerwald quits (~maerwald@mail.hasufell.de) (Changing host)
10:23:42 maerwald joins (~maerwald@user/maerwald)
10:24:12 <kuribas> Isn't that just <*> though?
10:24:15 <merijn> monad transformers are pretty okay
10:24:24 <merijn> exposing them as part of your public API is the problem
10:24:31 <dminuoso> kuribas: No the point is I have this:
10:25:44 <dminuoso> kuribas: https://gist.github.com/dminuoso/be53ec068306073650802d157ea02e5a
10:26:53 <dminuoso> So now I have >> which simply proceeds irrespective of errors, and then I construct phases that can only pass if no errors are set using >|>
10:27:07 <dminuoso> sort of like `(f >> g >> h) >|> (x >> y >> z)`
10:27:34 <dminuoso> So in my case, I dont even need a custom monad instance.
10:27:37 <dminuoso> It's just plain IO
10:28:23 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
10:29:42 <kuribas> hmm, something like that could work...
10:30:11 <kuribas> It'll be more beginner friendly, but still nicely composable.
10:31:02 <kuribas> maybe I could use a newtype over IO to get validation like behaviour.
10:31:22 <kuribas> dminuoso: what is Comp?
10:31:29 <kuribas> Comp is not IO, is it?
10:31:35 <dminuoso> 1newtype Comp e a = Comp { runComp :: ReaderT (CompEnv e) IO a
10:32:03 <kuribas> so a transformer :)
10:32:23 <dminuoso> Sure, but its not really necesary
10:32:34 <dminuoso> But for the convenience of monad you need either this or global IORefs
10:32:49 <dminuoso> Or you parametrize everything
10:33:21 <dminuoso> The key thing is, we just use ReaderT and isomorphic things so we have access to MonadUnliftIO
10:34:32 × MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 240 seconds)
10:35:04 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
10:35:42 bahamas joins (~lucian@84.232.140.52)
10:35:44 MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl)
10:38:33 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
10:38:52 cc123652345762 joins (~cc1236523@116.24.67.150)
10:40:33 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
10:40:51 cc123652345762 joins (~cc1236523@116.24.67.150)
10:42:02 DNH joins (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99)
10:42:37 × agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds)
10:44:01 × little_mac quits (~little_ma@2601:410:4300:3ce0:3499:893c:26f0:bcd0) (Remote host closed the connection)
10:46:14 × da39a3ee5e6b4b0d quits (~textual@171.5.29.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:46:59 ccntrq joins (~Thunderbi@2a01:c22:8df3:2600:efac:1374:1f51:a914)
10:51:20 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
10:51:39 cc123652345762 joins (~cc1236523@116.24.67.150)
10:53:59 × jespada quits (~jespada@85.255.234.169) (Ping timeout: 272 seconds)
10:55:18 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
10:55:37 Vajb joins (~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813)
10:56:18 jespada joins (~jespada@85.255.234.169)
10:57:59 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
10:58:18 cc123652345762 joins (~cc1236523@116.24.67.150)
10:59:55 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:02:25 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:02:44 cc123652345762 joins (~cc1236523@116.24.67.150)
11:02:54 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
11:03:13 azimut joins (~azimut@gateway/tor-sasl/azimut)
11:04:42 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds)
11:07:01 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:07:21 cc123652345762 joins (~cc1236523@116.24.67.150)
11:09:01 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:09:20 cc123652345762 joins (~cc1236523@116.24.67.150)
11:11:00 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:11:18 cc123652345762 joins (~cc1236523@116.24.67.150)
11:12:59 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:13:17 cc123652345762 joins (~cc1236523@116.24.67.150)
11:14:58 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:15:16 cc123652345762 joins (~cc1236523@116.24.67.150)
11:16:57 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:17:15 cc123652345762 joins (~cc1236523@116.24.67.150)
11:17:50 deadmarshal_ joins (~deadmarsh@95.38.115.166)
11:18:04 fendor_ joins (~fendor@178.115.53.79.wireless.dyn.drei.com)
11:18:18 × soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
11:20:36 × fendor quits (~fendor@91.141.40.111.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
11:25:21 × MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds)
11:27:15 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
11:30:26 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:30:45 cc123652345762 joins (~cc1236523@116.24.67.150)
11:31:36 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
11:34:24 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:34:42 cc123652345762 joins (~cc1236523@116.24.67.150)
11:34:45 × ishutin quits (~ishutin@193-110-63-40.cable-modem.hdsnet.hu) (Ping timeout: 256 seconds)
11:35:29 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab)
11:36:33 ishutin joins (~ishutin@80-95-86-73.pool.digikabel.hu)
11:38:07 × DNH quits (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:38:28 DNH joins (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99)
11:39:05 adamcstephens[m] parts (~adamcstep@2001:470:69fc:105::1:72a2) ()
11:39:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Ping timeout: 240 seconds)
11:42:54 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:43:14 cc123652345762 joins (~cc1236523@116.24.67.150)
11:46:52 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
11:47:10 cc123652345762 joins (~cc1236523@116.24.67.150)
11:48:37 × DNH quits (~DNH@2a02:8108:1100:16d8:c0f:a3e3:c787:bf99) (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:53:17 <kuribas> is there a "simple" alternative to Endo?
11:53:22 DNH joins (~DNH@2a02:8108:1100:16d8:598a:8b0b:9405:6e26)
11:53:42 <kuribas> I really like Endo, since you can represent partial information in a typesafe way.
11:56:02 × pavonia quits (~user@user/siracusa) (Ping timeout: 272 seconds)
11:57:07 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
11:57:16 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
11:59:13 <byorgey> kuribas: what is it about Endo that isn't simple enough?
11:59:28 <kuribas> byorgey: it scares beginners...
12:02:27 <byorgey> ah.
12:02:58 <kuribas> But I think there are far more scary things in imperative programs than Endo...
12:04:38 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:04:42 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
12:04:59 cc123652345762 joins (~cc1236523@116.24.67.150)
12:05:46 <maerwald> kuribas: can you tell me the result of `appEndo "Haskell" $ Endo ("Hello, " ++) <> Endo (++ "?") <> Endo ("!" ++)` without squinting a few times? :p
12:06:44 <kuribas> type error?
12:06:58 <kuribas> btw, for strings I would use DList.
12:07:21 <maerwald> no, it works =)
12:07:48 <maerwald> tldr: Endo *is* confusing, depending on how you use it
12:08:05 <maerwald> similarly to ContT
12:08:11 <kuribas> > appEndo "foo" $ Endo ("bar" ++)
12:08:12 <lambdabot> error:
12:08:12 <lambdabot> • Couldn't match expected type ‘Endo (Endo [Char])’
12:08:12 <lambdabot> with actual type ‘[Char]’
12:08:28 <kuribas> type error
12:08:43 <maerwald> flip appEndo
12:08:59 <kuribas> maerwald: so don't do that? Use DList.
12:09:15 <maerwald> that doesn't make Endo better :p
12:09:17 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
12:09:48 <kuribas> <maerwald> tldr: Endo *is* confusing, depending on how you use it
12:09:52 <kuribas> So don't use it like that.
12:09:55 <kuribas> problem solved.
12:10:08 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
12:10:18 × jespada quits (~jespada@85.255.234.169) (Quit: Textual IRC Client: www.textualapp.com)
12:10:32 <kuribas> maerwald: do you hammer nails using a screwdriver?
12:10:34 <maerwald> well, then you could argue imperative programming is fine as well, if you use it sensibly
12:10:39 <maerwald> yet, here we are
12:11:28 <kuribas> I mean, for some cases it "is" fine.
12:12:57 <kuribas> if you have a proper architecture, people who know what they do, not strong demands on correcness, imperative is also fine.
12:13:07 <kuribas> Just not something which I personally like to program with.
12:13:45 agumonkey joins (~user@88.163.231.79)
12:13:57 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
12:15:46 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:16:04 cc123652345762 joins (~cc1236523@116.24.67.150)
12:17:45 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:18:03 cc123652345762 joins (~cc1236523@116.24.67.150)
12:20:04 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
12:22:00 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:22:18 cc123652345762 joins (~cc1236523@116.24.67.150)
12:23:59 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:24:17 cc123652345762 joins (~cc1236523@116.24.67.150)
12:25:31 <dminuoso> 12:59:13 byorgey | kuribas: what is it about Endo that isn't simple enough?
12:25:33 <dminuoso> Its uses
12:25:42 <dminuoso> foldr f z t = appEndo (foldMap (Endo #. f) t) z
12:26:09 <dminuoso> It's hard to decipher what happens
12:26:27 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
12:28:14 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:28:33 cc123652345762 joins (~cc1236523@116.24.67.150)
12:31:00 akegalj joins (~akegalj@78-1-170-211.adsl.net.t-com.hr)
12:31:03 namkeleser joins (~namkelese@101.175.104.107)
12:32:43 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:33:02 cc123652345762 joins (~cc1236523@116.24.67.150)
12:34:02 × Inst quits (~Liam@2601:6c4:4080:3f80:2121:51c:b67:36c3) (Ping timeout: 240 seconds)
12:37:43 Inst joins (~Liam@2601:6c4:4080:3f80:e86b:808f:b5aa:dc47)
12:39:02 × acidjnk quits (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
12:39:28 Pickchea joins (~private@user/pickchea)
12:43:03 <int-e> Well, read (#.) as (.); once you do that, foldr f z [a,b,c] = (f a . f b . f c) z seems to be the hardest step in understanding that. :-P
12:43:56 <int-e> You have to know about 3 abstractions. That's a serious barrier to understanding it from scratch, obviously.
12:44:27 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
12:46:08 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
12:46:27 cc123652345762 joins (~cc1236523@116.24.67.150)
12:46:30 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: Ping timeout (120 seconds))
12:47:24 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
12:47:59 × coot quits (~coot@213.134.190.95) (Quit: coot)
12:48:21 <kuribas> dminuoso: But is it the concept of Endo which is difficult, or the use in this case?
12:48:34 InstX1 joins (~Liam@2601:6c4:4080:3f80:8dd6:530e:bda9:6ea2)
12:48:54 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
12:49:34 coot joins (~coot@213.134.190.95)
12:51:48 × Inst quits (~Liam@2601:6c4:4080:3f80:e86b:808f:b5aa:dc47) (Ping timeout: 240 seconds)
12:53:06 soxen joins (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
12:53:59 <dminuoso> int-e: Of course, if you are able to inline definitions in your head always.. :)
12:59:42 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
13:00:57 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
13:03:25 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
13:03:42 bahamas joins (~lucian@84.232.140.52)
13:06:38 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:06:56 cc123652345762 joins (~cc1236523@116.24.67.150)
13:08:37 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:08:55 cc123652345762 joins (~cc1236523@116.24.67.150)
13:09:01 × chenqisu1 quits (~chenqisu1@183.217.201.47) (Quit: Leaving)
13:10:12 × sprout quits (~quassel@2a02:a467:ccd6:1:84ab:e3a9:1ea3:da7a) (Ping timeout: 240 seconds)
13:11:25 × Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds)
13:13:18 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:13:37 cc123652345762 joins (~cc1236523@116.24.67.150)
13:13:54 × `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 256 seconds)
13:15:38 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:15:44 × namkeleser quits (~namkelese@101.175.104.107) (Quit: Client closed)
13:15:59 cc123652345762 joins (~cc1236523@116.24.67.150)
13:17:39 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:17:57 cc123652345762 joins (~cc1236523@116.24.67.150)
13:18:41 × coot quits (~coot@213.134.190.95) (Quit: coot)
13:20:13 <maerwald[m]> dminuoso: even if you can, it's wasted intellectual energy. Wasn't that the reason we abandoned imperative programming because reasoning about global state is just too hard?
13:21:03 Topsi joins (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de)
13:24:20 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:24:40 cc123652345762 joins (~cc1236523@116.24.67.150)
13:24:41 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:25:21 × ishutin quits (~ishutin@80-95-86-73.pool.digikabel.hu) (Ping timeout: 272 seconds)
13:25:57 <merijn> I mean, you can do imperative programming without global state...
13:26:01 <merijn> See IO
13:26:12 <kuribas> It's global complexity vs local complexity. I find often haskell code is locally complex, like it takes some time to understand how a function or abstraction works. However, globally it becomes more modular and easy to reason about.
13:26:49 ishutin joins (~ishutin@fibhost-66-106-209.fibernet.hu)
13:26:53 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
13:27:54 <dminuoso> maerwald[m]: There's certainly something to that. The complexity of trying to get LoggingT into servant is quite absurd.
13:28:31 <dminuoso> If on the other hand we had a logger using global state, things get real simple,.
13:28:51 <kuribas> logger using ReaderT is pretty easy as well.
13:28:56 <kuribas> No need for global state
13:29:04 <dminuoso> kuribas: With servant?
13:29:10 <dminuoso> If you know how, its easy yes.
13:29:44 <kuribas> If you already have ReaderT, adding a logger is easy.
13:29:54 <maerwald[m]> merijn: that's exactly the point. You can do sensible imperative programming, but... you're not forced to.
13:30:25 <dminuoso> kuribas: That's my point, getting a ReaderT/LoggingT into servant requires special combinators and the code looks incredibly scary.
13:31:42 coot joins (~coot@213.134.190.95)
13:31:56 <maerwald[m]> kuribas: global complexity can very easily leak into Haskell programs too, eg when the primary state is your filesystem
13:32:13 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
13:32:43 <maerwald[m]> Or a blockchain xD
13:32:56 <romesrf> is there a way to constrain a type family? say: type family F a, but all instances of F a must satisfy Monoid (F a)
13:33:10 <romesrf> type family (Monoid F a) => F a :P
13:33:27 <maerwald[m]> dminuoso: you can use your own app monad in servant
13:33:38 <dminuoso> maerwald[m]: of course, Im not saying its impossible
13:33:47 <dminuoso> We do this in all our servant apps
13:33:48 <maerwald[m]> https://docs.servant.dev/en/stable/cookbook/using-custom-monad/UsingCustomMonad.html
13:33:53 <dminuoso> Yeah I know
13:34:13 <merijn> romesrf: Not really?
13:34:14 <maerwald[m]> It gets complicated when there's no existing instance
13:34:22 × InstX1 quits (~Liam@2601:6c4:4080:3f80:8dd6:530e:bda9:6ea2) (Ping timeout: 250 seconds)
13:34:26 <dminuoso> maerwald[m]: So if I was a curious newbie I might be tempted to look at this:
13:34:33 <dminuoso> genericServeTWithContext :: forall (routes :: * -> *) (m :: * -> *) (ctx :: [*]). (GenericServant routes (AsServerT m), GenericServant routes AsApi, HasServer (ToServantApi routes) ctx, HasContextEntry (ctx .++ DefaultErrorFormatters) ErrorFormatters, ServerT (ToServantApi routes) m ~ ToServant routes (AsServerT m)) => (forall a. m a -> Handler a) hoistServer argument to come back to Handler
13:34:33 <maerwald[m]> dminuoso: see https://github.com/haskell-servant/servant/issues/1544
13:34:34 × kilolympus quits (~kilolympu@31.205.200.235) (Remote host closed the connection)
13:34:35 <dminuoso> -> routes (AsServerT m) your record full of request handlers -> Context ctx the Context to serve the application with -> Application
13:34:37 <romesrf> I see hahaha
13:34:44 <dminuoso> And at that point I might as well give up and declare Python is simpler.
13:34:48 <hololeap> where does the Paths_pkgname module come from?
13:34:56 <dminuoso> Because writing a flask api certainly doesnt impose these crazy things on me
13:35:25 <maerwald[m]> First time writing a HasClient instance is confusing
13:35:50 <hololeap> I see "autogen-modules: Paths_fay" in fay.cabal
13:36:00 <maerwald[m]> HasServer rather
13:37:09 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
13:37:30 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab)
13:37:59 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
13:38:08 kilolympus joins (~kilolympu@31.205.200.235)
13:38:13 <geekosaur> hololeap, cabal generates it
13:39:20 <geekosaur> https://cabal.readthedocs.io/en/3.6/cabal-package.html#autogenerated-modules-and-includes
13:39:31 <merijn> hololeap: It's auto-generated by cabal
13:39:50 <hololeap> geekosaur: my problem is that fay-tests is giving errors about not finding the fay modules in the search locations, which are wrong
13:40:17 <merijn> hololeap: Can you link the cabal file?
13:40:19 <hololeap> and the only place I can find where these search locations are coming from is getDataFileName, which I guess is imported from Paths_fay
13:40:58 <geekosaur> https://cabal.readthedocs.io/en/3.6/cabal-package.html#accessing-data-files-from-package-code
13:41:06 × kilolympus quits (~kilolympu@31.205.200.235) (Client Quit)
13:41:40 <geekosaur> I don't think that gives full detail though, there aresome tricks to try to enable it to work with both installed modules and whilee.g. testing
13:41:48 <geekosaur> those tricks may not always work,sadly
13:42:15 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Ping timeout: 256 seconds)
13:42:25 <geekosaur> if you're having problems with it, best bet might be to ask in #hackage
13:43:14 <hololeap> I'm just trying to figure out how to override that function, or at least append the correct path to the source dir
13:43:27 <merijn> hololeap: You can do so via environment variables
13:43:43 <merijn> hololeap: But overall: insufficient context
13:46:52 × bliminse quits (~bliminse@host109-152-150-162.range109-152.btcentralplus.com) (Quit: leaving)
13:48:42 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:48:58 <hololeap> merijn: https://github.com/faylang/fay/blob/master/fay.cabal
13:49:01 cc123652345762 joins (~cc1236523@116.24.67.150)
13:49:23 vpan joins (~0@212.117.1.172)
13:49:31 <hololeap> merijn: I'm trying to run the test suite locally, but I'm hitting errors like this, because it's searching for the source in the wrong paths: https://dpaste.com/5LEZ4NDFQ
13:49:52 cosimone joins (~user@93-47-229-38.ip115.fastwebnet.it)
13:51:59 <merijn> How was Fay installed?
13:52:35 <hololeap> it's just sitting in dist/
13:53:04 <merijn> First observation: fay-tests doesn't list an autogen-module for Paths_fay
13:53:12 <merijn> But does list itself as using it
13:53:34 doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
13:55:14 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:55:17 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:55:33 cc123652345762 joins (~cc1236523@116.24.67.150)
13:56:13 <hololeap> ok, I think I made a little headway here and found where the paths are actually being pulled from. thanks for the info geekosaur, merijn
13:56:49 <merijn> hololeap: How are you running the tests, btw?
13:57:01 bliminse joins (~bliminse@host109-152-150-162.range109-152.btcentralplus.com)
13:57:13 sprout joins (~quassel@2a02:a467:ccd6:1:fc09:57a0:d89c:b417)
13:57:24 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
13:57:52 ph88 joins (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de)
13:59:32 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
13:59:51 cc123652345762 joins (~cc1236523@116.24.67.150)
14:01:31 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
14:01:33 <hololeap> it's pretty convoluted, but I have fay and fay-base built, and I'm running the fay-tests exe
14:01:50 cc123652345762 joins (~cc1236523@116.24.67.150)
14:02:47 <merijn> Directly, you mean?
14:03:04 <hololeap> yes
14:03:16 mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
14:04:21 <hololeap> it's actually a PoC to see if I can get a test suite like this working as part of a gentoo package
14:04:36 `2jt joins (~jtomas@natwalu174-10.wi-fi.upv.es)
14:05:06 × soxen quits (~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
14:05:32 <merijn> hololeap: Try using "cabal run" instead
14:05:57 <merijn> It sets up the Paths module correctly for running from the *build* dir, rather than the final install dir
14:06:34 <hololeap> oh interesting. any idea if there is an equivalent for cabal-v1?
14:06:48 <merijn> hololeap: If you didn't install then Paths is probably looking in the install dir, where it isn't yet, if you didn't install
14:07:21 <merijn> oh, you're trying to use Paths from v1 to access stuff without actually installing? My professional assessment is: RIP you
14:07:42 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
14:08:16 <geekosaur> actually the Paths machinery predates cabal 2+, and there is a cabal v1-run. I'd say try it
14:08:36 <geekosaur> (including stuff to work from uninstalled state as merijn described)
14:08:38 <reactormonk[m]> If I have two `Prism a' b'`, both pointing to a different part of an AST, can I smash them together into a single `Prism' a b` or `Traversal' a b`?
14:08:45 <merijn> geekosaur: I know, but I know hvr did a bunch of working to make Paths work correctly without installing
14:09:31 <geekosaur> yeh.tbh though I would not be surprised if v1-run is just an alias for v2-run
14:09:55 <geekosaur> Paths_can't be generated differently for v1 vs. v2
14:09:55 <hololeap> there doesn't seem to be any equivalent for ./setup
14:10:12 <geekosaur> no, setup won't do that
14:10:16 <hololeap> it's not a big deal though, guys. if I don't get this working I'll just move on
14:11:06 <hololeap> although if you have any knowledge of an env variable that would override these paths, I would like to know
14:11:36 <geekosaur> were I you I would want to move away from Setup anyway. it's optional in many packages these days, and cabal has an act-as-setup internal command to replace it
14:12:08 <geekosaur> there'sa pretty strong move to make Setup go away
14:12:38 <geekosaur> they may always need to support build-type: custom, but as much as possible they want to avoid it
14:12:50 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
14:13:28 <hololeap> hm, yeah it's a bummer the main person who set all this gentoo machinery up is gone. but I think the reason why Setup.hs is used is in case cabal-install hasn't been installed
14:14:05 <hololeap> there's a bootstrapping function in the scripts that generates Setup.hs if it doesn't exist
14:17:12 <merijn> I mean gentoo's use of Setup.hs is actually the intentional use-case for Setup.hs existing, so...
14:17:42 × lechner quits (~lechner@debian/lechner) (Ping timeout: 252 seconds)
14:19:07 <maerwald[m]> Setup.hs is the only unix style interface there is
14:19:25 <maerwald[m]> I don't see that ever going away
14:19:45 <maerwald[m]> Even stack relies on it
14:22:52 vysn joins (~vysn@user/vysn)
14:23:54 <shapr> GOOD MORNING
14:23:57 shapr hops cheerfully
14:24:58 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
14:28:20 × drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
14:30:38 drdo joins (~drdo@roach0.drdo.eu)
14:32:54 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
14:33:14 cc123652345762 joins (~cc1236523@116.24.67.150)
14:34:54 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
14:35:13 cc123652345762 joins (~cc1236523@116.24.67.150)
14:35:46 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
14:36:49 <romesrf> how could I import a type instance from a module?
14:36:54 <romesrf> import Module (typeinstance?)
14:37:02 <merijn> romesrf: What is a type instance?
14:37:08 <romesrf> type instance F a = Int
14:37:16 <merijn> Ah, that's a type family
14:37:16 lechner joins (~lechner@debian/lechner)
14:37:26 <romesrf> :-)
14:37:26 <merijn> And you just import F
14:37:35 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:37:42 <romesrf> How would I import just the instance? hahahaha
14:37:50 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:38:05 <geekosaur> is the instance even meaningful without the family?
14:38:16 <merijn> I'm not sure what you mean by "just the instance". F is a type family instance is just the implementation
14:38:22 <romesrf> say, I have module A that declares type family, module B that declares an instance and then Monoid (F Somthng), and then module C which wants to know that F Somthn instances monoid
14:38:28 <merijn> 'F' is the only relevant part you can import
14:38:38 <romesrf> I see I see
14:39:31 <lechner> Hi, is anyone aware of a Perl module to parse Cabal files?
14:39:37 <romesrf> ty :)
14:39:37 <merijn> romesrf: If you have 'F' imported from A that is all you need to do "Monoid (F Something) =>" afaik
14:40:05 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/type_families.html#import-and-export
14:40:06 <romesrf> merijn: Indeed, I was trying to avoid the many of constraints
14:40:50 <romesrf> thank you geekosaur
14:41:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
14:42:15 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:44:57 × Vajb quits (~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813) (Read error: Connection reset by peer)
14:45:14 <geekosaur> lechner, afaik the only reliable way to parse a cabal file is via the cabal library
14:45:24 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
14:45:49 <geekosaur> a perl module trying to parse a cabal file would be … scary
14:46:17 <geekosaur> (not that parsing in perl 5 isn't scary to start with… I like raku more for that)
14:47:00 <lechner> it would be okay to use an intermediary Haskell executable. Is there such a Swiss army knife?
14:47:48 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds)
14:48:47 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds)
14:49:13 <geekosaur> doesn't seem to be
14:49:13 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
14:49:22 <geekosaur> looks like hvr started to write one but abandoned it
14:49:30 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
14:51:21 <lechner> okay, thanks!
14:52:12 <merijn> There's a work-in-progress parser for cabal
14:52:21 <lechner> Hi, what was the default value for 'cabal-version' when the field was not required, please?
14:53:25 <merijn> It was always required I'm pretty sure
14:53:42 <merijn> Or if it wasn't, then that was only in the way earliest days
14:54:12 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
14:54:15 <merijn> (as in, more than 15-20 years ago)
14:54:25 kritzefitz joins (~kritzefit@debian/kritzefitz)
14:57:16 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
14:57:23 × cosimone quits (~user@93-47-229-38.ip115.fastwebnet.it) (Remote host closed the connection)
14:57:37 cc123652345762 joins (~cc1236523@116.24.67.150)
14:57:38 krappix joins (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr)
14:58:30 Pickchea joins (~private@user/pickchea)
15:00:15 bahamas joins (~lucian@188.24.153.252)
15:03:34 Inst joins (~Liam@2601:6c4:4080:3f80:ddf8:a02:d4a2:e78f)
15:05:46 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
15:06:05 cc123652345762 joins (~cc1236523@116.24.67.150)
15:07:36 × shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer)
15:08:29 Sgeo joins (~Sgeo@user/sgeo)
15:08:30 shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net)
15:10:10 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
15:10:29 cc123652345762 joins (~cc1236523@116.24.67.150)
15:10:36 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
15:11:49 <lechner> merijn: thanks!
15:12:36 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:13:21 <merijn> The only change I can think of you might be referring to is that change that drops the faux-range notation and requires it as first field in the file
15:13:27 <merijn> Which is fairly recent
15:13:51 <lechner> merijn: "now required" https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-cabal-version
15:14:13 <merijn> By which I mean "from around Cabal-2.0" which was released around 5 years ago
15:15:12 <merijn> lechner: Note that it says that it changed significantly in Cabal 1.2, which was released in 2007 :)
15:15:36 toulene joins (~toulene@user/toulene)
15:15:40 <lechner> in debian i regularly encounter code written in 1998
15:16:25 <merijn> lechner: Note that a bit below it links to the github issue that has the whole discussion/rationale for changing things
15:17:18 <merijn> lechner: To clarify: the cabal-version field is intended to describe the syntax *of the cabal file* and does not relate to the cabal-install (i.e. cabal executable) used besides indirectly
15:18:00 <sclv> the approach you should take really depends on what info you want out of cabal files
15:18:22 <merijn> lechner: cabal-install is backwards compatible with all previous versions of the file-format. So this section only applies to writing/modifying cabal files and shouldn't affect anyone merely *using* cabal files
15:19:40 deadmarshal_ joins (~deadmarsh@95.38.115.166)
15:20:35 <lechner> merijn: i thought i needed it for the default build type https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-build-type
15:20:49 <merijn> lechner: So cabal files wishing to use features of newer cabal specifications must declare an appropriate cabal-version for those features (which, from 2.0 on MUST be using the new format with the version on the first line and no faux-range syntax)
15:21:56 × krappix quits (~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Quit: Client closed)
15:21:58 × `2jt quits (~jtomas@natwalu174-10.wi-fi.upv.es) (Ping timeout: 256 seconds)
15:22:03 <merijn> lechner: Well, that depends on why you want to change the default build type for a package?
15:22:20 <lechner> it's only when there is none
15:22:31 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
15:22:52 × akegalj quits (~akegalj@78-1-170-211.adsl.net.t-com.hr) (Quit: leaving)
15:22:57 <sclv> there's a lot of tools for translating between cabal files and specifications for various package managers, idk what shape they're in or their approach but eg https://hackage.haskell.org/package/cabal-debian and https://hackage.haskell.org/package/cabal2spec and https://hackage.haskell.org/package/cabal2ebuild
15:22:57 <merijn> and?
15:23:11 <merijn> lechner: What are you trying to do?
15:23:48 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 240 seconds)
15:25:34 `2jt joins (~jtomas@natwalu174-10.wi-fi.upv.es)
15:25:41 <lechner> the debian build system provides an appropriate Setup.hs file when none is present
15:28:14 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
15:28:34 cc123652345762 joins (~cc1236523@116.24.67.150)
15:28:54 <merijn> and?
15:29:12 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
15:29:37 <merijn> Why would that require modifying the package?
15:30:41 <lechner> it requires determining the build type, which depends in part on the cabal-version https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-build-type
15:30:45 × `2jt quits (~jtomas@natwalu174-10.wi-fi.upv.es) (Ping timeout: 272 seconds)
15:31:10 <merijn> It doesn't really, tbh
15:31:23 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
15:31:28 <merijn> Because the only time it can be missing is when it's Simple/Configure/Make
15:31:47 <merijn> Because Custom requires a Setup.hs exist, else the package is broken to begin with
15:32:13 <merijn> So you can just always assume that missing setup type + missing Setup.hs == Simple
15:32:15 cailt^ joins (~cailt@50.232.121.75)
15:34:26 × bahamas quits (~lucian@188.24.153.252) (Ping timeout: 256 seconds)
15:36:20 <lechner> we catch that condition, but i still have to infer the custom build type first
15:37:47 `2jt joins (~jtomas@natwalu174-10.wi-fi.upv.es)
15:38:03 <merijn> You can just grep the cabal file for setup type. If grep finds nothing, check for Setup.hs existing and if not infer Simple. Else infer Custom?
15:40:19 zebrag joins (~chris@user/zebrag)
15:40:45 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds)
15:40:47 × cailt^ quits (~cailt@50.232.121.75) (Remote host closed the connection)
15:41:28 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
15:41:47 cc123652345762 joins (~cc1236523@116.24.67.150)
15:42:10 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
15:43:36 Artyom[m] joins (~available@2001:470:69fc:105::1:d429)
15:43:55 <lechner> merijn: here is what we do presently https://salsa.debian.org/lechner/haskell-devscripts/-/blob/perl-recipes/lib/Debian/Debhelper/Buildsystem/Haskell/Recipes.pm#L901-920
15:44:13 kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net)
15:45:19 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
15:46:29 <merijn> I mean, that's basically roughly what I described, no?
15:46:40 <merijn> (as far as I can guess Perl code anyway)
15:47:12 Artyom[m] parts (~available@2001:470:69fc:105::1:d429) ()
15:47:13 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
15:47:43 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
15:49:10 × ishutin quits (~ishutin@fibhost-66-106-209.fibernet.hu) (Ping timeout: 260 seconds)
15:50:19 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
15:50:38 ishutin joins (~ishutin@92-249-193-164.pool.digikabel.hu)
15:53:13 <lechner> thanks for confirming! that's what i was aiming for.
15:54:53 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
15:55:13 cc123652345762 joins (~cc1236523@116.24.67.150)
15:55:48 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
15:55:54 × s4msung quits (bZt8T9wHxn@user/s4msung) (Quit: s4msung)
15:55:56 × noctuks quits (7vrDyCK6LH@user/noctux) (Quit: WeeChat 3.3)
15:55:56 × yushyin quits (UUdtykrwRM@mail.karif.server-speed.net) (Quit: WeeChat 3.3)
16:02:51 × vysn quits (~vysn@user/vysn) (Ping timeout: 245 seconds)
16:03:30 noctuks joins (pS9vLLhgiV@user/noctux)
16:03:30 s4msung joins (z4rgS71Nb1@user/s4msung)
16:03:31 yushyin joins (NwWjaFh18p@mail.karif.server-speed.net)
16:03:50 × liz quits (~liz@host109-151-125-217.range109-151.btcentralplus.com) (Quit: leaving)
16:04:22 liz joins (~liz@2a00:23c5:9680:501:f2d5:bfff:fe6a:5af4)
16:05:09 bahamas joins (~lucian@188.24.153.252)
16:07:01 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
16:09:23 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
16:11:57 × alp quits (~alp@user/alp) (Ping timeout: 268 seconds)
16:13:48 × toulene quits (~toulene@user/toulene) (Quit: ZNC - https://znc.in)
16:15:29 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
16:15:48 cc123652345762 joins (~cc1236523@116.24.67.150)
16:16:32 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:623a:34aa:5c8e:6872) (Quit: WeeChat 2.8)
16:17:02 × bahamas quits (~lucian@188.24.153.252) (Ping timeout: 252 seconds)
16:17:30 × Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds)
16:19:26 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
16:19:45 × vpan quits (~0@212.117.1.172) (Quit: Leaving.)
16:19:47 cc123652345762 joins (~cc1236523@116.24.67.150)
16:20:46 × mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds)
16:23:24 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
16:23:30 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
16:23:44 cc123652345762 joins (~cc1236523@116.24.67.150)
16:24:21 <Inst> do you know if there's any newer versions of HLS / GHCup / Cabal?
16:26:25 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:27:31 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
16:29:34 <merijn> newer than what?
16:30:31 neurocyte0917090 joins (~neurocyte@IP-213188113209.dynamic.medianet-world.de)
16:30:31 × neurocyte0917090 quits (~neurocyte@IP-213188113209.dynamic.medianet-world.de) (Changing host)
16:30:31 neurocyte0917090 joins (~neurocyte@user/neurocyte)
16:32:11 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
16:32:19 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:32:31 cc123652345762 joins (~cc1236523@116.24.67.150)
16:32:46 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
16:34:07 × kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection)
16:36:39 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
16:36:46 × doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds)
16:36:58 cc123652345762 joins (~cc1236523@116.24.67.150)
16:38:42 Unicorn_Princess joins (~Unicorn_P@46-54-248-191.static.kate-wing.si)
16:39:33 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab)
16:40:27 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
16:40:42 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 252 seconds)
16:41:16 MajorBiscuit joins (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl)
16:41:17 <geekosaur> ghcup can update itself
16:41:53 <liz> if there's a new not-bleeding-edge update then it'll be available either through ghcup itself or your package manager
16:41:56 <geekosaur> Cabal lib 3.6.3.0 was released this morning I believe, but cabal-install is still 3.6.2.0
16:42:11 <geekosaur> hls hasn't updated yet
16:42:42 <liz> is ghcup updated manually bt a team when new things like this come out?
16:42:47 <liz> by*
16:42:52 <merijn> "team"
16:42:53 <merijn> lol
16:43:01 <liz> or like, one dude
16:43:07 <merijn> Pretty much :)
16:43:17 <liz> hehe, is it manual then?
16:43:36 <merijn> Almost certainly
16:43:48 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Ping timeout: 240 seconds)
16:43:59 <geekosaur> ghcup itslef is updated periodically. when you run it it downloads a metadata file with current releases of everything available
16:43:59 <liz> i can't imagine it'll take too long from now if it's not available yet
16:44:12 <geekosaur> ghc 9.2.2 is already up, I'm seeing
16:44:15 <liz> gonna check my ghcup now actually
16:45:34 <liz> oh yep, ghc 9.2.2 and base 4.16.1.0 are up now
16:45:45 × juri_ quits (~juri@178.63.35.222) (Remote host closed the connection)
16:46:24 <liz> and yeah, seems that cabal 3.6.3.0 isn't on ghcup 0.1.17.5
16:46:35 <liz> i'm sure it'll go up at some point today
16:46:58 <geekosaur> it'sonly a library update, won't show in ghcup
16:47:06 motherfsck joins (~motherfsc@user/motherfsck)
16:47:09 <geekosaur> the command line tool is still 3.6.2.0
16:47:50 <geekosaur> (the namingf is admittedly confusing but Cabal the library and cabal(-install) the tool are distinct things)
16:47:52 <liz> silly question, can cabal 3.6.2.0 use cabal-lib 3.6.3.0?
16:47:59 <geekosaur> sure
16:48:19 <liz> okay yeah, i think i was conflating the two
16:48:26 <geekosaur> they'd have updated cabal-install if it had been needed
16:49:36 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
16:50:55 <geekosaur> while the two are closely related, the APIs change rarely enough that cabal-install can work with a wide range of Cabal libraries
16:51:00 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 240 seconds)
16:51:06 × ccntrq quits (~Thunderbi@2a01:c22:8df3:2600:efac:1374:1f51:a914) (Quit: ccntrq)
16:51:17 <geekosaur> and has to because the Cabal library is how you interact with packages and package databases
16:51:17 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
16:51:47 <geekosaur> which also means it's how cabal--install interacts with ghc, so you'd otherwise have to match cabal-install version with ghc version for things to work
16:56:50 juri_ joins (~juri@178.63.35.222)
16:57:35 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds)
16:58:09 × Topsi quits (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) (Read error: Connection reset by peer)
17:01:22 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:01:37 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
17:01:44 cc123652345762 joins (~cc1236523@116.24.67.150)
17:01:50 lbseale joins (~ep1ctetus@user/ep1ctetus)
17:03:30 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:03:50 cc123652345762 joins (~cc1236523@116.24.67.150)
17:04:32 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
17:07:23 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
17:07:33 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
17:09:24 dschrempf joins (~dominik@17-12-190.cgnat.fonira.net)
17:09:43 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
17:10:12 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
17:12:08 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:12:26 cc123652345762 joins (~cc1236523@116.24.67.150)
17:14:20 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:14:40 cc123652345762 joins (~cc1236523@116.24.67.150)
17:16:41 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:17:01 cc123652345762 joins (~cc1236523@116.24.67.150)
17:18:41 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:19:01 cc123652345762 joins (~cc1236523@116.24.67.150)
17:20:41 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:21:01 cc123652345762 joins (~cc1236523@116.24.67.150)
17:21:42 mikoto-chan joins (~mikoto-ch@213.177.151.239)
17:22:18 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
17:25:08 bahamas joins (~lucian@188.24.153.252)
17:26:35 × rtsn quits (~nstr@h-98-128-229-174.NA.cust.bahnhof.se) (Changing host)
17:26:35 rtsn joins (~nstr@user/rtsn)
17:27:48 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
17:29:12 deadmarshal_ joins (~deadmarsh@95.38.115.166)
17:29:58 × bahamas quits (~lucian@188.24.153.252) (Ping timeout: 260 seconds)
17:30:19 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
17:30:51 kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net)
17:31:36 k8yun joins (~k8yun@user/k8yun)
17:34:14 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:34:33 cc123652345762 joins (~cc1236523@116.24.67.150)
17:35:05 × dschrempf quits (~dominik@17-12-190.cgnat.fonira.net) (Quit: WeeChat 3.3)
17:38:12 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:38:13 × mbuf quits (~Shakthi@110.225.240.104) (Quit: Leaving)
17:38:32 cc123652345762 joins (~cc1236523@116.24.67.150)
17:40:13 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
17:40:31 cc123652345762 joins (~cc1236523@116.24.67.150)
17:41:55 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab)
17:45:54 × MajorBiscuit quits (~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds)
17:48:32 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
17:50:25 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
17:50:57 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
17:52:10 Guest26 joins (~Guest26@170.250.76.168)
17:52:57 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
17:53:30 Tuplanolla joins (~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
17:55:40 × Guest26 quits (~Guest26@170.250.76.168) (Client Quit)
17:57:03 bahamas joins (~lucian@84.232.140.52)
17:58:57 × ishutin quits (~ishutin@92-249-193-164.pool.digikabel.hu) (Ping timeout: 272 seconds)
18:00:14 ishutin joins (~ishutin@92-249-150-139.static.digikabel.hu)
18:02:34 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
18:02:53 cc123652345762 joins (~cc1236523@116.24.67.150)
18:04:33 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
18:04:51 cc123652345762 joins (~cc1236523@116.24.67.150)
18:05:27 Topsi joins (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de)
18:07:07 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
18:07:26 cc123652345762 joins (~cc1236523@116.24.67.150)
18:09:21 notzmv joins (~zmv@user/notzmv)
18:09:57 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
18:10:08 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
18:11:38 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
18:13:42 little_mac joins (~little_ma@2601:410:4300:3ce0:4154:7a97:7f52:6596)
18:14:29 × agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds)
18:15:07 agumonkey joins (~user@88.163.231.79)
18:17:46 × srk quits (~sorki@user/srk) (Ping timeout: 250 seconds)
18:18:03 Pickchea joins (~private@user/pickchea)
18:19:56 × coot quits (~coot@213.134.190.95) (Quit: coot)
18:22:27 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
18:22:46 cc123652345762 joins (~cc1236523@116.24.67.150)
18:23:47 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
18:24:41 <Franciman> why, in your opinion, haskell is much more successful than standard ml?
18:24:51 <Franciman> with a lot more private investments and corporate usage?
18:25:02 <Franciman> with a bigger community and lots of libraries
18:26:45 [exa] bisects the features
18:26:50 <[exa]> ah yes, laziness
18:27:19 <Franciman> in my view laziness is a non feature
18:27:27 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds)
18:27:33 anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net)
18:27:33 <Franciman> it makes everything harder
18:27:36 <[exa]> otoh I wouldn't say it's strictly more successful, esp. compared to other (imo bigger) ML versions
18:27:50 <Franciman> mlton is able to perform more aggressive optimisations
18:27:53 <[exa]> it's just kinda more modern, cooler, etc
18:28:27 <Franciman> like unboxing in all the cases
18:28:36 <Franciman> thanks to the fact that sml is strict
18:28:56 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
18:29:01 × tito quits (tito@tilde.team) (Quit: zzz)
18:29:02 <anon04088520> how would I write a status like gameStatus :: [theStatus] -> String and thisPlace is mapped to Yes?
18:29:05 <Franciman> i would be surprised that it's the determining feature of haskell's success
18:29:28 <[exa]> anyway laziness really really helps with making all these cool monadic tricks work without much magic, and allows you to just implement complicated stuff without going into details...it's just very practically convenient
18:29:28 <Franciman> [exa]: ocaml has way fewer libraries than haskell
18:29:40 InstX1 joins (~Liam@2601:6c4:4080:3f80:109e:5fbc:2ca5:978d)
18:29:42 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
18:29:49 <Franciman> i would say that haskell has a bigger community
18:29:54 <Franciman> most likely
18:30:03 <[exa]> depends on how you measure it
18:30:14 <[exa]> measuring sizes of library repos is probably biased :D
18:30:21 <[exa]> (towards npm :D )
18:30:25 <Franciman> ahah
18:30:38 <Franciman> i thought it would be a good measure of how much community effort is put in the project
18:30:44 dextaa_ joins (~dextaa@user/dextaa)
18:31:03 <Franciman> but yes, if you write a library for doing the sum of two numbers
18:31:07 <Franciman> it's unfair
18:31:11 <[exa]> also, people generally prefer being practical and "on the safe side" to ricing the features
18:31:15 × wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 256 seconds)
18:31:37 aeson_q joins (~aeson_q@181.122.131.227)
18:31:43 <aeson_q> hello
18:31:52 <anon04088520> hi all, does anyone know how would to write a status like gameStatus :: [theStatus] -> String and thisPlace is mapped to Yes?
18:31:53 wolfshappen joins (~waff@irc.furworks.de)
18:32:09 <[exa]> anon04088520: not sure if we can understand the question, can you provide a bit more context?
18:32:09 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
18:32:12 <Franciman> hi anon04088520 sorry but i don't understand :(
18:32:34 <Franciman> [exa]: oh do you have any name i can lookup about «cool monadic tricks» laziness allows
18:32:36 <Franciman> ?
18:32:43 <geekosaur> ^ I don't for example see where/how `thisPlace` fits into it
18:32:55 <anon04088520> for example, gameStatus thisPlace = Yes
18:33:26 <anon04088520> sorry
18:33:27 <aeson_q> I want to programatically create an Aeson.Type.Array. I cannot use Array $ fromList [ ...... ] because its value are mixed values. f.e. [1, "foo", false, ["bar", "baz"]]. How can I do that?
18:33:27 <anon04088520> wait
18:33:31 × Inst quits (~Liam@2601:6c4:4080:3f80:ddf8:a02:d4a2:e78f) (Ping timeout: 256 seconds)
18:33:38 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
18:34:01 <Franciman> aeson_q: ah this one is simpler than you think
18:34:03 <Franciman> one sec
18:34:08 <aeson_q> thanks
18:34:22 <[exa]> aeson_q: you need to convert the things into the common wrapper, I guess Franciman is coming with an example
18:34:24 <Franciman> :t Data.Aeson.Array
18:34:25 <lambdabot> error:
18:34:25 <lambdabot> Not in scope: data constructor ‘Data.Aeson.Array’
18:34:25 <lambdabot> No module named ‘Data.Aeson’ is imported.
18:34:29 <Franciman> ouch
18:34:32 <Franciman> yes
18:34:34 <Franciman> what [exa] says
18:34:35 <anon04088520> gameStatus [thisPlace, None, Else] = "Yes - yes"
18:34:36 <Franciman> :)
18:34:47 <geekosaur> % :t Data.Aeson.Array -- hailmary
18:34:48 <yahb> geekosaur: ; <interactive>:1:1: error:; Not in scope: data constructor `Data.Aeson.Array'; No module named `Data.Aeson' is imported.
18:35:05 <aeson_q> try :t Data.Aeson.Value
18:35:09 <geekosaur> % import Data.Aeson
18:35:09 <yahb> geekosaur: ; <no location info>: error:; Could not find module `Data.Aeson'; Perhaps you meant Data.Version (from base-4.15.0.0)
18:35:17 <anon04088520> does that sort of make sense
18:35:19 <anon04088520> ?
18:35:21 <geekosaur> I don';t think either bot has aeson available
18:35:25 <Franciman> anon04088520: what is your task?
18:35:58 <Franciman> anon04088520: https://hackage.haskell.org/package/aeson-2.0.3.0/docs/Data-Aeson.html#t:Array as you can see
18:36:04 <Franciman> it requires a list of values
18:36:06 <anon04088520> If I get given a [theStatus] I was the map each element to a specific character
18:36:11 <aeson_q> you need to convert the things into the common wrapper, sorry I can't follow
18:36:32 <Franciman> aeson_q: https://hackage.haskell.org/package/aeson-2.0.3.0/docs/Data-Aeson.html#t:Value <- this
18:36:47 ProfSimm joins (~ProfSimm@87.227.196.109)
18:36:58 <Franciman> you have to define a list of Values, like this: [Number 13, Bool "True", String "Hello"]
18:37:40 <[exa]> aeson_q: actually the "inner" problem is that you can't (easily) create a polymorphic list so stuff like `fmap toJson` can't save you
18:38:17 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
18:38:30 srk joins (~sorki@user/srk)
18:38:41 <[exa]> anon04088520: kinda starting to make sense. So you have a functino that converts your type that contains None and Else to strings, and you just want all of them concatenated?
18:38:52 <anon04088520> Yes
18:39:32 <aeson_q> exa, Franciman, ok I get a step closer...
18:39:35 <aeson_q> let me try
18:39:43 <[exa]> anon04088520: so that's literally the function of concatMap
18:40:00 <energizer> what is the relationship between Foldable and Monoid?
18:40:32 <[exa]> anon04088520: I kinda expect that `concatMap gameStatus` could work
18:40:48 <anon04088520> [exa]: like https://paste.tomsmeding.com/oire7Vgn
18:40:53 <[exa]> if not, please make a pastebin with a minimal mess... ah there
18:41:35 <[exa]> anon04088520: maybe if you want the spaces in between, try `intercalate " " . map gameStatus`
18:41:35 <anon04088520> does that sort of explain it better?
18:41:38 <[exa]> yes
18:41:47 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
18:42:02 <[exa]> try the stuff from above, if not please supply at least a minimal definition of the gameStatus function so that we can see how it behaves
18:42:05 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
18:42:08 ProfSimm joins (~ProfSimm@87.227.196.109)
18:42:32 <anon04088520> this is meant to be a basic function for a wordle clone project
18:42:58 <anon04088520> hope that provides some more context
18:44:32 × teddyc quits (theodorc@cassarossa.samfundet.no) (Ping timeout: 240 seconds)
18:45:26 <energizer> is Foldable for if you have a monoid but either it's not declared as a Monoid or it is a Monoid and you want to use a function other than its mappend?
18:45:48 <liz> you can define a Foldable instance in terms of foldMap
18:45:50 <liz> :t foldMap
18:45:51 <lambdabot> (Foldable t, Monoid m) => (a -> m) -> t a -> m
18:47:05 lisk1n joins (~liskin@notes.lisk.in)
18:47:08 × lisk1n quits (~liskin@notes.lisk.in) (Client Quit)
18:47:30 <energizer> yeah but if that's what it was /for/, `fold` could just be on Monoid itself
18:47:50 doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
18:48:11 <[exa]> energizer: Foldable things can be interpreted as monoids, but don't need to satisfy monoid laws
18:48:42 <[exa]> s/as/using/
18:48:56 <energizer> [exa]: is there a useful case of Foldable that doesn't satisfy monoid laws?
18:49:47 <aeson_q> ok, I ran into another problem with this...
18:49:58 econo joins (uid147250@user/econo)
18:50:12 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
18:50:40 <liz> energizer: if you want a small example, i recently used a Foldable to construct a tree from a file, directly from the IO; since reading from the file was non-associative i was folding over a non-monoid, but the fold was a succinct way of constructing the tree
18:51:34 <[exa]> energizer: I might have mixed up the generalization directions there (*returns to the books*)
18:51:49 <aeson_q> i have a date (instance of EpochTime) that I need to encode inside: Aeson.Types.Number $ date, seems like I need to convert EpochTime -> Data.Scientific.Scientific, any suggestions?
18:51:49 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
18:51:53 × `2jt quits (~jtomas@natwalu174-10.wi-fi.upv.es) (Ping timeout: 256 seconds)
18:52:18 <liz> if the thing you're folding over is a Monoid, then foldl and foldr will be "the same" by the fact that monoids are associative necessarily
18:52:26 <monochrom> Foldable is for what most people consider "container data structures" and when you want to perform monoid operations (what most people call "aggregate operations") on elements.
18:53:11 <monochrom> A little bit more precisely, container data structures that feel like sequences.
18:53:40 <monochrom> or can be downgraded to sequences.
18:53:51 <[exa]> could you make up a "default" mappend for each Foldable?
18:55:21 <monochrom> No, Foldable methods aren't enough to produce Foldable instances. Only enough for consuming elements.
18:55:40 <monochrom> Well, unless you just want to produce a list.
18:57:26 <anon04088520> so I am writing a function that takes a list of words and concatenates them and returns a string
18:58:25 <geekosaur> aeson_q, EpochTime is a wrapper for Int64, you can use fromEnum to extract the Int64 and encode it
18:58:27 <anon04088520> but each item in the list needs to be mapped to a specific work
18:58:51 <[exa]> anon04088520: did you try the above code I sent?
18:59:19 <anon04088520> I haven't heard of concatMap
18:59:29 <[exa]> monochrom: you meant "to produce Monoid instances" ?
18:59:32 <anon04088520> I couldn't get it to work
18:59:41 <monochrom> No. No typo there.
18:59:53 <[exa]> monochrom: oh so okay :D
19:00:07 <anon04088520> is there a simpler way to do it?
19:00:13 unit73e joins (~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
19:00:18 <[exa]> anon04088520: you can do it with "concat" and "map" separately
19:00:51 × aeson_q quits (~aeson_q@181.122.131.227) (Remote host closed the connection)
19:00:53 × Logio_ quits (em@kapsi.fi) (Remote host closed the connection)
19:00:57 <monochrom> concat, map, and concatMap are all very simple.
19:01:01 <anon04088520> could you show me an example?
19:01:31 × doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds)
19:02:50 <[exa]> anon04088520: see above. Ideally we'd need a type of your `gameStatus` function
19:04:13 <anon04088520> it's a list for example [Here] maps to "Yes"
19:04:34 <anon04088520> [Here, Nowhere] maps to " Yes -"
19:05:07 <anon04088520> gameStatus [Here, Nowhere] should evaluate to "Yes -"
19:05:20 jonathanx_ joins (~jonathan@c-5eea36ff-74736162.cust.telenor.se)
19:06:20 <[exa]> anon04088520: what's the name of the function that translates the things to strings? e.g. maps a single Here to "Yes" ?
19:06:24 <monochrom> Do you know how to use "map" to go from [Here, Nowhere] to ["Yes", "-"]?
19:06:51 <anon04088520> gameStatus
19:06:54 <monochrom> After that, Data.List's intercalate can help you merge the words and insert spaces.
19:06:58 × liskin quits (~liskin@xmonad/liskin) (Quit: liskin)
19:07:23 <anon04088520> monochrom: it should return a "Yes -" not ["Yes", "-"]
19:07:35 <monochrom> Sure, see my second sentence.
19:07:54 liskin joins (~liskin@xmonad/liskin)
19:07:54 × jonathanx_ quits (~jonathan@c-5eea36ff-74736162.cust.telenor.se) (Read error: Connection reset by peer)
19:08:03 <geekosaur> or unwords?
19:08:04 × jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds)
19:08:17 <monochrom> Oh, haha, I forgot unwords.
19:08:23 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
19:09:19 jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
19:09:23 <anon04088520> It it possible to that without importing Data.List?
19:09:33 <geekosaur> unwords is in the Prelude
19:09:45 <geekosaur> > unwords ["Yes","-"]
19:09:47 <lambdabot> "Yes -"
19:10:34 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
19:11:54 <anon04088520> but if I wanted to make the function myself
19:11:59 <anon04088520> and not use unwords
19:12:19 <monochrom> Then it is a bit of an annoying recursion you have to write.
19:12:20 <anon04088520> e.g. gameStatus should map [Here] to "Yes"
19:12:33 <monochrom> unwords does that already.
19:12:50 <monochrom> Err, unwords does ["Yes"] to "Yes" already.
19:12:57 <monochrom> I no longer understand your question.
19:13:25 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds)
19:13:40 <anon04088520> How would I write it using recursion?
19:13:49 <monochrom> You demand both "simple" and "write everything from scratch" as far as I can tell. Can't be done.
19:13:53 <anon04088520> Can I find the source for unwords?
19:14:00 <anon04088520> im sorry
19:14:25 × ystael quits (~ystael@user/ystael) (Quit: Lost terminal)
19:15:05 <geekosaur> @src unwords
19:15:05 <lambdabot> unwords [] = ""
19:15:05 <lambdabot> unwords ws = foldr1 (\w s -> w ++ ' ':s) ws
19:15:13 liz_ joins (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
19:15:41 <monochrom> Heh that just goes down the rabbit hole of foldr1...
19:15:41 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
19:16:00 <geekosaur> it could go downb the rabbit hole of intercalate instead…
19:16:54 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds)
19:17:15 <monochrom> In elementary terms, the recursion of unwords requires two base cases, not just one. This is because ["yes"] -> "yes" does not fit the general case of ["yes", "no", "maybe"] -> "yes no maybe". I.e., the # of spaces is off by 1.
19:17:27 <geekosaur> anon04088520, the usual ways to do this is two functions, one to do the mapping and one to do the combining. although in most cases I'd just use unwords or intercalate for the latter rather than writing it
19:17:41 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
19:18:00 <monochrom> But if you are aware of that, it's a garden-variety recursion apart from that.
19:18:22 <anon04088520> I wasn't aware of it
19:19:05 × agumonkey quits (~user@88.163.231.79) (Ping timeout: 256 seconds)
19:21:45 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
19:23:19 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
19:23:43 <anon04088520> geekosaur: how would I do the mapping?
19:24:22 <geekosaur> % data Loc = Here | There | Somewhere
19:24:22 <yahb> geekosaur:
19:24:32 teddyc joins (theodorc@cassarossa.samfundet.no)
19:24:54 <geekosaur> % loc Here = "Yes"; loc There = "No"; loc Somewhere = "-"
19:24:54 <yahb> geekosaur:
19:25:23 <geekosaur> % unwords (map loc [Here, Somewhere, No]
19:25:23 <yahb> geekosaur: ; <interactive>:19:39: error: parse error (possibly incorrect indentation or mismatched brackets)
19:25:28 <geekosaur> % unwords (map loc [Here, Somewhere, No])
19:25:28 <yahb> geekosaur: ; <interactive>:20:36: error:; * Data constructor not in scope: No :: Loc; * Perhaps you meant variable `to' (imported from Control.Lens)
19:25:34 <geekosaur> % unwords (map loc [Here, Somewhere, There])
19:25:34 <yahb> geekosaur: "Yes - No"
19:25:39 <geekosaur> sorry about that last
19:25:48 <geekosaur> slightly distracted here
19:27:11 <anon04088520> sorry this is going sound silly, is loc a keyword or just made up?
19:27:13 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
19:27:21 <geekosaur> I defined a function with three cases
19:27:30 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
19:28:22 <geekosaur> it's the same as saying: loc place = case place of { Here -> "Yes"; There -> "no"; Somewhere -> "-" }
19:28:40 <anon04088520> ahhh ok I see
19:28:48 × anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Remote host closed the connection)
19:29:07 anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net)
19:29:52 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
19:30:30 × Topsi quits (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) (Read error: Connection reset by peer)
19:32:05 Topsi joins (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de)
19:32:27 coot joins (~coot@213.134.190.95)
19:33:28 xkuru joins (~xkuru@user/xkuru)
19:34:19 simendsjo joins (~user@84.211.91.241)
19:38:47 bahamas joins (~lucian@84.232.140.52)
19:38:49 vicfred joins (~vicfred@user/vicfred)
19:40:00 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
19:40:06 <anon04088520> geekosaur: is this right? https://replit.com/join/idzzjvapir-sr53
19:40:56 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds)
19:42:01 vicfred_ joins (~vicfred@user/vicfred)
19:44:17 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 240 seconds)
19:46:49 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
19:46:50 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
19:47:08 cc123652345762 joins (~cc1236523@116.24.67.150)
19:47:24 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
19:48:15 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
19:48:55 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
19:49:57 × simendsjo quits (~user@84.211.91.241) (Ping timeout: 240 seconds)
19:50:21 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
19:53:04 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
19:53:23 cc123652345762 joins (~cc1236523@116.24.67.150)
19:53:38 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
19:54:38 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
19:55:17 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
19:55:56 Lord_of_Life_ is now known as Lord_of_Life
19:56:12 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
19:56:14 × kimjetwav quits (~user@2607:fea8:2363:8f00:979b:b492:f897:b694) (Excess Flood)
19:56:41 kimjetwav joins (~user@2607:fea8:2363:8f00:3065:9fc7:d58e:fc3e)
19:56:53 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
19:59:46 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:00:05 cc123652345762 joins (~cc1236523@116.24.67.150)
20:01:45 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:02:03 cc123652345762 joins (~cc1236523@116.24.67.150)
20:02:57 × kuribas quits (~user@ptr-25vy0ia80zmfb26ginl.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
20:04:15 Erutuon joins (~Erutuon@user/erutuon)
20:04:15 × burnsidesLlama quits (~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
20:06:06 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:06:25 cc123652345762 joins (~cc1236523@116.24.67.150)
20:06:25 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
20:06:41 notzmv joins (~zmv@user/notzmv)
20:08:18 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
20:12:22 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:12:43 cc123652345762 joins (~cc1236523@116.24.67.150)
20:15:21 × fendor_ quits (~fendor@178.115.53.79.wireless.dyn.drei.com) (Remote host closed the connection)
20:17:38 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
20:19:18 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:19:37 cc123652345762 joins (~cc1236523@116.24.67.150)
20:20:16 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
20:21:56 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:21:59 Logio joins (em@kapsi.fi)
20:22:14 cc123652345762 joins (~cc1236523@116.24.67.150)
20:23:24 deadmarshal_ joins (~deadmarsh@95.38.115.166)
20:23:47 × fockeriz1 quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.3)
20:25:45 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
20:26:46 `2jt joins (~jtomas@210.red-88-24-179.staticip.rima-tde.net)
20:27:58 × deadmarshal_ quits (~deadmarsh@95.38.115.166) (Ping timeout: 256 seconds)
20:28:20 cjb joins (~cjb@user/cjb)
20:30:03 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
20:30:26 jgeerds joins (~jgeerds@55d4548e.access.ecotel.net)
20:32:26 × `2jt quits (~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Remote host closed the connection)
20:35:00 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:35:19 cc123652345762 joins (~cc1236523@116.24.67.150)
20:36:59 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:37:19 cc123652345762 joins (~cc1236523@116.24.67.150)
20:37:50 <remexre> if I'm getting a segfault in FFI code in a largish haskell program, is there a good way to get a haskell stack trace from it?
20:39:31 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:39:50 cc123652345762 joins (~cc1236523@116.24.67.150)
20:40:06 × coot quits (~coot@213.134.190.95) (Quit: coot)
20:40:49 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:43:30 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:43:48 cc123652345762 joins (~cc1236523@116.24.67.150)
20:45:29 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:45:48 cc123652345762 joins (~cc1236523@116.24.67.150)
20:47:35 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
20:47:54 cc123652345762 joins (~cc1236523@116.24.67.150)
20:48:17 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
20:49:00 × vicfred_ quits (~vicfred@user/vicfred) (Quit: Leaving)
20:49:35 vicfred joins (~vicfred@user/vicfred)
20:52:30 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
20:52:39 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:54:07 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
20:54:33 pavonia joins (~user@user/siracusa)
20:57:49 <geekosaur> not really
20:58:23 yauhsien joins (~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
20:58:34 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
21:00:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:00:52 × son0p quits (~ff@181.136.122.143) (Remote host closed the connection)
21:01:15 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
21:03:07 × yauhsien quits (~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
21:05:18 acidjnk joins (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de)
21:05:57 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
21:07:52 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:08:12 cc123652345762 joins (~cc1236523@116.24.67.150)
21:09:52 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:09:58 × anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Remote host closed the connection)
21:10:11 cc123652345762 joins (~cc1236523@116.24.67.150)
21:10:37 vorpuni joins (~pvorp@2001:861:3881:c690:a396:9946:d0cf:5cc0)
21:10:43 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Read error: Connection reset by peer)
21:10:50 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
21:10:50 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
21:12:25 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
21:13:01 × srk quits (~sorki@user/srk) (Ping timeout: 250 seconds)
21:13:12 nattiestnate joins (~nate@202.138.250.10)
21:16:22 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:16:40 cc123652345762 joins (~cc1236523@116.24.67.150)
21:18:21 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:18:40 cc123652345762 joins (~cc1236523@116.24.67.150)
21:20:00 son0p joins (~ff@181.136.122.143)
21:28:47 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
21:29:24 × InstX1 quits (~Liam@2601:6c4:4080:3f80:109e:5fbc:2ca5:978d) (Ping timeout: 240 seconds)
21:30:18 × bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds)
21:30:24 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
21:31:43 emf joins (~emf@8.46.76.75)
21:31:56 × emf quits (~emf@8.46.76.75) (Remote host closed the connection)
21:33:56 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:34:14 cc123652345762 joins (~cc1236523@116.24.67.150)
21:34:32 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds)
21:34:52 emf joins (~emf@8.46.76.75)
21:35:24 coot joins (~coot@213.134.190.95)
21:35:30 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
21:35:32 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:37:54 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:38:13 cc123652345762 joins (~cc1236523@116.24.67.150)
21:39:53 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:40:12 cc123652345762 joins (~cc1236523@116.24.67.150)
21:41:52 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:42:10 cc123652345762 joins (~cc1236523@116.24.67.150)
21:42:36 × wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds)
21:43:22 × nattiestnate quits (~nate@202.138.250.10) (Quit: WeeChat 3.4)
21:44:41 wyrd joins (~wyrd@gateway/tor-sasl/wyrd)
21:46:21 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:46:40 cc123652345762 joins (~cc1236523@116.24.67.150)
21:46:56 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
21:46:59 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
21:47:16 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
21:47:46 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit)
21:47:51 × liz_ quits (~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection)
21:48:39 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
21:49:02 jpds joins (~jpds@gateway/tor-sasl/jpds)
21:49:13 <int-e> maerwald[m]: Hmm Endo and "wasted intellectual energy" -- how else do you get foldr from fold (or foldMap)? You /need/ an auxiliary monoid, and that monoid happens to be function composition, which is Endo. Unless your plan is to get rid of the Foldable abstraction and go back to lists? I could get behind that... especially for teaching.
21:50:46 <maerwald> I didn't argue against Endo as an implementation detail
21:51:04 × emf quits (~emf@8.46.76.75) (Quit: emf)
21:51:04 <maerwald> just that using it in your own code can look confusing, depending on how you use it
21:51:23 <int-e> maerwald[m]: Or maybe you want a DList based toList / foldr on list, hmm. But on the library level you'll end up implementing a `build` variant of `toList`, and why not inline that, and after a few steps you'll end up with what's there.
21:51:39 emf joins (~emf@8.46.76.75)
21:51:46 <maerwald> I mean, it's really not that complicated
21:51:52 <maerwald> just allows some funny obfuscation
21:52:34 <int-e> It's definitely not something I understood at a glance the first time I saw it, so yes, it costs intellectual energy. I'm just not convinced it's wasted :)
21:52:40 <maerwald> and the docs could give a more interesting example
21:53:16 <int-e> (I already knew about Endo and foldMap, so the #. caused me far more trouble.)
21:53:52 <int-e> @src foldr
21:53:52 <lambdabot> foldr f z [] = z
21:53:52 <lambdabot> foldr f z (x:xs) = f x (foldr f z xs)
21:54:19 <int-e> And I knew that it was supposed to do this on lists...
21:54:47 <int-e> But I definitely treat it as an implementation detail.
21:57:10 × cc123652345762 quits (~cc1236523@116.24.67.150) (Remote host closed the connection)
21:57:29 cc123652345762 joins (~cc1236523@116.24.67.150)
21:58:11 merijn joins (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
21:58:54 × dextaa_ quits (~dextaa@user/dextaa) (Remote host closed the connection)
22:00:38 <int-e> I guess I'd only call it obfuscation if it wasn't dictated by necessity (need a monoid (hence the use of Endo), and it's performance critical (justifying the use of #.))
22:04:00 × cc123652345762 quits (~cc1236523@116.24.67.150) (Ping timeout: 256 seconds)
22:05:13 alx741 joins (~alx741@host-181-198-243-150.netlife.ec)
22:05:17 × alx741 quits (~alx741@host-181-198-243-150.netlife.ec) (Client Quit)
22:06:50 da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100)
22:07:29 × michalz quits (~michalz@185.246.204.65) (Remote host closed the connection)
22:08:27 emf_ joins (~emf@2620:10d:c090:400::5:9013)
22:08:36 × emf quits (~emf@8.46.76.75) (Ping timeout: 240 seconds)
22:10:48 srk joins (~sorki@user/srk)
22:11:30 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
22:11:42 × k8yun quits (~k8yun@user/k8yun) (Quit: Leaving)
22:12:15 dsamperi joins (~dsamperi@2603-7000-3b42-5400-e891-6e71-97ff-c3d7.res6.spectrum.com)
22:15:40 × coot quits (~coot@213.134.190.95) (Quit: coot)
22:16:12 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
22:17:50 × shailangsa quits (~shailangs@host86-186-133-59.range86-186.btcentralplus.com) (Remote host closed the connection)
22:17:55 × srk quits (~sorki@user/srk) (Ping timeout: 256 seconds)
22:18:04 InstX1 joins (~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
22:18:11 <dsamperi> Plutus Playground was not available recently (bad certificate) and now it is up, but the Hello World example leads to "Validation failed." Most of the tutorial videos are months or years old,yet Playground was introduced in January 2022 I think. Current Status?
22:21:07 niekvandepas joins (~niekvande@77-161-122-185.fixed.kpn.net)
22:21:50 <dsamperi> My bad, I was not logged in. The Plutus Playground Hello World example seems to work.
22:23:39 InstX1_ joins (~Liam@2601:6c4:4080:3f80:d810:4ede:3443:87a)
22:26:33 emf joins (~emf@8.46.76.75)
22:26:51 × niekvandepas quits (~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
22:27:06 × emf_ quits (~emf@2620:10d:c090:400::5:9013) (Read error: Connection reset by peer)
22:27:32 × merijn quits (~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
22:28:07 × InstX1 quits (~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
22:29:51 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab) (Remote host closed the connection)
22:30:05 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3d9b:7fc7:6af0:b7ab)
22:31:03 × emf quits (~emf@8.46.76.75) (Remote host closed the connection)
22:31:16 mcgroin joins (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
22:31:17 justsomeguy joins (~justsomeg@user/justsomeguy)
22:31:49 emf joins (~emf@8.46.76.75)
22:32:48 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:38:23 × da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:d2a9:60e1:b35d:75ca:9100) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:38:50 × MironZ quits (~MironZ@nat-infra.ehlab.uk) (Remote host closed the connection)
22:39:04 MironZ joins (~MironZ@nat-infra.ehlab.uk)
22:44:17 × InstX1_ quits (~Liam@2601:6c4:4080:3f80:d810:4ede:3443:87a) (Ping timeout: 240 seconds)
22:46:13 anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net)
22:48:56 <anon04088520> any idea how to make it print on a new line? https://paste.tomsmeding.com/gGqLXof2 and also how I can add spaces between the characters during input
22:49:52 <romesrf> anon04088520: we were talking b4, you should check again how it was said in class to do the getGuess n attempts
22:52:36 × emf quits (~emf@8.46.76.75) (Quit: emf)
22:53:00 × dsamperi quits (~dsamperi@2603-7000-3b42-5400-e891-6e71-97ff-c3d7.res6.spectrum.com) (Ping timeout: 240 seconds)
22:54:55 × shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
22:55:09 <geekosaur> https://paste.tomsmeding.com/0dbUOwGG is a way to do it but possibly not what you should be using
22:55:12 shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net)
22:55:47 × mcgroin quits (~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
22:56:12 <anon04088520> I'm reviewing a lecture on it
22:58:04 motherfsck joins (~motherfsc@user/motherfsck)
22:58:41 <geekosaur> oh, I forgot to change getChar back to getChar'
22:59:31 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
23:01:08 × zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
23:03:35 <anon04088520> ok
23:04:17 InstX1_ joins (~Liam@2601:6c4:4080:3f80:b5e9:14a0:500e:3e39)
23:06:01 burnsidesLlama joins (~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
23:07:04 × Topsi quits (~Tobias@dyndsl-095-033-017-136.ewe-ip-backbone.de) (Read error: Connection reset by peer)
23:08:00 mreh joins (~mreh@2a00:23c7:2803:ef00:d01b:c280:b64b:b893)
23:09:19 mreh is now known as mreh_
23:10:14 <mreh_> What is there difference between the types in this error message?
23:10:15 <mreh_> Couldn't match type ‘[S.PhotoT (QExpr Postgres s0)]’
23:10:15 <mreh_>                      with ‘forall s'. [S.PhotoT (QExpr Postgres s')]’
23:10:57 <hpc> rank
23:10:59 <mreh_> Is the s not the same in all the elements in the list?
23:11:44 <hpc> s0 is part of a larger scope than s'
23:12:10 <hpc> s' is introduced right at the list, and s0 is introduced somewhere further out that's not communicated in that error
23:15:18 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
23:15:59 <mreh_> I can't work out where s' is introduced, all the functions I'm using to construct values of S.PhotoT... all have forall s. in their type.
23:16:26 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
23:18:20 <hpc> s' is introduced by that forall right there in the error
23:18:30 <hpc> :P
23:20:33 daemonises joins (uid545329@id-545329.uxbridge.irccloud.com)
23:23:39 × acidjnk quits (~acidjnk@p200300d0c7049f37592e4ec9ecef3fab.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
23:31:15 × mreh_ quits (~mreh@2a00:23c7:2803:ef00:d01b:c280:b64b:b893) (Ping timeout: 256 seconds)
23:32:32 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 240 seconds)
23:36:57 stefan-_ joins (~cri@42dots.de)
23:39:01 × anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Remote host closed the connection)
23:39:19 anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net)
23:40:58 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
23:43:43 × anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Ping timeout: 256 seconds)
23:44:51 × fluxit quits (~fluxit@techsmix.net) (Quit: Bye!)
23:45:38 anon04088520 joins (~anon04088@host-92-19-97-204.as13285.net)
23:49:35 texasmynsted parts (~texasmyns@99.96.221.112) (WeeChat 3.4)
23:49:57 × anon04088520 quits (~anon04088@host-92-19-97-204.as13285.net) (Ping timeout: 256 seconds)
23:50:51 worldhelloworld joins (~c1utt4r@vmi275462.contaboserver.net)
23:52:09 chenqisu1 joins (~chenqisu1@183.217.201.47)
23:53:47 <worldhelloworld> Really struggling to conceptualize folds when traversing a list - could barely define a takeWhile in terms of foldr, but can't for the life of me, conceptualize a dropWhile in terms of fold :(
23:55:25 <dminuoso> Can you share your version of takeWhile perhaps?
23:55:32 shailangsa joins (~shailangs@host86-186-133-59.range86-186.btcentralplus.com)
23:55:32 <worldhelloworld> Sure
23:55:50 <worldhelloworld> `takeWhile'' f = foldr (\x acc -> if f x then x:acc else []) []`
23:57:27 × vorpuni quits (~pvorp@2001:861:3881:c690:a396:9946:d0cf:5cc0) (Remote host closed the connection)

All times are in UTC on 2022-03-07.