Home liberachat/#haskell: Logs Calendar

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

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

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