2022/03/10

2022-03-10 00:01:27 +0100romesrf(~romes@198.177.63.94.rev.vodafone.pt) (Quit: WeeChat 3.4)
2022-03-10 00:02:06 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8852:a14c:a420:3fd8)
2022-03-10 00:02:16 +0100tfeb(~tfb@88.98.95.237)
2022-03-10 00:14:54 +0100tfeb(~tfb@88.98.95.237) (Quit: died)
2022-03-10 00:15:15 +0100EvanR_EvanR
2022-03-10 00:15:32 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 00:15:35 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-03-10 00:16:30 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-03-10 00:17:57 +0100kadobanana(~mud@user/kadoban) (Ping timeout: 240 seconds)
2022-03-10 00:18:04 +0100mud(~mud@user/kadoban)
2022-03-10 00:19:19 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 00:20:17 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-10 00:26:02 +0100fendor(~fendor@91.141.34.180.wireless.dyn.drei.com) (Remote host closed the connection)
2022-03-10 00:37:50 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8852:a14c:a420:3fd8) (Remote host closed the connection)
2022-03-10 00:38:04 +0100Lycurgus(~juan@98.4.112.204) (Quit: Exeunt)
2022-03-10 00:38:12 +0100alp(~alp@user/alp)
2022-03-10 00:39:03 +0100 <dpratt> liz_: if you're still around, the answer to your question is: it's a summation where each term is computed by "(3 * choose (2 * n) n) / (16 ^n * (2 * n + 1))"
2022-03-10 00:40:18 +0100 <dpratt> that is not how I am constructing the computation, mind you, it's just what the computation is supposed to be doing
2022-03-10 00:47:49 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8852:a14c:a420:3fd8)
2022-03-10 00:48:57 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-10 00:49:11 +0100 <liz_> dpratt: is that a summation from 1 to infinity? i've not seen that before :o
2022-03-10 00:50:14 +0100 <dpratt> liz_: neither have I; came to me via a "math guy"
2022-03-10 00:51:57 +0100spider__(~spider@vps-951ce37a.vps.ovh.ca) (Ping timeout: 240 seconds)
2022-03-10 00:52:52 +0100unyu(~pyon@user/pyon) (Quit: WeeChat 3.4)
2022-03-10 00:54:12 +0100 <monochrom> I hate combinatorics. :)
2022-03-10 00:54:13 +0100acidjnk(~acidjnk@p200300d0c7049f95a8560519e34e318b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 00:57:05 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-03-10 00:58:37 +0100 <liz_> dpratt: i come from a maths world and i've never seen that before, it's so interesting
2022-03-10 01:00:56 +0100 <sclv> i wonder if one can interpret it sort of like the "dartboard" approximation
2022-03-10 01:01:25 +0100 <sclv> like you're choosing points in or out of successive approximations to the circle
2022-03-10 01:02:09 +0100 <liz_> sclv: that's a monte carlo method, which are super cool
2022-03-10 01:02:54 +0100 <liz_> i'm consulting my maths friend (who likes combinatorics) if they've ever seen it before
2022-03-10 01:03:28 +0100 <sclv> i also wonder if you expand out the factorials and rearrange if it looks like another more familiar sequence
2022-03-10 01:03:46 +0100Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-10 01:05:37 +0100ishutin(~ishutin@79-120-162-190.pool.digikabel.hu) (Ping timeout: 240 seconds)
2022-03-10 01:07:09 +0100cosimone(~user@93-47-229-38.ip115.fastwebnet.it) (Quit: ERC (IRC client for Emacs 27.1))
2022-03-10 01:07:29 +0100ishutin(~ishutin@fibhost-67-47-41.fibernet.hu)
2022-03-10 01:07:38 +0100cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2022-03-10 01:09:47 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 01:14:43 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-03-10 01:15:36 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 240 seconds)
2022-03-10 01:16:13 +0100joo-_(~joo-_@fsf/member/joo--) (Ping timeout: 240 seconds)
2022-03-10 01:17:09 +0100cheater(~Username@user/cheater)
2022-03-10 01:18:12 +0100joo-_(~joo-_@87-49-44-190-mobile.dk.customer.tdc.net)
2022-03-10 01:18:13 +0100joo-_(~joo-_@87-49-44-190-mobile.dk.customer.tdc.net) (Changing host)
2022-03-10 01:18:13 +0100joo-_(~joo-_@fsf/member/joo--)
2022-03-10 01:18:31 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-03-10 01:18:31 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
2022-03-10 01:18:31 +0100adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100hololeap(~hololeap@user/hololeap) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Read error: Connection reset by peer)
2022-03-10 01:18:31 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer)
2022-03-10 01:18:31 +0100HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato) (Read error: Connection reset by peer)
2022-03-10 01:18:31 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100ec(~ec@gateway/tor-sasl/ec) (Write error: Connection reset by peer)
2022-03-10 01:18:31 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Write error: Connection reset by peer)
2022-03-10 01:19:20 +0100 <dpratt> welp, I got to that point https://paste.tomsmeding.com/5p9Z62eR
2022-03-10 01:19:28 +0100hololeap(~hololeap@user/hololeap)
2022-03-10 01:19:49 +0100 <dpratt> works great, if you only need 40 correct digits computed fairly slowly
2022-03-10 01:20:36 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-03-10 01:20:53 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2022-03-10 01:20:53 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2022-03-10 01:20:54 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-03-10 01:20:55 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-03-10 01:20:59 +0100HotblackDesiato(~HotblackD@gateway/tor-sasl/hotblackdesiato)
2022-03-10 01:21:00 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-03-10 01:21:01 +0100ec(~ec@gateway/tor-sasl/ec)
2022-03-10 01:21:01 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-03-10 01:21:07 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-03-10 01:21:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-03-10 01:21:44 +0100liz_liz
2022-03-10 01:21:59 +0100 <liz> dpratt: how long does it take you to compute 40 digits?
2022-03-10 01:23:10 +0100 <dpratt> "piDigits 1000" takes about a second to compute 40 correct digits followed by (1000 - 40) incorrect digits
2022-03-10 01:23:19 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-03-10 01:23:24 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-10 01:24:06 +0100 <dpratt> maybe an assumption in how I'm trying to limit the computation is not valid
2022-03-10 01:24:09 +0100unyu(~pyon@user/pyon)
2022-03-10 01:25:37 +0100 <dpratt> like I'm assuming each successive term is smaller, is that possibly not the case?
2022-03-10 01:26:47 +0100da39a3ee5e6b4b0d(~textual@171.5.29.46)
2022-03-10 01:30:32 +0100 <liz> dpratt: when i ran your code, there was a few errors in digits before 40 as well
2022-03-10 01:30:46 +0100 <liz> there seems to be a rounding error in where you're cutting the series off
2022-03-10 01:31:36 +0100 <liz> for example, on my machine, at 11 digits the function returned "3.14159265359" but the actual pi at that point is "3.14159265358"
2022-03-10 01:31:59 +0100 <liz> to solve that at least you could compute one more digit than is needed and do the rounding yorself
2022-03-10 01:32:59 +0100 <liz> i'm not sure about beyond 40 though, it does deviate irreparably for some reason...
2022-03-10 01:33:41 +0100 <int-e> dpratt: the Ord instance only uses 40 digits
2022-03-10 01:33:54 +0100 <dpratt> whaaa?
2022-03-10 01:34:03 +0100 <liz> oh wow lol
2022-03-10 01:34:10 +0100 <dpratt> int-e: if that is so, you are a lifesaver
2022-03-10 01:34:12 +0100 <int-e> https://hackage.haskell.org/package/numbers-3000.2.0.2/docs/src/Data.Number.CReal.html#line-25 ...digits is defined further down to be 40.
2022-03-10 01:34:21 +0100 <liz> what's the solution then? would it be a newtype followed by a custom Ord instance?
2022-03-10 01:35:20 +0100 <liz> oh, this code was written by someone at the university of manchester, i was going to do my phd there :o
2022-03-10 01:35:22 +0100 <dpratt> I guess I can manually specify how many terms :(
2022-03-10 01:35:42 +0100 <int-e> Well, nms and dns are integers so you can compare 10^d * dn to nm...
2022-03-10 01:36:00 +0100 <int-e> (and use fromInteger to convert to CReal)
2022-03-10 01:37:40 +0100 <int-e> Or this silly idea: takeWhile (\x -> x * 10^d > 1) terms
2022-03-10 01:39:37 +0100 <dpratt> int-e: thanks for the suggestions
2022-03-10 01:40:34 +0100farmfrmjakestate(~farmfromj@ganymede.mines.edu)
2022-03-10 01:41:46 +0100 <hololeap> what does `ghc-pkg hide` actually do?
2022-03-10 01:42:17 +0100farmfrmjakestate(~farmfromj@ganymede.mines.edu) (Client Quit)
2022-03-10 01:42:50 +0100 <int-e> hololeap: hide the package from ghci
2022-03-10 01:43:30 +0100 <int-e> for example, `ghc` is hidden by default so you need `ghci -package ghc` to import the `GHC` module from there.
2022-03-10 01:44:05 +0100 <int-e> But hiding packages doesn't affect Cabal or cabal-install.
2022-03-10 01:44:14 +0100joo-_(~joo-_@fsf/member/joo--) (Ping timeout: 250 seconds)
2022-03-10 01:45:08 +0100farmfrmjakestate(~farmfromj@user/farmfrmjakestate)
2022-03-10 01:45:13 +0100 <hololeap> I just don't see any change in the global package.conf.d/
2022-03-10 01:45:21 +0100xkuru(~xkuru@user/xkuru)
2022-03-10 01:46:05 +0100joo-_(~joo-_@80-62-117-227-mobile.dk.customer.tdc.net)
2022-03-10 01:46:05 +0100joo-_(~joo-_@80-62-117-227-mobile.dk.customer.tdc.net) (Changing host)
2022-03-10 01:46:05 +0100joo-_(~joo-_@fsf/member/joo--)
2022-03-10 01:46:48 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 01:51:13 +0100theproffesor(~theproffe@2601:282:847f:8010::7f59)
2022-03-10 01:51:20 +0100 <int-e> hololeap: it'll be inside the conf files, non-hidden packages have a field 'exposed: True'; hidden ones lack that
2022-03-10 01:52:09 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Leaving)
2022-03-10 01:52:11 +0100 <hololeap> oh, I see
2022-03-10 01:52:33 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
2022-03-10 01:52:50 +0100kongsheng(~kongsheng@71.28.225.182)
2022-03-10 01:53:35 +0100 <int-e> omitting the field seems needlessly obscure
2022-03-10 01:54:22 +0100 <int-e> (I knew I was looking for a flag so I looked at ghc-$VERSION.conf and didn't find it... sigh.)
2022-03-10 01:54:57 +0100Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-03-10 01:55:15 +0100 <int-e> I guess you could say it was well hidden.
2022-03-10 01:55:21 +0100 <hololeap> ha
2022-03-10 01:55:42 +0100 <hololeap> the docs even say that it sets the 'exposed' flag to 'False'
2022-03-10 01:56:06 +0100da39a3ee5e6b4b0d(~textual@171.5.29.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 01:56:42 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 01:57:19 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4)
2022-03-10 01:58:46 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Quit: Leaving)
2022-03-10 01:59:42 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4) (Client Quit)
2022-03-10 02:04:00 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4)
2022-03-10 02:07:46 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-03-10 02:08:04 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 250 seconds)
2022-03-10 02:08:10 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
2022-03-10 02:09:19 +0100farmfrmjakestate(~farmfromj@user/farmfrmjakestate) (Quit: Textual IRC Client: www.textualapp.com)
2022-03-10 02:09:48 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-03-10 02:10:20 +0100kongsheng(~kongsheng@71.28.225.182) (Quit: Client closed)
2022-03-10 02:10:23 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
2022-03-10 02:10:38 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-10 02:10:43 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-03-10 02:10:54 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-10 02:15:21 +0100agumonke`(~user@37.169.12.236)
2022-03-10 02:15:37 +0100agumonke`(~user@37.169.12.236) (Read error: Connection reset by peer)
2022-03-10 02:17:00 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-10 02:17:02 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-03-10 02:17:48 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 240 seconds)
2022-03-10 02:18:00 +0100agumonke`(~user@88.163.231.79)
2022-03-10 02:25:23 +0100 <dpratt> interestingly, if I use Integer (vs CReal) for e.g. computing the numerators/denominators, it computes dramatically faster
2022-03-10 02:26:12 +0100 <dpratt> I mean computing the numerators and denominators separately, to be clear
2022-03-10 02:26:22 +0100 <int-e> dpratt: makes sense to me
2022-03-10 02:27:02 +0100 <int-e> (AIUI, CReal doesn't have any special treatment for integers or other numbers that are represented exactly.)
2022-03-10 02:27:11 +0100 <dpratt> also, I now have 1K correct digits, thanks int-e et al
2022-03-10 02:27:24 +0100dsrt^(~dsrt@50.232.121.75) (Ping timeout: 240 seconds)
2022-03-10 02:28:42 +0100strawburr(~user@172.56.40.24)
2022-03-10 02:31:20 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 02:36:39 +0100dsrt^(~dsrt@50.232.121.75)
2022-03-10 02:38:24 +0100 <dpratt> ok, real stupid noob question: if I have e.g. "src/Main.hs" and "src/Foo.hs" what should the .cabal project look like? -- I tried "other-modules: Foo" which seemed like it was working until I tried to build
2022-03-10 02:39:45 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 02:39:59 +0100 <int-e> other-modules: should be fine, hs-source-dirs: is relevant too
2022-03-10 02:40:29 +0100 <int-e> an actual cabal file and error message would probably help
2022-03-10 02:40:32 +0100 <int-e> @where paste
2022-03-10 02:40:33 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-03-10 02:42:50 +0100 <dpratt> int-e: https://paste.tomsmeding.com/i9y9LQZk -- the build failure appears due to "Setup: can't find source for Pi in src, dist/build/bms-pi/autogen,..."
2022-03-10 02:44:22 +0100pavonia(~user@user/siracusa)
2022-03-10 02:45:00 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 02:45:27 +0100 <int-e> dpratt: hmm. It really should pick up src/Pi.hs if that exists.
2022-03-10 02:45:45 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 02:46:12 +0100alp(~alp@user/alp) (Ping timeout: 240 seconds)
2022-03-10 02:46:50 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-1c52-7a09-75d4-5be2.res6.spectrum.com) (Remote host closed the connection)
2022-03-10 02:48:43 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com)
2022-03-10 02:48:49 +0100 <dpratt> int-e: it does; I've got a setup involving nix, which is cool and all but there is some magic that I don't understand enough yet
2022-03-10 02:52:46 +0100 <dpratt> got it to build another way; gotta figure out a bit more about this magic
2022-03-10 02:54:49 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4)
2022-03-10 03:03:05 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-10 03:07:12 +0100slack1256(~slack1256@186.11.20.61)
2022-03-10 03:07:34 +0100 <slack1256> Can I use wreq to connect to an http/2 server?
2022-03-10 03:07:44 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 03:07:46 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-03-10 03:09:52 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2022-03-10 03:10:36 +0100ishutin(~ishutin@fibhost-67-47-41.fibernet.hu) (Ping timeout: 256 seconds)
2022-03-10 03:11:12 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 03:11:29 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-03-10 03:12:02 +0100ishutin(~ishutin@94-21-55-38.pool.digikabel.hu)
2022-03-10 03:12:43 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-03-10 03:13:07 +0100unyu(~pyon@user/pyon) (Quit: brb)
2022-03-10 03:15:57 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-10 03:18:33 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection)
2022-03-10 03:18:57 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-10 03:20:41 +0100kimjetwav(~user@2607:fea8:2363:8f00:2ab8:d312:3da3:ad33)
2022-03-10 03:21:21 +0100 <Axman6> hmm,unless things have changed, I don't think we have http/2 client support, but I could be completely wrong, Kazu is pretty amazing
2022-03-10 03:22:11 +0100 <Axman6> though, https://hackage.haskell.org/package/http2-3.0.3/docs/Network-HTTP2-Client.html exists, so there may be hope?
2022-03-10 03:27:44 +0100tinwood(~tinwood@canonical/tinwood) (Remote host closed the connection)
2022-03-10 03:30:38 +0100Codaraxis_(~Codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2022-03-10 03:30:47 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2022-03-10 03:30:47 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
2022-03-10 03:30:47 +0100tinwood(~tinwood@canonical/tinwood)
2022-03-10 03:32:22 +0100 <slack1256> Yeah, kazu is GOAT . I had not seen that module.
2022-03-10 03:33:56 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-03-10 03:34:32 +0100kimjetwav(~user@2607:fea8:2363:8f00:2ab8:d312:3da3:ad33) (Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50))
2022-03-10 03:37:03 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-03-10 03:37:09 +0100 <slack1256> There is also http2-client. The master branch has bound to older versions of kazu's http2. But there is a branch from avieth with updated ones.
2022-03-10 03:39:42 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-03-10 03:45:59 +0100dsrt^(~dsrt@50.232.121.75) (Remote host closed the connection)
2022-03-10 03:46:05 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 03:47:41 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 256 seconds)
2022-03-10 03:50:20 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 250 seconds)
2022-03-10 03:52:44 +0100Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-10 03:52:57 +0100ubert1(~Thunderbi@p200300ecdf3be919fa34792f1e548220.dip0.t-ipconnect.de)
2022-03-10 03:53:49 +0100ubert(~Thunderbi@p200300ecdf3be98fb257cc52479c2a5c.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 03:53:49 +0100ubert1ubert
2022-03-10 03:54:31 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 272 seconds)
2022-03-10 03:56:00 +0100cyphase(~cyphase@user/cyphase)
2022-03-10 03:56:21 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-10 03:59:01 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds)
2022-03-10 04:00:48 +0100lechner(~lechner@debian/lechner) (Quit: WeeChat 3.0)
2022-03-10 04:02:17 +0100kimjetwav(~user@2607:fea8:2363:8f00:511f:1836:9cbf:948e)
2022-03-10 04:02:19 +0100lechner(~lechner@debian/lechner)
2022-03-10 04:03:00 +0100[_][itchyjunk]
2022-03-10 04:03:55 +0100unyu(~pyon@user/pyon)
2022-03-10 04:04:17 +0100kimjetwav(~user@2607:fea8:2363:8f00:511f:1836:9cbf:948e) (Client Quit)
2022-03-10 04:07:24 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 240 seconds)
2022-03-10 04:13:22 +0100cyphase(~cyphase@user/cyphase)
2022-03-10 04:14:05 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-03-10 04:22:19 +0100slack1256(~slack1256@186.11.20.61) (Remote host closed the connection)
2022-03-10 04:23:15 +0100Unicorn_Princess(~Unicorn_P@46-54-248-191.static.kate-wing.si) (Quit: Leaving)
2022-03-10 04:31:34 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 04:33:12 +0100kimjetwav(~user@2607:fea8:2363:8f00:511f:1836:9cbf:948e)
2022-03-10 04:40:16 +0100aeka`(~aeka@2606:6080:1001:16:3492:5f11:f1fb:66ae)
2022-03-10 04:40:48 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 04:41:23 +0100aeka(~aeka@pool-100-4-208-71.albyny.fios.verizon.net) (Ping timeout: 272 seconds)
2022-03-10 04:46:17 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 04:46:33 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 04:51:06 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-03-10 04:51:06 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-03-10 04:51:06 +0100wroathe(~wroathe@user/wroathe)
2022-03-10 05:01:00 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 05:01:58 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-03-10 05:02:34 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-03-10 05:05:38 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-10 05:15:09 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-10 05:15:42 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 05:16:58 +0100ishutin(~ishutin@94-21-55-38.pool.digikabel.hu) (Ping timeout: 256 seconds)
2022-03-10 05:18:39 +0100ishutin(~ishutin@87-97-88-248.pool.digikabel.hu)
2022-03-10 05:19:28 +0100img(~img@user/img)
2022-03-10 05:25:04 +0100Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-03-10 05:26:10 +0100Batzy(~quassel@user/batzy)
2022-03-10 05:30:36 +0100mbuf(~Shakthi@171.61.198.187)
2022-03-10 05:37:22 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-10 05:37:57 +0100waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2022-03-10 05:45:18 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-03-10 05:49:37 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-10 05:50:38 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 05:56:17 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 05:56:26 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-10 05:59:03 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com)
2022-03-10 06:00:22 +0100deadmarshal_(~deadmarsh@95.38.228.121)
2022-03-10 06:00:46 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-03-10 06:04:49 +0100img(~img@user/img)
2022-03-10 06:16:06 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-03-10 06:17:43 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-03-10 06:19:17 +0100mvk(~mvk@2607:fea8:5cc3:7e00::45ee) (Ping timeout: 240 seconds)
2022-03-10 06:19:39 +0100lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap)
2022-03-10 06:25:11 +0100incertia(~incertia@207.98.163.88) (Read error: Connection reset by peer)
2022-03-10 06:26:03 +0100incertia(~incertia@207.98.163.88)
2022-03-10 06:29:48 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
2022-03-10 06:30:15 +0100notzmv(~zmv@user/notzmv)
2022-03-10 06:37:12 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com) (Quit: Leaving)
2022-03-10 06:38:23 +0100ubert(~Thunderbi@p200300ecdf3be919fa34792f1e548220.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-03-10 06:39:31 +0100ubert(~Thunderbi@p200300ecdf3be919a5031f04def6f440.dip0.t-ipconnect.de)
2022-03-10 06:40:57 +0100boborygmy(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2022-03-10 06:40:57 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2022-03-10 06:48:15 +0100kongsheng(~kongsheng@71.28.225.182)
2022-03-10 06:50:13 +0100monochrom(trebla@216.138.220.146) (Quit: NO CARRIER)
2022-03-10 06:50:22 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
2022-03-10 06:50:34 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4)
2022-03-10 06:51:12 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-03-10 06:51:54 +0100strawburr(~user@172.56.40.24) (Remote host closed the connection)
2022-03-10 06:56:44 +0100mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2022-03-10 06:59:16 +0100mcglk(~mcglk@131.191.49.120)
2022-03-10 06:59:32 +0100monochrom(trebla@216.138.220.146)
2022-03-10 07:15:23 +0100echoreply(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8)
2022-03-10 07:15:52 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-03-10 07:16:17 +0100echoreply(~echoreply@45.32.163.16)
2022-03-10 07:16:28 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-03-10 07:20:35 +0100drdo(~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds))
2022-03-10 07:21:17 +0100ishutin(~ishutin@87-97-88-248.pool.digikabel.hu) (Ping timeout: 240 seconds)
2022-03-10 07:21:32 +0100LuciferGoku(~LuciferGo@103.199.126.179)
2022-03-10 07:21:37 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 07:22:23 +0100vglfr(~vglfr@88.155.117.136)
2022-03-10 07:23:10 +0100ishutin(~ishutin@178-164-208-88.pool.digikabel.hu)
2022-03-10 07:23:53 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4)
2022-03-10 07:25:39 +0100drdo(~drdo@roach0.drdo.eu)
2022-03-10 07:37:32 +0100alMalsamolumberjack123
2022-03-10 07:38:40 +0100coot(~coot@213.134.190.95)
2022-03-10 07:39:00 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-03-10 07:39:32 +0100LuciferGoku(~LuciferGo@103.199.126.179) (Quit: Client closed)
2022-03-10 07:39:35 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-03-10 07:42:17 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 07:43:46 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 07:46:25 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 07:55:01 +0100xkuru(~xkuru@user/xkuru)
2022-03-10 08:00:11 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-03-10 08:02:28 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 08:02:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-03-10 08:06:44 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2022-03-10 08:08:04 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-03-10 08:16:36 +0100xff0x(~xff0x@dslb-094-222-029-254.094.222.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2022-03-10 08:20:49 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-03-10 08:20:58 +0100xff0x(~xff0x@dslb-094-222-029-254.094.222.pools.vodafone-ip.de)
2022-03-10 08:29:55 +0100namkeleser(~namkelese@101.175.104.107)
2022-03-10 08:33:17 +0100paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds)
2022-03-10 08:37:11 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:d276:2c1f:c812:6eec)
2022-03-10 08:38:36 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:d276:2c1f:c812:6eec) (Client Quit)
2022-03-10 08:42:10 +0100acidjnk(~acidjnk@p200300d0c7049f80798dfd3afc1483bd.dip0.t-ipconnect.de)
2022-03-10 08:42:36 +0100ph88^(~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving)
2022-03-10 08:43:34 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:636b:fa09:9d13:5d9c)
2022-03-10 08:45:26 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2022-03-10 08:47:28 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-03-10 08:47:44 +0100paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2022-03-10 08:47:44 +0100neurocyte0917090(~neurocyte@IP-212232093045.dynamic.medianet-world.de)
2022-03-10 08:47:44 +0100neurocyte0917090(~neurocyte@IP-212232093045.dynamic.medianet-world.de) (Changing host)
2022-03-10 08:47:44 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-03-10 08:49:25 +0100briandaed(~root@109.95.142.93)
2022-03-10 08:49:47 +0100dschrempf(~dominik@mobiledyn-62-240-134-189.mrsn.at)
2022-03-10 08:52:03 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:f0a7:d746:8a92:8ad4) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 08:55:04 +0100gehmehgeh(~user@user/gehmehgeh)
2022-03-10 08:56:33 +0100YoungFrog(~youngfrog@2a02:a03f:c21b:f900:e1b2:838c:ba67:c714) (Remote host closed the connection)
2022-03-10 08:56:35 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-03-10 08:56:54 +0100YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
2022-03-10 08:56:56 +0100Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2022-03-10 08:57:17 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-03-10 08:57:40 +0100kongsheng(~kongsheng@71.28.225.182) (Ping timeout: 256 seconds)
2022-03-10 08:57:48 +0100dschrempf(~dominik@mobiledyn-62-240-134-189.mrsn.at) (Ping timeout: 240 seconds)
2022-03-10 09:03:20 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-03-10 09:11:10 +0100alp(~alp@user/alp)
2022-03-10 09:14:23 +0100michalz(~michalz@185.246.204.87)
2022-03-10 09:15:39 +0100namkeleser(~namkelese@101.175.104.107) (Quit: Client closed)
2022-03-10 09:16:08 +0100chele(~chele@user/chele)
2022-03-10 09:17:36 +0100Akiva(~Akiva@user/Akiva)
2022-03-10 09:18:37 +0100fendor(~fendor@91.141.34.180.wireless.dyn.drei.com)
2022-03-10 09:20:42 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-03-10 09:20:56 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-03-10 09:22:54 +0100ishutin(~ishutin@178-164-208-88.pool.digikabel.hu) (Ping timeout: 256 seconds)
2022-03-10 09:23:08 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi)
2022-03-10 09:24:41 +0100ishutin(~ishutin@84-236-60-122.pool.digikabel.hu)
2022-03-10 09:26:02 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi) (Ping timeout: 240 seconds)
2022-03-10 09:26:15 +0100ahr(~rah@108-87-170-122.lightspeed.jcvlfl.sbcglobal.net)
2022-03-10 09:26:21 +0100deadmarshal_(~deadmarsh@95.38.228.121) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-10 09:26:45 +0100deadmarshal_(~deadmarsh@95.38.228.121)
2022-03-10 09:30:27 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 09:38:12 +0100deadmarshal_(~deadmarsh@95.38.228.121) (Ping timeout: 240 seconds)
2022-03-10 09:38:51 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-03-10 09:39:21 +0100michalz(~michalz@185.246.204.87) (Ping timeout: 256 seconds)
2022-03-10 09:40:05 +0100michalz(~michalz@185.246.204.93)
2022-03-10 09:43:22 +0100jgeerds(~jgeerds@55d4548e.access.ecotel.net)
2022-03-10 09:44:48 +0100gensyst(gensyst@user/gensyst)
2022-03-10 09:45:19 +0100kongsheng(~kongsheng@71.28.225.182)
2022-03-10 09:45:24 +0100 <gensyst> Currently I find myself going to hackage.org to search docs. How to do this directly from within vscode/HLS?
2022-03-10 09:47:42 +0100 <dminuoso> There is a hls-haddock-comments-plugin
2022-03-10 09:49:36 +0100machinedgod(~machinedg@24.105.81.50)
2022-03-10 09:50:07 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:fc46:f60:614b:bd)
2022-03-10 10:00:15 +0100oberblastmeister(~oberblast@2001:470:69fc:105::3a60) (Quit: You have been kicked for being idle)
2022-03-10 10:01:27 +0100michalz(~michalz@185.246.204.93) (Read error: No route to host)
2022-03-10 10:03:08 +0100vglfr(~vglfr@88.155.117.136) (Ping timeout: 256 seconds)
2022-03-10 10:04:39 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 10:05:38 +0100vglfr(~vglfr@88.155.27.97)
2022-03-10 10:06:08 +0100cosimone(~user@93.55.99.69)
2022-03-10 10:07:55 +0100jackhill_(~jackhill@kalessin.dragonsnail.net)
2022-03-10 10:08:00 +0100jackhill(~jackhill@kalessin.dragonsnail.net) (Remote host closed the connection)
2022-03-10 10:12:53 +0100krappix(~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr)
2022-03-10 10:14:48 +0100 <gensyst> dminuoso, are you using it? Do you mean "Haskell Spotlight" extension?
2022-03-10 10:14:55 +0100 <gensyst> (that one seems to require online access?)
2022-03-10 10:15:25 +0100 <dminuoso> No I dont
2022-03-10 10:16:16 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-03-10 10:16:34 +0100 <merijn> So, cabal can/should build offline docs for all your dependencies, but as of v2-build the location on disk can be kinda hard to discover...
2022-03-10 10:16:52 +0100 <merijn> Hoogle can also build a database of documentation you can query (with various editor plugins)
2022-03-10 10:17:53 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-10 10:21:12 +0100ccntrq(~Thunderbi@2a01:c22:8913:e100:e3f1:8fd3:71d8:a24e)
2022-03-10 10:22:29 +0100edwtjo(~edwtjo@user/edwtjo) (Ping timeout: 250 seconds)
2022-03-10 10:22:56 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 10:23:00 +0100rtsn(~nstr@user/rtsn) (Remote host closed the connection)
2022-03-10 10:23:03 +0100some02(~cat@h-98-128-128-173.A351.priv.bahnhof.se)
2022-03-10 10:23:03 +0100some02(~cat@h-98-128-128-173.A351.priv.bahnhof.se) (Changing host)
2022-03-10 10:23:03 +0100some02(~cat@user/sudden)
2022-03-10 10:23:13 +0100rtsn(~nstr@h-98-128-229-174.NA.cust.bahnhof.se)
2022-03-10 10:24:13 +0100sudden(~cat@user/sudden) (Ping timeout: 240 seconds)
2022-03-10 10:25:07 +0100 <gensyst> Ok, but how to get this hls-haddock-comments-plugin working in vscode?
2022-03-10 10:25:20 +0100 <gensyst> I already have Haskell extension.
2022-03-10 10:27:52 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2022-03-10 10:30:04 +0100mc47(~mc47@xmonad/TheMC47)
2022-03-10 10:33:02 +0100kongsheng(~kongsheng@71.28.225.182) (Quit: Client closed)
2022-03-10 10:33:07 +0100ccntrq1(~Thunderbi@2a01:c22:910f:ac00:6522:c4f4:7004:500a)
2022-03-10 10:33:50 +0100michalz(~michalz@185.246.204.72)
2022-03-10 10:34:21 +0100edwtjo(~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se)
2022-03-10 10:34:21 +0100edwtjo(~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host)
2022-03-10 10:34:21 +0100edwtjo(~edwtjo@user/edwtjo)
2022-03-10 10:34:41 +0100ahr(~rah@108-87-170-122.lightspeed.jcvlfl.sbcglobal.net) (Quit: leaving)
2022-03-10 10:34:42 +0100ccntrq(~Thunderbi@2a01:c22:8913:e100:e3f1:8fd3:71d8:a24e) (Ping timeout: 252 seconds)
2022-03-10 10:34:42 +0100ccntrq1ccntrq
2022-03-10 10:36:55 +0100michalz(~michalz@185.246.204.72) (Remote host closed the connection)
2022-03-10 10:42:57 +0100vglfr(~vglfr@88.155.27.97) (Ping timeout: 252 seconds)
2022-03-10 10:43:09 +0100michalz(~michalz@185.246.204.93)
2022-03-10 10:43:16 +0100vglfr(~vglfr@88.155.27.97)
2022-03-10 10:43:38 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-10 10:43:42 +0100michalz(~michalz@185.246.204.93) (Remote host closed the connection)
2022-03-10 10:44:36 +0100acidjnk(~acidjnk@p200300d0c7049f80798dfd3afc1483bd.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-03-10 10:46:01 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 10:51:14 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-03-10 10:56:11 +0100notzmv(~zmv@user/notzmv)
2022-03-10 10:57:01 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 10:57:43 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-03-10 11:02:39 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 272 seconds)
2022-03-10 11:04:36 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 240 seconds)
2022-03-10 11:04:55 +0100c1utt4r(~c1utt4r@vmi275462.contaboserver.net)
2022-03-10 11:07:52 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-03-10 11:08:03 +0100 <gensyst> dminuoso, "cabal install --lib hls-haddock-comments-plugin" ran through, but i have no idea where it installed this lib and how to activate it in vscode (where I see no differences).
2022-03-10 11:08:51 +0100worldhelloworld2(~quassel@vmi275462.contaboserver.net)
2022-03-10 11:09:48 +0100 <dminuoso> HLS is like latex to me. I have absolutely no clue how to set it up, but somehow I have this bunch of bizarre nix, hie-bios and emacs configuration that I glued together with ducktape, and it works.
2022-03-10 11:09:57 +0100 <dminuoso> Dont ask me how or why
2022-03-10 11:10:28 +0100 <gensyst> heh
2022-03-10 11:11:06 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8852:a14c:a420:3fd8) (Remote host closed the connection)
2022-03-10 11:11:22 +0100michalz(~michalz@185.246.204.69)
2022-03-10 11:14:51 +0100acidjnk(~acidjnk@p200300d0c7049f80798dfd3afc1483bd.dip0.t-ipconnect.de)
2022-03-10 11:17:13 +0100 <gensyst> well, thanks anyway
2022-03-10 11:17:18 +0100gensyst(gensyst@user/gensyst) (Quit: Leaving)
2022-03-10 11:19:59 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-03-10 11:22:15 +0100Vajb(~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813)
2022-03-10 11:26:37 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-03-10 11:32:35 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 11:32:51 +0100unyu(~pyon@user/pyon) (Quit: WeeChat 3.4)
2022-03-10 11:33:49 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-03-10 11:35:42 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-03-10 11:37:27 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-10 11:46:23 +0100 <kuribas> dminuoso: you got HLS working for emacs?
2022-03-10 11:46:34 +0100 <kuribas> I gave up long time ago.
2022-03-10 11:46:50 +0100ishutin(~ishutin@84-236-60-122.pool.digikabel.hu) (Ping timeout: 256 seconds)
2022-03-10 11:46:52 +0100 <kuribas> I couldn't even make it work with my project on vscode.
2022-03-10 11:47:19 +0100 <dminuoso> Yes
2022-03-10 11:47:38 +0100 <dminuoso> It's really not that complex
2022-03-10 11:48:13 +0100 <dminuoso> It's mostly just `(require 'lsp)` and `(add-hook 'haskell-mode-hook #'lsp)`
2022-03-10 11:48:33 +0100ishutin(~ishutin@176-241-45-184.pool.digikabel.hu)
2022-03-10 11:48:34 +0100 <dminuoso> I also load lsp-ui after lsp-mode with use-package since I use lsp-ui
2022-03-10 11:49:22 +0100coot(~coot@213.134.190.95)
2022-03-10 11:49:22 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:fc46:f60:614b:bd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 11:50:20 +0100Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2022-03-10 11:52:32 +0100 <kuribas> It kind of worked, but was very clumsy.
2022-03-10 11:52:42 +0100 <kuribas> not user friendly at all.
2022-03-10 11:53:54 +0100worldhelloworld2(~quassel@vmi275462.contaboserver.net) (Ping timeout: 252 seconds)
2022-03-10 11:53:54 +0100c1utt4r(~c1utt4r@vmi275462.contaboserver.net) (Ping timeout: 252 seconds)
2022-03-10 11:58:11 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-03-10 11:59:05 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-03-10 11:59:29 +0100 <kuribas> in vscode it's ok, when it works.
2022-03-10 11:59:56 +0100Ram-Z(Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
2022-03-10 12:01:30 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 12:01:34 +0100benin(~benin@183.82.26.94)
2022-03-10 12:02:18 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-03-10 12:02:32 +0100acidjnk(~acidjnk@p200300d0c7049f80798dfd3afc1483bd.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 12:02:59 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-03-10 12:04:23 +0100euprogramista(~euprogram@103.1.212.126)
2022-03-10 12:06:37 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2022-03-10 12:06:40 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-10 12:07:41 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-03-10 12:07:45 +0100acidjnk(~acidjnk@p200300d0c7049f808d4c6b0efdbaed72.dip0.t-ipconnect.de)
2022-03-10 12:08:15 +0100Guest61(~Guest61@103.142.31.135)
2022-03-10 12:08:42 +0100acidjnk_new(~acidjnk@p200300d0c7049f8064dc8bad685a624a.dip0.t-ipconnect.de)
2022-03-10 12:08:50 +0100zaquest(~notzaques@5.130.79.72)
2022-03-10 12:09:46 +0100krappix(~krappix@nat-eduroam-76-gw-01-lne.lille.inria.fr) (Ping timeout: 256 seconds)
2022-03-10 12:10:18 +0100acidjnk_new3(~acidjnk@p200300d0c7049f80d87dada801c796f3.dip0.t-ipconnect.de)
2022-03-10 12:11:29 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b)
2022-03-10 12:12:02 +0100acidjnk(~acidjnk@p200300d0c7049f808d4c6b0efdbaed72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 12:13:02 +0100acidjnk_new(~acidjnk@p200300d0c7049f8064dc8bad685a624a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 12:14:53 +0100fockerized(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-10 12:15:34 +0100fockerized(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Client Quit)
2022-03-10 12:16:16 +0100jushur(~human@user/jushur) (Quit: ¯\_(ツ)_/¯)
2022-03-10 12:16:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b) (Ping timeout: 240 seconds)
2022-03-10 12:18:18 +0100fendor_(~fendor@91.141.79.203.wireless.dyn.drei.com)
2022-03-10 12:18:54 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-03-10 12:19:26 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-03-10 12:19:40 +0100deadmarshal_(~deadmarsh@95.38.228.121)
2022-03-10 12:20:36 +0100fendor(~fendor@91.141.34.180.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-03-10 12:20:51 +0100mixfix41(~homefame@user/mixfix41) (Ping timeout: 256 seconds)
2022-03-10 12:22:31 +0100coot(~coot@213.134.190.95)
2022-03-10 12:24:14 +0100deadmarshal_(~deadmarsh@95.38.228.121) (Ping timeout: 256 seconds)
2022-03-10 12:29:54 +0100vglfr(~vglfr@88.155.27.97) (Ping timeout: 256 seconds)
2022-03-10 12:33:58 +0100unyu(~pyon@user/pyon)
2022-03-10 12:38:08 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-03-10 12:39:24 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Client Quit)
2022-03-10 12:40:48 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-10 12:40:57 +0100ccntrq1(~Thunderbi@2a01:c22:8c55:dd00:e44d:d37e:6b3c:c758)
2022-03-10 12:41:56 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 12:42:18 +0100ccntrq(~Thunderbi@2a01:c22:910f:ac00:6522:c4f4:7004:500a) (Ping timeout: 252 seconds)
2022-03-10 12:42:18 +0100ccntrq1ccntrq
2022-03-10 12:43:33 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-03-10 12:43:48 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi)
2022-03-10 12:44:27 +0100jakalx(~jakalx@base.jakalx.net)
2022-03-10 12:45:25 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-03-10 12:46:25 +0100benin(~benin@183.82.26.94) (Remote host closed the connection)
2022-03-10 12:48:21 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 12:51:52 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be)
2022-03-10 12:52:36 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-03-10 12:55:32 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 12:56:00 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 272 seconds)
2022-03-10 12:58:03 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-03-10 13:06:43 +0100rando25892(~atler@user/rando25892) (Read error: Connection reset by peer)
2022-03-10 13:12:52 +0100cosimone`(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-03-10 13:13:17 +0100cosimone(~user@93.55.99.69) (Ping timeout: 240 seconds)
2022-03-10 13:16:46 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-03-10 13:16:48 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-03-10 13:16:51 +0100allbery_bgeekosaur
2022-03-10 13:20:21 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 13:26:33 +0100mikoto-chan(~mikoto-ch@84.199.144.235)
2022-03-10 13:28:42 +0100deadmarshal_(~deadmarsh@95.38.228.121)
2022-03-10 13:29:56 +0100romesrf(~romes@198.177.63.94.rev.vodafone.pt)
2022-03-10 13:31:10 +0100 <romesrf> o/
2022-03-10 13:31:29 +0100 <geekosaur> ohai
2022-03-10 13:32:36 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-03-10 13:32:44 +0100acidjnk_new3(~acidjnk@p200300d0c7049f80d87dada801c796f3.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-03-10 13:33:21 +0100 <romesrf> おはよ :D
2022-03-10 13:34:55 +0100thevishy(~Nishant@49.37.242.151)
2022-03-10 13:38:40 +0100ph88(~ph88@tmo-117-197.customers.d1-online.com)
2022-03-10 13:39:17 +0100strawburr(~user@172.56.40.24)
2022-03-10 13:39:48 +0100euprogramista(~euprogram@103.1.212.126) (Ping timeout: 240 seconds)
2022-03-10 13:39:55 +0100mikoto-chan(~mikoto-ch@84.199.144.235) (Quit: mikoto-chan)
2022-03-10 13:46:50 +0100DNH(~DNH@2a02:8108:1100:16d8:20c1:bc94:2efb:4ac0)
2022-03-10 13:48:35 +0100jgeerds(~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 272 seconds)
2022-03-10 13:51:45 +0100ishutin(~ishutin@176-241-45-184.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-03-10 13:53:05 +0100ishutin(~ishutin@92-249-141-140.pool.digikabel.hu)
2022-03-10 13:55:17 +0100vpan(~0@212.117.1.172)
2022-03-10 14:02:23 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 14:09:09 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 14:09:29 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 272 seconds)
2022-03-10 14:14:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b)
2022-03-10 14:14:44 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-10 14:16:56 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 14:17:04 +0100acidjnk_new3(~acidjnk@p200300d0c7049f80ada9268fe0a5343e.dip0.t-ipconnect.de)
2022-03-10 14:18:41 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b) (Ping timeout: 245 seconds)
2022-03-10 14:19:02 +0100dschrempf(~dominik@mobiledyn-62-240-134-171.mrsn.at)
2022-03-10 14:22:09 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 272 seconds)
2022-03-10 14:23:23 +0100euprogramista(~euprogram@103.1.212.126)
2022-03-10 14:27:54 +0100euprogramista(~euprogram@103.1.212.126) (Ping timeout: 252 seconds)
2022-03-10 14:30:21 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 14:35:57 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-10 14:36:34 +0100MajorBiscuit(~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl)
2022-03-10 14:37:10 +0100texasmynsted(~texasmyns@99.96.221.112)
2022-03-10 14:39:20 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-03-10 14:42:12 +0100dschrempf(~dominik@mobiledyn-62-240-134-171.mrsn.at) (Ping timeout: 252 seconds)
2022-03-10 14:43:17 +0100Inst(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-03-10 14:45:26 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-10 14:45:27 +0100boborygmy(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-10 14:46:50 +0100Hash(~Hash@irc.websecurity.group)
2022-03-10 14:50:39 +0100ph88(~ph88@tmo-117-197.customers.d1-online.com) (Ping timeout: 272 seconds)
2022-03-10 14:51:24 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-03-10 14:54:17 +0100 <kuribas`> How do I return a strict int?
2022-03-10 14:54:20 +0100 <kuribas`> or unboxed int?
2022-03-10 14:54:27 +0100 <kuribas`> I don't want an extra boxing...
2022-03-10 14:55:06 +0100 <geekosaur> turn on MagicHash, then a value like 1# is an unboxed Int
2022-03-10 14:55:12 +0100 <geekosaur> @src Int
2022-03-10 14:55:12 +0100 <lambdabot> data Int = I# Int#
2022-03-10 14:55:20 +0100 <geekosaur> :t 1#
2022-03-10 14:55:21 +0100 <merijn> kuribas`: You just return it? :)
2022-03-10 14:55:21 +0100 <lambdabot> GHC.Prim.Int#
2022-03-10 14:55:30 +0100 <kuribas`> Can I add them?
2022-03-10 14:55:42 +0100 <geekosaur> >< 1# +# 2+
2022-03-10 14:55:47 +0100 <geekosaur> > 1# +# 2+
2022-03-10 14:55:48 +0100 <merijn> kuribas`: Note that you run into trouble, because unboxed ints can't unify with arbitrary type variables
2022-03-10 14:55:48 +0100 <lambdabot> <hint>:1:9: error:
2022-03-10 14:55:48 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2022-03-10 14:56:00 +0100 <geekosaur> > 1# +# 2#
2022-03-10 14:56:00 +0100 <merijn> % :seti -XMagicHash
2022-03-10 14:56:01 +0100 <yahb> merijn:
2022-03-10 14:56:02 +0100 <lambdabot> error:
2022-03-10 14:56:02 +0100 <lambdabot> • Variable not in scope:
2022-03-10 14:56:02 +0100 <lambdabot> (+#) :: GHC.Prim.Int# -> GHC.Prim.Int# -> t
2022-03-10 14:56:10 +0100 <merijn> % 1# +# 2#
2022-03-10 14:56:10 +0100 <yahb> merijn: ; <interactive>:41:1: error:; * Couldn't match a lifted type with an unlifted type; When matching types; a0 :: *; Int# :: TYPE 'GHC.Exts.IntRep; * In the first argument of `print', namely `it'; In a stmt of an interactive GHCi command: print it
2022-03-10 14:56:39 +0100 <ski> % I# (1# +# 2#)
2022-03-10 14:56:39 +0100 <merijn> % I# (1# +# 2#)
2022-03-10 14:56:39 +0100 <yahb> ski: 3
2022-03-10 14:56:39 +0100 <yahb> merijn: 3
2022-03-10 14:56:47 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 14:57:25 +0100 <merijn> I probably wouldn't manually unpack Int, very annoying to work with
2022-03-10 14:57:29 +0100 <geekosaur> all this said, it's usually better to let ghc do the unboxing, helping it along woth strictness annotations as needed
2022-03-10 14:57:36 +0100 <merijn> probably better of with appropriate strictness/UNBOX pragma
2022-03-10 14:57:46 +0100 <kuribas`> Can I tag an output as strict?
2022-03-10 14:57:59 +0100 <kuribas`> like "idx :: Proxy a -> !Int" ?
2022-03-10 14:58:16 +0100 <merijn> kuribas`: No, but that also seems pointless
2022-03-10 14:58:26 +0100 <kuribas`> Just to avoid the indirection...
2022-03-10 14:58:28 +0100 <merijn> kuribas`: Since idx would only be evaluated when the Int is gonna be used
2022-03-10 14:58:55 +0100 <kuribas`> My idea is that it would be inlined, then can be evaluated to a constant.
2022-03-10 14:59:11 +0100 <kuribas`> But the lazy boxing is preventing the constant.
2022-03-10 14:59:38 +0100 <geekosaur> ghc doesn't do constant folding, sadly
2022-03-10 15:00:01 +0100 <kuribas`> right.
2022-03-10 15:00:08 +0100 <kuribas`> I could resort to Template Haskell.
2022-03-10 15:00:15 +0100 <kuribas`> It would be more ugly, but feasible.
2022-03-10 15:00:26 +0100dschrempf(~dominik@2a02:8389:100:e100:63d2:5fb6:bfcf:e59)
2022-03-10 15:01:01 +0100acidjnk_new3(~acidjnk@p200300d0c7049f80ada9268fe0a5343e.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 15:01:27 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-10 15:03:28 +0100euprogramista(~euprogram@103.1.212.125)
2022-03-10 15:04:09 +0100 <kuribas`> weird it doesn't do such an obvious optimization.
2022-03-10 15:05:51 +0100dschrempf(~dominik@2a02:8389:100:e100:63d2:5fb6:bfcf:e59) (Ping timeout: 252 seconds)
2022-03-10 15:06:13 +0100 <geekosaur> I think constant folding is complicated by the fact that it can't "see through" Num instances to tell when it can get away with being strict
2022-03-10 15:06:46 +0100dschrempf(~dominik@2a02:8389:100:e100:78a9:fa63:bc23:f21d)
2022-03-10 15:08:03 +0100euprogramista(~euprogram@103.1.212.125) (Ping timeout: 252 seconds)
2022-03-10 15:08:15 +0100rando25892(~homefame@user/rando25892)
2022-03-10 15:12:51 +0100strawburr(~user@172.56.40.24) (Read error: Connection reset by peer)
2022-03-10 15:14:43 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds)
2022-03-10 15:14:43 +0100boborygmy(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds)
2022-03-10 15:16:55 +0100agumonke`(~user@88.163.231.79) (Read error: Connection reset by peer)
2022-03-10 15:17:40 +0100unyu(~pyon@user/pyon) (Quit: WeeChat 3.4)
2022-03-10 15:18:12 +0100agumonke`(~user@88.163.231.79)
2022-03-10 15:19:54 +0100c1utt4r(~c1utt4r@vmi275462.contaboserver.net)
2022-03-10 15:23:14 +0100cosimone`(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds)
2022-03-10 15:24:00 +0100ccntrq(~Thunderbi@2a01:c22:8c55:dd00:e44d:d37e:6b3c:c758) (Ping timeout: 252 seconds)
2022-03-10 15:24:01 +0100worldhelloworld2(~quassel@vmi275462.contaboserver.net)
2022-03-10 15:24:48 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 15:25:06 +0100 <dpratt> one general problem I'm having using Nix for Haskell dev is that it is neither Haskell nor Nix and therefore I often don't know where to go with my questions
2022-03-10 15:28:01 +0100agumonke`(~user@88.163.231.79) (Ping timeout: 272 seconds)
2022-03-10 15:28:29 +0100unyu(~pyon@user/pyon)
2022-03-10 15:33:05 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-10 15:34:56 +0100dschrempf(~dominik@2a02:8389:100:e100:78a9:fa63:bc23:f21d) (Ping timeout: 250 seconds)
2022-03-10 15:35:59 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-10 15:35:59 +0100Vajb(~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813) (Read error: Connection reset by peer)
2022-03-10 15:36:00 +0100boborygmy(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-10 15:36:24 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-03-10 15:37:34 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi)
2022-03-10 15:37:44 +0100 <o1lo0lol1o[m]> If I have a handfull of .cabal files that I cannot change, and one that I can change, is there any `cabal-plan` magic I can do to see the shortest diff to getting working bounds for the whole set?
2022-03-10 15:38:09 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi) (Ping timeout: 272 seconds)
2022-03-10 15:41:50 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi) (Client Quit)
2022-03-10 15:49:41 +0100euprogramista(~euprogram@103.1.212.126)
2022-03-10 15:51:57 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-03-10 15:52:32 +0100_2E0RLZ(~x@user/rawles)
2022-03-10 15:54:00 +0100euprogramista(~euprogram@103.1.212.126) (Ping timeout: 250 seconds)
2022-03-10 15:55:55 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2022-03-10 15:56:25 +0100Vajb(~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813)
2022-03-10 15:59:54 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi)
2022-03-10 15:59:54 +0100Vajb(~Vajb@2001:999:62:aa00:7f5a:4f10:c894:3813) (Read error: Connection reset by peer)
2022-03-10 16:00:05 +0100toulene(~toulene@user/toulene) (Quit: The Lounge - https://thelounge.chat)
2022-03-10 16:00:18 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-03-10 16:02:10 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 16:02:33 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-03-10 16:03:29 +0100ishutin(~ishutin@92-249-141-140.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-03-10 16:04:36 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-03-10 16:04:46 +0100ishutin(~ishutin@94-21-157-170.pool.digikabel.hu)
2022-03-10 16:05:08 +0100dschrempf(~dominik@2a02:8389:100:e100:9474:382a:5c78:161d)
2022-03-10 16:05:40 +0100byorgey(~byorgey@155.138.238.211) (Quit: leaving)
2022-03-10 16:06:37 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-03-10 16:06:53 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-03-10 16:13:23 +0100 <kuribas`> geekosaur: I am fine with Ints...
2022-03-10 16:13:39 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 16:16:02 +0100 <dminuoso> dpratt: You generally go to ~/git/github/nixpkgs with all your nix problems.
2022-03-10 16:16:35 +0100 <dminuoso> If you feel a bit alone, emacs will keep you company
2022-03-10 16:17:05 +0100 <exarkun> M-x doctor
2022-03-10 16:18:32 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-10 16:19:32 +0100dschrempf(~dominik@2a02:8389:100:e100:9474:382a:5c78:161d) (Ping timeout: 252 seconds)
2022-03-10 16:22:22 +0100Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2022-03-10 16:23:18 +0100 <Henson> is there a way to replay a particular test in QuickCheck? I notice there's a "replay" record in the args type which takes a Maybe that contains the random generator and a size, but there doesn't appear to be any way to construct the random generator.
2022-03-10 16:25:04 +0100Sgeo(~Sgeo@user/sgeo)
2022-03-10 16:25:56 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2022-03-10 16:32:24 +0100 <dpratt> dminuoso: gtk, thanks :D
2022-03-10 16:34:23 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-10 16:34:46 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-03-10 16:36:00 +0100 <Henson> ok, I figured it out. The replay record takes a type of Maybe (QCGen, Int), and QCGen has a show and read instance. So all I have to do is copy the text "SMGen 1260792181133215248 208396700724833247" from the failing case's usedSeed value, and then use the read function to turn that into the appropriate QCGen to replay the failing test, as well as provide the proper usedSize value.
2022-03-10 16:36:39 +0100Hensonhigh-fives himself
2022-03-10 16:39:25 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 16:39:32 +0100Ferdirand(~somebody@2001:4c78:2012:5000::2) (Ping timeout: 240 seconds)
2022-03-10 16:47:12 +0100frosch03(~user@2a02:c98:1003:8000:bf30:b607:4d78:5e32)
2022-03-10 16:48:36 +0100worldhelloworld2(~quassel@vmi275462.contaboserver.net) (Ping timeout: 240 seconds)
2022-03-10 16:48:47 +0100Inst(~Liam@2601:6c4:4080:3f80:f98b:9b8a:cd5f:e38f)
2022-03-10 16:49:15 +0100c1utt4r(~c1utt4r@vmi275462.contaboserver.net) (Ping timeout: 252 seconds)
2022-03-10 16:49:20 +0100 <dpratt> Henson: are you doing this directly from code? looks like you could just construct the SMGen value with e.g. "seedSMGen 1260792181133215248 208396700724833247"
2022-03-10 16:50:56 +0100jmorris(~jmorris@98.221.165.173)
2022-03-10 16:51:27 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2022-03-10 16:51:28 +0100 <jmorris> hi
2022-03-10 16:51:47 +0100mbuf(~Shakthi@171.61.198.187) (Quit: Leaving)
2022-03-10 16:52:35 +0100 <Henson> dpratt: yes, you're right. I thought I looked last night for SMGen and couldn't find it, but I see that it's in the System.Random.SplitMix library. But the replay needs a QCGen, and I don't see a way of converting the SMGen into a QCGen.
2022-03-10 16:52:37 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-03-10 16:52:46 +0100 <Henson> jmorris: hi!
2022-03-10 16:55:13 +0100infandum(~user@205.189.58.94)
2022-03-10 16:55:14 +0100 <jmorris> Henson do you think learning Haskell by writing a program is a reasonable way to learn it? I was thinking of building a Kubernetes YAML linter in Haskell. I use Kubernetes daily and want to learn Haskell. Seems like a good way to learn. But maybe that's too ambitious of me..
2022-03-10 16:56:01 +0100 <infandum> I think too many file handles are being opened with "mapM readFile xs", what is the appropriate way to prevent this issue? I see online to use unsafeInterleaveIO, but I want to avoid anything unsafe.
2022-03-10 16:57:22 +0100romesrf(~romes@198.177.63.94.rev.vodafone.pt) (Ping timeout: 256 seconds)
2022-03-10 16:58:49 +0100 <Henson> jmorris: that's a good question. Because Haskell is very different than more common imperative languages, I found the learning curve to be pretty steep. Trying to tackle a big project first might be frustrating and discouraging. You could certainly give it a shot, but I would suggest that if you start feeling frustrated or lost to take a step back and focus on understanding the smaller...
2022-03-10 16:59:52 +0100 <Henson> jmorris: segments of your larger project, like JSON and then YAML parsing (in Haskell the YAML parser is based on the Aeson JSON parser), and then Text handling, and other things, which could be tackled and made into small projects in isolation. Then once you've figured out the "Haskell Way" of doing those sub components, piece it together to tackle the big project.
2022-03-10 17:00:06 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Quit: You have been kicked for being idle)
2022-03-10 17:00:36 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 17:01:07 +0100 <geekosaur> infandum, note that unless you are using strict BytString version of readFile, it's using unsafeInterleaveIO
2022-03-10 17:02:26 +0100 <infandum> geekosaur: Looks like Data.ByteString.Lazy.Char8
2022-03-10 17:02:54 +0100 <infandum> which is fed to streaming cassava
2022-03-10 17:02:56 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
2022-03-10 17:03:04 +0100 <geekosaur> so it will be chunk-lazy but iirc that's still unsafeInterleaveIO
2022-03-10 17:03:11 +0100 <infandum> (Data.Csv.Streaming)
2022-03-10 17:03:53 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-03-10 17:03:57 +0100 <infandum> So mapM would not result in all opened handles before closing? They would only open and close one at a time?
2022-03-10 17:04:36 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-10 17:05:19 +0100 <jmorris> Henson: this is a very good suggestion. Thank you. Especially the call out w.r.t. the Aeson JSON parser. I'll try learning the sub-components as smaller individual components as you suggested. Might be my best bet. Coming from a Go background, this should be interesting (:
2022-03-10 17:07:20 +0100 <Henson> jmorris: I found "Learn You A Haskell For Great Good" to be very helpful in getting started. "Real World Haskell" by O'Reilly is also good, but somewhat dated now. It contains some examples of JSON parsing as well as details on Monad Transformers that aren't covered in "Learn You A Haskell"
2022-03-10 17:09:28 +0100 <Henson> jmorris: Haskell is pretty much a functional-only language, so if you're coming from an imperative background you'll need to develop or sharpen your skills of being able to understand how to solve problems with recusive functions and the map/filter/fold list processing tools.
2022-03-10 17:09:29 +0100Guest61(~Guest61@103.142.31.135) (Quit: Client closed)
2022-03-10 17:09:32 +0100 <geekosaur> infandum, no, it opens all and only closes them when the apparent ByteString is gc-d
2022-03-10 17:09:51 +0100 <geekosaur> it's not as deterministic as explicitly closing a file
2022-03-10 17:10:28 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:636b:fa09:9d13:5d9c) (Quit: WeeChat 2.8)
2022-03-10 17:10:37 +0100 <geekosaur> (with unsafeInterleaveIO the "ByteString" returned is secretly lazily reading the file as needed to extend itself)
2022-03-10 17:10:49 +0100 <infandum> geekosaur: Ah, so I should be doing one at a time then. The solution I was thinking was just using something like Control.Foldl, is it that simple?
2022-03-10 17:11:51 +0100 <infandum> like, the parser returns a list of lines, so Fold.foldM (Fold.premapM parseFile (Fold.generalize Fold.mconcat)) xs
2022-03-10 17:12:20 +0100bahamas(~lucian@86.120.77.115)
2022-03-10 17:12:20 +0100 <infandum> Or would that not deeply evaluate, so every handle will still be open at once
2022-03-10 17:12:32 +0100 <geekosaur> you may need to do some forcing to ensure things are performed and gc-d in a timely manner
2022-03-10 17:12:52 +0100 <infandum> what is the canonical way to do that?
2022-03-10 17:13:09 +0100 <infandum> "try"? Bang patterns?
2022-03-10 17:13:22 +0100 <geekosaur> bang patterns. or switch to strict ByteStrings
2022-03-10 17:14:00 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-03-10 17:14:19 +0100 <infandum> Unfortunately CSV streaming uses lazy, so I don't think I can do the latter
2022-03-10 17:15:16 +0100 <infandum> So basically, contents <- lazy reading; !rows <- streaming csv parsing; return rows ?
2022-03-10 17:15:25 +0100 <geekosaur> something likethat, yes
2022-03-10 17:15:59 +0100 <infandum> and the bang pattern wouldn't be like spine strict or anything like that, but actually have the entire list of strings?
2022-03-10 17:16:23 +0100 <infandum> Ugh, it's actually a map, not list of strings
2022-03-10 17:16:40 +0100 <infandum> a strict map, which I believe means strict in spine
2022-03-10 17:16:52 +0100 <geekosaur> maps are always spine strict
2022-03-10 17:17:27 +0100 <geekosaur> strict map should be value strict… but note that there's only one Map type, it's the *operations* that are strict vs. lazy
2022-03-10 17:17:59 +0100ph88(~ph88@tmo-100-30.customers.d1-online.com)
2022-03-10 17:18:10 +0100 <geekosaur> (Maps have to be spine strict, it has to compare keys to know where to insert elements into the Map)
2022-03-10 17:19:18 +0100 <infandum> Ah, then I bet cassava is using lazy map
2022-03-10 17:19:22 +0100 <infandum> operations
2022-03-10 17:19:35 +0100 <maerwald> you should use tapioca
2022-03-10 17:20:54 +0100Ferdirand(~somebody@2001:4c78:2012:5000::2)
2022-03-10 17:24:55 +0100mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-03-10 17:25:30 +0100ph88(~ph88@tmo-100-30.customers.d1-online.com) (Ping timeout: 260 seconds)
2022-03-10 17:29:32 +0100thevishy(~Nishant@49.37.242.151) (Quit: Leaving)
2022-03-10 17:30:10 +0100mncheck(~mncheck@193.224.205.254)
2022-03-10 17:30:51 +0100DNH(~DNH@2a02:8108:1100:16d8:20c1:bc94:2efb:4ac0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-10 17:31:06 +0100alp(~alp@user/alp) (Ping timeout: 260 seconds)
2022-03-10 17:31:44 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-03-10 17:34:53 +0100euprogramista(~euprogram@103.1.212.125)
2022-03-10 17:39:18 +0100euprogramista(~euprogram@103.1.212.125) (Ping timeout: 256 seconds)
2022-03-10 17:41:06 +0100toulene(~toulene@user/toulene)
2022-03-10 17:44:51 +0100off^(~off@50.232.121.75)
2022-03-10 17:45:41 +0100acidjnk_new3(~acidjnk@p200300d0c7049f800083b30852f1c45e.dip0.t-ipconnect.de)
2022-03-10 17:47:32 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds)
2022-03-10 17:48:14 +0100mvk(~mvk@2607:fea8:5cc3:7e00::45ee)
2022-03-10 17:48:39 +0100rando25892(~homefame@user/rando25892) (Ping timeout: 252 seconds)
2022-03-10 17:50:59 +0100k8yun(~k8yun@user/k8yun)
2022-03-10 17:58:13 +0100joo-_(~joo-_@fsf/member/joo--) (Quit: Lost terminal)
2022-03-10 17:58:55 +0100joo-_(~joo-_@80-62-117-227-mobile.dk.customer.tdc.net)
2022-03-10 17:58:55 +0100joo-_(~joo-_@80-62-117-227-mobile.dk.customer.tdc.net) (Changing host)
2022-03-10 17:58:55 +0100joo-_(~joo-_@fsf/member/joo--)
2022-03-10 18:02:01 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-03-10 18:02:23 +0100ishutin(~ishutin@94-21-157-170.pool.digikabel.hu) (Ping timeout: 252 seconds)
2022-03-10 18:03:53 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-03-10 18:03:55 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-10 18:04:13 +0100ishutin(~ishutin@94-21-131-108.pool.digikabel.hu)
2022-03-10 18:07:33 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2022-03-10 18:07:50 +0100liz_(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
2022-03-10 18:12:02 +0100kimjetwav(~user@2607:fea8:2363:8f00:511f:1836:9cbf:948e) (Remote host closed the connection)
2022-03-10 18:12:25 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-03-10 18:13:00 +0100frosch03(~user@2a02:c98:1003:8000:bf30:b607:4d78:5e32) (Remote host closed the connection)
2022-03-10 18:16:27 +0100mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-03-10 18:19:10 +0100bahamas(~lucian@86.120.77.115) (Ping timeout: 260 seconds)
2022-03-10 18:19:35 +0100mncheck(~mncheck@193.224.205.254)
2022-03-10 18:23:06 +0100mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-03-10 18:23:22 +0100ph88(~ph88@2a01:598:9091:a56c:50c9:fb0:7045:1b0a)
2022-03-10 18:24:33 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b)
2022-03-10 18:26:46 +0100dschrempf(~dominik@2a02:8389:100:e100:8314:75b7:5450:7049)
2022-03-10 18:27:42 +0100ph88(~ph88@2a01:598:9091:a56c:50c9:fb0:7045:1b0a) (Ping timeout: 252 seconds)
2022-03-10 18:33:13 +0100Unicorn_Princess(~Unicorn_P@46-54-248-191.static.kate-wing.si)
2022-03-10 18:33:33 +0100DNH(~DNH@2a02:8108:1100:16d8:844b:b51a:d0ea:add8)
2022-03-10 18:34:59 +0100jbox(~jbox@user/jbox)
2022-03-10 18:36:03 +0100 <feetwind> hi all. is there a way to tell ghci what package name a local module/hs file is from? basically, i have two packages with two modules called "Orphans". rather than rename them. i develop just with good old 'ghci -ipkg1/src -ipkg2/src' which works great except in this case where there are two modules with the same name, as from ghci's perspective they're basically in the same pkg
2022-03-10 18:36:14 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 18:37:03 +0100 <feetwind> basically hoping to be able to do like, :set -packagename=foo; :load foo/src/Foo.hs; :set -packagename=bar; :load bar/src/Bar.hs
2022-03-10 18:37:48 +0100 <feetwind> hmmmm that doesnt really make sense actually, loading bar will just reload foo lol
2022-03-10 18:38:16 +0100 <feetwind> anyway, curious about suggestions, for now just gonna rename em
2022-03-10 18:38:34 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-03-10 18:39:02 +0100vpan(~0@212.117.1.172) (Quit: Leaving.)
2022-03-10 18:39:07 +0100 <geekosaur> renaming is almost certainly best
2022-03-10 18:39:30 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b) (Remote host closed the connection)
2022-03-10 18:39:43 +0100 <geekosaur> I don't know if ghci's import supports the PackageNames extension but you'd still have to rename them (using `as`) even then
2022-03-10 18:40:27 +0100 <geekosaur> import "packageA" Orphans; import qualified "packageB" Orphans as OtherOrphans
2022-03-10 18:40:32 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 240 seconds)
2022-03-10 18:41:50 +0100romesrf(~romes@2001:8a0:6d13:9700:68ff:3f36:9684:1f6c)
2022-03-10 18:42:12 +0100MajorBiscuit(~MajorBisc@wlan-145-94-218-48.wlan.tudelft.nl) (Ping timeout: 256 seconds)
2022-03-10 18:43:12 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b)
2022-03-10 18:46:39 +0100InstX1(~Liam@2601:6c4:4080:3f80:552b:2cea:2a97:23a4)
2022-03-10 18:47:04 +0100Codaraxis_(~Codaraxis@user/codaraxis)
2022-03-10 18:48:12 +0100Inst(~Liam@2601:6c4:4080:3f80:f98b:9b8a:cd5f:e38f) (Ping timeout: 250 seconds)
2022-03-10 18:48:39 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-03-10 18:49:23 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 18:50:02 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-03-10 18:50:03 +0100Kaipi(~Kaiepi@156.34.47.253) (Ping timeout: 272 seconds)
2022-03-10 18:50:20 +0100off^(~off@50.232.121.75) (Remote host closed the connection)
2022-03-10 18:50:37 +0100Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2022-03-10 18:52:41 +0100mncheck(~mncheck@193.224.205.254)
2022-03-10 18:53:47 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-03-10 18:54:37 +0100Codaraxis_(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2022-03-10 18:54:54 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
2022-03-10 18:56:53 +0100Akiva(~Akiva@user/Akiva)
2022-03-10 19:01:02 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-03-10 19:02:34 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-10 19:02:38 +0100zebrag(~chris@user/zebrag)
2022-03-10 19:02:42 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-03-10 19:04:48 +0100ec(~ec@gateway/tor-sasl/ec)
2022-03-10 19:07:40 +0100alp(~alp@user/alp)
2022-03-10 19:08:07 +0100_2E0RLZ(~x@user/rawles) ()
2022-03-10 19:08:57 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2022-03-10 19:09:05 +0100boborygmy(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-03-10 19:09:13 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net)
2022-03-10 19:10:03 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 19:12:23 +0100haskelln00b(~haskelln0@94.177.118.72)
2022-03-10 19:13:56 +0100yauhsien(~yauhsien@61-231-43-120.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-10 19:14:51 +0100mncheck(~mncheck@193.224.205.254) (Remote host closed the connection)
2022-03-10 19:15:13 +0100 <haskelln00b> :t 4 . 4
2022-03-10 19:15:14 +0100 <haskelln00b> 4 . 4 :: (Num (b -> c), Num (a -> b)) => a -> c
2022-03-10 19:15:14 +0100 <lambdabot> (Num (b -> c), Num (a -> b)) => a -> c
2022-03-10 19:15:14 +0100 <haskelln00b> confused...
2022-03-10 19:19:19 +0100 <pavonia> :t 4
2022-03-10 19:19:20 +0100 <lambdabot> Num p => p
2022-03-10 19:19:20 +0100 <dpratt> haskelln00b: the "." operator composes two functions, but you've supplied two numeric values
2022-03-10 19:19:37 +0100 <haskelln00b> yeah - I expected that to be an error
2022-03-10 19:19:45 +0100 <haskelln00b> but it has a result which is a function?
2022-03-10 19:19:57 +0100 <dpratt> haskelln00b: Haskell is optimistic that you will be able to come up with a type that is both a function and also is numeric
2022-03-10 19:20:13 +0100 <liz_> haskelln00b: notice how 4 can be interpreted as any instance of Num
2022-03-10 19:20:40 +0100 <liz_> like what dpratt said, haskell can compose 4 with 4, so long as 4 can be interpreted as some Num instance of a function
2022-03-10 19:20:48 +0100econo(uid147250@user/econo)
2022-03-10 19:21:28 +0100 <haskelln00b> hmm - but, the result isn't a Num instance, for example; isn't that surprising?
2022-03-10 19:22:03 +0100 <liz_> it's interesting that a -> c is not a Num instance in itself, but it fits with the definition of 4
2022-03-10 19:22:09 +0100 <liz_> since 4 is just Num a => a
2022-03-10 19:22:32 +0100 <liz_> i've never thought about 4 . 4 before, it's interesting :o
2022-03-10 19:22:39 +0100 <liz_> :t 3.2 . 4.5
2022-03-10 19:22:40 +0100 <lambdabot> (Fractional (b -> c), Fractional (a -> b)) => a -> c
2022-03-10 19:22:51 +0100 <liz_> you can do similar stuff with other "literals" like that too it seems
2022-03-10 19:23:18 +0100 <geekosaur> there's a Num instance for functions somewhere, it lets you write things like sin^2 + cos^2
2022-03-10 19:23:19 +0100 <haskelln00b> yeah, similarly surprising to me...
2022-03-10 19:23:22 +0100 <pavonia> :t "foo" . "bar"
2022-03-10 19:23:23 +0100 <lambdabot> error:
2022-03-10 19:23:23 +0100 <lambdabot> • Couldn't match expected type ‘b0 -> c’ with actual type ‘[Char]’
2022-03-10 19:23:23 +0100 <lambdabot> • In the first argument of ‘(.)’, namely ‘"foo"’
2022-03-10 19:23:31 +0100vysn(~vysn@user/vysn)
2022-03-10 19:23:36 +0100 <liz_> :t "foo"
2022-03-10 19:23:37 +0100 <lambdabot> [Char]
2022-03-10 19:23:49 +0100 <geekosaur> @let {-# LANGUAGE OverloadedStrings #-}
2022-03-10 19:23:50 +0100 <lambdabot> Defined.
2022-03-10 19:23:54 +0100 <geekosaur> :t"foo"
2022-03-10 19:23:58 +0100 <geekosaur> :t "foo"
2022-03-10 19:23:59 +0100 <lambdabot> [Char]
2022-03-10 19:24:14 +0100 <geekosaur> hm
2022-03-10 19:24:15 +0100 <liz_> lambdabot is very cool :)
2022-03-10 19:24:56 +0100 <geekosaur> % :t "foo"
2022-03-10 19:24:56 +0100 <yahb> geekosaur: IsString p => p
2022-03-10 19:25:07 +0100 <geekosaur> not sure why it doesn't work in lambdabot
2022-03-10 19:25:23 +0100 <geekosaur> % :t "foo" . "bar"
2022-03-10 19:25:23 +0100 <yahb> geekosaur: (IsString (b -> c), IsString (a -> b)) => a -> c
2022-03-10 19:26:13 +0100 <haskelln00b> :t (\x->4)
2022-03-10 19:26:14 +0100 <lambdabot> Num p1 => p2 -> p1
2022-03-10 19:26:27 +0100 <haskelln00b> :t 4.(\x->4)
2022-03-10 19:26:28 +0100 <lambdabot> (Num b, Num (b -> c)) => a -> c
2022-03-10 19:26:35 +0100 <haskelln00b> :t (\x->4).4
2022-03-10 19:26:36 +0100 <lambdabot> (Num c, Num (a -> b)) => a -> c
2022-03-10 19:27:07 +0100 <haskelln00b> :t (\x->4).(\x->4)
2022-03-10 19:27:08 +0100 <lambdabot> Num c => a -> c
2022-03-10 19:29:26 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-03-10 19:29:57 +0100 <dpratt> is there anything interesting the new bot on the block can do that lambdabot cannot?
2022-03-10 19:29:59 +0100 <geekosaur> @let instance Num a => Num (b -> a) where (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*); negate = fmap negate; abs = fmap abs; signum = fmap signum; fromInteger = pure . fromInteger
2022-03-10 19:30:01 +0100 <lambdabot> Defined.
2022-03-10 19:30:08 +0100vglfr(~vglfr@88.155.27.97)
2022-03-10 19:30:14 +0100 <geekosaur> yahb is actual ghci in a sandbox; lambdabot only does expressions
2022-03-10 19:30:30 +0100 <dpratt> oh, that's interesting
2022-03-10 19:30:35 +0100 <geekosaur> also yahb is ghc 9.0, lambdabot is 8.10.7 iirc
2022-03-10 19:30:50 +0100 <geekosaur> :t sin^2 + cos^2
2022-03-10 19:30:51 +0100 <lambdabot> Floating a => a -> a
2022-03-10 19:30:57 +0100dschrempf(~dominik@2a02:8389:100:e100:8314:75b7:5450:7049) (Ping timeout: 252 seconds)
2022-03-10 19:31:14 +0100 <geekosaur> there's your Num instance for functions
2022-03-10 19:31:30 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 19:31:32 +0100fockerized(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-10 19:31:41 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-03-10 19:31:58 +0100 <fockerized> are typefamily and GADT similar and solve similar problems?
2022-03-10 19:32:04 +0100 <geekosaur> > (4 . 4) 1
2022-03-10 19:32:04 +0100 <dpratt> I feel like I've seen this sort of trick before in something to do with derivatives
2022-03-10 19:32:06 +0100 <lambdabot> 4
2022-03-10 19:32:32 +0100jgeerds(~jgeerds@55d4548e.access.ecotel.net)
2022-03-10 19:32:40 +0100 <haskelln00b> geekosaur thanks that will take me some time to unpack ... :)
2022-03-10 19:32:44 +0100 <liz_> > (sin^2 + cos^2) 3
2022-03-10 19:32:45 +0100 <lambdabot> 0.9999999999999999
2022-03-10 19:32:54 +0100 <liz_> well that's not correct >:o
2022-03-10 19:33:36 +0100raym(~raym@user/raym) (Quit: brb)
2022-03-10 19:34:03 +0100euprogramista(~euprogram@103.1.212.124)
2022-03-10 19:34:08 +0100 <geekosaur> yahb also has a larger set of packages available, although it's still limited
2022-03-10 19:34:29 +0100 <pavonia> > succ^10 $ 0
2022-03-10 19:34:30 +0100 <lambdabot> 1
2022-03-10 19:35:11 +0100td_(~td@94.134.91.38)
2022-03-10 19:35:31 +0100 <liz_> > succ . succ $ 0
2022-03-10 19:35:33 +0100 <lambdabot> 2
2022-03-10 19:35:48 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-03-10 19:36:01 +0100 <geekosaur> > succ^10 $ 1
2022-03-10 19:36:03 +0100 <lambdabot> 1024
2022-03-10 19:36:17 +0100 <liz_> oh it's (^10) . succ
2022-03-10 19:36:39 +0100 <liz_> i thought it was succ . succ . ... . succ
2022-03-10 19:36:52 +0100jakalx(~jakalx@base.jakalx.net)
2022-03-10 19:37:38 +0100raym(~raym@user/raym)
2022-03-10 19:37:44 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-03-10 19:38:17 +0100euprogramista(~euprogram@103.1.212.124) (Ping timeout: 240 seconds)
2022-03-10 19:38:34 +0100 <pavonia> Yeah, I've never noticed that sin^2 is ambiguous
2022-03-10 19:39:02 +0100romesrf(~romes@2001:8a0:6d13:9700:68ff:3f36:9684:1f6c) (Ping timeout: 240 seconds)
2022-03-10 19:39:17 +0100 <liz_> noob question, is there a function in base that allows one to apply a function n times?
2022-03-10 19:39:38 +0100 <pavonia> :t iterate
2022-03-10 19:39:39 +0100 <lambdabot> (a -> a) -> a -> [a]
2022-03-10 19:39:44 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 19:39:47 +0100 <liz_> ah thank you
2022-03-10 19:39:48 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 19:39:59 +0100 <pavonia> That's not it
2022-03-10 19:41:32 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 19:41:40 +0100 <liz_> > last . (take 5) . (iterate succ) 0
2022-03-10 19:41:41 +0100 <pavonia> Hhm, it seems that's still the closest one
2022-03-10 19:41:42 +0100 <lambdabot> error:
2022-03-10 19:41:42 +0100 <lambdabot> • Couldn't match expected type ‘a -> [c]’ with actual type ‘[a0]’
2022-03-10 19:41:42 +0100 <lambdabot> • Possible cause: ‘iterate’ is applied to too many arguments
2022-03-10 19:41:49 +0100 <liz_> oh whoops
2022-03-10 19:41:50 +0100 <geekosaur> fockerized, I would say no. type families are type level functions; GADTs are just a different way to write ADTs, with some helpful features
2022-03-10 19:41:57 +0100 <liz_> > last . (take 5) . (iterate succ) $ 0
2022-03-10 19:41:59 +0100 <lambdabot> 4
2022-03-10 19:42:25 +0100 <liz_> > (!!5) . (iterate succ) $ 0
2022-03-10 19:42:27 +0100 <lambdabot> 5
2022-03-10 19:42:29 +0100 <liz_> ah there we go
2022-03-10 19:44:32 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-03-10 19:45:18 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-03-10 19:45:21 +0100mncheck(~mncheck@193.224.205.254)
2022-03-10 19:45:40 +0100ishutin(~ishutin@94-21-131-108.pool.digikabel.hu) (Ping timeout: 256 seconds)
2022-03-10 19:45:44 +0100Kaipi(~Kaiepi@156.34.47.253)
2022-03-10 19:47:20 +0100mncheckm(~mncheck@193.224.205.254)
2022-03-10 19:47:26 +0100ishutin(~ishutin@92-249-182-23.pool.digikabel.hu)
2022-03-10 19:51:57 +0100 <pavonia> % let f ^. n = (!! n) . iterate f
2022-03-10 19:51:57 +0100 <yahb> pavonia:
2022-03-10 19:52:30 +0100 <pavonia> > (sin^.2 + cos^.2) 3
2022-03-10 19:52:31 +0100 <lambdabot> 4
2022-03-10 19:53:39 +0100 <pavonia> :t (^.)
2022-03-10 19:53:40 +0100 <lambdabot> s -> Getting a s a -> a
2022-03-10 19:53:54 +0100 <geekosaur> % :t (^.)
2022-03-10 19:53:54 +0100 <yahb> geekosaur: (c -> c) -> Int -> c -> c
2022-03-10 19:54:04 +0100 <pavonia> Oh, bot confusion
2022-03-10 19:54:12 +0100 <geekosaur> I keep doing that too
2022-03-10 19:54:21 +0100 <monochrom> You may like iterate' instead of iterate for some use cases.
2022-03-10 19:54:31 +0100 <liz_> :t iterate'
2022-03-10 19:54:32 +0100 <lambdabot> (a -> a) -> a -> [a]
2022-03-10 19:54:58 +0100 <liz_> oh it's just iterate but strict?
2022-03-10 19:55:00 +0100dschrempf(~dominik@2a02:8389:100:e100:2fc2:81e0:5305:9797)
2022-03-10 19:55:09 +0100 <monochrom> Yes, it is less lazy in the elements.
2022-03-10 19:56:11 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-03-10 19:57:16 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 20:00:42 +0100byorgey(~byorgey@155.138.238.211)
2022-03-10 20:08:42 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-03-10 20:14:13 +0100dschrempf(~dominik@2a02:8389:100:e100:2fc2:81e0:5305:9797) (Ping timeout: 240 seconds)
2022-03-10 20:16:31 +0100 <fockerized> geekosaur: i see
2022-03-10 20:24:25 +0100martin02(~silas@141.84.69.76) (Ping timeout: 272 seconds)
2022-03-10 20:29:59 +0100InstX1_(~Liam@2600:1006:b05b:3c62:d192:9b6a:699a:8ed7)
2022-03-10 20:29:59 +0100 <haskelln00b> :t abs
2022-03-10 20:30:00 +0100 <lambdabot> Num a => a -> a
2022-03-10 20:30:03 +0100 <haskelln00b> :t abs + abs
2022-03-10 20:30:05 +0100 <lambdabot> Num a => a -> a
2022-03-10 20:30:16 +0100 <haskelln00b> (abs + abs) 2
2022-03-10 20:30:34 +0100 <geekosaur> > (abs + abs) 2
2022-03-10 20:30:36 +0100 <lambdabot> 4
2022-03-10 20:31:15 +0100vglfr(~vglfr@88.155.27.97) (Ping timeout: 256 seconds)
2022-03-10 20:31:30 +0100 <haskelln00b> x = abs + abs
2022-03-10 20:31:39 +0100 <haskelln00b> x 2
2022-03-10 20:31:41 +0100 <haskelln00b> > x 2
2022-03-10 20:31:43 +0100 <lambdabot> error:
2022-03-10 20:31:43 +0100 <lambdabot> • Couldn't match expected type ‘t0 -> t’ with actual type ‘Expr’
2022-03-10 20:31:43 +0100 <lambdabot> • The function ‘x’ is applied to one argument,
2022-03-10 20:31:49 +0100 <haskelln00b> > x = abs + abs
2022-03-10 20:31:51 +0100 <lambdabot> <hint>:1:3: error: parse error on input ‘=’
2022-03-10 20:32:10 +0100 <geekosaur> lambdabot can't do assignments that way
2022-03-10 20:32:30 +0100 <geekosaur> and assigning single letter names will break simple-reflect, so is not recommended
2022-03-10 20:32:51 +0100 <geekosaur> % instance Num a => Num (b -> a) where (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*); negate = fmap negate; abs = fmap abs; signum = fmap signum; fromInteger = pure . fromInteger
2022-03-10 20:32:52 +0100 <yahb> geekosaur:
2022-03-10 20:33:01 +0100 <geekosaur> % x = abs + abs
2022-03-10 20:33:01 +0100 <yahb> geekosaur:
2022-03-10 20:33:07 +0100 <geekosaur> % x 2
2022-03-10 20:33:08 +0100 <yahb> geekosaur: 4
2022-03-10 20:33:21 +0100 <tomsmeding> I'm reading the Trees that Grow paper from 2017, and I'm wondering why they use Void instead of () as a type for fields where they don't want to store any data (throughout the paper, but first on page 6). Was there a good reason? (paper link: https://www.microsoft.com/en-us/research/uploads/prod/2016/11/trees-that-grow.pdf )
2022-03-10 20:33:22 +0100 <geekosaur> % :t x
2022-03-10 20:33:23 +0100 <yahb> geekosaur: Num a => a -> a
2022-03-10 20:33:37 +0100 <haskelln00b> ic thx
2022-03-10 20:33:37 +0100InstX1(~Liam@2601:6c4:4080:3f80:552b:2cea:2a97:23a4) (Ping timeout: 240 seconds)
2022-03-10 20:36:59 +0100martin02(~silas@141.84.69.76)
2022-03-10 20:40:51 +0100ec(~ec@gateway/tor-sasl/ec)
2022-03-10 20:44:05 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-03-10 20:44:17 +0100mncheckm(~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
2022-03-10 20:44:17 +0100mncheck(~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
2022-03-10 20:46:40 +0100InstX1_(~Liam@2600:1006:b05b:3c62:d192:9b6a:699a:8ed7) (Read error: Network is unreachable)
2022-03-10 20:46:50 +0100InstX1_(~Liam@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-10 20:50:23 +0100 <geekosaur> % :q
2022-03-10 20:50:23 +0100 <yahb> geekosaur:
2022-03-10 20:50:26 +0100 <geekosaur> @undef
2022-03-10 20:50:26 +0100 <lambdabot> Undefined.
2022-03-10 20:54:41 +0100 <hololeap> hm, Void -> a should be isomorphic to (), no? a^0
2022-03-10 20:55:53 +0100 <hololeap> ∃ a
2022-03-10 20:57:11 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-03-10 20:58:07 +0100Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-03-10 20:58:12 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-03-10 20:59:56 +0100Lord_of_Life_Lord_of_Life
2022-03-10 21:01:36 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
2022-03-10 21:02:32 +0100tito(tito@tilde.team)
2022-03-10 21:03:27 +0100haskelln00b89(~haskelln0@94.177.118.126)
2022-03-10 21:03:27 +0100haskelln00b89(~haskelln0@94.177.118.126) (Client Quit)
2022-03-10 21:03:37 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-03-10 21:03:39 +0100haskelln00b2(~haskelln0@94.177.118.126)
2022-03-10 21:04:19 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 272 seconds)
2022-03-10 21:04:37 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 21:04:42 +0100haskelln00b(~haskelln0@94.177.118.72) (Ping timeout: 256 seconds)
2022-03-10 21:06:06 +0100xkuru(~xkuru@user/xkuru)
2022-03-10 21:09:03 +0100geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-10 21:10:23 +0100 <liz_> Void is a type that explicitly has no values; () is a type with precisely one value, the unit ()
2022-03-10 21:10:55 +0100hololeapnods
2022-03-10 21:12:57 +0100 <liz_> Void -> a is a function that one can't call, because you can't provide it with the Void value it requires; () acts as the trivial monoid in effect
2022-03-10 21:13:02 +0100 <liz_> i think anyway, i'm not 100% sure
2022-03-10 21:15:29 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-10 21:15:29 +0100boborygmy(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-10 21:16:05 +0100 <hololeap> I'm vague on the terminology, but there's something about functions relating to exponentials, such that (Bool -> Int) could be represented as a lookup table with (Int ^ Bool) number of possibilities
2022-03-10 21:17:06 +0100 <hololeap> and since Void is an empty set, (Void -> a) would become (a ^ 0) -- which solves to 1 or the singleton set ()
2022-03-10 21:18:28 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-03-10 21:20:47 +0100 <tomsmeding> hololeap: A -> B can be seen as B^A indeed, and indeed there's precisely one function Void -> a, namely the empty function \x -> case x of {}
2022-03-10 21:22:02 +0100ec_(~ec@gateway/tor-sasl/ec)
2022-03-10 21:22:18 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2022-03-10 21:22:29 +0100 <tomsmeding> thing is, in the paper they have this idea that they define a data type like 'data Exp x = Lam (XLam x) Name (Exp x) | Var (XVar x) Name | App (XApp x) (Exp x) (Exp x)', with type families XLam, XVar and XApp that you can instantiate for various tag types to extend your expression tree with extra fields for different parts in a compiler pipeline
2022-03-10 21:23:00 +0100 <tomsmeding> and if you want the non-augmented expression type, what they do is 'type instance XLam NonAugmented = Void'
2022-03-10 21:23:28 +0100 <tomsmeding> but that makes no sense to me, because then the only thing you can put in that extension field is a bottom, which to me would signal that you're not supposed to use this constructor at all
2022-03-10 21:23:48 +0100 <tomsmeding> if they would instead use (), then that would signal "it's fine, nothing here, move along"
2022-03-10 21:24:05 +0100off^(~off@50.232.121.75)
2022-03-10 21:24:19 +0100 <tomsmeding> bottoms are not supposed to be an expected occurrence in expression tree data types
2022-03-10 21:24:55 +0100 <liz_> hololeap: i think i'm approaching this from the classical abstract algebra perspective too much, but i think the non-existence of multiplication for Void wouldn't allow it to make a monoid from (a ^ 0)
2022-03-10 21:25:30 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
2022-03-10 21:26:07 +0100 <tomsmeding> liz_: Void has zero elements, () has one element, 'Void -> a' has one element (namely \x -> case x of {}) and is hence in bijection with ()
2022-03-10 21:26:38 +0100 <liz_> oh, i see what you mean now! that's interesting...
2022-03-10 21:27:05 +0100 <tomsmeding> if #T is the number of elements in a type T, then #(A -> B) = #B ^ #A
2022-03-10 21:27:19 +0100 <tomsmeding> (assuming all relevant types are finite)
2022-03-10 21:27:59 +0100liz_liz
2022-03-10 21:28:17 +0100 <tomsmeding> exponentials (A -> B) fit nicely with products (A,B) and sums (Either A B)
2022-03-10 21:28:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b) (Remote host closed the connection)
2022-03-10 21:29:19 +0100 <tomsmeding> and of course there is also negation (A -> Void), but unfortunately 'Either A (A -> Void)' is isomorphic to A, not to Void :p
2022-03-10 21:29:44 +0100 <tomsmeding> um, well, if A is nonempty, that is
2022-03-10 21:30:11 +0100 <tomsmeding> if A is itself empty, then Either A (A -> Void) is isomorphic to Void -> Void, which is 0 ^ 0, so ?
2022-03-10 21:30:42 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-03-10 21:31:04 +0100 <tomsmeding> in Haskell I guess 0 ^ 0 = 1 because
2022-03-10 21:31:11 +0100 <tomsmeding> :t absurd :: Void -> Void
2022-03-10 21:31:12 +0100 <lambdabot> Void -> Void
2022-03-10 21:32:00 +0100Articus(~Articus@207.248.198.65)
2022-03-10 21:33:50 +0100phma_(~phma@host-67-44-208-84.hnremote.net)
2022-03-10 21:34:08 +0100briandaed(~root@109.95.142.93) (Remote host closed the connection)
2022-03-10 21:34:44 +0100travv0(sid293381@user/travv0) ()
2022-03-10 21:37:26 +0100phma(phma@2001:5b0:210b:8f48:791b:849d:7db1:84dd) (Ping timeout: 245 seconds)
2022-03-10 21:38:02 +0100 <dpratt> that's unsatisfying; perhaps Haskell should crib from Agda https://agda.readthedocs.io/en/v2.5.2/language/function-definitions.html#absurd-patterns
2022-03-10 21:38:30 +0100 <tomsmeding> yes I've always wanted that since I learned some Agda
2022-03-10 21:38:31 +0100infandum(~user@205.189.58.94) (Ping timeout: 272 seconds)
2022-03-10 21:39:25 +0100infandum(~user@205.189.58.94)
2022-03-10 21:40:58 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-10 21:42:44 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
2022-03-10 21:44:03 +0100alp(~alp@user/alp) (Ping timeout: 252 seconds)
2022-03-10 21:49:28 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-03-10 21:49:34 +0100InstX1_(~Liam@c-98-208-218-119.hsd1.fl.comcast.net) (Read error: Connection reset by peer)
2022-03-10 21:52:45 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 21:54:32 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-03-10 21:57:31 +0100ishutin(~ishutin@92-249-182-23.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-03-10 21:59:01 +0100gehmehgeh(~user@user/gehmehgeh)
2022-03-10 21:59:02 +0100ishutin(~ishutin@92-249-150-149.static.digikabel.hu)
2022-03-10 21:59:04 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2022-03-10 21:59:07 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-03-10 21:59:23 +0100 <monochrom> EmptyCase allows a nice syntax for a :: Void -> t; a x = case x of;
2022-03-10 22:00:50 +0100 <tomsmeding> TIL you don't need {}
2022-03-10 22:00:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-03-10 22:07:16 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 22:07:40 +0100Articus(~Articus@207.248.198.65) (Quit: Client closed)
2022-03-10 22:08:58 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-03-10 22:09:22 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2022-03-10 22:09:37 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-03-10 22:09:53 +0100v0rpun1(~pvorp@2001:861:3881:c690:b621:8db3:5cfa:e7ea)
2022-03-10 22:10:09 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 22:14:26 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 22:14:52 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54fbf8-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-03-10 22:15:13 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 22:15:16 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-03-10 22:17:14 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 22:17:28 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 22:19:24 +0100bahamas(~lucian@84.232.140.52)
2022-03-10 22:23:36 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4cb:ae21:cf60:e6bc)
2022-03-10 22:24:54 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-10 22:25:38 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 22:26:47 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-10 22:28:02 +0100ec_ec
2022-03-10 22:30:49 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-03-10 22:33:54 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-03-10 22:34:41 +0100euprogramista(~euprogram@103.1.212.125)
2022-03-10 22:35:56 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
2022-03-10 22:36:16 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
2022-03-10 22:36:55 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-03-10 22:39:02 +0100euprogramista(~euprogram@103.1.212.125) (Ping timeout: 252 seconds)
2022-03-10 22:39:04 +0100deadmarshal_(~deadmarsh@95.38.228.121) (Ping timeout: 256 seconds)
2022-03-10 22:41:36 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds)
2022-03-10 22:41:49 +0100jgeerds(~jgeerds@55d4548e.access.ecotel.net) (Ping timeout: 240 seconds)
2022-03-10 22:42:28 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
2022-03-10 22:44:02 +0100jgeerds(~jgeerds@55d4548e.access.ecotel.net)
2022-03-10 22:47:09 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:d4cb:ae21:cf60:e6bc) (Remote host closed the connection)
2022-03-10 22:47:18 +0100perro(~perro@072-191-245-069.res.spectrum.com) (Quit: WeeChat 3.3)
2022-03-10 22:47:20 +0100 <dibblego> FWIW, I went down the rabbit hole on Trees That Grow and came to the same conclusion as tomsmeding
2022-03-10 22:47:56 +0100 <tomsmeding> dibblego: I mean, the ()/Void choice is not really the crux of the idea I guess, though it's good to hear I'm not the only one :p
2022-03-10 22:48:25 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:4817:6457:31f4:d58b)
2022-03-10 22:48:44 +0100kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-03-10 22:48:49 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-03-10 22:49:16 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-03-10 22:49:18 +0100 <dibblego> right, I also was able to change it to get what I think is a more meaningful result
2022-03-10 22:51:12 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 22:52:11 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2022-03-10 22:52:30 +0100 <monochrom> tomsmeding: Oops, I didn't test my code, {} is still needed, heh.
2022-03-10 22:52:40 +0100jmorris(~jmorris@98.221.165.173) (Ping timeout: 256 seconds)
2022-03-10 22:52:53 +0100jmorris(~jmorris@98.221.165.173)
2022-03-10 22:53:18 +0100 <monochrom> EmptyCase is not exactly absurd pattern, but still, close enough as far as Haskell being non-dependent is concerned.
2022-03-10 22:54:35 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-03-10 22:57:31 +0100fendor_(~fendor@91.141.79.203.wireless.dyn.drei.com) (Remote host closed the connection)
2022-03-10 22:58:15 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-03-10 22:58:19 +0100infandum(~user@205.189.58.94) (Ping timeout: 272 seconds)
2022-03-10 22:58:36 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-03-10 23:01:29 +0100 <tomsmeding> :t \x -> case x of
2022-03-10 23:01:30 +0100 <lambdabot> p1 -> p2
2022-03-10 23:03:09 +0100 <monochrom> Oh! So my error was adding ; without {}
2022-03-10 23:03:29 +0100haskelln00b2(~haskelln0@94.177.118.126) (Quit: Client closed)
2022-03-10 23:03:41 +0100 <geekosaur> makes sense, ; separates patterns
2022-03-10 23:03:41 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
2022-03-10 23:03:55 +0100 <tomsmeding> the ; gets parsed as belonging to the case, but not making sense there?
2022-03-10 23:04:09 +0100k8yun(~k8yun@user/k8yun) (Quit: Leaving)
2022-03-10 23:04:16 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 23:04:19 +0100 <geekosaur> I don't think it can belong to the case
2022-03-10 23:04:20 +0100 <monochrom> Yeah manual ; turns off layout parsing and so explicit {} is also called for.
2022-03-10 23:04:24 +0100kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it)
2022-03-10 23:04:27 +0100 <tomsmeding> ah
2022-03-10 23:04:43 +0100 <geekosaur> unless it comes after a pattern -> exp
2022-03-10 23:04:55 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-03-10 23:05:14 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-03-10 23:05:36 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8)
2022-03-10 23:08:46 +0100 <byorgey> tomsmeding, dibblego: ditto re: TTG and Void. I always use () instead of Void. And sometimes Void actually is appropriate when you want to say "this constructor cannot happen", e.g. after a desugaring pass or something like that
2022-03-10 23:09:07 +0100michalz(~michalz@185.246.204.69) (Remote host closed the connection)
2022-03-10 23:09:11 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-03-10 23:09:36 +0100 <byorgey> https://github.com/disco-lang/disco/blob/master/src/Disco/AST/Desugared.hs#L75-L101 is an example from some of my code
2022-03-10 23:13:24 +0100jmorris(~jmorris@98.221.165.173) (Ping timeout: 240 seconds)
2022-03-10 23:13:29 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-03-10 23:13:49 +0100zincy_(~zincy@2a00:23c8:970c:4801:d22:fd9a:65d6:50a8) (Remote host closed the connection)
2022-03-10 23:14:07 +0100euprogramista(~euprogram@103.1.212.125)
2022-03-10 23:15:58 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-10 23:17:08 +0100 <hololeap> I've noted that `type Sink i = ConduitT i Void` (from conduit)
2022-03-10 23:17:52 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 23:19:12 +0100 <hololeap> but I guess that it's appropriate there because the conduit pipeline is driven by downstream, so a sink would need to have Void for downstream ... ?
2022-03-10 23:20:38 +0100 <hololeap> because if the output type was () downstream could still call `await`
2022-03-10 23:21:01 +0100 <hololeap> yeah that makes sense
2022-03-10 23:26:50 +0100notzmv(~zmv@user/notzmv)
2022-03-10 23:29:25 +0100agumonkey(~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Remote host closed the connection)
2022-03-10 23:30:03 +0100agumonkey(~user@88.163.231.79)
2022-03-10 23:31:07 +0100 <romesrf> byorgey: I quite like how Void makes it so that you don't need to pattern match
2022-03-10 23:33:03 +0100Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2022-03-10 23:33:09 +0100euprogramista(~euprogram@103.1.212.125) (Ping timeout: 256 seconds)
2022-03-10 23:36:41 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-03-10 23:47:37 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:19c8:2a3e:4c40:5c44)
2022-03-10 23:47:52 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-10 23:49:17 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-03-10 23:49:21 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d2a9:19c8:2a3e:4c40:5c44) (Client Quit)
2022-03-10 23:50:08 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-10 23:52:22 +0100kongsheng(~kongsheng@71.28.225.182)
2022-03-10 23:56:02 +0100jbox(~jbox@user/jbox) (Ping timeout: 240 seconds)
2022-03-10 23:56:14 +0100jbox(~jbox@user/jbox)
2022-03-10 23:56:14 +0100v0rpun1(~pvorp@2001:861:3881:c690:b621:8db3:5cfa:e7ea) (Quit: bye)
2022-03-10 23:56:15 +0100 <byorgey> romesrf: yeah, unfortunately, I don't think the coverage checker is quite smart enough to realize that you don't need to pattern match on a constructor that contains a Void (also because Void actually does have bottom as an inhabitant in Haskell).
2022-03-10 23:59:32 +0100 <romesrf> byorgey: Oh, I think it already happens in GHC >= 9.0
2022-03-10 23:59:39 +0100 <romesrf> at least I'm writing some code like this:
2022-03-10 23:59:49 +0100V(~v@anomalous.eu) (Ping timeout: 240 seconds)