Home liberachat/#haskell: Logs Calendar

Logs on 2021-06-30 (liberachat/#haskell)

00:06:38 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
00:06:53 stevenxl joins (~stevenlei@174.128.182.151)
00:07:34 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
00:07:55 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
00:08:13 chris_ joins (~chris@81.96.113.213)
00:10:46 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
00:11:15 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
00:11:30 × stevenxl quits (~stevenlei@174.128.182.151) (Ping timeout: 256 seconds)
00:12:23 zaquest joins (~notzaques@5.128.210.178)
00:12:38 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
00:12:38 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
00:15:23 cuz joins (~user@2601:182:cc02:8b0:39d7:a0a0:94f3:fad5)
00:15:28 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 256 seconds)
00:17:20 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:cf3c:697d:723b:8aac) (Remote host closed the connection)
00:24:18 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
00:24:42 favonia joins (~favonia@user/favonia)
00:33:12 lavaman joins (~lavaman@98.38.249.169)
00:33:46 × myShoggoth quits (~myShoggot@75.164.51.64) (Ping timeout: 246 seconds)
00:35:46 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
00:38:16 Guest35 joins (~Guest35@2001:e68:543d:9398:c033:aa9b:f442:9c0b)
00:39:16 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
00:39:40 favonia joins (~favonia@user/favonia)
00:42:21 egoist joins (~egoist@186.235.82.105)
00:45:52 stevenxl joins (~stevenlei@174.128.182.51)
00:49:09 × lbseale_ quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
00:53:21 BRobersonO joins (~BRoberson@97.104.41.119)
00:54:22 jay-invariant joins (~jay@c-24-4-6-169.hsd1.ca.comcast.net)
00:54:53 wei2912 joins (~wei2912@112.199.250.21)
00:56:38 jlamothe joins (~jlamothe@198.251.57.108)
00:56:55 cjb joins (~cjb@user/cjb)
00:59:18 × jlamothe quits (~jlamothe@198.251.57.108) (Client Quit)
01:04:34 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 246 seconds)
01:06:45 Erutuon joins (~Erutuon@user/erutuon)
01:08:05 myShoggoth joins (~myShoggot@75.164.51.64)
01:14:31 pagnol joins (~user@014198154145.ctinets.com)
01:16:37 cuz parts (~user@2601:182:cc02:8b0:39d7:a0a0:94f3:fad5) (ERC (IRC client for Emacs 27.1))
01:17:16 × mud quits (~mud@user/kadoban) (Read error: Connection reset by peer)
01:17:43 mud joins (~mud@user/kadoban)
01:17:47 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds)
01:19:29 elf_fortrez joins (~elf_fortr@adsl-72-50-4-48.prtc.net)
01:19:37 × xff0x quits (~xff0x@2001:1a81:53b8:a100:f8a8:d5fd:e910:e3c0) (Ping timeout: 246 seconds)
01:21:42 xff0x joins (~xff0x@2001:1a81:53f8:b100:933a:3ba5:1174:9474)
01:26:10 scratchyone joins (~scratchyo@c-73-142-199-151.hsd1.nh.comcast.net)
01:26:39 scratchyone is now known as rachel
01:26:54 rachel is now known as rachel213
01:27:20 delYsid parts (~user@84-115-55-45.cable.dynamic.surfer.at) (ERC (IRC client for Emacs 27.1.50))
01:28:49 <rachel213> I'm trying to install ghcup on mac, but it keeps getting stuck at "Downloading the latest package list from hackage.haskell.org"
01:28:53 <rachel213> Any idea what might be wrong?
01:29:35 × elf_fortrez quits (~elf_fortr@adsl-72-50-4-48.prtc.net) (Quit: Client closed)
01:33:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:33:30 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
01:33:30 × son0p quits (~ff@181.136.122.143) (Ping timeout: 240 seconds)
01:35:21 <qrpnxz> finally got around to watching https://www.youtube.com/watch?v=S0HvfXq3454 very cool
01:39:44 <rachel213> How do I fix cabal update getting stuck at downloading index?
01:40:37 <davean> rachel213: I've never heard of it being stuck - whats up?
01:41:03 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
01:42:13 <rachel213> davean: I'm not entirely sure, it says "downloading index", displays a huge curl command, and then nothing happens\
01:42:25 <rachel213> It's been sitting here for like 5-6 minutes now
01:42:38 <rachel213> I assume it's not supposed to take that long to download a single index file?
01:43:28 <rachel213> I actually couldn't even get haskell to install properly, it keeps getting stuck on this step, so I did it manually so I could see a verbose output
01:44:11 <sclv> try passing i n a different http transport
01:44:38 <sclv> or running the curl command manually to see why it hand
01:44:43 <sclv> hangs
01:45:28 <sclv> often the issue is firewalls
01:45:34 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds)
01:46:07 <davean> rachel213: it can take a few minutes though, its a big file
01:46:14 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
01:46:16 <rachel213> Hmm, running it manually gives no output either, even with curls --verbose command
01:47:01 <rachel213> Running it without piping to a file shows its definitely downloading though
01:47:13 <rachel213> Maybe curl is just significantly slower than my browser?
01:48:12 <davean> Its a large file
01:48:18 <davean> Whats your connection speed?
01:49:55 <rachel213> Oh hmm wtf
01:50:00 <rachel213> My normal speed is ~150
01:50:09 <davean> 150 .. what?
01:50:13 <rachel213> mbps
01:50:16 <rachel213> But according to a speedtest im getting 10mbps down rn?
01:50:28 <davean> so that will take while
01:50:31 neurocyte47 joins (~neurocyte@185.238.253.62)
01:50:31 × neurocyte47 quits (~neurocyte@185.238.253.62) (Changing host)
01:50:31 neurocyte47 joins (~neurocyte@user/neurocyte)
01:50:35 <rachel213> Yeah haha
01:50:36 × egoist quits (~egoist@186.235.82.105) (Quit: WeeChat 3.2)
01:50:51 <rachel213> Damn now I have to figure out what's wrong with my network lmao
01:50:57 × Guest35 quits (~Guest35@2001:e68:543d:9398:c033:aa9b:f442:9c0b) (Quit: Client closed)
01:51:18 <monochrom> getting throttled? all of us are.
01:51:21 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
01:52:39 <rachel213> Oh huh why?
01:52:55 × myShoggoth quits (~myShoggot@75.164.51.64) (Ping timeout: 256 seconds)
01:53:50 <davean> rachel213: so I'd expect up to 10 minutes at that speed
01:54:32 <rachel213> Thank you!!
01:54:38 × neurocyte4 quits (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds)
01:54:38 neurocyte47 is now known as neurocyte4
01:55:30 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 240 seconds)
02:00:32 cheater1__ joins (~Username@user/cheater)
02:00:32 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
02:00:35 cheater1__ is now known as cheater
02:02:26 × BRobersonO quits (~BRoberson@97.104.41.119) (Quit: Leaving)
02:04:02 × boxscape_ quits (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
02:08:08 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
02:08:40 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
02:10:08 <rachel213> davean: You were right! it finally finished a few seconds ago!
02:10:10 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
02:13:18 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
02:16:56 hedronlkajsdhflk joins (~hedron@2001:7e8:ccfd:9d00:c8d5:bd85:91a0:d51d)
02:17:33 hedronlkajsdhflk parts (~hedron@2001:7e8:ccfd:9d00:c8d5:bd85:91a0:d51d) ()
02:18:54 × pagnol quits (~user@014198154145.ctinets.com) (Ping timeout: 272 seconds)
02:21:01 lavaman joins (~lavaman@98.38.249.169)
02:25:52 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
02:27:29 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
02:27:48 favonia joins (~favonia@user/favonia)
02:29:25 willbush joins (~user@47.183.200.14)
02:30:11 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:30:12 FinnElija is now known as Guest7219
02:30:12 × Guest7219 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (sodium.libera.chat (Nickname regained by services)))
02:30:12 finn_elija is now known as FinnElija
02:32:12 × td_ quits (~td@94.134.91.158) (Ping timeout: 272 seconds)
02:33:35 td_ joins (~td@94.134.91.65)
02:40:45 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
02:42:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
02:43:00 favonia joins (~favonia@user/favonia)
02:43:22 bilegeek joins (~bilegeek@11.sub-174-208-196.myvzw.com)
02:44:52 <rachel213> This is probably a silly question, but what's the haskell way of getting fields from an object?
02:45:06 <rachel213> like object.fieldName in most c-like langs
02:46:27 <c_wraith> if you define a type as a record, it creates accessor functions from the field names
02:47:10 <c_wraith> though those are always syntactic sugar over normal pattern matching
02:47:37 <rachel213> ahhhh thank you!
02:57:46 × paravida quits (~paravida@user/paravida) (Remote host closed the connection)
03:00:38 × alx741 quits (~alx741@186.178.109.202) (Quit: alx741)
03:02:33 × bilegeek quits (~bilegeek@11.sub-174-208-196.myvzw.com) (Read error: Connection reset by peer)
03:03:30 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
03:03:59 bilegeek joins (~bilegeek@11.sub-174-208-196.myvzw.com)
03:04:08 favonia joins (~favonia@user/favonia)
03:04:30 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 272 seconds)
03:06:16 × tomsmeding quits (~tomsmedin@tomsmeding.com) (Ping timeout: 258 seconds)
03:06:25 <ephemient> huh, did the NoFieldSelectors extension not land? somehow I thought it did
03:07:23 tomsmeding joins (~tomsmedin@2a03:b0c0:0:1010::767:3001)
03:10:32 <ephemient> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/field_selectors.html#extension-FieldSelectors ah yes it did
03:12:18 × pfurla_ quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
03:13:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
03:13:29 favonia joins (~favonia@user/favonia)
03:15:40 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
03:20:45 myShoggoth joins (~myShoggot@75.164.51.64)
03:30:25 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
03:37:33 × rachel213 quits (~scratchyo@c-73-142-199-151.hsd1.nh.comcast.net) (Remote host closed the connection)
03:38:42 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 272 seconds)
03:40:58 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:41:41 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
03:41:55 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
03:42:12 Lord_of_Life_ is now known as Lord_of_Life
03:44:34 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
03:44:58 favonia joins (~favonia@user/favonia)
03:46:04 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds)
03:49:11 notzmv is now known as [deleted]
03:59:33 × cjb quits (~cjb@user/cjb) ()
04:00:58 × jao quits (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 246 seconds)
04:04:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:04:02 stevenxl joins (~stevenlei@174.128.182.51)
04:08:45 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 258 seconds)
04:09:54 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds)
04:11:10 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
04:12:20 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
04:12:37 cheater joins (~Username@user/cheater)
04:15:12 × TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8)
04:31:44 <janus> why is NoFieldSelectors since 9.2.1 but OverloadedRecordDot since 9.2.0?
04:35:24 × flipchan quits (~yumman@user/flipchan) (Ping timeout: 268 seconds)
04:38:14 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
04:38:18 × bilegeek quits (~bilegeek@11.sub-174-208-196.myvzw.com) (Quit: Leaving)
04:38:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
04:39:23 Ty joins (~Ty@23.82.193.146)
04:39:32 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
04:39:46 Ty is now known as Guest4095
04:40:25 × Guest4095 quits (~Ty@23.82.193.146) (Client Quit)
04:43:44 P1RATEZ joins (piratez@user/p1ratez)
04:46:20 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:46:39 cjb joins (~cjb@user/cjb)
04:49:14 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
04:51:51 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
04:54:50 × myShoggoth quits (~myShoggot@75.164.51.64) (Ping timeout: 256 seconds)
04:55:31 × P1RATEZ quits (piratez@user/p1ratez) ()
04:59:54 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:59:57 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 244 seconds)
05:00:32 stevenxl joins (~stevenlei@174.128.182.51)
05:00:54 acidjnk joins (~acidjnk@p200300d0c72b95720002fc1121ac54e4.dip0.t-ipconnect.de)
05:05:16 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 252 seconds)
05:13:09 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
05:13:40 v01d4lph4 joins (~v01d4lph4@122.160.65.250)
05:13:40 × v01d4lph4 quits (~v01d4lph4@122.160.65.250) (Changing host)
05:13:40 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
05:17:29 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 256 seconds)
05:18:18 roybatter joins (~roybatter@S010600fc8d321b13.vn.shawcable.net)
05:20:16 × roybatter quits (~roybatter@S010600fc8d321b13.vn.shawcable.net) (Client Quit)
05:21:50 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:23:11 img joins (~img@user/img)
05:26:08 × hgolden quits (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
05:27:15 jneira joins (~jneira@212.8.115.226)
05:28:42 thyriaen joins (~thyriaen@45.178.75.13)
05:29:34 × thyriaen quits (~thyriaen@45.178.75.13) (Client Quit)
05:32:22 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:32:33 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
05:33:04 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
05:34:28 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
05:36:41 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:38:04 img joins (~img@user/img)
05:42:40 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds)
05:45:02 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
05:50:40 × cjb quits (~cjb@user/cjb) ()
05:53:45 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:55:06 img joins (~img@user/img)
05:57:28 matsurago joins (~matsurago@p0602864-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
05:58:14 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
05:59:52 <hjulle[m]> What are the v2- commands that corresponds to `cabal v1-copy` and `cabal v1-register`?
06:00:25 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
06:00:41 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 250 seconds)
06:00:47 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
06:01:09 <sclv> there are none
06:01:20 <sclv> thats not part of the v2 workflow
06:02:14 <mjrosenb> I like barely figured out how to use cabal. I should probably figure out how to use v2.
06:05:18 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
06:05:59 <hjulle[m]> So if I have a script that uses them (to build a debian package), I should simply keep using `cabal v1-copy` and hope that it doesn't go away?
06:06:40 img joins (~img@user/img)
06:07:02 <sclv> well that depends on what the general context of the whole build is
06:07:25 <sclv> arguably there should be a v2 way to do what you want, but you haven't described the case clearly enough
06:07:48 <sclv> if its to build the library itself as a debian package then stick to v1, yes
06:08:12 <sclv> in the v2 model, the idea of distro-packaged binary builds of libraries itself is semi-obseleted
06:10:03 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:10:27 o is now known as niko
06:11:22 <hjulle[m]> I don't know how the scripts worked, I just noticed that the builds failed because of `cabal: unrecognised command: copy`, so I was wondering if I should try to convert to the v2- versions while I'm at it instead of just adding a v1- prefix.
06:11:22 <hjulle[m]> The debian package in question contains both binaries from the haskell package and haskell libraries with bindings to c-code.
06:14:07 <hjulle[m]> Thanks! I think I'll just add the v1- prefix for now. Do I have to worry about it disappearing any time soon?
06:14:41 <dminuoso> Yes.
06:14:44 × kuribas quits (~user@ptr-25vy0i8agiojdg3pjev.18120a2.ip6.access.telenet.be) (Ping timeout: 268 seconds)
06:15:06 <dminuoso> Well soon™
06:16:08 <hjulle[m]> What's the v2- method for just copying the compiled binaries?
06:16:21 <dminuoso> Depends, which cabal version do you have installed?
06:17:13 <dminuoso> If you want a more backwards sure way, use `cabal-plan list-bin` (you can install cabal-plan with `cabal install cabal-plan`), but since 3.4.0.0 (?) list-bin has been added to cabal-install itself.
06:17:20 <hjulle[m]> I don't know. I want it to be compatible with as many versions as possible, since it's a script that I will not run myself.
06:17:20 <dminuoso> So with modern cabal you'd write something like:
06:17:40 <dminuoso> cp $(cabal -v0 list-bin foo:exe:bar) ./the_binary
06:17:46 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:18:00 <dminuoso> You can also jq directly into the build plan yourself if you like
06:18:15 <dminuoso> For a script this is likely a bit more robust if you cant control the version of cabal and what haskell packages are installed
06:19:27 <davean> well you can tell cabal to copy it somewhere with install
06:19:39 <dminuoso> Ah heh, I guess there's also that. :)
06:20:18 <hjulle[m]> This is the script in question: https://github.com/GrammaticalFramework/gf-core/blob/master/debian/rules
06:20:20 <davean> That goes back a long way
06:22:18 lavaman joins (~lavaman@98.38.249.169)
06:22:40 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
06:24:20 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
06:26:14 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
06:26:17 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
06:26:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
06:27:46 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 256 seconds)
06:29:07 img joins (~img@user/img)
06:30:28 jakalx joins (~jakalx@base.jakalx.net)
06:32:35 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
06:33:52 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
06:34:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:35:40 zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
06:36:21 kenran joins (~kenran@b2b-37-24-119-190.unitymedia.biz)
06:38:45 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
06:39:02 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
06:40:21 img joins (~img@user/img)
06:41:00 boxscape_ joins (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
06:41:11 × img quits (~img@user/img) (Client Quit)
06:41:56 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
06:42:04 × boxscape_ quits (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Client Quit)
06:42:35 img joins (~img@user/img)
06:42:46 favonia joins (~favonia@user/favonia)
06:48:55 stevenxl joins (~stevenlei@174.128.182.51)
06:49:29 jakalx parts (~jakalx@base.jakalx.net) ()
06:50:32 jakalx joins (~jakalx@base.jakalx.net)
06:50:56 gehmehgeh joins (~user@user/gehmehgeh)
06:51:07 hgolden joins (~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
06:52:30 cfricke joins (~cfricke@user/cfricke)
06:53:06 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 240 seconds)
06:56:30 chele joins (~chele@user/chele)
06:58:25 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
06:59:17 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
07:01:07 jakalx joins (~jakalx@base.jakalx.net)
07:04:39 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
07:05:10 fendor joins (~fendor@77.119.195.142.wireless.dyn.drei.com)
07:05:20 × shutdown_-h_now quits (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl) (Ping timeout: 265 seconds)
07:09:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
07:10:16 × acidjnk quits (~acidjnk@p200300d0c72b95720002fc1121ac54e4.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
07:11:30 shutdown_-h_now joins (~arjan@82-75-187-100.cable.dynamic.v4.ziggo.nl)
07:13:20 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:14:14 × oxide quits (~lambda@user/oxide) (Ping timeout: 256 seconds)
07:14:42 × willbush quits (~user@47.183.200.14) (Quit: ERC (IRC client for Emacs 28.0.50))
07:14:51 oxide joins (~lambda@user/oxide)
07:16:54 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
07:18:54 michalz joins (~michalz@185.246.204.125)
07:20:13 nschoe joins (~quassel@178.251.84.79)
07:20:25 × nschoe quits (~quassel@178.251.84.79) (Client Quit)
07:26:12 benin0369 joins (~benin@183.82.205.231)
07:32:21 × haykam2 quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
07:32:33 haykam1 joins (~haykam@static.100.2.21.65.clients.your-server.de)
07:34:28 × TheRAt quits (~TheRAt@user/therat) (Ping timeout: 246 seconds)
07:34:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:34:30 × dsf quits (~dsf@cpe-66-75-56-205.san.res.rr.com) (Ping timeout: 252 seconds)
07:36:45 TheRAt joins (~TheRAt@user/therat)
07:39:48 boxscape_ joins (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
07:40:39 dsf joins (~dsf@cpe-66-75-56-205.san.res.rr.com)
07:41:32 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:42:45 × boxscape_ quits (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Client Quit)
07:43:29 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
07:43:55 boxscape_ joins (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de)
07:45:03 × matsurago quits (~matsurago@p0602864-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
07:48:01 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
08:01:05 × azeem quits (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Read error: Connection reset by peer)
08:03:17 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Remote host closed the connection)
08:06:22 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
08:07:20 hendursa1 joins (~weechat@user/hendursaga)
08:10:05 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:14:03 azeem joins (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it)
08:15:47 hegstal joins (~hegstal@2a02:c7f:7604:8a00:19d1:3d77:8320:86c9)
08:17:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
08:17:52 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:19:21 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
08:20:56 chris_ joins (~chris@81.96.113.213)
08:23:14 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:26:52 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: Connection reset by peer)
08:27:33 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
08:30:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
08:33:50 <zincy> What is a good approach to parsing Clojure code in Haskell?
08:34:37 <zincy> The broad goal is to parse microservice source code written in clojure for the purpose of understanding which events a service produces and consumes in an event driven environment
08:34:37 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
08:34:53 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
08:35:28 <merijn> zincy: Approach in what sense?
08:35:44 <turlando> regular expressions /s
08:36:16 rune joins (sid21167@id-21167.charlton.irccloud.com)
08:37:04 stevenxl joins (~stevenlei@174.128.182.51)
08:37:17 <zincy> merijn: Just thinking someone must have already written a Clojure parser in Haskell right? :)
08:37:21 <zincy> turlando: haha
08:38:30 <turlando> Not sure about the specific problem but parsing could be the easiest part (parsing lisps using any of the various parser combinator libraries is something you can do in half an hour)
08:39:07 <turlando> Depending on what you have to do the hard part is converting the AST in some normal form, doing macroexpand, etc
08:39:34 × acid quits (~acid@user/acid) (Ping timeout: 246 seconds)
08:40:05 <zincy> Ah ok so should be simple to do myself
08:40:36 <zincy> Yeah the specific code I want to analyse is literally just a bunch of maps so I can ascertain their key names
08:40:51 <zincy> So I would hope I wont need to do any macro stuff
08:40:54 <merijn> zincy: Writing a parser for something like clojure probably isn't too hard
08:41:06 <zincy> Yeah
08:41:11 <merijn> zincy: Especially if it's a well-specified subset, instead of the whole grammar
08:41:13 <zincy> Could be fun too
08:41:20 acid joins (~acid@user/acid)
08:41:21 <turlando> If that's the case I'd rather emit some edn and then parse the edn from Haskell
08:41:38 <zincy> Whats an edn?
08:41:48 <turlando> (there should be ready to use edn libraries in haskell)
08:42:04 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 272 seconds)
08:42:06 <turlando> It's the data notation that clojure uses for serialization (not very scientific description)
08:42:57 <zincy> Oh so the EDN is the format clojure uses for its AST?
08:43:54 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
08:44:30 <turlando> Well the main purpose is to encode data
08:44:41 <turlando> See https://github.com/edn-format/edn and https://github.com/clojure-cookbook/clojure-cookbook/blob/master/04_local-io/4-14_read-write-clojure-data-structures.asciidoc
08:48:37 <zincy> Thanks!
08:49:19 acidjnk joins (~acidjnk@p200300d0c72b95720002fc1121ac54e4.dip0.t-ipconnect.de)
08:50:03 <tdammers> EDN is kind of like the JSON of clojure. In its defense, its design is a lot cleaner and saner than JSON's, but the idea is the same, modulo s/javascript/clojure/
08:50:41 <tdammers> and of course that also means that it's likely never going to see widespread adoption outside the clojure ecosystem, unless someone comes up with an inevitable killer app
08:55:10 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:00:26 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 272 seconds)
09:01:54 __monty__ joins (~toonn@user/toonn)
09:03:31 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
09:03:42 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
09:04:22 cfricke joins (~cfricke@user/cfricke)
09:05:08 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:05:48 chomwitt joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
09:07:54 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Ping timeout: 240 seconds)
09:08:00 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
09:08:22 ChaiTRex joins (~ChaiTRex@user/chaitrex)
09:11:42 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
09:14:48 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
09:18:10 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
09:19:06 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Ping timeout: 240 seconds)
09:20:42 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
09:20:42 × fabfianda quits (~fabfianda@37.183.255.57) (Ping timeout: 272 seconds)
09:20:59 fabfianda joins (~fabfianda@mob-5-90-246-133.net.vodafone.it)
09:21:27 cheater joins (~Username@user/cheater)
09:25:42 × fabfianda quits (~fabfianda@mob-5-90-246-133.net.vodafone.it) (Ping timeout: 256 seconds)
09:25:57 fabfianda joins (~fabfianda@37.183.255.57)
09:47:01 jumper149 joins (~jumper149@80.240.31.34)
09:48:21 <jumper149> What does `deriving (Generic, ..., ToJSON, FromJSON)` actually mean for the instance. Does it depend on the enabled language extensions?
09:48:49 <jumper149> It's probably different from writing `instance FromJSON MyData`, right?
09:48:51 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
09:49:11 <Taneb> jumper149: the relevant extension here is DeriveAnyClass (for To/FromJSON)
09:49:32 <Taneb> And it's _exactly_ the same as instance FromJSON MyData
09:49:35 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:49:56 <Taneb> deriving Generic needs the DeriveGeneric extension and that's it's own thing.
09:50:04 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
09:50:07 <jumper149> Taneb: What if it's a newtype and GeneralizedNewtypeDeriving is enabled?
09:50:22 cheater joins (~Username@user/cheater)
09:50:41 kmein joins (~weechat@user/kmein)
09:50:59 <jumper149> That would mean, that the instances are different, right?
09:51:01 <dminuoso> jumper149: That'd work too, then.
09:51:38 <jumper149> Yes it would work, but the instance is different, because the Constructor gets stripped, doesnt it?
09:52:00 <dminuoso> If both GeneralizedNewtypeDeriving and DeriveAnyClass are enabled.. I have no clue.
09:52:36 <dminuoso> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/deriving_strategies.html#extension-DerivingStrategies
09:52:38 <dminuoso> It's documented
09:52:59 <dminuoso> Funny, I would have expected GND to win, but apparently DAC does.
09:53:27 <dminuoso> jumper149: Yeah. with GND you just hoist an existing instance from the inner thing to the outer newtype.
09:53:57 <dminuoso> The other assumes the typeclass has sufficient default methods (which FromJSON/ToJSON have, if you also have Generic)
09:55:22 en30 joins (~en30@p6356230-ipngn31101marunouchi.tokyo.ocn.ne.jp)
09:55:27 <jumper149> dminuoso: I'm happy that DAC wins :) That means I don't have to refactor a shit ton of deriving statements x)
09:56:59 × TheCommieDuck quits (~mark@2a00:23c6:d280:3700:572a:c2f0:ddc5:b769) (Quit: WeeChat 3.1)
09:57:48 dunj3 joins (~dunj3@p200300f61714a6027bbd4f06e8da6b8b.dip0.t-ipconnect.de)
09:58:21 <Profpatsch> jumper149: Best to use the explicit “deriving stock/anyclass/newtype/via” syntax I think
09:58:40 <Profpatsch> Then there is no confusion (also fro the reader)
09:59:03 <jumper149> Profpatsch: I agree!
10:00:41 <tdammers> yeah, I would say that it's a good habit to always use deriving strategies when you enable more than one of the deriving extensions
10:03:03 <jumper149> -XExplicitDerivingStrategies would be cool ;)
10:03:27 <Profpatsch> we could probably have an hlint check
10:03:37 ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
10:04:58 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
10:05:45 × xsperry quits (~as@user/xsperry) (Remote host closed the connection)
10:06:39 henninb joins (~henninb@63.226.174.157)
10:07:57 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
10:09:20 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Ping timeout: 256 seconds)
10:09:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:10:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:12:10 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 252 seconds)
10:12:48 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
10:13:20 <boxscape> or just get rid of everything aside from deriving via ;) https://www.parsonsmatt.org/2020/11/10/simplifying_deriving.html
10:13:36 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
10:13:50 juhp joins (~juhp@128.106.188.66)
10:15:48 <yushyin> not the worst idea
10:15:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:16:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:21:42 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:22:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:23:55 lavaman joins (~lavaman@98.38.249.169)
10:25:03 stevenxl joins (~stevenlei@174.128.182.51)
10:27:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:27:52 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:27:56 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
10:28:28 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
10:30:22 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 272 seconds)
10:33:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
10:33:07 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:33:34 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:37:50 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:38:58 × azeem quits (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Ping timeout: 265 seconds)
10:39:04 fef joins (~thedawn@user/thedawn)
10:39:12 azeem joins (~azeem@176.201.12.132)
10:39:34 × azeem quits (~azeem@176.201.12.132) (Read error: Connection reset by peer)
10:39:55 azeem joins (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it)
10:40:24 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
10:41:54 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
10:44:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:45:19 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:45:34 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
10:48:24 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:48:49 xsperry joins (~as@user/xsperry)
10:51:02 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
10:52:20 takuan joins (~takuan@178-116-218-225.access.telenet.be)
10:52:20 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer)
10:52:43 jonathanx joins (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se)
10:55:04 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
10:56:44 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:00:18 dunj4 joins (~dunj3@p200300f61714a6405bb7680713e8c72a.dip0.t-ipconnect.de)
11:01:34 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
11:02:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:02:28 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
11:02:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:03:10 × dunj3 quits (~dunj3@p200300f61714a6027bbd4f06e8da6b8b.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
11:08:15 × fef quits (~thedawn@user/thedawn) (Quit: Leaving)
11:10:12 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
11:13:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:13:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:13:56 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
11:14:09 juhp joins (~juhp@128.106.188.66)
11:24:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:24:24 × jumper149 quits (~jumper149@80.240.31.34) (Ping timeout: 265 seconds)
11:25:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:25:30 × jonathanx quits (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Ping timeout: 252 seconds)
11:40:09 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
11:41:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
11:41:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:45:14 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
11:47:08 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 252 seconds)
11:50:10 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
11:58:08 × acidjnk quits (~acidjnk@p200300d0c72b95720002fc1121ac54e4.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
12:01:10 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Read error: No route to host)
12:02:06 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
12:06:25 acidjnk joins (~acidjnk@p200300d0c72b95402d92a822f50d83dc.dip0.t-ipconnect.de)
12:06:34 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
12:10:42 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Ping timeout: 240 seconds)
12:10:52 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:13:25 stevenxl joins (~stevenlei@174.128.182.51)
12:18:03 × stevenxl quits (~stevenlei@174.128.182.51) (Ping timeout: 265 seconds)
12:18:20 × kenran quits (~kenran@b2b-37-24-119-190.unitymedia.biz) (Quit: WeeChat info:version)
12:20:31 stevenxl joins (~stevenlei@174.128.182.118)
12:20:58 cfricke joins (~cfricke@user/cfricke)
12:23:01 qbt joins (~edun@user/edun)
12:25:12 acidjnk_new joins (~acidjnk@p200300d0c72b954061d05013652ae098.dip0.t-ipconnect.de)
12:25:25 lavaman joins (~lavaman@98.38.249.169)
12:25:51 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
12:28:08 egoist joins (~egoist@186.235.82.105)
12:29:18 × acidjnk quits (~acidjnk@p200300d0c72b95402d92a822f50d83dc.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
12:30:14 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
12:31:08 × en30 quits (~en30@p6356230-ipngn31101marunouchi.tokyo.ocn.ne.jp) (Quit: Connection closed)
12:36:03 jonathanx joins (~jonathan@c-5eea32b3-74736162.cust.telenor.se)
12:37:38 Fendor_ joins (~Fendor@e236-005.eduroam.tuwien.ac.at)
12:40:10 × boxscape_ quits (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) (Quit: Connection closed)
12:41:09 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
12:42:21 jonathanx_ joins (~jonathan@94.234.50.179)
12:42:29 × jonathanx quits (~jonathan@c-5eea32b3-74736162.cust.telenor.se) (Read error: Connection reset by peer)
12:44:30 × jonathanx_ quits (~jonathan@94.234.50.179) (Read error: Connection reset by peer)
12:45:38 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
12:46:05 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
12:46:52 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
12:47:00 berberman joins (~berberman@user/berberman)
12:48:32 jonathanx joins (~jonathan@c-5eea32b3-74736162.cust.telenor.se)
12:50:50 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
12:50:56 amcleodca joins (~amcleodca@user/amcleodca)
12:51:26 chris_ joins (~chris@81.96.113.213)
12:55:52 jao joins (jao@gateway/vpn/protonvpn/jao)
12:56:08 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 268 seconds)
12:56:34 × ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
12:56:46 ubert joins (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33)
12:56:53 × jneira quits (~jneira@212.8.115.226) (Quit: Client closed)
12:57:56 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 272 seconds)
13:00:33 × henninb quits (~henninb@63.226.174.157) (Quit: leaving)
13:00:39 ubert1 joins (~Thunderbi@ip5b409628.dynamic.kabel-deutschland.de)
13:01:06 × ubert quits (~Thunderbi@2a02:8109:9880:303c:e6b3:18ff:fe83:8f33) (Ping timeout: 240 seconds)
13:01:06 ubert1 is now known as ubert
13:01:09 alx741 joins (~alx741@186.178.109.202)
13:01:30 favonia joins (~favonia@user/favonia)
13:02:15 chris_ joins (~chris@81.96.113.213)
13:02:18 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
13:04:25 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
13:04:39 <amcleodca> Howdy - I am on day 2 of learning, and seem to be having trouble using the dot notation to access records in data structures. I think this is a problem with my development environment, but I'm not sure what my next step should be. I pasted a simple case that duplicates the problem and shows the error message here: https://pastebin.com/K50bwZM3. Any
13:04:40 <amcleodca> ideas what I can do next?
13:06:52 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
13:06:59 <dminuoso> amcleodca: We have no such dot notation for records.
13:07:05 <dminuoso> Not yet, anyway
13:08:55 trcc joins (~trcc@users-1190.st.net.au.dk)
13:10:53 chris_ joins (~chris@81.96.113.213)
13:11:54 <tomsmeding> the proposal says that it should be implemented in GHC 9.2: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0282-record-dot-syntax.rst
13:11:55 <merijn> amcleodca: That doesn't exist in Haskell...
13:12:27 <amcleodca> Howdy - I am on day 2 of learning, and seem to be having trouble using the dot notation to access records in data structures. I think this is a problem with my development environment, but I'm not sure what my next step should be. I pasted a simple case that duplicates the problem and shows the error message here: https://pastebin.com/K50bwZM3. Any
13:12:28 <amcleodca> ideas what I can do next?
13:12:37 <tomsmeding> but yeah, amcleodca even if you're using the bleeding-edge ghc compiler, it's still not (yet) idiomatic haskell
13:12:56 × jonathanx quits (~jonathan@c-5eea32b3-74736162.cust.telenor.se) (Ping timeout: 256 seconds)
13:13:01 <amcleodca> (please disregard the duplicate post :)
13:13:39 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
13:14:16 chris_ joins (~chris@81.96.113.213)
13:14:23 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection)
13:14:35 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
13:14:51 <amcleodca> this is interesting because The Simple Haskell Handbook seems to use the dot notation, like in this worked example where build.CompletedSteps seems to refer to a record defined in "data Build" on line 33
13:15:06 <amcleodca> (link: https://github.com/jturner/quad-ci/blob/449fafb7376b5a711874798cc03166e762db505e/src/Core.hs#L99)
13:15:53 <amcleodca> i take it they're doing something non-standard here, then?
13:15:54 × azeem quits (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it) (Read error: Connection reset by peer)
13:15:55 motherfsck joins (~motherfsc@user/motherfsck)
13:16:09 × poljar quits (~poljar@93-139-36-109.adsl.net.t-com.hr) (Quit: WeeChat 3.1)
13:16:18 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
13:17:04 Ariakenom joins (~Ariakenom@c83-255-154-140.bredband.tele2.se)
13:17:27 azeem joins (~azeem@dynamic-adsl-94-34-20-185.clienti.tiscali.it)
13:17:42 favonia joins (~favonia@user/favonia)
13:18:01 <dminuoso> amcleodca: that's for qualified names
13:18:18 <dminuoso> https://github.com/jturner/quad-ci/blob/449fafb7376b5a711874798cc03166e762db505e/src/Core.hs#L8
13:18:39 <dminuoso> See, the module was imported under the qualified "List", so you have to refer all identifiers from that module with List.<something>
13:18:50 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 258 seconds)
13:19:07 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
13:19:09 <tomsmeding> that 'build.completedSteps' is very odd spacing
13:19:28 <tomsmeding> most people would write that as: List.all ((==) StepSucceeded) build . completedSteps
13:19:36 <tomsmeding> where (.) is function composition
13:19:36 chisui joins (~chisui@200116b868342600e075ba151a671095.dip.versatel-1u1.de)
13:19:50 <tomsmeding> so: \x -> List.all ((==) StepSucceeded) build (completedSteps x)
13:20:06 <tomsmeding> means the same thing
13:20:13 <tomsmeding> (and List.all is what dminuoso said)
13:20:22 dminuoso waits for merijn to make some remark about how spacing around operators should have been mandated
13:20:32 fvr joins (uid503686@id-503686.highgate.irccloud.com)
13:21:05 <turlando> lol
13:21:07 tomsmeding wonders why the author of that code thinks that is readable, without spacing around the .
13:21:30 <amcleodca> sweet. sounds like i misunderstood what was happening here. tyvm!
13:22:08 mastarija joins (~mastarija@31.217.22.187)
13:22:55 jumper149 joins (~jumper149@80.240.31.34)
13:24:32 dudek joins (~dudek@185.150.236.112)
13:25:10 <Cale> amcleodca: In their cabal file they have ghc-options: -F -pgmF=record-dot-preprocessor -threaded -rtsopts -with-rtsopts=-N
13:25:27 <Cale> Those first two arguments are probably what's doing the weird dot notation
13:25:47 <tomsmeding> thanks for correcting me
13:26:40 <tomsmeding> so amcleodca you were right, but that project is doing something fancy :p
13:26:47 <tomsmeding> don't do that
13:26:49 poljar joins (~poljar@93-139-36-109.adsl.net.t-com.hr)
13:26:49 <Cale> I don't know where that record-dot-preprocessor is coming from though
13:27:05 <tomsmeding> Cale: https://hackage.haskell.org/package/record-dot-preprocessor
13:27:12 <Cale> ah, I see
13:27:40 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
13:29:11 <dminuoso> Learning Haskell with GHC plugins right from the beginning.
13:29:35 <Cale> Not GHC plugins, but source-to-source preprocessors even :)
13:30:23 <Cale> Everything that happened with the RecordDotSyntax proposal makes me sad
13:30:49 <Cale> If a few people wanted to use this preprocessor that's one thing
13:31:56 <dminuoso> What will the "second week of Haskell" introduce? An SMT solver plugged in via TC plugin for better type level naturals.
13:32:06 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:32:19 × maerwald quits (~maerwald@user/maerwald) (Ping timeout: 244 seconds)
13:32:30 <yushyin> I like NoFieldSelectors and maybe I will also like RecordDotSyntax, i'll give it a chance
13:33:46 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
13:35:38 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
13:35:43 <Cale> There were like 4 different dimensions of how to disambiguate expressions involving RecordDotSyntax, and 8 different options proposed (which didn't even fully cover the space of what would be reasonable), and then the GHC committee used Condorcet voting to pick one.
13:40:57 <Cale> (Which I think is a really poor way to decide on things like that, where it's clear that people's first impression about what expressions will mean are so different)
13:42:06 × amcleodca quits (~amcleodca@user/amcleodca) (Killed (cadmium.libera.chat (Nickname regained by services)))
13:42:18 amcleodca joins (~andy@user/amcleodca)
13:43:41 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
13:45:02 <Cale> (a copy of the document where the choices were being discussed... https://docs.google.com/document/d/1Hmviy8xJVw3RBnpXyQxb9izchXW-ZtaXMzzAX1iNuqU/edit?usp=sharing )
13:46:08 <tomsmeding> was there a sensible subset of expressions where everyone agreed on the semantics, so that you can just reject all programs outside that intersection?
13:48:21 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 258 seconds)
13:51:17 <yushyin> i think this was a very heated and difficult to follow discussion on github. I found the online document in which they tried to neatly write down the most common variants quite helpful. the discussion was already pretty deadlocked anyway. in the end, they didn't decide on the variant that I personally would have found better, but I can live with the now somewhat more conservative variant for now.
13:52:25 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
13:52:40 <merijn> yushyin: NoFieldSelectors is amazing, but I don't think anyone really objects to that one :p
13:53:12 <yushyin> you could very much see wadler's law in action there :D
13:53:23 <tomsmeding> wait people disagreed on what 'f x.r' should mean?
13:53:31 <yushyin> tomsmeding: shure!
13:53:33 <tomsmeding> okay at that point there is no way you're going to satisfy everyone
13:53:35 <merijn> tomsmeding: Yes
13:53:43 cloudy joins (~user@2600:8807:c207:f00:d022:dd81:f0f8:bb22)
13:54:00 <merijn> tbh, the real mistake in Haskell was not requiring whitespace around operators
13:54:03 <tomsmeding> well, I guess the "sensible subset" that I mentioned would then the programs that do not use record dot syntax :p
13:54:05 <tomsmeding> i.e. C1
13:54:12 <merijn> If had required whitespace around operators none of this would be a problem
13:54:21 <tomsmeding> dminuoso: you can stop waiting
13:54:57 <merijn> I don't really see any value in operators without whitespace anyway
13:55:31 <merijn> This would've eliminated the need for unary minus too
13:55:39 <tomsmeding> it's sometimes nice to compress e.g. [0 .. i-1]
13:55:43 <dminuoso> tomsmeding: !
13:55:43 <tomsmeding> lol
13:55:45 <dminuoso> :-)
13:55:56 <merijn> tomsmeding: you really think two spaces would ruin that?
13:56:25 <merijn> tomsmeding: Or rather, would you put up with 2 spaces there if it completely eliminated the problems of: 1) unary minus and 2) record indexing?
13:57:08 <Rembane> What about always demanding whitespace around the function composition operator, but keeping the rest as it is?
13:57:11 trcc_ joins (~trcc@eduroam09.au.dk)
13:57:31 <merijn> Rembane: Now you're special casing a specific function name in the grammar
13:57:33 <merijn> Hard pass
13:57:44 <merijn> I want *less* special casing and weird ass rules
13:57:45 <merijn> Not more
13:57:53 <merijn> Rembane: What happens if a user defines a local (.) ?
13:57:59 <Rembane> merijn: We already have one, the dollar sign, lets give it exactly one friend. :)
13:58:19 <Rembane> merijn: Then it must behave in the exact same way as the global one.
13:58:37 <merijn> This sounds incredibly unprincipled and messy
13:58:44 <tomsmeding> merijn: yes I would put up with some spaces :p
13:58:50 <merijn> Rembane: Also, then you still have the unary minus problem
13:59:31 <Rembane> merijn: Indeed. The unary minus problem is definitely a wart.
14:00:53 × trcc quits (~trcc@users-1190.st.net.au.dk) (Ping timeout: 268 seconds)
14:01:18 <merijn> Mandatory whitespace around operator solves: 1) ambiguity of qualified import vs constructor composition with ., 2) solves the problem of finding a non-conflicting record index syntax, 3) eliminates unary minus. I, the prophet Merijn, have foretold the 2nd^H^H^H19th coming of Haskell Prime and it will redeem us all! Heed my words, oh ye unworthy!
14:01:58 × trcc_ quits (~trcc@eduroam09.au.dk) (Ping timeout: 265 seconds)
14:02:42 <merijn> While we're at it and need to accomodate our new "negative literals", let's splice in a new SignedNum class and move abs, signum and - into it >.>
14:03:23 neo joins (~neo3@cpe-292712.ip.primehome.com)
14:06:08 delYsid joins (~user@84-115-55-45.cable.dynamic.surfer.at)
14:06:10 <yushyin> i vote merijn for haskell prime chairman! \o/ let the bikeshedding begin \o/
14:07:44 × mastarija quits (~mastarija@31.217.22.187) (Quit: Leaving)
14:08:00 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
14:08:24 <turlando> Do we really need negative numbers after all?
14:08:42 <merijn> yushyin: https://files.inconsistent.nl/merijn.jpg
14:09:11 <yushyin> ;D
14:10:58 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
14:12:02 <yushyin> merijn: btw. I get a bad cert domain ssl error with your link.
14:12:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Ping timeout: 240 seconds)
14:12:24 fendor__ joins (~fendor@77.119.196.177.wireless.dyn.drei.com)
14:13:28 chris_ joins (~chris@81.96.113.213)
14:13:35 × sander quits (~sander@user/sander) (Quit: So long! :))
14:13:49 maerwald joins (~maerwald@mail.hasufell.de)
14:13:51 Sgeo joins (~Sgeo@user/sgeo)
14:14:35 sander joins (~sander@user/sander)
14:14:42 <merijn> oh, heh
14:14:47 <merijn> it shouldn't be https
14:14:54 × fendor quits (~fendor@77.119.195.142.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
14:14:56 <merijn> I blame my browser
14:16:16 <merijn> Because that server indeed doesn't have any certificate for my domain, on account of it not being my server :p
14:16:42 MQ-17J joins (~MQ-17J@8.21.10.15)
14:17:23 Pickchea joins (~private@user/pickchea)
14:18:52 × neo quits (~neo3@cpe-292712.ip.primehome.com) (Quit: Leaving)
14:19:11 neo joins (~neo3@cpe-292712.ip.primehome.com)
14:20:13 robbert-vdh joins (~robbert@robbertvanderhelm.nl)
14:23:43 <guest61> .
14:24:04 × jao quits (jao@gateway/vpn/protonvpn/jao) (Ping timeout: 272 seconds)
14:24:04 Fendor_ is now known as fendor
14:27:25 pagnol joins (~user@014198154145.ctinets.com)
14:33:12 <robbert-vdh> Has anyone ever tried using RTS Execution Stacks? (after compiling GHC with --enable-dwarf-unwind) Is that supposed to work?
14:34:20 <merijn> robbert-vdh: *someone*? probably, whether that person is here, who knows :p
14:34:44 <robbert-vdh> merijn: At this point I really wouldn't be surprised if literally noone has tried using this feature lol
14:34:45 <merijn> I'd be curious to see how well it works if you succeed, though
14:36:01 <robbert-vdh> I tried compiling both GHC 8.10.5 and GHC 9.2.0.whatevertheprereleaseis with that option and producing a stack trace gives me "execution-stacks: Failed to get stack frames of current process: no matching address range: Invalid argument", so I was hoping there's some obvious flag I'm missing or something :)
14:36:13 <robbert-vdh> (and the stack trace ends in rts/Libdw.c which uh isn't very helpful)
14:36:37 <robbert-vdh> Trying to use this to get some additional source mapping information in Accelerate
14:38:35 <merijn> robbert-vdh: Probably wanna ask in #ghc
14:38:53 <merijn> robbert-vdh: Since this dealing with rather deep internsl of ghc
14:39:18 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
14:39:29 <robbert-vdh> merijn: Yeah I guess I'll have to do that, was hoping someone else miraculously also tried using this feature and knew the magic incantation to make it work :)
14:40:12 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
14:40:39 favonia joins (~favonia@user/favonia)
14:40:57 amcleodca_ joins (~andy@bras-base-toroon0335w-grc-34-142-114-172-148.dsl.bell.ca)
14:41:15 × neo quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 258 seconds)
14:42:02 × amcleodca quits (~andy@user/amcleodca) (Ping timeout: 252 seconds)
14:42:46 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
14:43:22 amcleodca_ is now known as amcleodca
14:43:48 × amcleodca quits (~andy@bras-base-toroon0335w-grc-34-142-114-172-148.dsl.bell.ca) (Changing host)
14:43:48 amcleodca joins (~andy@user/amcleodca)
14:49:18 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
14:49:41 jakalx parts (~jakalx@base.jakalx.net) ()
14:52:16 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
14:52:59 jippiedoe joins (~david@2a02-a44c-e14e-1-ae15-1a10-43d7-2299.fixed6.kpn.net)
14:53:44 cfricke joins (~cfricke@user/cfricke)
14:54:56 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
14:57:09 jakalx joins (~jakalx@base.jakalx.net)
14:57:14 lavaman joins (~lavaman@98.38.249.169)
14:59:30 × qbt quits (~edun@user/edun) (Ping timeout: 240 seconds)
15:00:40 Schrostfutz joins (~Schrostfu@schettlerdck.tkn.tu-berlin.de)
15:01:59 × fendor quits (~Fendor@e236-005.eduroam.tuwien.ac.at) (Quit: Connection closed)
15:03:25 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
15:03:30 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
15:05:05 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
15:05:20 lavaman joins (~lavaman@98.38.249.169)
15:05:27 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
15:05:27 favonia joins (~favonia@user/favonia)
15:05:31 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:07:57 slowButPresent joins (~slowButPr@user/slowbutpresent)
15:08:43 × flukiluke quits (~flukiluke@plum.alephc.xyz) (Remote host closed the connection)
15:09:01 flukiluke joins (~flukiluke@plum.alephc.xyz)
15:10:51 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:15:04 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
15:15:10 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
15:17:20 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
15:17:22 scratchyone joins (~scratchyo@c-73-142-199-151.hsd1.nh.comcast.net)
15:17:30 scratchyone is now known as rachel3342e
15:17:35 rachel3342e is now known as rachel231
15:18:05 myShoggoth joins (~myShoggot@75.164.51.64)
15:19:30 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
15:19:47 <rachel231> Does anyone know of any good coding projects for learning haskell?
15:19:55 favonia joins (~favonia@user/favonia)
15:20:06 <rachel231> Like stuff that'll actually let me take advantage of the languages unique features
15:20:26 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2)
15:21:54 × krjst quits (~krjst@2604:a880:800:c1::16b:8001) (Quit: bye)
15:22:31 krjst joins (~krjst@2604:a880:800:c1::16b:8001)
15:23:54 × hegstal quits (~hegstal@2a02:c7f:7604:8a00:19d1:3d77:8320:86c9) (Ping timeout: 240 seconds)
15:27:29 × rachel231 quits (~scratchyo@c-73-142-199-151.hsd1.nh.comcast.net) (Quit: Connection closed)
15:27:48 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
15:28:06 favonia joins (~favonia@user/favonia)
15:30:53 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
15:36:11 lavaman joins (~lavaman@98.38.249.169)
15:36:37 <Ariakenom> uh some parsing with parser combinators maybe
15:39:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
15:40:40 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
15:41:38 favonia joins (~favonia@user/favonia)
15:41:42 <adamCS> rachel123: I think that depends a lot on which features interest you and what kind of coding projects interest you.
15:41:51 <adamCS> rachel231: ^
15:42:12 × Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds)
15:42:33 scratchyone joins (~scratchyo@c-73-142-199-151.hsd1.nh.comcast.net)
15:42:51 scratchyone is now known as rachel231
15:49:24 jumper149 joins (~jumper149@80.240.31.34)
15:50:48 <dsal> qrpnxz: It turns out, fold1 actually does exist.
15:50:51 <dsal> :t sconcat
15:50:53 <lambdabot> error:
15:50:53 <lambdabot> • Variable not in scope: sconcat
15:50:53 <lambdabot> • Perhaps you meant one of these:
15:51:48 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
15:52:21 <boxscape> @more
15:54:51 × ubert quits (~Thunderbi@ip5b409628.dynamic.kabel-deutschland.de) (Remote host closed the connection)
15:55:03 ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
15:55:04 <dsal> hoogle outputs it, but that's just noise. I was looking through my generated docs and saw that. One less dep.
15:56:08 × Schrostfutz quits (~Schrostfu@schettlerdck.tkn.tu-berlin.de) (Ping timeout: 256 seconds)
15:56:30 lavaman joins (~lavaman@98.38.249.169)
15:58:53 nckx is now known as Thunderbi
15:58:53 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:59:02 jlamothe joins (~jlamothe@198.251.57.108)
16:02:08 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Ping timeout: 258 seconds)
16:02:56 × acidjnk_new quits (~acidjnk@p200300d0c72b954061d05013652ae098.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
16:04:16 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
16:04:29 juhp joins (~juhp@128.106.188.66)
16:04:52 × michalz quits (~michalz@185.246.204.125) (Remote host closed the connection)
16:05:15 × ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
16:12:48 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Remote host closed the connection)
16:13:02 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
16:15:46 Thunderbi is now known as nckx
16:16:14 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
16:16:15 × amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Quit: node-irc says goodbye)
16:18:46 amesgen[m] joins (~amesgenam@2001:470:69fc:105::82b)
16:21:05 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
16:21:17 econo joins (uid147250@user/econo)
16:24:42 × amesgen[m] quits (~amesgenam@2001:470:69fc:105::82b) (Quit: node-irc says goodbye)
16:27:19 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
16:27:56 pavonia joins (~user@user/siracusa)
16:28:11 mpt joins (~tom@2a02:908:1862:49e0::4)
16:28:22 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Client Quit)
16:30:31 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
16:33:56 son0p joins (~ff@181.136.122.143)
16:34:36 × nvmd quits (~nvmd@user/nvmd) (Quit: Later, nerds.)
16:34:49 × Ariakenom quits (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Quit: Leaving)
16:37:28 <Boarders> with ghcup if I do `ghcup set ghc-8.10.4` then I get an error saying I haven't got it installed but I have and it is on the path
16:37:33 × rachel231 quits (~scratchyo@c-73-142-199-151.hsd1.nh.comcast.net) (Quit: Connection closed)
16:37:34 <Boarders> has anyone come across this issue?
16:38:29 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
16:39:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
16:44:59 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
16:48:18 × mpt quits (~tom@2a02:908:1862:49e0::4) (Ping timeout: 240 seconds)
16:48:18 × jippiedoe quits (~david@2a02-a44c-e14e-1-ae15-1a10-43d7-2299.fixed6.kpn.net) (Ping timeout: 240 seconds)
16:48:41 stevenxl_ joins (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
16:50:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
16:51:00 favonia joins (~favonia@user/favonia)
16:51:28 × stevenxl quits (~stevenlei@174.128.182.118) (Ping timeout: 252 seconds)
16:52:27 jao joins (jao@gateway/vpn/protonvpn/jao)
16:52:35 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
16:55:54 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 240 seconds)
16:59:47 hegstal joins (~hegstal@2a02:c7f:7604:8a00:1749:70f2:c3b4:7591)
17:00:01 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:01:09 acidjnk_new joins (~acidjnk@p200300d0c72b954061d05013652ae098.dip0.t-ipconnect.de)
17:06:08 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Remote host closed the connection)
17:06:51 fendor__ is now known as fendor
17:11:32 <janus> Boarders: is it installed with ghcup?
17:11:37 buddha joins (~buddha@27.147.234.193)
17:11:55 <buddha> hi
17:12:05 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
17:12:05 <janus> hi buddha
17:12:30 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
17:12:41 <buddha> what is the diff between `x = 10` and `let x = 10`?
17:12:42 <janus> namo buddhaya
17:13:27 <janus> buddha: you can think of your module as one giant let
17:13:46 <Rembane> buddha: in ghci or in a module?
17:13:53 <buddha> in the ghci
17:14:11 <dminuoso> I dont think there's a difference in GHCi
17:14:25 <dminuoso> Except, for MMR perhaps
17:14:47 <buddha> are they referring to the same thing?
17:15:05 <Rembane> They mean the same thing, some major versions ago you had to write `let x = 10', but now you can skip the let.
17:15:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:15:30 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
17:15:39 <buddha> both of them represent a function right?
17:15:48 <dminuoso> No
17:15:53 <buddha> a function that returns 10? no?
17:15:55 <dminuoso> Just the binding of a value to a name.
17:16:04 <Rembane> No, they give a name to a value
17:16:20 <buddha> how do you define functions without arguments then?
17:16:23 <dminuoso> (Or well, more precisely I should say it binds an expression to a name)
17:16:27 <janus> do functions always have arrows in their type signatures?
17:16:33 <dminuoso> buddha: That fundamentally does not make sense.
17:16:39 × zgrep quits (~zgrep@user/zgrep) (Quit: It's a quitter's world.)
17:16:54 <dminuoso> In Haskell we use the term function differently from other programming languages
17:17:00 stevenxl joins (~stevenlei@68.235.43.165)
17:17:03 <dminuoso> Our use is more aligned with that of mathematics, where a function is just a mapping of values
17:17:13 <Rembane> janus: Assume yes, and come back here when you find out otherwise. :)
17:17:30 × alx741 quits (~alx741@186.178.109.202) (Ping timeout: 252 seconds)
17:17:33 favonia joins (~favonia@user/favonia)
17:17:37 <buddha> so by definition a function has to have at least one argument?
17:17:44 <janus> Rembane: is the exception that you can make (->) instances for anything?
17:17:45 <dminuoso> More to the point, exactly one argument.
17:17:56 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:17:57 <janus> % :info (->)
17:17:58 <yahb> janus: type (->) :: * -> * -> *; type (->) = FUN 'Many :: * -> * -> *; -- Defined in `GHC.Types'; infixr -1 ->; instance forall r. Applicative ((->) r) -- Defined in `GHC.Base'; instance forall r. Functor ((->) r) -- Defined in `GHC.Base'; instance forall r. Monad ((->) r) -- Defined in `GHC.Base'; instance forall b a. Monoid b => Monoid (a -> b) -- Defined in `GHC.Base'; instance forall b a. Semigroup b => S
17:18:02 zgrep joins (~zgrep@user/zgrep)
17:18:05 <buddha> what happens when you have multiple arguments then?
17:18:07 <dminuoso> buddha: A function that appears to take say 2 arguments, is rather a function that returns a function.
17:18:16 <dminuoso> buddha: There's two ways to deal with that
17:18:17 <Rembane> janus: Yes, and also that there are many ways to represent a function.
17:18:27 <dminuoso> Either we have the function take a product type, like a type, e.g. f :: (Int, Char) -> Bool
17:18:40 <dminuoso> Or we encode the function curried as: f' :: Int -> Char -> Bool
17:18:41 × stevenxl_ quits (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Read error: Connection reset by peer)
17:18:59 <Rembane> janus: F a b c could for instance be a function which you need another function to evaluate.
17:19:15 <dminuoso> Where curried just means f' is a function taking Int, and returning a function Char -> Bool. So applying this function `f 10 'c'` is actually considered `(f 10) 'c'`
17:19:43 <dminuoso> buddha: For convenience, we let you define what appears a multiple argument function, but this maps into "functions returning functions" behind the scenes.
17:19:58 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Remote host closed the connection)
17:20:14 <dminuoso> i.e. `f x y = x + y` is equivalent to `f = \x -> \y -> x + y`
17:20:20 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Ping timeout: 258 seconds)
17:20:32 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
17:20:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
17:21:21 <janus> when you say equivalent, what do you mean? surely the 9.0 change in subsumption would not consider eta expansion equivalent?
17:21:27 warnz joins (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f)
17:21:31 <buddha> and functions are lexically scoped?
17:21:50 × warnz quits (~warnz@2600:1700:77c0:5610:eca1:bc9d:4345:931f) (Client Quit)
17:22:05 slowButPresent joins (~slowButPr@user/slowbutpresent)
17:22:07 stevenxl_ joins (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
17:22:16 <dminuoso> buddha: Up until the module system, yes.
17:22:35 <dminuoso> janus: I mean it in the same way we teach children that the path of planets around the sun is a circle.
17:22:45 pragma- parts (~chaos@user/pragmatic-chaos) (Bye!)
17:22:50 × stevenxl quits (~stevenlei@68.235.43.165) (Ping timeout: 256 seconds)
17:22:50 <janus> ah ok, is this "fast and loose reasoning" ?
17:23:08 <dminuoso> No, it's a good enough approximation for pedagocal reasons that's close enough to the truth as fas as they are concerned.
17:23:13 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
17:24:07 <janus> i thought that change in subsumption only matter in the precense of undefined, which makes it a non-total language
17:24:25 <janus> the fast and loose paper talks about totality, so that is why i thought it was the relevant paper
17:24:26 <dminuoso> janus: So the subsumption stuff is related in a particular sense.
17:25:01 <dminuoso> janus: But its not because of subsumption, but for the reason simplified subsumption is introduced. But the relationship is very distance.
17:25:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
17:25:28 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Client Quit)
17:25:41 favonia joins (~favonia@user/favonia)
17:25:54 <dminuoso> In case of the simplified subsumption, its because `x` and \y -> x y` are not the same, but in order for GHC to elaborate certain RankNTypes situations into core, it has to transform one into the other, changing how strictness behaves.
17:26:25 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
17:26:48 × stevenxl_ quits (~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
17:26:51 <dminuoso> So the solution is to just forbid things like deep skolemnization, and suddenly GHC no longer has to do that. But in order for these programs to type check, you have to write that conversion from `x` to `\y -> x y` in the places GHC used to do it by hand now.
17:27:02 stevenxl joins (~stevenlei@68.235.43.157)
17:27:08 <dminuoso> So this change in semantics is made explicit now, while simplifying GHC's type checker at the same time
17:27:42 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
17:28:15 <buddha> Is writing algorithms in Haskell more `fun` in Haskell compared to Python?
17:28:39 <dolio> I think almost everything is more fun in Haskell.
17:28:42 <dminuoso> Not sure what answer you expect. Im sure if you asked that question flipped around in #python you'd get the opposite response.
17:28:44 <raehik> yes
17:28:50 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
17:29:32 <dminuoso> There's probably more value in asking "what frustrates you about the language" than "do you like doing X in your language". :-)
17:29:35 Pickchea joins (~private@user/pickchea)
17:30:06 alx741 joins (~alx741@186.178.108.157)
17:30:54 <monochrom> Other people bolting on dependent typing on Haskell frustrates me about the language. But this uses the word "language" to refer to culture rather than syntax and semantics.
17:31:24 <buddha> I guess I'll have to find out myself. It's like learning Vim, you'll never know what's on the other side
17:31:38 <dminuoso> I find the lack of circular imports to be the most annoying thing in the Haskell language itself.
17:31:50 <koala_man> buddha: if you enjoy list comprehensions and map/filter/lambda, then yes, definitely
17:31:55 <dminuoso> Well. In GHC Haskell I should say. :-)
17:33:06 <dminuoso> buddha: One thing to keep in mind, that in a pure, non-strict and functional settings writing algorithms is usually very different. In fact, even the idiomatic data structures are different. So especially for newcomers to haskell, much of their previous experience can't be transferred directly.. at least in the beginning.
17:33:14 Ariakenom joins (~Ariakenom@c83-255-154-140.bredband.tele2.se)
17:33:38 <buddha> dminuoso I have xp with elixir, that might help a bit
17:34:15 <monochrom> I think in retrospect circular importing was one of those things they thought "would be cool and SML does it, what can possibly go wrong" and it backfired. See, SML can do it because, and only because, handwritten interface files are required. And it shows, GHC supports it by requiring you to handwrite interface files again.
17:34:44 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:35:07 Erutuon joins (~Erutuon@user/erutuon)
17:36:13 <dminuoso> buddha: Some bits are similar yeah. Just like elixir, we also make a lot of use of pattern matching and case-of, there's also a bit of similarity in some elixir acros and the way we write code in Haskell.
17:36:57 <dminuoso> Amusingly, Haskell suffers from the same string/charlist issue that erlang/elixir has. :-)
17:37:09 <dminuoso> And I reckon it's for the same reasons as well
17:38:39 ikex1 joins (~ash@user/ikex)
17:38:46 × ikex quits (ash@user/ikex) (Ping timeout: 252 seconds)
17:39:19 ikex1 is now known as ikex
17:40:06 × motherfsck quits (~motherfsc@user/motherfsck) (Remote host closed the connection)
17:41:15 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
17:41:43 lavaman joins (~lavaman@98.38.249.169)
17:41:52 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
17:41:56 <buddha> is the `+` plus operator an example of operator overloading?
17:42:27 <dminuoso> Yes, though overloading is not tied to `operators`.
17:42:46 <buddha> it's just a function right?
17:43:02 <dminuoso> Well, its what we call a "class method"
17:43:34 <eggplantade> As far as notation goes, `+` is a function name, and it has different syntax because it uses operator symbols
17:43:39 <dminuoso> You can think of a class like protocols in elixir, perhaps.
17:44:15 <dminuoso> And we call "members" of that class methods. Note I intentionally avoided the term "function", because a method could also be an immediate value, though most of the time they are actual functions.
17:44:38 <dminuoso> (Our typeclasses are much richer than protocols, but it's a good initial approximation to get acquainted with them)
17:46:53 × amcleodca quits (~andy@user/amcleodca) (Remote host closed the connection)
17:48:56 <qrpnxz> dsal, right, I thought maybe you'd want like some kind of nonempty foldable, but all foldables have a toList anyway, then you can just turn that into a nonempty and to sconcat and it's the same, so sounds good!
17:49:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:51:05 <dsal> It doesn’t make sense to fold1 something that isn’t non-empty. The missing piece is some kind of NonEmptyFoldable which is basically semigroupoids
17:51:10 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
17:51:10 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
17:51:12 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
17:51:44 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
17:52:43 favonia joins (~favonia@user/favonia)
17:57:42 jakalx joins (~jakalx@base.jakalx.net)
17:58:51 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
17:59:20 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:00:24 × egoist quits (~egoist@186.235.82.105) (Ping timeout: 252 seconds)
18:01:34 egoist joins (~egoist@186.235.80.194)
18:03:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
18:06:57 lavaman joins (~lavaman@98.38.249.169)
18:07:44 warnz joins (~warnz@2600:1700:77c0:5610:409d:bff0:fc58:d5c4)
18:09:09 dyeplexer joins (~dyeplexer@user/dyeplexer)
18:09:44 × fvr quits (uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
18:10:18 × Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds)
18:13:16 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 256 seconds)
18:14:47 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Remote host closed the connection)
18:19:36 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 268 seconds)
18:20:22 Bob_Esponja joins (~Bob_Espon@130.red-176-83-49.dynamicip.rima-tde.net)
18:22:19 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
18:22:32 × Bob_Esponja quits (~Bob_Espon@130.red-176-83-49.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
18:23:08 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
18:25:50 × shapr quits (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Remote host closed the connection)
18:26:49 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:29:10 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 272 seconds)
18:29:32 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
18:29:52 geekosaur joins (~geekosaur@xmonad/geekosaur)
18:30:41 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:36:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:37:25 Bob_Esponja joins (~Bob_Espon@130.red-176-83-49.dynamicip.rima-tde.net)
18:37:54 × Bob_Esponja quits (~Bob_Espon@130.red-176-83-49.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
18:38:46 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:39:46 Bob_Esponja joins (~Bob_Espon@130.red-176-83-49.dynamicip.rima-tde.net)
18:40:00 × Bob_Esponja quits (~Bob_Espon@130.red-176-83-49.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
18:41:06 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:41:14 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
18:46:27 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:46:46 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
18:47:06 × benin0369 quits (~benin@183.82.205.231) (Ping timeout: 240 seconds)
18:47:51 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
18:53:12 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
18:56:30 <maerwald> Inb4 "total prelude"
18:57:21 × buddha quits (~buddha@27.147.234.193) (Quit: Client closed)
18:59:38 maerwald shows the Idris/Agda door
19:01:56 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
19:03:43 dunj4 is now known as dunj
19:03:45 dunj is now known as dunj3
19:10:33 safinaskar joins (~safinaska@109-252-90-89.nat.spd-mgts.ru)
19:11:42 <safinaskar> it seems that GADTs are equivalent to logics. (I. e. values of GADTs are proofs). If one writes function from one GADT to another, then it is proof of morphism from one logic to another
19:12:04 <safinaskar> am i first to notice this? there surely should be posts about the same, please, give me them
19:12:36 <Cale> No, and in fact, that's how type theory started out in the first place
19:13:03 <safinaskar> ok, thanks
19:13:06 <safinaskar> give me links, please
19:13:10 <Cale> Not just terms of GADTs are proofs, but terms are proofs, and types are the propositions being proved
19:13:30 <safinaskar> Cale: of course
19:13:45 <safinaskar> Cale: but GADTs allow especially elegant formalism for logics
19:13:52 <safinaskar> also, if compiler compiles "\case{}", this proves that certain formula is not deducible in a logic
19:14:18 <safinaskar> i can easily write axiomatization, say, for whole ZFC as a single GADT
19:14:51 × listofoptions quits (~haha@nat.syssrc.com) (Read error: Connection reset by peer)
19:15:02 × derelict quits (~derelict@user/derelict) (Ping timeout: 256 seconds)
19:15:36 <Cale> I don't think GADTs give you everything you might want there, but they're closer to being able to specify that kind of thing than plain algebraic data types certainly.
19:16:18 <Cale> In particular, you're missing out on quantifiers that you're probably going to want at some point
19:16:35 <Cale> But that's just Haskell's lack of Pi and Sigma types
19:16:49 Deide joins (~Deide@user/deide)
19:17:20 <boxscape> Cale: but GADTs allow you to write singletons
19:17:38 <Cale> But yeah, in Coq and Agda, they regularly define various classes of propositions as inductive datatypes
19:17:45 <Cale> (and Idris as well)
19:17:56 <safinaskar> i can write ZFC axiomatization using GADTs only. without code. and without advanced haskell features, such as singletons
19:18:25 <safinaskar> you just need to have explicit proofs of substitutions
19:18:32 <Cale> Can you? Have a gist or something I can look at?
19:18:53 <safinaskar> i. e. propositions like "A is B with C substituted for x" are provable propositions on its own
19:19:42 <safinaskar> Cale: yes, i can. give me 10 minutes, i hope i will write
19:19:56 <dsal> I've still never actually used GADTs (I think). Every time I've thought it'd help me, it made things worse.
19:20:27 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
19:21:16 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
19:21:37 favonia joins (~favonia@user/favonia)
19:22:53 Morrow joins (~MorrowM_@147.161.13.35)
19:24:25 <Cale> A practical place to use GADTs is for encoding protocols, where you use the index type as a way to express what type of response you expect back
19:25:14 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 256 seconds)
19:25:15 <Cale> Also, I've had a fairly good time using fairly simple GADTs alongside DMap for a sort of extensible records.
19:25:58 <Cale> The terms of your GADT become the "field labels" and the index type is the type of the corresponding field.
19:26:55 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
19:28:16 <Cale> Unlike most systems of extensible records, you don't get type-level information about which fields are present in a record, but you *do* get information about which "universe" of fields they come from, and lots of nice operations (effectively parallels to most of Data.Map)
19:29:36 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
19:33:00 <safinaskar> (i am still writing that GADT)
19:35:52 Pickchea joins (~private@user/pickchea)
19:37:30 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
19:37:40 × chisui quits (~chisui@200116b868342600e075ba151a671095.dip.versatel-1u1.de) (Ping timeout: 246 seconds)
19:38:08 derelict joins (~derelict@user/derelict)
19:40:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
19:41:07 favonia joins (~favonia@user/favonia)
19:41:47 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
19:43:06 geekosaur joins (~geekosaur@xmonad/geekosaur)
19:45:09 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Remote host closed the connection)
19:46:01 Codaraxis_ joins (~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
19:47:13 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
19:47:58 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
19:50:00 × Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 272 seconds)
19:59:06 <safinaskar> Cale: i am writing, and i already wrote definition of first order logic. i hope you are still interested
20:02:19 <Cale> sure
20:02:49 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:02:52 <Cale> What do you do with respect to quantifiers?
20:02:55 Bob_Esponja joins (~Bob_Espon@175.red-79-156-90.staticip.rima-tde.net)
20:02:55 × sm2n quits (~sm2n@user/sm2n) (Read error: Connection reset by peer)
20:02:57 × Bob_Esponja quits (~Bob_Espon@175.red-79-156-90.staticip.rima-tde.net) (Client Quit)
20:03:17 sm2n joins (~sm2n@user/sm2n)
20:05:03 × unyu quits (~pyon@user/pyon) (Ping timeout: 268 seconds)
20:05:26 × juhp quits (~juhp@128.106.188.66) (Ping timeout: 252 seconds)
20:06:56 dextaa joins (~DV@aftr-37-201-214-197.unity-media.net)
20:06:57 unyu joins (~pyon@user/pyon)
20:07:10 juhp joins (~juhp@128.106.188.66)
20:09:02 cheater1__ joins (~Username@user/cheater)
20:09:14 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
20:09:15 cheater1__ is now known as cheater
20:11:14 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
20:13:11 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:14:51 <safinaskar> look everybody! ZFC as single GADT! https://paste.debian.net/1202948/
20:15:38 <safinaskar> Cale: ping. quantifiers exists in my language as usual. i use explicit proof objects of type "Subst", this proof objects proofs that substitutions are possible
20:16:05 <safinaskar> s/proof objects proofs that/proof objects prove that/
20:21:59 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds)
20:22:43 <Cale> safinaskar: Ahh, that is interesting
20:22:46 <Cale> hmm
20:23:39 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:24:10 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
20:24:28 favonia joins (~favonia@user/favonia)
20:25:15 <Cale> safinaskar: Yeah, that's a deeper embedding than I was thinking of :)
20:25:46 <tomsmeding> I think people seldomly explicitly list the axioms of the theory when trying stuff like this; generally I think people want to model type theory using the rules already in the type system
20:26:09 <tomsmeding> and then you run into trouble where a non-dependent type system isn't strong enough to handle forall
20:26:19 <Cale> But yeah, this gives a logic which you wouldn't normally get as a type theory, even
20:26:34 <Cale> Note the double negation elimination, for example
20:26:44 cloudy` joins (~user@2600:8807:c207:f00:d022:dd81:f0f8:bb22)
20:27:46 <safinaskar> so, are there posts about this?
20:30:25 <safinaskar> are there some articles/theories about all possible logics? for example, i want some definition of what it is mean to be syntax-directed for logic
20:30:30 <tomsmeding> I'm not aware of significant work in this direction (only people using type theory in dependent languages, or when they want to work in different logics, designing a new language to let them work in that theory -- e.g. adding aximos to Coq)
20:30:52 <Cale> Somehow I'd be surprised if nobody had ever written something like this in Coq
20:31:02 <tomsmeding> but that doesn't say that there isn't such work, and that _especially_ doesn't mean that there haven't been isolated people trying this before :)
20:31:05 <Cale> But I'm not sure exactly where to look for it :)
20:31:06 <tomsmeding> yes
20:31:10 <dolio> Yeah, this is pretty basic stuff in lots of proof assistants.
20:31:17 <safinaskar> Cale: i just have read that coq has no GADTs
20:31:21 <safinaskar> Cale: but agda has
20:31:32 <safinaskar> Cale: and my code is trivially convertible to agda
20:31:37 motherfsck joins (~motherfsc@user/motherfsck)
20:31:39 <Cale> safinaskar: Coq has inductive data types, which are basically like GADTs
20:32:49 <safinaskar> maybe there is some provers, which can take logic in similar form and check some its properties?
20:33:25 <safinaskar> somebody on this channel already pointed me to twelf. i will check it. are there other links?
20:33:51 <safinaskar> my method lets me define my own notion of substitution, alpha-beta-equivalency, etc
20:34:56 × MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 256 seconds)
20:35:12 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:36:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:39:51 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
20:45:33 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
20:46:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
20:47:33 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (Remote host closed the connection)
20:47:45 nshepperd2 joins (~nshepperd@li364-218.members.linode.com)
20:49:06 × Reyu[M] quits (~reyureyuz@matrix.reyuzenfold.com) (Ping timeout: 256 seconds)
20:49:17 favonia joins (~favonia@user/favonia)
20:49:33 Reyu[M] joins (~reyureyuz@matrix.reyuzenfold.com)
20:49:37 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
20:49:54 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Ping timeout: 240 seconds)
20:54:50 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
20:55:25 <Cale> safinaskar: https://paste.debian.net/1202951/
20:55:31 <Cale> There's the translation into Coq :)
20:57:35 <safinaskar> Cale: thanks a lot
20:58:52 <safinaskar> Cale: but i have read here: http://coq-blog.clarus.me/gadts-with-type-erasure-in-coq-of-ocaml.html , that this inductive types have not desirable properties
20:59:36 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
20:59:53 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:01:54 <Cale> That seems to discuss difficulties with compiling OCaml's GADTs into Coq inductive types which might be reasonable concerns for someone writing a compiler that was trying to carefully preserve semantics, but I'm not sure it matters to us.
21:02:16 <Cale> Maybe?
21:03:52 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:04:02 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:04:29 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
21:05:35 mikail joins (~mikail@90.212.77.3)
21:06:09 × mjrosenb quits (~mrosenbe@nyc.schrodinger.com) (Ping timeout: 244 seconds)
21:06:14 <safinaskar> Cale: i want to write functions, which transform proofs from one logic to another. Good exastivness checking is desirable property
21:06:28 <Cale> There is exhaustiveness checking.
21:06:39 <Cale> In fact, there's full termination checking.
21:07:06 <safinaskar> Cale: that article shows that exhaustiveness checking is suboptimal (i mean analysis on case expressions)
21:08:12 mjrosenb joins (~mrosenbe@104.225.243.2)
21:08:16 <Cale> The situation involving the trees there is not going to come up
21:08:29 <Cale> None of our stuff is parametric on arbitrary types
21:09:24 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 272 seconds)
21:11:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
21:11:43 <safinaskar> Cale: ok
21:15:02 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds)
21:17:06 × Ariakenom quits (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 240 seconds)
21:17:14 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
21:17:49 × warnz quits (~warnz@2600:1700:77c0:5610:409d:bff0:fc58:d5c4) (Remote host closed the connection)
21:18:33 warnz joins (~warnz@2600:1700:77c0:5610:409d:bff0:fc58:d5c4)
21:22:18 <safinaskar> Cale: do you have a blog?
21:22:30 <Cale> nope
21:26:59 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
21:27:23 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
21:30:28 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
21:32:36 × dmang quits (~dmang@user/dmang) (Remote host closed the connection)
21:34:46 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:36:22 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
21:39:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
21:41:21 <chris_> hey
21:41:34 <chris_> need help with this function
21:41:38 <chris_> regarding the return type
21:41:51 <chris_> i want it to be [rational] return type
21:41:55 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
21:42:15 <monochrom> Foo -> [Rational]
21:42:31 <chris_> genDurations :: Int -> [Dur]
21:42:31 <chris_> genDurations n | n < 1 = [] -- edge case
21:42:31 <chris_> genDurations 1 = [1.0] -- recursive stopping point
21:42:31 <monochrom> Perhaps a more complete and informative question.
21:42:33 <chris_> genDurations n = (1/(2**(n-1))) : genDurations (n-1)
21:42:44 <chris_> type Dur = Rational
21:43:09 <chris_> i think the (1/2**n-1))) expression is returning another type
21:43:19 <monochrom> Ah right. Please use ^
21:43:32 <monochrom> err, ^ is bad too
21:43:33 × mikail quits (~mikail@90.212.77.3) (Ping timeout: 265 seconds)
21:43:51 <monochrom> Please use ^^
21:44:25 × dunj3 quits (~dunj3@p200300f61714a6405bb7680713e8c72a.dip0.t-ipconnect.de) (Remote host closed the connection)
21:44:50 <monochrom> That reminds me, when I teach number types I need to bring up this ^ ^^ ** business.
21:45:42 <chris_> thx @monochrom that did silent the type errors in vscode
21:45:43 mikail joins (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f)
21:46:06 <Cale> chris_: Also, be careful if you actually wanted 1/2^^(n-1)
21:46:22 <Cale> oh, you did write that in the code
21:46:29 <Cale> just not in the other :)
21:46:44 <chris_> ye my bad, thx
21:47:35 <Cale> x^n gives you exponentiation with only nonnegative integer exponents, but x is allowed to be any sort of number at all (any instance of Num)
21:48:01 <Cale> x^^n allows negative exponents as well, but the type of x must have an instance of Fractional
21:49:01 <Cale> x**y is exponentiation where y and x have the same type, and that type must have an instance of Floating
21:49:48 <Cale> (and it allows basically arbitrary exponents then)
21:50:16 <Cale> Well, there might be restrictions depending on the type of course.
21:50:18 × acidjnk_new quits (~acidjnk@p200300d0c72b954061d05013652ae098.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
21:50:18 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
21:52:07 safinaskar parts (~safinaska@109-252-90-89.nat.spd-mgts.ru) ()
21:53:44 × jao quits (jao@gateway/vpn/protonvpn/jao) (Remote host closed the connection)
21:54:21 <ephemient> given that (**) is on the Floating typeclass, what other restrictions can it apply?
21:55:00 × fendor quits (~fendor@77.119.196.177.wireless.dyn.drei.com) (Remote host closed the connection)
21:55:00 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 272 seconds)
21:55:53 <chris_> what's an Integral (and it's type)
21:56:00 <ephemient> I guess it could be non-total but in practice Float/Double will produce NaN for negative ** fractional
21:57:01 <ephemient> Integral is a typeclass of types that support integer-like operations
21:57:11 <ephemient> % :info Integral
21:57:12 <yahb> ephemient: pattern Integral :: forall {a}. Integral a => a -> Integer -- Defined in `Numeric.Lens'; type Integral :: * -> Constraint; class (Real a, Enum a) => Integral a where; quot :: a -> a -> a; rem :: a -> a -> a; div :: a -> a -> a; mod :: a -> a -> a; quotRem :: a -> a -> (a, a); divMod :: a -> a -> (a, a); toInteger :: a -> Integer; {-# MINIMAL quotRem, toInteger #-}; -- Defined in `GHC.Rea
21:57:29 <ephemient> ... not the right one
21:57:42 <monochrom> (-2) ** (0.5) does not have an answer in the real numbers
21:57:42 <ephemient> % :info Prelude.Integral
21:57:42 <yahb> ephemient: type Integral :: * -> Constraint; class (Real a, Enum a) => Integral a where; quot :: a -> a -> a; rem :: a -> a -> a; div :: a -> a -> a; mod :: a -> a -> a; quotRem :: a -> a -> (a, a); divMod :: a -> a -> (a, a); toInteger :: a -> Integer; {-# MINIMAL quotRem, toInteger #-}; -- Defined in `GHC.Real'; instance Integral Word -- Defined in `GHC.Real'; instance Integral Integer -- Defined in
21:58:01 <monochrom> but it's only checked at run time
21:58:17 <monochrom> but still, you shouldn't do it in the first place. :)
21:58:24 <ephemient> if you extend the reals with NaN then it does have an answer :)
21:58:40 <monochrom> true
21:58:58 <ephemient> of course that causes the annoyance of non-total ordering... oh well
21:59:46 jao joins (jao@gateway/vpn/protonvpn/jao)
22:00:13 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
22:00:42 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 272 seconds)
22:00:56 × Morrow quits (~MorrowM_@147.161.13.35) (Ping timeout: 252 seconds)
22:01:54 <ephemient> chris_: https://rufflewind.com/2014-08-03/haskell-numeric-type-classes-hierarchy
22:04:05 tlaxkit joins (~hexchat@170.253.43.19)
22:04:57 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
22:05:38 chris_ joins (~chris@81.96.113.213)
22:05:50 × warnz quits (~warnz@2600:1700:77c0:5610:409d:bff0:fc58:d5c4) (Remote host closed the connection)
22:06:14 × dudek quits (~dudek@185.150.236.112) (Quit: Leaving)
22:06:40 × chris_ quits (~chris@81.96.113.213) (Read error: Connection reset by peer)
22:06:52 chris_ joins (~chris@81.96.113.213)
22:08:19 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Remote host closed the connection)
22:08:20 × gxt quits (~gxt@2001:470:69fc:105::3513) (Remote host closed the connection)
22:08:20 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Remote host closed the connection)
22:08:20 × aveltras[m] quits (~aveltrasm@2001:470:69fc:105::3ef9) (Read error: Connection reset by peer)
22:08:20 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Read error: Connection reset by peer)
22:08:20 × jellz[m] quits (~jellzmatr@2001:470:69fc:105::2daa) (Read error: Connection reset by peer)
22:08:20 × ru0mad[m] quits (~ru0madmat@2001:470:69fc:105::9b2) (Write error: Connection reset by peer)
22:08:20 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Read error: Connection reset by peer)
22:08:20 × the-coot[m] quits (~the-cootm@2001:470:69fc:105::95f) (Read error: Connection reset by peer)
22:08:21 × eddiemundo quits (~eddiemund@2001:470:69fc:105::a9c) (Remote host closed the connection)
22:08:21 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Remote host closed the connection)
22:08:21 × hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Remote host closed the connection)
22:08:21 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Read error: Connection reset by peer)
22:08:21 × kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Remote host closed the connection)
22:08:21 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Write error: Connection reset by peer)
22:08:22 × Drezil quits (~drezilkif@2001:470:69fc:105::7f8) (Read error: Connection reset by peer)
22:08:22 × dualinverter[m] quits (~dualinver@2001:470:69fc:105::16a7) (Read error: Connection reset by peer)
22:08:22 × yin[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Read error: Connection reset by peer)
22:08:22 × jakefromstatefar quits (~jakefroms@2001:470:69fc:105::15ef) (Read error: Connection reset by peer)
22:08:22 × hsiktas[m] quits (~hsiktasma@2001:470:69fc:105::30d4) (Read error: Connection reset by peer)
22:08:22 × ixlun quits (~ixlun@2001:470:69fc:105::41b3) (Write error: Connection reset by peer)
22:08:22 × siraben quits (~siraben@user/siraben) (Write error: Connection reset by peer)
22:08:23 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Write error: Connection reset by peer)
22:08:23 × vbeatrice[m] quits (~vbeatrice@2001:470:69fc:105::3ebf) (Remote host closed the connection)
22:08:24 × ormaaj quits (~ormaaj@user/ormaaj) (Read error: Connection reset by peer)
22:08:24 × psydroid quits (~psydroid@user/psydroid) (Write error: Connection reset by peer)
22:08:24 × Soft quits (~soft-matr@2001:470:69fc:105::c75) (Remote host closed the connection)
22:08:24 × RohitGoswami[m] quits (~rgoswamim@2001:470:69fc:105::16cc) (Remote host closed the connection)
22:08:24 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Remote host closed the connection)
22:08:24 × dminuoso[m] quits (~dminuosom@2001:470:69fc:105::33bb) (Remote host closed the connection)
22:08:24 × autrim64[m] quits (~autrim64m@2001:470:69fc:105::16a1) (Write error: Connection reset by peer)
22:08:24 × Ollie[m] quits (~ollieocha@2001:470:69fc:105::41a5) (Remote host closed the connection)
22:08:24 × MatrixTravelerbo quits (~voyagert2@2001:470:69fc:105::22) (Read error: Connection reset by peer)
22:08:24 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Read error: Connection reset by peer)
22:08:25 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Remote host closed the connection)
22:08:25 × ecameron[m] quits (~ecameronm@2001:470:69fc:105::35df) (Remote host closed the connection)
22:08:26 × kadoban quits (~kadoban@user/kadoban) (Write error: Connection reset by peer)
22:08:26 × inkbottle[m] quits (~inkbottle@2001:470:69fc:105::2ff5) (Write error: Connection reset by peer)
22:08:26 × sm[m] quits (~sm@plaintextaccounting/sm) (Write error: Connection reset by peer)
22:08:26 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Remote host closed the connection)
22:08:26 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Remote host closed the connection)
22:08:26 × tomferon[m] quits (~tomferon@2001:470:69fc:105::268) (Remote host closed the connection)
22:08:26 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Write error: Broken pipe)
22:08:26 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Remote host closed the connection)
22:08:26 × jophish quits (~jophish@2001:470:69fc:105::670) (Remote host closed the connection)
22:08:27 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Remote host closed the connection)
22:08:27 × peddie quits (~peddie@2001:470:69fc:105::25d) (Read error: Connection reset by peer)
22:08:27 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Read error: Connection reset by peer)
22:08:27 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Write error: Connection reset by peer)
22:08:27 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Write error: Connection reset by peer)
22:08:27 × lwe[m] quits (~dendrumat@2001:470:69fc:105::2f9b) (Read error: Connection reset by peer)
22:08:27 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Write error: Connection reset by peer)
22:08:27 × sridonhiatus[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Read error: Connection reset by peer)
22:08:28 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Read error: Connection reset by peer)
22:08:33 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Remote host closed the connection)
22:08:33 × cdepillabout[m] quits (~cdepillab@2001:470:69fc:105::3d3) (Remote host closed the connection)
22:08:33 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Read error: Connection reset by peer)
22:08:34 × fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Remote host closed the connection)
22:08:34 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Remote host closed the connection)
22:08:34 × thedward[m] quits (~thedwardm@2001:470:69fc:105::f79) (Remote host closed the connection)
22:08:34 × Guest2487 quits (~sylveonma@2001:470:69fc:105::2d95) (Remote host closed the connection)
22:08:34 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Remote host closed the connection)
22:08:34 × bryan[m] quits (~bchreekat@2001:470:69fc:105::16b5) (Remote host closed the connection)
22:08:34 × adziahel[m] quits (~adziahelm@2001:470:69fc:105::b4d) (Remote host closed the connection)
22:08:34 × wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Remote host closed the connection)
22:08:34 × boxscape quits (~boxscape@user/boxscape) (Write error: Connection reset by peer)
22:08:34 × Aleci[m] quits (~alecilibr@2001:470:69fc:105::32e7) (Write error: Broken pipe)
22:10:00 thedward[m] joins (~thedwardm@2001:470:69fc:105::f79)
22:12:13 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:12:36 × chomwitt quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Read error: Connection reset by peer)
22:12:38 laguneucl joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
22:18:34 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:20:59 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
22:21:58 ac joins (~aloiscoch@2001:470:69fc:105::65)
22:21:58 psydroid joins (~psydroid@user/psydroid)
22:21:58 hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd)
22:21:58 MatrixTravelerbo joins (~voyagert2@2001:470:69fc:105::22)
22:21:58 sm[m] joins (~sm@plaintextaccounting/sm)
22:21:58 fgaz joins (~fgaz@2001:470:69fc:105::842)
22:21:58 jaror[m] joins (~jaror@2001:470:69fc:105::265)
22:21:58 peddie joins (~peddie@2001:470:69fc:105::25d)
22:21:58 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
22:21:58 tomferon[m] joins (~tomferon@2001:470:69fc:105::268)
22:21:58 ru0mad[m] joins (~ru0madmat@2001:470:69fc:105::9b2)
22:21:58 fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db)
22:21:58 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
22:21:58 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
22:21:58 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
22:21:59 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
22:21:59 cdepillabout[m] joins (~cdepillab@2001:470:69fc:105::3d3)
22:21:59 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
22:21:59 the-coot[m] joins (~the-cootm@2001:470:69fc:105::95f)
22:21:59 eddiemundo joins (~eddiemund@2001:470:69fc:105::a9c)
22:21:59 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
22:21:59 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
22:21:59 kadoban joins (~kadoban@user/kadoban)
22:21:59 bitonic joins (~bitonic@2001:470:69fc:105::1812)
22:21:59 jophish joins (~jophish@2001:470:69fc:105::670)
22:21:59 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
22:21:59 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
22:21:59 siraben joins (~siraben@user/siraben)
22:21:59 unclechu joins (~unclechu@2001:470:69fc:105::354)
22:21:59 Deewiant joins (~deewiant@2001:470:69fc:105::2fd3)
22:21:59 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
22:21:59 bryan[m] joins (~bchreekat@2001:470:69fc:105::16b5)
22:21:59 Aleci[m] joins (~alecilibr@2001:470:69fc:105::32e7)
22:21:59 lwe[m] joins (~dendrumat@2001:470:69fc:105::2f9b)
22:21:59 maralorn joins (~maralorn@2001:470:69fc:105::251)
22:21:59 inkbottle[m] joins (~inkbottle@2001:470:69fc:105::2ff5)
22:21:59 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
22:21:59 gxt joins (~gxt@2001:470:69fc:105::3513)
22:22:00 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
22:22:00 hsiktas[m] joins (~hsiktasma@2001:470:69fc:105::30d4)
22:22:00 boxscape joins (~boxscape@user/boxscape)
22:22:00 vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf)
22:22:00 ormaaj joins (~ormaaj@user/ormaaj)
22:22:00 sridonhiatus[m] joins (~sridmatri@2001:470:69fc:105::1c2)
22:22:00 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
22:22:00 jakefromstatefar joins (~jakefroms@2001:470:69fc:105::15ef)
22:22:10 dualinverter[m] joins (~dualinver@2001:470:69fc:105::16a7)
22:22:10 adziahel[m] joins (~adziahelm@2001:470:69fc:105::b4d)
22:22:10 Soft joins (~soft-matr@2001:470:69fc:105::c75)
22:22:10 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
22:22:10 wallymathieu[m] joins (~wallymath@2001:470:69fc:105::16ae)
22:22:10 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
22:22:10 Drezil joins (~drezilkif@2001:470:69fc:105::7f8)
22:22:11 kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d)
22:22:11 autrim64[m] joins (~autrim64m@2001:470:69fc:105::16a1)
22:22:11 dminuoso[m] joins (~dminuosom@2001:470:69fc:105::33bb)
22:22:11 yin[m] joins (~zwromatri@2001:470:69fc:105::1d4)
22:22:11 RohitGoswami[m] joins (~rgoswamim@2001:470:69fc:105::16cc)
22:22:11 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
22:22:12 ecameron[m] joins (~ecameronm@2001:470:69fc:105::35df)
22:22:12 aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9)
22:22:12 Ollie[m] joins (~ollieocha@2001:470:69fc:105::41a5)
22:22:12 jellz[m] joins (~jellzmatr@2001:470:69fc:105::2daa)
22:22:12 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
22:22:12 ixlun joins (~ixlun@2001:470:69fc:105::41b3)
22:22:13 Sylveon joins (~sylveonma@2001:470:69fc:105::2d95)
22:22:35 Sylveon is now known as Guest3990
22:22:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
22:27:06 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
22:28:16 <qrpnxz> i got a sort of <<loop>> error when i tried to do an `any pred`, but `all (not . pred)` worked. Weird.
22:31:04 × tlaxkit quits (~hexchat@170.253.43.19) (Quit: Saliendo...)
22:31:52 Morrow joins (~MorrowM_@147.161.13.35)
22:33:27 × Morrow quits (~MorrowM_@147.161.13.35) (Read error: Connection reset by peer)
22:33:43 cjb joins (~cjb@user/cjb)
22:33:46 Morrow joins (~MorrowM_@147.161.13.35)
22:36:28 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e) (Remote host closed the connection)
22:37:39 <chris_> thx ephemient, monochrom will read up on your stuff. am making food
22:38:15 chomwitt joins (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4)
22:38:42 × [deleted] quits (~zmv@user/notzmv) (Ping timeout: 272 seconds)
22:39:30 × zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
22:40:42 × laguneucl quits (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 240 seconds)
22:41:03 <int-e> qrpnxz: well, these are negations of each other.
22:43:00 × mikail quits (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Ping timeout: 256 seconds)
22:44:15 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
22:47:23 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
22:49:36 ec joins (~ec@gateway/tor-sasl/ec)
22:50:23 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
22:55:12 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
22:59:26 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
22:59:45 gentauro joins (~gentauro@user/gentauro)
23:01:14 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:01:30 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:dc49:b28b:5485:3e7e)
23:01:51 chris_ joins (~chris@81.96.113.213)
23:03:03 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:03:17 chris_ joins (~chris@81.96.113.213)
23:03:25 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:04:41 chris_ joins (~chris@81.96.113.213)
23:04:44 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:05:22 chris_ joins (~chris@81.96.113.213)
23:05:40 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:05:52 chris_ joins (~chris@81.96.113.213)
23:05:56 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:06:20 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:06:34 chris_ joins (~chris@81.96.113.213)
23:06:53 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:07:05 chris_ joins (~chris@81.96.113.213)
23:07:09 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:07:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:07:49 chris_ joins (~chris@81.96.113.213)
23:08:07 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:08:19 chris_ joins (~chris@81.96.113.213)
23:08:24 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:09:03 chris_ joins (~chris@81.96.113.213)
23:09:13 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:09:24 chris_ joins (~chris@81.96.113.213)
23:09:29 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:10:06 chris_ joins (~chris@81.96.113.213)
23:10:25 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:10:39 chris_ joins (~chris@81.96.113.213)
23:10:41 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:11:17 chris_ joins (~chris@81.96.113.213)
23:11:34 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:11:47 chris_ joins (~chris@81.96.113.213)
23:11:50 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:12:28 chris_ joins (~chris@81.96.113.213)
23:12:51 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:13:03 chris_ joins (~chris@81.96.113.213)
23:13:07 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:13:45 chris_ joins (~chris@81.96.113.213)
23:14:08 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:14:20 chris_ joins (~chris@81.96.113.213)
23:14:24 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:14:58 chris_ joins (~chris@81.96.113.213)
23:15:13 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:15:16 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds)
23:15:27 chris_ joins (~chris@81.96.113.213)
23:15:29 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:16:05 chris_ joins (~chris@81.96.113.213)
23:16:17 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:16:31 chris_ joins (~chris@81.96.113.213)
23:16:34 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:17:13 chris_ joins (~chris@81.96.113.213)
23:17:25 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:17:37 chris_ joins (~chris@81.96.113.213)
23:17:42 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:18:19 chris_ joins (~chris@81.96.113.213)
23:18:34 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:18:47 chris_ joins (~chris@81.96.113.213)
23:18:50 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:19:29 chris_ joins (~chris@81.96.113.213)
23:19:45 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:19:57 chris_ joins (~chris@81.96.113.213)
23:20:02 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:20:24 cheater1__ joins (~Username@user/cheater)
23:20:30 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
23:20:37 cheater1__ is now known as cheater
23:21:19 chris_ joins (~chris@81.96.113.213)
23:21:24 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:22:01 chris_ joins (~chris@81.96.113.213)
23:22:18 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:22:30 chris_ joins (~chris@81.96.113.213)
23:22:34 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:23:12 chris_ joins (~chris@81.96.113.213)
23:23:25 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:23:37 chris_ joins (~chris@81.96.113.213)
23:23:41 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
23:24:17 awth13 joins (~user@user/awth13)
23:24:18 chris_ joins (~chris@81.96.113.213)
23:24:22 × chris_ quits (~chris@81.96.113.213) (K-Lined)
23:25:56 obfusk_ joins (~quassel@a82-161-150-56.adsl.xs4all.nl)
23:28:34 × obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Ping timeout: 252 seconds)
23:31:44 × obfusk_ quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
23:31:54 obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl)
23:42:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
23:44:18 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
23:48:40 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
23:49:06 × delYsid quits (~user@84-115-55-45.cable.dynamic.surfer.at) (Remote host closed the connection)
23:49:18 × favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds)
23:49:43 favonia joins (~favonia@user/favonia)
23:50:19 × Morrow quits (~MorrowM_@147.161.13.35) (Read error: Connection reset by peer)
23:50:38 Morrow joins (~MorrowM_@147.161.13.35)
23:50:54 × ham2 quits (~ham4@d8D8627D5.access.telenet.be) (Ping timeout: 272 seconds)
23:51:19 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
23:55:09 Ariakenom joins (~Ariakenom@c83-255-154-140.bredband.tele2.se)
23:56:06 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds)

All times are in UTC on 2021-06-30.